IIR和FIR带通滤波器设计帮助(2.2 khz) . wav

8视图(30天)
我想开发一个过滤器来消除2.2 khz的语气从录音(wav)。我看很多反应,但找不到任何工作。
//www.tianjin-qmedu.com/matlabcentral/answers/317340-how-to-filtre-an-audio-signal-with-low-pass-filtre
这似乎是一个不错的方法,但是我需要一个带通滤波器。
有人会帮我通过这个吗?. wav和频谱。这就是我如何提取频率图。
clc,清除所有,关闭所有;
[y, Fs] = audioread (“HornAudioECE450.wav”);
stepSize = 1 / f;
L =长度(y);
t = 0: stepSize:(长度(y) * stepSize - stepSize);
f = linspace ((- f / 2) (Fs / 2), L);
图()
情节(t、y);
Y = fftshift (abs (fft (Y) / 2));
情节(f, Y);

接受的答案

明星黾
明星黾 2017年11月22日
你需要使用一个陷波滤波器。看到的: 把60 Hz的嗡嗡声从一个信号 (链接)的一个例子。
我喜欢设计自己的过滤器,那么试试这个:
Fs = 44100;%采样频率(赫兹)
Fn = f / 2;%奈奎斯特频率(赫兹)
Wp = (5 [5] + 2.2 e + 3) / Fn;%阻带频率(正常)
Ws = (-10 [10] + 2.2 e + 3) / Fn;%通带频率(正常)
Rp = 1;%通带波纹(dB)
Rs = 50;%阻带波动(dB)
[n, Ws] = cheb2ord (Wp、Ws Rp, Rs);%过滤器订单
(z,磷、钾)= cheby2 (Ws n, Rs,“停止”);%滤波器设计,Sepcify Bandstop
(sosn, gn) = zp2sos (z,磷、钾);%转换为稳定Second-Order-Section
图(3)
freqz (Fs sosn 2 ^ 16日)%滤波德图
filtered_signal = filtfilt (gn, sosn original_signal);%过滤信号

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!