数字信号处理实验 信号系统及系统响应实验报告.docx
- 文档编号:10573005
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:20
- 大小:262.26KB
数字信号处理实验 信号系统及系统响应实验报告.docx
《数字信号处理实验 信号系统及系统响应实验报告.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验 信号系统及系统响应实验报告.docx(20页珍藏版)》请在冰豆网上搜索。
数字信号处理实验信号系统及系统响应实验报告
实验一信号、系统及系统响应
1.实验目的
(1)熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2)熟悉时域离散系统的时域特性。
(3)利用卷积方法观察分析系统的时域特性。
(4)掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2.实验原理
采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z变换和序列傅立叶变换之间关系式的理解。
对一个连续信号
进行理想采样的过程可用下式表示:
其中
为
的理想采样,p(t)为周期脉冲,即
的傅立叶变换为
上式表明
为
的周期延拓。
其延拓周期为采样角频率(
)。
只有满足采样定理时,才不会发生频率混叠失真。
在实验时可以用序列的傅立叶变换来计算
。
公式如下:
离散信号和系统在时域均可用序列来表示。
为了在实验中观察分析各种序列的频域特性,通常对
在[0,2
]上进行M点采样来观察分析。
对长度为N的有限长序列x(n),有:
其中,
,k=0,1,……M-1
时域离散线性非移变系统的输入/输出关系为
上述卷积运算也可在频域实现
3.实验环境
应用MATLAB6.5软件
操作系统:
windowsXP
4.主程序流程图
5.实验结果
(1)采样序列的特性。
一般称fs/2为折叠频率,只有当信号最高频率不超过该频率时才不会发生混叠现象,否则超过了fs/2的频率会折叠回来形成混叠现象,因此频率混叠均产生在fs/2附近。
A.采样频率fs=1000Hz
由图形可知,当采样频率为1000Hz时,采样序列在折叠频率附近处,即w=
处无明显频谱混叠。
B.采样频率fs=300Hz
C.采样频率fs=200Hz
由图可知,当采样频率进一步降低时,主瓣宽度逐渐变宽,频率混叠现象也逐渐严重,存在较明显的失真现象。
原因是采样频率太小,使最高频率fc超过了fs/2,超过了fs/2的频率会折叠回来而形成的混叠现象。
(2)时域离散信号、系统和系统响应。
A.
理论值一个函数与单位脉冲序列的卷积等于函数本身,卷积得到的长度等于两个函数长度和减一。
由图可知,yb(n)=xb(n),其长度13=4+10-1,所以理论与实际是一致的。
B.
判断ya(n)是否正确的方法:
ya(n)的长度L等于两个被卷积函数的长度和减去一,且ya(n)是关于n=(L-1)/2对称的,峰值即为N值,对称轴左边由一逐渐按增一序列递增,右边按减一序列递减。
由图知:
19=10+10-1,且图形正确,所以做出的ya(n)是正确的。
C.
当N=10时,峰值较高,且峰值很窄,变换之后图形频带主值部分比较集中,且峰值较高;当N=5时,峰值较矮,且峰值很宽,变换之后图形频带主值部分较为分散,且峰值较矮。
(3)卷积定理的验证
a=0.4,Ω=2.0734,A=1,T=1
Y(jw)=Xa(jw)*Hb(jw)
由图可知,由yb(n)=xa(n)*hb(n)经傅氏变换所得到的|Yb(jw)|和由|Yb(jw)|=|Xa(jw)Hb(jw)|所得到的|Yb(jw)|的图像是一样的,从而验证了时域卷积定理。
6.实验代码
s=-1;
while(s<0)
clc;
s=input('******信号、系统及响应******\n\n选择实验步骤(默认1):
\n[1]:
时域采样序列分析\n[2]:
系统和响应分析\n[3]:
卷积定理验证\n[0]:
退出\n选择:
','s');
switch(s)
case{'1','2','3','0'}
s=str2num(s);
case{''}
s=1;
otherwise
s=-1;
end
end
closeall;
while(s)
%时域采样序列分析
if(s==1)
A=444.128;
a=50*sqrt
(2)*pi;
w=50*sqrt
(2)*pi;
n=0:
50-1;
fs=input('输入采样频率\nfs=','s');
%fs=1000,300,200
fs=str2num(fs);
ifisempty(fs)
fs=1000;
disp('输入数据格式错误,使用默认值1000');
else
if(fs<1)
fs=1000;
disp('输入无效数据,使用默认值1000');
end
end
c=A*exp((-a)*n/fs).*sin(w*n/fs);
subplot(2,2,1);
stem(n,c,'.');
xlabel('n');
ylabel('xa(n)');
title('xa(n)的时域序列');
N=50;
k=-200:
200;
w=k*pi/100;
X=DFT(c,N);
subplot(2,2,2);
plot(w/pi,abs(X));
xlabel('w/pi');
ylabel('|X(jw)|');
title('xa(n)的傅氏变换|X(jw)|');
else
%系统和响应分析
if(s==2)
l=input('系统和响应分析,请选择时域信号类型(默认1):
\n[1]:
内容②a\n[2]:
内容②b\n[3]:
内容②b中xc(n)的长度改为5\n[0]:
退出\n选择:
','s');
switch(l)
case{'1','2','3','0'}
l=str2num(l);
otherwise
l=1;
end
while(l)
if(l==1)
%hb(n)的时域序列
hb=[1,2.5,2.5,1];
i=0:
3;
subplot(2,2,1);
stem(i,hb,'.');
axis([0302.5]);
xlabel('n');
ylabel('hb(n)');
title('hb(n)的时域序列');
%hb(n)的傅氏变换|Hb(jw)|
N=4;
k=-200:
200;
w=k*pi/100;
Hb=DFT(hb,N);
subplot(2,2,2);
plot(w/pi,abs(Hb));
xlabel('w/pi');
ylabel('|Hb(jw)|');
title('hb(n)的傅氏变换|Hb(jw)|');
%xb(n)的时域序列
xb=[1,0,0,0,0,0,0,0,0,0];
i=0:
9;
subplot(2,2,3);
stem(i,xb,'.');
xlabel('n');
ylabel('xb(n)');
title('xb(n)的时域序列');
%xb(n)的傅氏变换(Xb|jw|)
N=10;
k=-200:
200;
w=k*pi/100;
Xb=DFT(xb,N);
magXb=abs(Xb);
subplot(2,2,4);
plot(w/pi,magXb);
xlabel('w/pi');
ylabel('|Xb(jw)|');
title('xb(n)的傅氏变换(Xb|jw|)');
%yb(n)=xb(n)*hb(n)的时域序列
yb=conv(xb,hb);
figure;
subplot(2,1,1);
stem(0:
12,yb,'.');
xlabel('n');
ylabel('yb(n)=xb(n)*hb(n)');
title('yb(n)=xb(n)*hb(n)的时域序列');
%yb(n)的傅氏变换(Yb|jw|)
N=13;
k=-200:
200;
w=k*pi/100;
Yb=DFT(yb,N);
subplot(2,1,2);
plot(w/pi,abs(Yb));
xlabel('w/pi');
ylabel('|Yb(jw)|');
title('yb(n)的傅氏变换|Yb(jw)|');
else
if(l==2)
%ya(n)=xc(n)*ha(n)的时域序列
ha=[1,1,1,1,1,1,1,1,1,1];
xc=ha;
ya=conv(ha,xc);
subplot(2,1,1);
stem(0:
18,ya,'.');
xlabel('n');
ylabel('ya(n)=xc(n)*ha(n)');
title('ya(n)=xc(n)*ha(n)的时域序列');
%ya(n)的傅氏变换(Ya|jw|)
N=19;
k=-200:
200;
w=k*pi/100;
Ya=DFT(ya,N);
subplot(2,1,2);
plot(w/pi,abs(Ya));
xlabel('w/pi');
ylabel('|Ya(jw)|');
title('ya(n)的傅氏变换|Ya(jw)|');
else
if(l==3)
ha=[1,1,1,1,1,1,1,1,1,1];
xc=[1,1,1,1,1];
%ya(n)=xc(n)*ha(n)的时域序列
ya=conv(ha,xc);
subplot(2,2,1);
stem(0:
13,ya,'.');
xlabel('n');
ylabel('ya(n)=xc(n)*ha(n)');
title('ya(n)=xc(n)*ha(n)的时域序列');
%ya(n)的傅氏变换(Ya|jw|)
N=14;
k=-200:
200;
w=k*pi/100;
Ya=DFT(ya,N);
subplot(2,2,2);
plot(w/pi,abs(Ya));
xlabel('w/pi');
ylabel('|Ya(jw)|');
title('ya(n)的傅氏变换(|Ya(jw)|');
end
end
end
l=input('请再选择信号类型(默认1):
\n[1]:
内容②a\n[2]:
内容②b\n[3]:
内容②b中xc(n)的长度改为5\n[0]:
退出\n选择:
','s');
switch(l)
case{'1','2','3','0'}
l=str2num(l);
otherwise
l=1;
end
end
%卷积定理验证
else
if(s==3)
A=1;
a=0.4;
w=2.0374;
n=0:
50-1;
fs=1;
xa=A*exp((-a)*n/fs).*sin(w*n/fs);
subplot(2,2,1);
stem(n,xa,'.');
xlabel('n');
ylabel('xa(n)');
title('xa(n)的时域序列');
N=50;
k=-200:
200;
w=k*pi/100;
X=DFT(xa,N);
subplot(2,2,2);
plot(w/pi,abs(X));
xlabel('w/pi');
ylabel('|X(jw)|');
title('xa(n)的傅氏变换|Xa(jw)|');
hb=[1,2.5,2.5,1];
yb=conv(xa,hb);
subplot(2,2,3);
stem(0:
52,yb,'.');
xlabel('n');
ylabel('yb(n)=xa(n)*hb(n)');
title('yb(n)=xa(n)*hb(n)的时域序列');
N=53;
k=-200:
200;
w=k*pi/100;
Yb=DFT(yb,N);
subplot(2,2,4);
plot(w/pi,abs(Yb));
xlabel('w/pi');
ylabel('|Yb(jw)|');
title('yb(n)的傅氏变换|Yb(jw)|');
N=4;
k=-200:
200;
w=k*pi/100;
Hb=DFT(hb,N);
Y=X.*Hb;
figure;
subplot(1,1,1);
plot(w/pi,abs(Y));
xlabel('w/pi');
ylabel('|Y(jw)|');
title('|Y(jw)|=|Xa(jw)Hb(jw)|');
end
end
end
clc;
s=input('******信号、系统及响应******\n\n选择实验步骤(默认1):
\n[1]:
时域采样序列分析\n[2]:
系统和响应分析\n[3]:
卷积定理验证\n[0]:
退出\n选择:
','s');
switch(s)
case{'1','2','3','0'}
s=str2num(s);
otherwise
s=1;
end
end
%傅里叶变换子程序
functionc=DFT(x,N)
n=0:
N-1;
k=-200:
200;
w=(pi/100)*k;
c=x*(exp(-j*pi/100)).^(n'*k);
7.思考题
1、在分析理想采样序列特性的实验中,采样频率不同,相应理想采样序列的傅立叶变换频谱的数字频率度量是否都相同?
它们所对应的模拟频率是否相同?
为什么?
答:
由
可知,若采样频率不同,则其周期T不同,相应的数字频率
也不相同;而因为是同一信号,故其模拟频率
保持不变。
2、在卷积定理验证的实验中,如果选用不同的频域采样点数M值,例如,选M=10和M=20,分别做序列的傅立叶变换,求得
,k=0,1,…,M-1
所得结果之间有无差异?
为什么?
答:
有差异。
因为所得
图形由其采样点数唯一确定,由频域采样定理可知,若M小于采样序列的长度N,则恢复原序列时会发生时域混叠现象。
8.参考书目
《数字信号处理》第二版丁玉美高西全著
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号处理实验 信号系统及系统响应实验报告 数字信号 处理 实验 信号系统 系统 响应 报告