subplot(224);plot(f,dB);title('对数幅度谱');xlabel('频率(Hz)');ylabel('频谱幅度(dB)');
x1=wavread('f:\s1.wav'); %读取语音信号的数据,赋给变量 x1
3.设计数字滤波器,画出其频率响应曲线
各滤波器的性能指标:
(1)低通滤波器性能指标 fp=1000Hz, fs=1200Hz, As=40dB, Ap=1dB。
(2)高通滤波器性能指标 fs=4000Hz, fp=4300Hz, As=40dB, Ap=1dB
(3)带通滤波器性能指标 fp1=1200 Hz, fp2=3 000 Hz, fs1=1000 Hz, fs2=3200 Hz, As=40dB,
Ap=1dB。
要求:
(1)频率变换法设计 IIR 滤波器: 可以利用函数 butter、cheby1、cheby2 和 ellip 等设计。
(2)(选做)设计 IIR 滤波器:用双线性变换法设计上面要求的 3 种滤波器。bilinear
(3)(选做)设计 FIR 滤波器:用窗函数法设计上面要求的 3 种滤波器。可以利用函数 fir1 设计 FIR 滤
波器。
(4)函数 freqz 画出各滤波器的频率响应。
低通滤波器:
1(频率变换法设计 IIR 滤波器)butter 函数
[y,fs,bit]=wavread('1');
fp=1000;
fr=1200;
ap=1;
as=40;
[n,fn]= buttord(fp/(fs/2),fr/(fs/2),ap,as,'z');
[b,a]=butter(n,fn);
freqz(b,a);
[h,w]=freqz(b,a);
subplot(221);plot(w*fs/(2*pi),abs(h));title('butter 低通滤波');
y1=filter(b,a,y);
y2=fftfilt(b,y);
subplot(222);plot(y);title('原始语音信号');
subplot(223);plot(y1);title('IIR 滤波后语音信号');