IIR和FIR滤波器设计专题研讨Word文档格式.docx
- 文档编号:18519722
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:37
- 大小:338.26KB
IIR和FIR滤波器设计专题研讨Word文档格式.docx
《IIR和FIR滤波器设计专题研讨Word文档格式.docx》由会员分享,可在线阅读,更多相关《IIR和FIR滤波器设计专题研讨Word文档格式.docx(37页珍藏版)》请在冰豆网上搜索。
3)再通过频率变换将模拟低通滤波器转换为所需的滤波器。
【仿真结果】
【结果分析】
Butterworth滤波器:
从图上可以看出,所设计的滤波器满足指标,通带内为恒定常数0dB,在过渡带内单调递减,在pi附近急剧下降,阻带衰减有裕量。
ChebyshevI滤波器:
从图上可以看出,所设计的滤波器满足指标,通带波动,过渡带内单调递减,相对于Butterworth滤波器的阻带衰减比较均匀。
【自主学习内容】
1)用Butterworth、Chebyshev和椭圆等设计方法设计模拟低通滤波器;
2)如何用matlab实现上述模拟滤波器的实现;
3)通过频率变换将模拟低通滤波器转换为所需的滤波器;
4)用单位脉冲响应法和双线性变换法实现模拟滤波器向数字滤波器的转换。
【阅读文献】
《数字信号处理(第二版)》陈后金主编高等教育出版社
【发现问题】(专题研讨或相关知识点学习中发现的问题):
无
【问题探究】
单位脉冲响应法与双线性变换法的比较:
(使用Butterworth的设计方法讨论)
仿真程序
Wp=0.2613*pi;
Ws=0.4018*pi;
Ap=0.75;
As=20;
Fs=1;
wp=Wp*Fs;
ws=Ws*Fs;
[N,wc]=buttord(wp,ws,Ap,As,'
s'
);
[num_a,den_a]=butter(N,wc,'
[num_d1,den_d1]=impinvar(num_a,den_a,Fs);
[num_d2,den_d2]=bilinear(num_a,den_a,Fs);
w=linspace(0,pi,1024);
h1=freqz(num_d1,den_d1,w);
norm1=max(abs(h1));
num_d1=num_d1/norm1;
h2=freqz(num_d2,den_d2,w);
norm2=max(abs(h2));
num_d2=num_d2/norm2;
plot(w/pi,20*log10(abs(h1/norm1)),'
blue'
holdon;
plot(w/pi,20*log10(abs(h2/norm2)),'
green'
xlabel('
Normalizedfrequency'
ylabel('
Gain,dB'
仿真结果
结果分析
在本次设计中,通带内,用单位脉冲响应法和双线性变换区别并不明显,相比于单位脉冲响应法,双线性变换法,通带截频处地衰减略大,在过渡带和阻带则出现明显的差别,即双线性变换法的衰减明显大于单位脉冲响应法。
【仿真程序】
[num_d,den_d]=impinvar(num_a,den_a,Fs);
h=freqz(num_d,den_d,w);
norm=max(abs(h));
num_d=num_d/norm;
plot(w/pi,20*log10(abs(h/norm)));
[N,wc]=cheb1ord(wp,ws,Ap,As,'
[num_a,den_a]=cheby1(N,Ap,wc,'
滤波:
1)Butterworth滤波器
x=w;
s=h.*w;
plot(w,abs(s));
2)ChebyshevI滤波器
2.分别用Hamming窗,Blackman窗和Kaiser窗设计,满足下列指标的FIR低通滤波器:
(1)画出所设计滤波器的幅频响应。
(2)比较这三种窗的设计结果。
本题讨论窗函数法设计数字FIR滤波器。
结合课本分析不同窗函数法的设计结果。
【FIR模拟滤波器设计的基本方法】
1、窗函数法
1)根据待逼近的理想滤波器的频率响应,确定滤波器的类型;
2)确定理想滤波器的幅度函数和相位函数,由IDTFT求出理想滤波器的单位脉冲响应;
3)将上述所求的无限长单位脉冲响应加窗截断得到有限长的序列。
2、频率取样法
2)确定理想滤波器的幅度函数、相位函数和频率响应上的取样点,由IDFT得到所需的滤波器有限长的单位脉冲响应。
从上面的仿真可以看出,
1)分别用Hamming窗、Blackman窗、Kaiser窗设计的FIR低通滤波器在通带内没有波动;
2)通带衰减和阻带衰减,Kaiser窗最小,Hamming窗次之,Blackman窗最大;
3)三种窗设计的阶数由Kaiser窗、Hamming窗、Blackman窗依次增加。
1)窗函数设计线性相位FIR滤波器的思想和步骤;
2)各种窗函数的具体内容、区别和使用;
3)频率频率取样法设计线性相位FIR滤波器的思想及步骤;
4)用matlab实现上述两种方法的设计方法。
Kaiser窗是一种可调窗,如何调节阻带衰减?
Kaiser窗RS参数的调节对滤波器设计的影响(程序与)
1)RS影响阻带衰减,RS越小,阻带衰减越大;
2)RS影响滤波器的阶数,RS越大,阶数越高;
3)RS影响滤波器的阻带波动范围。
Hamming窗:
(N=35)
Wp=0.4*pi;
Ws=0.6*pi;
Ap=0.5;
As=45;
N=ceil(7*pi/(Ws-Wp));
N=mod(N+1,2)+N;
M=N-1;
fprintf('
N=%.0f\n'
N);
w=hamming(N)'
;
Wc=(Wp+Ws)/2;
k=0:
M;
hd=(Wc/pi)*sinc(Wc*(k-0.5*M)/pi);
h=hd.*w;
omega=linspace(0,pi,512);
mag=freqz(h,[1],omega);
magdb=20*log10(abs(mag));
plot(omega/pi,magdb);
Blackman窗:
(N=59)
N=ceil(11.4*pi/(Ws-Wp));
w=blackman(N)'
Kaiser窗:
(N=24)
RS=0.01;
f=[0.40.6];
a=[1,0];
dev=RS*ones(1,length(a));
[M,Wc,beta,ftype]=kaiserord(f,a,dev);
h=fir1(M,Wc,ftype,kaiser(M+1,beta));
plot(omega/pi,20*log10(abs(mag)));
三种窗:
[M1,Wc1,beta,ftype]=kaiserord(f,a,dev);
h1=fir1(M1,Wc1,ftype,kaiser(M1+1,beta));
mag1=freqz(h1,[1],omega);
plot(omega/pi,20*log10(abs(mag1)),'
N2=ceil(7*pi/(Ws-Wp));
N2=mod(N2+1,2)+N;
M2=N2-1;
N2=%.0f\n'
N2);
w2=hamming(N2)'
Wc2=(Wp+Ws)/2;
M2;
hd2=(Wc2/pi)*sinc(Wc2*(k-0.5*M2)/pi);
h2=hd2.*w2;
mag2=freqz(h2,[1],omega);
magdb2=20*log10(abs(mag2));
plot(omega/pi,magdb2,'
N3=ceil(11.4*pi/(Ws-Wp));
N3=mod(N3+1,2)+N3;
M3=N3-1;
N3=%.0f\n'
N3);
w3=blackman(N3)'
Wc3=(Wp+Ws)/2;
M3;
hd3=(Wc3/pi)*sinc(Wc3*(k-0.5*M3)/pi);
h3=hd3.*w3;
mag3=freqz(h3,[1],omega);
magdb3=20*log10(abs(mag3));
plot(omega/pi,magdb3,'
red'
3.附件给出了一段含有噪声的音频信号。
(1)分析该信号的频谱特点。
(2)通过脉冲响应不变法设计一个滤波器对其进行处理,得到有用信息,自主确定各项指标。
(3)使用双线性变换法重做
(2)。
(4)试定量比较上述两种滤波器的各项性能,画出能说明性能差异的相关图形,对比并解释。
(5)通过不同窗函数法设计FIR滤波器对其进行处理,比较不同窗函数的滤波效果,给出分析和结论。
(选做)(6)请尝试采用其它的音频信号,混入不同的噪声,利用所学的滤波方法进行分析,会得到什么样的效果?
本题讨论用IIR和FIR数字滤波器进行实际系统设计的方法。
(1)
对几种滤波器得到的音频信号进行对比。
这条指令主要功能是读取音频文件,该音频文件的格式规定为MicrosoftWAVE格式,也就是以.wav为后缀的音频文件。
有以下几种使用方法。
1、y=wavread(file);
该语句读取文件名为file的音频文件,并将音频数据存储在y中,返回给用户使用。
音频数据的值域为[-1,1]
2、[y,fs,nbits]=wavread(file)
同上,file指定音频文件名,y是音频数据。
另外该语句还能够返回该音频文件的采样率fs,和采样位数nbits
3、[...]=wavread(file,n)
该语句用来读取文件名为file的音频文件中的前n个数据。
如果有多个通道,每个通道的数据都会被读取出来。
[...]表示随用户自己定义。
如果用户在这里只写一个y,该语句就只会返回音频数据,如果用户写成[y,fs,nbits],该语句就不但会返回音频数据y,还会返回采样率fs,和采样位数nbits
4、[...]=wavread(file,[n1,n2])
该语句用来读取文件名为file的音频文件中的第n1个到第n2个之间的数据。
5、siz=wavread(file,'
size'
)
该语句返回文件名为file的音频文件的数据大小siz=[sampleschannels]
6、[y,fs,nbits,opts]=wavread(...)
该语句返回的参数opts包含了音频文件的额外信息。
当有裕量出现时,选择不同的窗对滤波器选择有阶数的影响。
在IIR滤波器设计过程中,由于利用指标数据的不同,造成裕量的出现。
讨论利用不同指标出现裕量对滤波器性能的影响,以及如何有效地利用它?
在FIR滤波器设计过程中,由于所选用窗函数的不同,导致对信号滤波的效果不同。
本题的语音信号加入的是双频噪声,讨论如果对信号加入其它形式的噪声,采用何种滤波器更合适。
(1)含有噪声音频分析:
[x,fs,bits]=wavread('
hello.wav'
x1=x(1:
1:
end);
X1=fft(x1);
plot(abs(X1));
title('
含有噪声的音频信号'
读取音频文件后,得知抽样频率为fs=44100HZ,共取N=50688个点。
经过将图放大,在8800HZ——8950HZ,1005HZ——1025HZ两处范围内有噪声信号,发现所需要设计的滤波器参数应满足wp>
6000,ws<
8800,才能更可能将噪声去除。
(2)利用脉冲响应不变法所设计的低通滤波器:
wp=6336;
ws=8448;
Ap=1;
As=25;
(让角频率可以取整数)
w=linspace(0,2*pi,50688);
subplot(3,1,1);
plot(w/pi,abs(X1));
含有噪声的音频信号频谱图'
np=6336;
ns=8448;
n=50688;
Wp=np*2*pi/n;
Ws=ns*2*pi/n;
N=buttord(wp,ws,Ap,As,'
wc=wp/(10^(0.1*Ap)-1)^(1/2/N);
[numa,dena]=butter(N,wc,'
[numd,dend]=impinvar(numa,dena,Fs);
h=freqz(numd,dend,w);
numd=numd/norm;
subplot(3,1,2);
plot(w/pi,20*log10(abs(h)/norm));
title('
利用脉冲响应不变法所设计的滤波器幅度分布'
X=X1.*(h'
subplot(3,1,3);
plot(w/pi,abs(X));
滤除噪声后的音频信号频谱图'
要使噪声消除,则滤波器在噪声频率处需要完成衰减,此音频信号中,需要完成的衰减约为49.54dB,
(3)利用双线性变换法所设计的低通滤波器:
[numd,dend]=bilinear(numa,dena,Fs);
利用双线性变化法所设计的滤波器幅度分布'
要使噪声消除,则滤波器在噪声频率处需要完成衰减,此音频信号中,需要完成的衰减约为49.54dB,当使用双线性变换法时,在此噪音频率前已已达到标准,过渡带衰减速率高。
(4)定量比较上述两种滤波器的各项性能:
从第一题中可以看出,两方法的最大区别是过渡带的差距,则先保持Ap=1;
As=25不变,调大wp,使通带增加,
np=6336
plot(w/pi,20*log10(abs(h)/norm),'
holdon;
legend('
脉冲响应不变法'
'
双线性变化法'
两种滤波器np=6336'
np=6500
np=6500;
plot(w/pi,20*l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IIR FIR 滤波器 设计 专题研讨