【发布时间】:2013-05-29 19:55:14
【问题描述】:
我必须用 matlab 去除 wav 音乐文件中的噪音。
我知道我必须使用ellipord 和ellip 函数。首先我阅读了wav文件:[x,Fs]=wavread('file.wav');
然后我做一个频谱图:
spectrogram(x,512,400,512,Fs,'yaxis');
现在,我有些看不懂:
- 我必须删除那条红线吗? (我想这就是噪音)
- 椭圆函数的 Wp 值是多少? (我知道它称为通带拐角频率)。
- Ws 值会在 14000 到 16000 赫兹之间吗?消除噪音的价值?看这个频谱图,我如何计算出 Wp、Ws、Rs 和 Rp 的值?
【问题讨论】:
-
有一个 15 kHz 的音调 - 长的水平红线。如果你想删除它,你需要一个陷波滤波器。阻带将以 15 kHz 为中心,通带将位于上方和下方。使用截止频率,直到您获得可接受的音调去除而不会丢失太多信号。试试听吧! (
wavplay) -
那么,我要 2 个 Wp 的吗?像 0 到 14.9khz 和另一个 15.1khz 到 20khz?
-
ELLIP(N,Rp,Rs,Wp,'stop') is a bandstop filter if Wp = [W1 W2]。请记住,频率是根据采样频率指定的,并且应该在 0 到 1 的范围内。
标签: matlab wav noise-reduction