西 安 郵 電 學 院
数字信号处理课实验
报 告 书
系部名称 : 学
生 :
计算机系
常成娟
专业名称 : 班 级 : 学时
号 : 间 :
电子信息科学与技术
电科0603
04062095(22号)
2008-11-23
. . . . .
. . . .
实验一: 信号、 系统及系统响应
一. 实验目的
(1) 熟悉连续信号经理想采样前后的频谱变化关系, 加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。 (4) 掌握序列傅里叶变换的计算机实现方法, 利用序列的傅里叶变换对连续信号、 离散信号及系统响应进行频域分析。 二. 实验原理与方法
采样是连续信号数字处理的第一个关键环节。
对一个连续信号xa(t)进行理想采样的过程可用(10.3.1)式表示。
^10.3.1)其中 (t)x^xa(t)xa(t)p(t)为xa(t)的理想采样, p(t)为周期冲激脉冲, 即
p(t)(tnT)(10.3
.2)
nx^ (t)的傅里叶变换 (jX^aΩ)为 j)1 Xa(Xa[j(ms(10.3
.3) T)]m
将(10.3.2)式代入(10.3.1)式并进行傅里叶变换, X^j)
a([xa(t)n(tnT)]ejtdt
xa(t)(tnT)ejt dtn(10.3
.4)
xa(nT)ejtdt n
式中的xa(nT)就是采样后得到的序列x(n), 即
x(n)xa(nT)x(n)的傅里叶变换为 X(ej)x(n)ejn(10.3
.5)
n
比较(10.3.5)和(10.3.4)可知
. . . . .
(
. . . .
^ (10.3
Xa(j)X(ej)T.6)
在数字计算机上观察分析各种序列的频域特性,通常对X(ejω)在[0, 2π]上进行M点采样来观察分析。 对长度为N的有限长序列x(n), 有 N1.7) X(ejk)
x(m)ejknn0其中
2kMk,k0,1,,M1一个时域离散线性非移变系统的输入/输出关系为
y(n)x(n)h(n)x(m)h(nm)8) m
上述卷积运算也可以在频域实现 Y(ej)X(ej)H(ej)
开始
调用信号产生子程序,产生信号序列x(n)
调用序列傅氏变换数值计算子程序,求X(e )jωk
两次调用绘图子程序,分别绘制x(n),X(e jωk) 图形
Y改变信号序列否?
N
调用系统单位脉冲响应序列产生子程序,求h(n)
调用傅氏变换数值计算子程序,求H(e )jωk
两次调用绘图子程序,分别绘制h(n),H(e jωk) 图形
Y改变h(n)否?
N
调用卷积子程序,求y(n)=x(n)*h(n)
调用傅氏变换数值计算子程序,求Y(e jωk) . . . . 两次调用绘图子程序,分别绘制 . y(n),Y(e kjω) 图形结束(10.3(10.3.
. . . .
图10.3.1 实验一的主程序框图
三. 实验容及步骤 1 (1) 认真复习采样理论、 离散信号与系统、 线
0.8性卷积、 序列的傅里叶变换及性质等有关容, 阅
读本实验原理与方法。 0.6 (2) 编制实验用主程序及相应子程序。
0.4① 信号产生子程序, 用于产生实验中要用到的下
-at
列信号序列: xa(t)=Aesin(Ω0t)u(t) 0.2进行采样, 可得到采样序列
0 xa(n)=xa(nT)=Ae-anTsin(Ω0nT)u(n), 0≤n<50 0100200300400500其中A为幅度因子, a为衰减因子, Ω0是模拟角频f /Hz率,
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;
. . . . .
xa(jf) . . . .
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)*k
aa=xb*(exp(-j*pi/100)).^(n'*k); bb=Hb*(exp(-j*pi/100)).^(n'*k); n=0:3
subplot(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:6
y=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)/相同。 b. 观察系统ha(n)对信号xc(n)的响应特性。 原程序:
函数调用部分:
function[x,n]=stepseq(n0,n1,n2)
. . . . .
. . . .
n=[n1:n2]; x=[(n-n0)>=0];
n=0:18;
xc=stepseq(0,0,9); Ha=stepseq(0,0,9); y=conv(xc,Ha); subplot(2,2,1); stem(n,y);
axis([0 20 0 10]); xlabel('n'); ylabel('y(n)');
title('xc(n)*Ha(n)'); k=-300:300; W=(pi/100)*k;
Y=y*(exp(-j*pi/100)).^(n'*k) subplot(2,2,2); plot(W/pi,Y);
axis([-2 2 0 150]); xlabel('W/pi'); ylabel('Y(jw)');
title('FT[xc(n)*Ha(n)]'); n=0:13;
xc1=stepseq(0,0,4); y=conv(xc1,Ha); subplot(2,2,3); stem(n,y);
axis([0 15 0 10]); xlabel('n'); ylabel('y(n)');
title('xc1(n)*Ha(n)'); k=-300:300; W=(pi/100)*k;
Y=y*(exp(-j*pi/100)).^(n'*k) subplot(2,2,4); plot(W/pi,Y);
axis([-2 2 0 60]); xlabel('W/pi'); ylabel('Y(jw)');
. . . . .
. . . .
title('FT[xc1(n)*Ha(n)]');
结果分析:
长度为M的序列X1(n)和长度为N的序列X2(n)做线性卷积后其长度L=M+N-1. 当Xc(n)和Ha(n)的长度都为10,作线性卷积后长度为10+10-1=19,和左上角的仿真结果一致;当Xc(n)和Ha(n)的长度分别为5和10时,作线性卷积后的长度为14,仿真图如左下。和理论相符合。 ③ 卷积定理的验证。 原程序:
Impesq为调用函数,见上文。 n=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)*k;
m=hb*(exp(-j*pi/100)).^(n'*k); n=0:19;
xa=1*exp(-0.4*n*1).*sin(2.0734*n*1);
. . . . .
. . . .
n=0:22;
z=conv(xa,hb); subplot(2,2,1); stem(n,z);
axis([0 20 -0.5 1.5]); xlabel('n'); ylabel('y(n)');
title('xa(n)*hb(n)'); subplot(2,2,2);
Y1=z*(exp(-j*pi/100)).^(n'*k); plot(W/pi,abs(Y1)); axis([-2 2 0 2.5]); xlabel('w/pi');
ylabel('|Y(ejw)|');
title('FT[xa(n)*Hb(n)]'); k=-200:200; W=(pi/100)*k; n=0:19;
c=xa*(exp(-j*pi/100)).^(n'*k); Y=c.*m;
subplot(2,2,3) plot(W/pi,Y);
axis([-2 2 0 2.5]); xlabel('w/pi'); ylabel('|Y(jw)|');
title('Xa(jw)*Hb(jw)');
. . . . .
. . . .
结果分析:
由图中可以看出两个序列卷积的傅立叶变换等于其傅立叶的乘积,从而验证了时域卷积定理。 4. 思考题
(1) 在分析理想采样序列特性的实验中, 采样频率不同时, 相应理想采样序列的傅里叶变换频谱的数字频率度量是否都相同? 它们所对应的模拟频率是否相同? 为什么?
因为w=ΩT=Ω/fs,所以当采样频率不同时, 相应理想采样序列的傅里叶变换频谱的数字频率度量不同,因为模拟信号是一定的,所以对应的模拟频率Ω一定是相同的。
(2) 在卷积定理验证的实验中, 如果选用不同的频域采样点数M值, 例如, 选M=10和M=20, 分别做序列的傅里叶变换, 求得所得结果之间有无差异,为什么?
. . . . .
因篇幅问题不能全部显示,请点此查看更多更全内容