工程数字信号处理.ppt
,数字滤波技术,FIR滤波器,FIR滤波器又称为有限脉冲响应滤波器,FIR就来源于名词“有限脉冲响应”的英文单词首字符缩写。,FIR传函:,脉冲响应函数:,h(k)是一个有限长度的序列,故FIR滤波器称为有限脉冲响应滤波器。,数字滤波技术,FIR滤波器的滤波公式:,y(k)=h(0)x(k)+h(1)x(k+1)+.+h(N)x(k+N),y(i)=0.09x(k-3)+0.15x(k-2)+0.20 x(k-1)+0.22x(k)+0.20 x(k+1)+0.15x(k+2)+0.09x(k+3),数字滤波技术,Dim x(2048),y(2048)For K=0 To 512x(k)=data(k)y(k)=0.00001NextFor K=4 To 509y(k)=0.09*x(k-3)+0.15*x(k-2)+0.2*x(k-1)+0.22*x(k)+0.2*x(k+1)+0.15*x(k+2)+0.09*x(k+3)NextSetInterval 104,dtDocument.setarrayline 104,512,y,数字滤波技术,FIR滤波器系数脉冲响应函数设计法,对离散化系统,用归一化频率表示v=F/Fs:,频率特性富里叶级数表达:,?参考波形合成与分解,数字滤波技术,为简化计算,设Hd为偶函数(也可为奇函数),则:,n,取前Q项近似为:,数字滤波技术,令:,例如,当Q=5时有:,数字滤波技术,低通滤波器:,高通滤波器:,数字滤波技术,带通滤波器:,带阻滤波器:,数字滤波技术,例如,低通滤波器设FN5kHz,f1=1kHz,有:,取Q=5,可以得到:,数字滤波技术,N=?fc=?N2=Int(N/2)h(0)=fcFor i=1 To N2 Step 1 f=i*pi h(i)=sin(fc*f)/fNext,低通滤波器设计算法:,数字滤波技术,数字滤波技术,理想滤波器Cn是无限长序列,但FIR系数h(n)是有限的,最简单办法是直接截取。这样的截断在时域有跳变,导致滤波器特性变差。可以用一个向两边衰减的窗函数与Cn相乘:h(n)=w(n)C(n),减小系数截断带来的时域有跳变造成的误差。,FIR滤波器窗函数设计法,数字滤波技术,设计中常用的几种窗函数:,矩形窗:w(n)=RN(n);,Hanning窗:,Hamming窗:,Blackmen窗:,数字滤波技术,N=?fc=?N2=Int(N/2)h(0)=fcFor i=1 To N2 Step 1 f=i*pi h(i)=sin(fc*f)/fNext,f1=2.0*pi/(N-1.0)For i=0 To N2 Step 1 h(i)=h(i)*(0.54-0.46*cos(f1*(i+N2)Next sum=h(0)For i=1 To N2 Step 1 sum=sum+2*h(i)Next For i=0 To N2 Step 1 h(i)=h(i)/sumNext,数字滤波技术,数字滤波技术,FIR滤波器频率取样/优化设计法:,Fmin=F-F(C1,C2,C3,.),数字滤波技术,MatLab:,F=0 0.2 0.4 0.6 0.8 0.9;A=1 1 0.6 0.4 0.2 0.0;b=firls(24,F,A);H,f=freqz(b,1,512,2);plot(f,abs(H)grid onlegend(Ideal,firls Design)Disp(b),数字滤波技术,实验:用MatLab或DRVI设计一个方波信号发生器,然后用窗函数法设计一个FIR低通/高通/带通滤波器,只保留需要的谐波成分。,数字滤波技术,IIR滤波器又称无限脉冲响应滤波器,IIR来源于名词“无限脉冲响应”的英文单词首字符缩写。,h(k)是一个无限长度的序列,故IIR滤波器称为无限脉冲响应滤波器。,IIR传函:,脉冲响应函数(长除法):,IIR滤波器,数字滤波技术,Butterworth,Chebyshev,Elliptic,kaiser,种类,数字滤波技术,MatLab中的滤波功能,Fs=44100;dt=1.0/Fs;T=2;N=T/dtt=0:N-1/N;x=74*square(2*pi*10*t);b,a=butter(4,30/22050,low);y=filter(b,a,x);plot(t,y);,数字滤波技术,IIR滤波器设计步骤:,1.选择模拟滤波器公式,巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器,2.求出数字滤波器公式,双线性变换,冲击响应不变法,3.计算数字滤波器系数,4.生成数字滤波公式,数字滤波技术,IIR滤波器的滤波公式:,IIR滤波器主要有巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器几种。,数字滤波技术,巴特沃斯低通滤波器设计,式中Wc为滤波器截止频率,P为滤波器阶次,P越大滤波器的频率截止特性越好。,数字滤波技术,为消除离散处理的频混,采用双线性变换将模拟滤波器频率轴压缩到,区间内:,数字滤波技术,数字滤波技术,数字巴特沃斯低通滤波器公式:,式中:,数字滤波技术,wc=sin(fc*pi)/cos(fc*pi)For k=1 To NS Step 1 cs=cos(2*(k+NS)-1)*pi/(4*NS)x=1/(1+wc*wc-2*wc*cs)a(k)=wc*wc*x b(k)=2*(wc*wc-1)*x c(k)=(1+wc*wc+2*wc*cs)*x Next,低通滤波器设计算法:,数字频率和模拟频率转换关系:,数字滤波技术,数字滤波技术,用巴特沃斯低通滤波器进行数字滤波:,数字滤波技术,数字滤波技术,Matlab,FS=1;FC=0.3;N=8;Wn=FCb,a=butter(N,Wn,s);H,f=freqs(b,a);plot(f,abs(H)bz,az=bilinear(b,a,FS);%bz,az=impinvar(b,a,FS);H1,f1=freqz(bz,az,512,FS,whole)plot(f1,abs(H1),数字滤波技术,Matlab直接设计,FS=1;FC=0.1;N=8;Wn=FC/(FS/2)b,a=butter(N,Wn,low);H,f=freqz(b,a,512,FS);plot(f,abs(H)Disp(b)Disp(a),数字滤波技术,FS=1;FC=0.02;N=8;Wn=FC/(FS/2)b,a=butter(N,Wn,low);Fs=5120;N=1024;dt=1.0/5120.0;T=dt*N;t=linspace(0,T,N);x=sin(2*pi*50*t)+1/3*sin(2*pi*150*t);y=filter(b,a,x);P=fft(y,N);Pyy=2*sqrt(P.*conj(P)/N;f=linspace(0,Fs/2,N/2);plot(f,Pyy(1:N/2);,数字滤波技术,模拟滤波器产品,LineDa:LTC1564,MAXIM:MAX74xx,数字滤波技术,DSP器件,实践三,基本功能:用你熟悉的语言设计一个能实现低通,高通,带通,带阻功能的多功能数字滤波器.扩展功能:实现一个简单的数字均衡器,功能包括:声音信号获取,均衡器设定,滤波,播放和保存.,数字滤波技术,9,数字滤波技术,频率的音感特征:3060Hz 沉闷,人耳很难感觉。60100Hz 沉重。100200Hz 丰满 200500Hz 力度。5001KHz 明朗。1K2KHz 透亮。2K4Kz 尖锐。4K8Kz 清脆。8K16Kz 纤细。,1、FFT滤波,2、滤波器组,