数字信号处理实验报告

  • 格式:doc
  • 大小:523.50 KB
  • 文档页数:17

南京邮电大学实验报告实验名称_____熟悉MATLAB环境 ___快速傅里叶变换及其应用____IIR数字滤波器的设计_ FIR数字滤波器的设计课程名称数字信号处理A班级学号_______09002111___________ 姓名王都超开课时间 2011/2012学年,第二学期实验一熟悉MATLAB环境一、实验目的(1)熟悉MA TLAB的主要操作命令。

(2)学会简单的矩阵输入和数据读写。

(3)掌握简单的绘图命令。

(4)用MATLAB编程并学会创建函数。

(5)观察离散系统的频率响应。

二、实验内容(1) 数组的加、减、乘、除和乘方运算。

输入A=[1 2 3 4],B=[3,4,5,6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B 。

并用stem语句画出A、B、C、D、E、F、G。

D =-2 -2 -2 -2E =3 8 15 24F =0.3333 0.5000 0.6000 0.6667G =1 16 243 4096 (2) 用MATLAB 实现下列序列: a) 08(). 0n 15n x n =≤≤ n=0:1:15; x1=0.8.^n; a=(0.2+3*i)*n; stem(x1)b) 023(.)() 0n 15j nx n e+=≤≤n=0:1:15; x2=exp(a); a=(0.2+3*i)*n; stem(x2)c) 3012502202501()cos(..)sin (..)x n n n ππππ=+++ 0n 15≤≤(4) 绘出下列时间函数的图形,对x 轴、y 轴以及图形上方均须加上适当的标注:a) 2()sin () 0t 10s x t t π=≤≤b) 100()cos()sin () 0t 4s x t t t ππ=≤≤ t=0:0.01:4;x=cos(100*pi*t).*sin(pi*t); plot(t,x, 'r-');xlabel('t'),ylabel('x(t)'),title('cos')(6) 给定一因果系统12121106709()()/(..)H z zzz----=++-+,求出并绘制H (z )的幅频响应和相频响应。

(7) 计算序列{8 -2 -1 2 3}和序列{2 3 -1 -3}的离散卷积,并作图表示卷积结果。

≤<n +---=--().().()()()y n y n y n x n x n011006221实验过程与结果(含实验程序、运行的数据结果和图形);clear all;N=50;a=[1 -2];b=[1 0.1 -0.06];x1=[1 zeros(1,N-1)];n=0:1:N-1;h=filter(a,b,x1);stem(n,h)axis([-1 53 -2.5 1.2])实验二 快速傅里叶变换及其应用一、实验目的(1) 在理论学习的基础上,通过本实验,加深对FFT 的理解,熟悉MA TLAB 中的有关函数。

(2) 应用FFT 对典型信号进行频谱分析。

(3) 了解应用FFT 进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT 。

(4) 应用FFT 实现序列的线性卷积和相关。

二、实验内容实验中用到的信号序列 a) 高斯序列2()015()0n p q a en x n --⎧⎪≤≤=⎨⎪⎩其他b) 衰减正弦序列sin(2)015()0an b e fn n x n π-⎧≤≤=⎨⎩其他c) 三角波序列03()8470c n n x n nn ≤≤⎧⎪=-≤≤⎨⎪⎩其他d) 反三角波序列403()4470d n n x n n n -≤≤⎧⎪=-≤≤⎨⎪⎩其他(1) 观察高斯序列的时域和幅频特性,固定信号()a x n 中参数p =8,改变q 的值,使q 分别等于2,4,8,观察它们的时域和幅频特性,了解当q 取不同值时,对信号序列的时域幅频特性的影响;固定q =8,改变p ,使p 分别等于8,13,14,观察参数p 变化对信号序列的时域及幅频特性的影响,观察p 等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。

(3) 观察三角波和反三角波序列的时域和幅频特性,用N =8点FFT 分析信号序列()c x n 和()d x n 的幅频特性,观察两者的序列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。

在()c x n 和()d x n 末尾补零,用N =32点FFT 分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两种情况的FFT 频谱还有相同之处吗?这些变化说明了什么?(5) 用FFT 分别实现()a x n (p =8,q =2)和()b x n (a =0.1,f =0.0625)的16点循环卷积和线性卷积。

n=0:15; p=8; q=2;xa=exp(-(n-p).^2/q); subplot(2,3,1); stem(n,xa,'.'); title('xa 波形');Xa=fft(xa,16); subplot(2,3,4); stem(abs(Xa),'.');title('Xa(k)=FFT[xa(n)]的波形 '); A=1; f=0.0625; a=0.1;xb=exp(-a*n).*sin(2*pi*f*n); subplot(2,3,2);stem(n,xb,'.');title('xb波形');Xb=fft(xb,16);subplot(2,3,5);stem(abs(Xb),'.');title('Xb(k)=FFT[xb(n)]的波形 ');实验过程与结果(含实验程序、运行的数据结果和图形);实验三IIR数字滤波器的设计一、实验目的(1) 掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。

(2) 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。

(3) 熟悉巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。

二、实验内容(1)P162 例4.4设采样周期T=250s(采样频率f=4kHz),分别用脉冲响应不变法和双线性变换法设计一s个三阶巴特沃思低通滤波器,其3dB边界频率为f=1kHz。

c脉冲响应不变法:fc=1000;fs=4000;OmegaC=2*pi*fc;[B,A]=butter(3, OmegaC,'s'); [num1,den1]=impinvar(B,A,fs); [h1,w]=freqz(num1,den1);f = w/pi*fs/2;plot(f,abs(h1));双线性变换法:fc=1000;fs=4000;OmegaC=2*fs*tan(pi*fc/fs); [B,A]=butter(3, OmegaC,'s'); [num2,den2]=bilinear(B,A,fs); [h2,w]=freqz(num2,den2);f = w/pi*fs/2;plot(f,abs(h2));同一图中画两条曲线:fc=1000;fs=4000;OmegaC=2*pi*fc;[B,A]=butter(3, OmegaC,'s'); [num1,den1]=impinvar(B,A,fs); [h1,w]=freqz(num1,den1);f = w/pi*fs/2;OmegaC=2*fs*tan(pi*fc/fs); [B,A]=butter(3, OmegaC,'s'); [num2,den2]=bilinear(B,A,fs); [h2,w]=freqz(num2,den2);f = w/pi*fs/2;plot(f,abs(h1),'r-.');hold on;plot(f,abs(h2),'g-');(选做) (2)c f =0.2kHz, =1dB,r f =0.3kHz,At =25dB,T =1ms ;分别用脉冲响应不变法及双线性变换法设计一巴特沃思数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。

比较这两种方法的优缺点。

实验过程与结果(含实验程序、运行的数据结果和图形);实验四 FIR 数字滤波器的设计一、实验目的(1) 掌握用窗函数法,频率采样法及优化设计法设计FIR 滤波器的原理及方法,熟悉相应的计算机编程;(2) 熟悉线性相位FIR 滤波器的幅频特性和相频特性;(3) 了解各种不同窗函数对滤波器性能的影响。

二、实验内容(1) 生成一个长度为20的矩形窗,画出其时域和幅频特性曲线。

n=0:1:19;N=20;win(1:20)=1;[H,w]=freqz(win,1);subplot(2,1,1);stem(n,win)subplot(2,1,2);plot(w,abs(H));(2)用矩形窗设计一个21阶的线性相位低通FIR数字滤波器,截止频率Wc=0.25π,求出滤波器系数,并绘出滤波器的幅频特性。

修改程序,分别得到阶次为N=41,61的滤波器,并显示其各自的幅频曲线。

a) 在上面所得的几幅图中,在截止频率两边可以观察到幅频响应的摆动行为。

请问波纹的数量与滤波器脉冲响应的长度之间有什么关系?b) 最大波纹的高度与滤波器脉冲响应的长度之间有什么关系?实验过程与结果(含实验程序、运行的数据结果和图形);21阶的线性相位低通FIR数字滤波器:Wc=0.25*pi;N=21;M=(N-1)/2; %位移量for n=0:(N-1)if (n== fix(M)) %中间的点单独算hd(n+1)=Wc/pi;elsehd(n+1)=sin(Wc*(n-M)) /(pi*(n-M));end;end;win=boxcar(N);%%%不同窗函数h=hd.*win';[H,w]=freqz(h,1);n=0:1:N-1;stem(n,h)subplot(3,1,2);plot(w,abs(H));subplot(3,1,3);plot(w,angle(H));41阶的线性相位低通FIR数字滤波器:Wc=0.25*pi;N=41;M=(N-1)/2; %位移量for n=0:(N-1)if (n== fix(M)) %中间的点单独算hd(n+1)=Wc/pi;elsehd(n+1)=sin(Wc*(n-M)) /(pi*(n-M)); end;end;win=boxcar(N);%%%不同窗函数h=hd.*win';[H,w]=freqz(h,1);n=0:1:N-1;subplot(3,1,1);stem(n,h)subplot(3,1,2);subplot(3,1,3);plot(w,angle(H));61阶的线性相位低通FIR数字滤波器:Wc=0.25*pi;N=61;M=(N-1)/2; %位移量for n=0:(N-1)if (n== fix(M)) %中间的点单独算hd(n+1)=Wc/pi;elsehd(n+1)=sin(Wc*(n-M)) /(pi*(n-M)); end;end;win=boxcar(N);%%%不同窗函数h=hd.*win';[H,w]=freqz(h,1);n=0:1:N-1;subplot(3,1,1);stem(n,h)subplot(3,1,2);plot(w,abs(H));subplot(3,1,3);plot(w,angle(H));数字信号处理实验小结及心得体会:通过这次实验,我对MATLAB语言有了一定的认识,虽然还不能完全用MATLAB独立编写程序,但对这种语言环境有了新的了解。