搜索
您的当前位置:首页数字信号处理实验一信号、-系统及系统响应

数字信号处理实验一信号、-系统及系统响应

时间:2022-08-31 来源:乌哈旅游
 . . . .

西 安 郵 電 學 院

数字信号处理课实验

报 告 书

系部名称 : 学

生 :

计算机系

常成娟

专业名称 : 班 级 : 学时

号 : 间 :

电子信息科学与技术

电科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)(tnT)(10.3

.2)

nx^ (t)的傅里叶变换 (jX^aΩ)为 j)1 Xa(Xa[j(ms(10.3

.3) T)]m

将(10.3.2)式代入(10.3.1)式并进行傅里叶变换, X^j)

a([xa(t)n(tnT)]ejtdt

xa(t)(tnT)ejt dtn(10.3

.4)

xa(nT)ejtdt n

式中的xa(nT)就是采样后得到的序列x(n), 即

x(n)xa(nT)x(n)的傅里叶变换为 X(ej)x(n)ejn(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), 有 N1.7) X(ejk)

x(m)ejknn0其中

2kMk,k0,1,,M1一个时域离散线性非移变系统的输入/输出关系为

 y(n)x(n)h(n)x(m)h(nm)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, 分别做序列的傅里叶变换, 求得所得结果之间有无差异,为什么?

. . . . .

因篇幅问题不能全部显示,请点此查看更多更全内容

Top