数字信号课程论文

  • 格式:docx
  • 大小:172.22 KB
  • 文档页数:9

数字信号处理课程实验报告前言数字滤波器是数字信号处理的重要组成部分,它是在模拟滤波器的基础上发展起来的,与模拟滤波器相比有着精度稳定性高、使用灵活、便于实现多维滤波及大规模集成等优点,从而得以在科学技术领域中得到广泛应用。

利用MATLAB软件的优越的数字分析及仿真功能,结合所学专业理论知识理解数字滤波器及数字滤波具有较高的参考价值。

第一部分:IIR,FIR数字滤波器的设计IIR(Infinite Impulse Response)数字滤波器,又名“无限脉冲响应数字滤波器”,或“递归滤波器”。

递归滤波器,也就是IIR数字滤波器,顾名思义,具有反馈,一般认为具有无限的脉冲响应。

利用MATLAB信号处理工具箱中的滤波器设计和分析工具(FDATool)可以很方便地设计出符合应用要求的未经量化的IIR数字滤波器。

需要将MATLAB设计出的IIR数字滤波器进一步分解和量化,从而获得可用FPGA实现的滤波器系数。

对于FIR数字滤波器而言,可得到严格的线性相位,而IIR滤波器则做不到这一点,IIR滤波器的频率选择性越好,则相位的非线性越严重。

IIR滤波器加全通网络补偿才能得到线性相位,这同样要大大增加滤波器的阶数和复杂性。

FIR滤波器不存在内部的反馈,因而系统稳定,FIR滤波器的有限精度误差也较小。

IIR滤波器的反馈有时会造成系统的不稳定,为了减少运算误差,IIR滤波器对运算的精度要求也比较高。

FIR滤波器可以用快速傅里叶变换算法减少运算量,IIR滤波器则不可能这样计算。

双线性变换法设计IIR带阻数字滤波器的基本原理和算法由于双线性变换法获得的数字滤波器频率响应特性中不会出现混叠现象,因此可以适用于高通、带通和带阻滤波器的设计。

IIR数字滤波器的设计通常要借助于模拟低通滤波器的设计,由原型低通滤波器到其他形式(高通、带通、带阻)IIR数字滤波器的频带变换有模拟频带变换法和数字频带变换法。

(1)模拟频带变换法首先将给定的对数字滤波器(DF)的技术要求转换为一个低通模拟滤波器(AF)的技术要求,根据这种要求用某种逼近设计出原型的低通模拟滤波器(LP AF),计算出模拟滤波器的阶数N、极点s i和传递函数)(sHa ,再按照双线性变换的变换关系,将模拟滤波器的传递函数)(sHa转换为数字滤波器的传递函数)(zH。

(2)数字频带变换法首先将给定的对数字滤波器(DF)的技术要求转换为一个低通模拟滤波器(AF)的技术要求,用双线性变换法将原型的低通模拟滤波器(LP AF)映射为低通数字滤波器,再将数字低通滤波器根据相应的变换公式经频带变换到各型数字滤波器。

IIR 数字滤波器的设计可利用MATLAB 提供的函数直接设计相应的数字滤波器。

函数buttord 和cheb1ord 用来根据给定的技术指标求出滤波器的阶数N 和边界频率wn ,butter 和cheby1则根据阶数和边界频率设计相应的数字滤波器。

输入的参数不同则所设计的滤波器类型不同。

实验要求1利用双线性变换法设计满足下列指标的切比雪夫型数字带阻滤波器,并作图验证设计结果:当kHz f kHz 21≤≤时,dB At 18≥,当Hz f 500≤以及kHz f 3≥时,dB 3≤δ;采样频率kHzf s 10=。

程序设计与实验结果具体实验代码:方法一 先设计模拟滤波器,然后利用双线性变换法变换为数字滤波器 clear;fs=10000;fc=[500 3000]; fr=[1000 2000];rp=3;rs=20; wp=2*fs*tan(2*pi*fc/fs/2); ws=2*fs*tan(2*pi*fr/fs/2);[N,wn]=cheb1ord(wp,ws,rp,rs,'s'); [b,a]=cheby1(N,rp,wp,'stop','s'); [bz,az]=bilinear(b,a,fs);[h,w]=freqz(bz,az); f=w/(2*pi)*fs;subplot(121),plot(f,20*log10(abs(h))); axis([0,5000,-100,10]); grid;xlabel('频率/Hz'); ylabel('幅度/dB');方法二直接设计数字滤波器 clear;fs=10000;fc=[500 3000]; fr=[1000 2000];rp=3;rs=20; wp=(2*pi*fc/fs)/pi; ws=(2*pi*fr/fs)/pi;[N,wn]=cheb1ord(wp,ws,rp,rs);[bz,az]=cheby1(N,0.5,wn,'stop');[h,w]=freqz(bz,az);f=w/(2*pi)*fs;subplot(122),plot(f,20*log10(abs(h)));axis([0,5000,-100,10]);grid;xlabel('频率/Hz');ylabel('幅度/dB');程序运行输出:程序仿真图比较实验要求2(1)用凯塞窗设计一个多带线性相位滤波器,幅频特性如下图所示,N=40,β分别取4、6、10,比较不同β值时的幅频特性和相频特性。

(2)用频率采样法设计(1)的多带滤波器,比较过渡带不设采样点和设置一个采样点的幅频特性,过渡点的值设为0.5,窗函数选矩形窗。

程序设计与实验结果具体实验代码:(1)clear;%beta=4Wd=[0.2 0.4 0.6 0.8]; M=39; beta=4; hh = fir1(M, Wd, kaiser(M+1,beta)); [H, w] = freqz(hh, 1);figure; subplot(2,1,1);plot(w/pi,abs(H));xlabel('\omega/\pi'); ylabel('幅度'); grid; title('幅频特性, beta=4');subplot(2,1,2);plot(w/pi,angle(H));xlabel('\omega/\pi'); ylabel('弧度'); grid; title('相频特性');%beta=6;Wd=[0.2 0.4 0.6 0.8]; M=39; beta=6; hh = fir1(M, Wd, kaiser(M+1,beta)); [H, w] = freqz(hh, 1);figure; subplot(2,1,1);plot(w/pi,abs(H));xlabel('\omega/\pi');ylabel('幅度'); grid;title('幅频特性, beta=6');subplot(2,1,2);plot(w/pi,angle(H));xlabel('\omega/\pi');ylabel('弧度'); grid;title('相频特性');%beta=10;Wd=[0.2 0.4 0.6 0.8]; M=39; beta=10; hh = fir1(M, Wd, kaiser(M+1,beta)); [H, w] = freqz(hh, 1);figure; subplot(2,1,1);plot(w/pi,abs(H));xlabel('\omega/\pi'); ylabel('幅度'); grid; title('幅频特性, beta=10');subplot(2,1,2);plot(w/pi,angle(H));xlabel('\omega/\pi'); ylabel('弧度'); grid; title('相频特性');(2)clear;N=40;k=0:N-1;%过渡带不设采样点Hk=[zeros(1,4),ones(1,5),zeros(1,3),ones(1,5),zeros(1,7),-ones(1,5),zeros(1,3),-ones(1,5) , zeros(1,3)];h=real(ifft(Hk.*exp(-j*pi*(N-1)*k/N)));[H,w]=freqz(h,1);figure(1);subplot(211),plot(w/pi,20*log10(abs(H)));axis([0 1 -70 10]); grid on;xlabel('\omega/\pi'); ylabel('幅度/dB');title('频率采样法,N=40,过渡带不设采样点');%过渡带设一个采样点hold on;Hk=[zeros(1,3) 0.5 ones(1,5) 0.5 zeros(1,1) 0.5 ones(1,5) 0.5 zeros(1,5) -0.5 -ones(1,5) -0.5 zeros(1,1) -0.5 -ones(1,5) -0.5 zeros(1,2)];h=real(ifft(Hk.*exp(-j*pi*(N-1)*k/N)));[H,w]=freqz(h,1);figure(1);subplot(212),plot(w/pi,20*log10(abs(H)));axis([0 1 -70 10]); grid;xlabel('\omega/\pi'); ylabel('幅度/dB');title('频率采样法,N=40,过渡带设一个采样点');程序运行输出:结论:在理想频率响应的间断点的边缘加上一个过渡采样点,阻带衰减变大,但过渡带也就越宽。

第二部分: 自适应滤波器的MATLAB实现根据环境的改变,使用自适应算法来改变滤波器的参数和结构。

这样的滤波器就称之为自适应滤波器。

一般情况下,不改变自适应滤波器的结构。

而自适应滤波器的系数是由自适应算法更新的时变系数。

即其系数自动连续地适应于给定信号,以获得期望响应。

自适应滤波器的最重要的特征就在于它能够在未知环境中有效工作,并能够跟踪输入信号的时变特征。

实验要求利用自适应滤波法研究从宽带信号中提取单频信号的方法:设x(t)=s(t)+cos(2*pi*f*t),s(t)是宽带信号,f任选,要求提取cos(2*pi*f*t)。

程序设计与实验结果设单频信号频率f=1Hz,宽频信号s(t)均值为0,方差为0.5的白噪声。