数字信号处理实验一信号、-系统及系统响应西安郵電學院数字信号处理课内实验报告书系部名称:计算机系学生姓名:常成娟专业名称:电子信息科学与技术班级:电科0603学号:04062095(22号)时间: 2008-11-23实验一: 信号、 系统及系统响应一. 实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系, 加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。
(4) 掌握序列傅里叶变换的计算机实现方法, 利用序列的傅里叶变换对连续信号、 离散信号及系统响应进行频域分析。
二. 实验原理与方法采样是连续信号数字处理的第一个关键环节。
对一个连续信号xa(t)进行理想采样的过程可用(10.3.1)式表示。
(10.3.1)其中 (t)为xa(t)的理想采样, p(t)为周期冲激脉冲, 即(10.3.2)(t)的傅里叶变换 (j Ω)为 (10.3.3)将(10.3.2)式代入(10.3.1)式并进行傅里叶变换,(10.3.4)式中的xa(nT)就是采样后得到的序列x(n), 即x(n)的傅里叶变换为 (10.3.5)比较(10.3.5)和(10.3.4)可知^()()()a a x t x t p t =^x()()n p t t nT δ∞=-∞=-∑^x ^a X 1()[()]a a s m X j X j m T ∞⋅=-∞Ω=Ω-Ω∑^()[()()]()()()j t a a n j t a n j t a n X j x t t nT e dtx t t nT e dtx nT e dt δδ∞∞-Ω-∞=-∞∞∞-Ω-∞=-∞∞-Ω=-∞Ω=-=-=∑⎰∑⎰∑()()a x n x nT =()()j j nn X e x n e ωω∞-=-∞=∑(10.3.6)在数字计算机上观察分析各种序列的频域特性,通常对X(ej ω)在[0, 2π]上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n), 有 (10.3.7)其中一个时域离散线性非移变系统的输入/输出关系为(10.3.8)上述卷积运算也可以在频域实现^()()j a TX j X e ωω=ΩΩ=10()()2,0,1,,1k N j nj k n k X e x m e k k M Mωωπω--====⋅⋅⋅-∑()()()()()m y n x n h n x m h n m ∞=-∞=*=-∑()()()j j j Y e X e H e ωωω=开始调用信号产生子程序,产生信号序列x (n )调用序列傅氏变换数值计算子程序,求X (e )两次调用绘图子程序,分别绘制x (n ),X (e ) 图形j ω改变信号序列否?调用系统单位脉冲响应序列产生子程序,求h (n )调用傅氏变换数值计算子程序,求H (e )j ω两次调用绘图子程序,分别绘制h (n ),H (e ) 图形j ω改变h (n )否?调用卷积子程序,求y (n )=x (n )*h (n )调用傅氏变换数值计算子程序,求Y (e k )jω两次调用绘图子程序,分别绘制y (n ),Y (e k) 图形jω结束YY NN kkk j ωk10.80.60.40.200100200300400500x a (j f )f /Hz图10.3.1 实验一的主程序框图三. 实验内容及步骤 (1) 认真复习采样理论、 离散信号与系统、 线性卷积、 序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。
(2) 编制实验用主程序及相应子程序。
① 信号产生子程序, 用于产生实验中要用到的下列信号序列: xa(t)=Ae -atsin(Ω0t)u(t) 进行采样, 可得到采样序列xa(n)=xa(nT)=Ae -anT sin(Ω0nT)u(n), 0≤n<50 其中A 为幅度因子, a 为衰减因子, Ω0是模拟角频率,T 为采样间隔。
这些参数都要在实验过程中由键盘输入, 图10.3.2 xa(t)的幅频特性曲线产生不同的xa(t)和xa(n)。
b. 单位脉冲序列: xb(n)=δ(n)c. 矩形序列: xc(n)=RN(n), N=10② 系统单位脉冲响应序列产生子程序。
本实验要用到两种FIR 系统。
a. ha(n)=R10(n);b. hb(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)③ 有限长序列线性卷积子程序, 用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB 语言中的卷积函数conv 。
conv 用于两个有限长度序列的卷积, 它假定两个序列都从n=0 开始。
调用格式如下: y=conv (x, h)(3) 调通并运行实验程序, 完成下述实验内容: ① 分析采样序列的特性。
a. 取采样频率fs=1 kHz, 即T=1 ms 。
b. 改变采样频率, fs=300 Hz , 观察|X(ej ω)|的变化, 并做记录(打印曲线); 进一步降低采样频率, fs=200 Hz , 观察频谱混叠是否明显存在, 说明原因, 并记录(打印)这时的|X(ej ω)|曲线。
源程序: A=444.128;a=50*sqrt(2)*pi; w=50*sqrt(2)*pi; n=0:49; fs=1000;x=A*exp((-a)*n/fs).*sin(w*n/fs); k=-200:200; w=(pi/100)*k;y=x*(exp(-j*pi/100)).^(n'*k);%y=fft(x)subplot(1,2,1);stem(n,x);axis([0,50,-50,150]);xlabel('n');ylabel('Xa(n)');title('fs=1000');subplot(1,2,2);plot(w/pi,abs(y))axis([-2,2,0,1000]);xlabel('w/pi');ylabel('/Xa(ejw)/');A=444.128;a=50*sqrt(2)*pi;w=50*sqrt(2)*pi;n=0:49;fs=500;x=A*exp((-a)*n/fs).*sin(w*n/fs); k=-200:200;w=(pi/100)*k;y=x*(exp(-j*pi/100)).^(n'*k);%y=fft(x)subplot(1,2,1);stem(n,x);axis([0,50,-50,150]);xlabel('n');ylabel('Xa(n)');title('fs=500');subplot(1,2,2);plot(w/pi,abs(y))axis([-2,2,0,500]);xlabel('w/pi');ylabel('/Xa(ejw)/');A=444.128;a=50*sqrt(2)*pi;w=50*sqrt(2)*pi;n=0:49;fs=200;x=A*exp((-a)*n/fs).*sin(w*n/fs);k=-200:200;w=(pi/100)*k;y=x*(exp(-j*pi/100)).^(n'*k);%y=fft(x)subplot(1,2,1);stem(n,x);axis([0,50,-50,150]);xlabel('n');ylabel('Xa(n)');title('fs=200');subplot(1,2,2);plot(w/pi,abs(y))axis([-2,2,80,180]);xlabel('w/pi');ylabel('/Xa(ejw)/');结果分析:时域采样定理要求采样频率大于折叠频率fs/2=500Hz,频谱才不至于出现混叠。
从仿真图中可以看出当fs=200Hz时,频谱出现严重失真(出现混叠);而当fs=1000Hz时,频谱没有失真;fs=500Hz时,频谱刚好处于临界状态。
②时域离散信号、系统和系统响应分析。
a. 观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
原程序:函数调用部分:function[x,n]=impesq(n0,n1,n2)n=[n1:n2];x=[(n-n0)==0];n=0:3;xb=impesq(0,0,3);Hb=impesq(0,0,3)+2.5*impesq(1,0,3)+2.5*impesq(2,0,3)+impesq(3,0,3); k=-200:200;w=(pi/100)*kaa=xb*(exp(-j*pi/100)).^(n'*k);bb=Hb*(exp(-j*pi/100)).^(n'*k);n=0:3subplot(3,2,1);stem(n,xb);axis([-2 2 0 2]);xlabel('n');ylabel('xb(n)');title('xb(n)');subplot(3,2,2);plot(w/pi,abs(aa));axis([-2 2 0 2]);xlabel('w/pi');ylabel('xb(|(jw)|');title('[xb(ejw)]');subplot(3,2,3);stem(n,Hb);axis([0 4 0 3]);xlabel('n');ylabel('Hb');title('Hb(n)');subplot(3,2,4);plot(w/pi,abs(bb));axis([-2 2 0 8]);xlabel('w/pi');ylabel('Hb(|(jw)|');title('[Hb(ejw)]');n=0:6y=conv(xb,Hb);yy=y*(exp(-j*pi/100)).^(n'*k);subplot(3,2,5);stem(n,y);axis([0 7 0 3]);xlabel('n');ylabel('y(n)');title('xb*Hb');subplot(3,2,6);plot(w/pi,abs(yy));axis([-2 2 0 8]);xlabel('w/pi');ylabel('|Y(jw)|');title('[Y(ejw)]');结果分析:单位冲击序列和任意序列卷积等于任意序列,从仿真图中可以直接看出卷积后的频谱Y/(ejw)/和任意序列的频谱Hb/(ejw)/相同。