数字信号处理实验二.docx
- 文档编号:27446709
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:17
- 大小:103.67KB
数字信号处理实验二.docx
《数字信号处理实验二.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验二.docx(17页珍藏版)》请在冰豆网上搜索。
数字信号处理实验二
实验二离散时间系统的时域分析
实验室名称:
实验时间:
姓名:
学号:
专业:
指导教师:
成绩
教师签名:
年月日
一、实验目的
1、通过MATLAB仿真一些简单的离散时间系统,并研究它们的时域特性。
2、通过MATLAB仿真滤波器,研究它们的性质。
3、用MATLAB仿真研究离散时间系统的性质。
二、实验内容
Q2、1M=2运行内容一的程序代码,生成输入x[n]=s1[n]+s2[n]的输出信号。
Q2、2若线性时不变系统由y[n]=0、5(x[n]+x[n-1])变成y[n]=0、5(x[n]-x[n-1])对输入x[n]=s1[n]+s2[n]的影响就是什么?
Q2、4修改程序P2、1,用一个长度为101、最低频率为0、最高频率为0、5的扫频正弦信号作为输入信号(见程序P1、7),计算其输出信号。
Q2、7运行程序P2、3,对由加权输入得到的y[n]与在相同权系数下输出y1[n]与y2[n]相加得到的yt[n]进行比较,这两个序列就是否相等?
该系统就是线性系统不?
Q2、12运行程序P2、4并比较输出序列y[n]与yd[n-10]。
Q2、19运行程序P2、5,生成式(2、15)所给离散时间系统的冲击响应。
Q2、20修改程序P2、5产生如下因果线性时不变系统的冲激响应的前45个样本:
y[n]+0、71y[n-1]-0、46y[n-2]-0、62y[n-3]=0、9x[n]-0、45x[n-1]+0、35x[n-2]+0、002x[n-3]。
Q2、23运行程序P2、6,计算输出序列y[n]与y2[n]以及差值信号d[n]。
y[n]与y2[n]相等不?
Q2、28运行程序P2、7,对序列h[n]与x[n]求卷积,生成y[n],并用FIR滤波器h[n]对输入x[n]滤波,求得y1[n]。
三、实验器材及软件
1、微型计算机1台
2、MATLAB7、0软件
四、实验原理
1、离散时间系统中信号运算方法与基本性质;
2、离散时间系统的MATLAB表示与基本运算;
3、MATLAB处理离散时间系统的方法。
五、实验步骤
1.根据实验题目要求进行分析;
2、运用所学知识用MATLAB编程实现题目要求;
3、对结果进行分析总结。
六、实验记录(数据、图表、波形、程序等)
Q2、1程序代码:
%产生输入信号
n=0:
100;
s1=cos(2*pi*0、05*n);%一个低频正弦
s2=cos(2*pi*0、47*n);%一个高频正弦
x=s1+s2;
%滑动平均滤波器的实现
M=input('Desiredlengthofthefilter=');
num=ones(1,M);
y=filter(num,1,x)/M;
clf;
%显示输入与输出信号
subplot(2,2,1);
plot(n,s1);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('Signal#1');
subplot(2,2,2);
plot(n,s2);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('Signal#2');
subplot(2,2,3);
plot(n,x);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('InputSignal');
subplot(2,2,4);
plot(n,y);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('OutputSignal');axis;
显示结果:
Q2、2代码(将输出信号的代码做出修改,其余代码与Q2、1相同):
n=0:
100;
s1=cos(2*pi*0、05*n);
s2=cos(2*pi*0、47*n);
x=s1+s2;
M=input('Desiredlengthofthefilter=');
num=(-1)、^[0:
M-1];
y=filter(num,1,x)/M;
clf;
%显示输入与输出信号
subplot(2,2,1);
plot(n,s1);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('Signal#1');
subplot(2,2,2);
plot(n,s2);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('Signal#2');
subplot(2,2,3);
plot(n,x);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('InputSignal');
subplot(2,2,4);
plot(n,y);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('OutputSignal');
axis;
显示结果:
Q2、4程序代码:
%构造长度为101、最低频率为0、最高频率为0、5的扫频正弦信号
n=0:
100;
a=pi/2/100;
b=0;
arg=a*n、*n+b*n;
x=cos(arg);
M=input('Desiredlengthofthefilter=');
num=ones(1,M);
y=filter(num,1,x)/M;
clf;
subplot(2,1,1);
plot(n,x);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('扫频正弦信号');
subplot(2,1,2);
plot(n,y);
axis([0,100,-2,2]);
xlabel('Timeindexn');ylabel('Amplitude');
title('滤波后的输出信号');
显示结果:
Q2、7程序代码:
%生成输入序列
clf;
n=0:
40;
a=2;b=-3;
x1=cos(2*pi*0、1*n);
x2=cos(2*pi*0、4*n);
x=a*x1+b*x2;
num=[2、24032、49082、2403];
den=[1-0、40、75];
ic=[00];%设置零初始条件
y1=filter(num,den,x1,ic);%计算输出y1[n]
y2=filter(num,den,x2,ic);%计算输出y2[n]
y=filter(num,den,x,ic);%计算输出y[n]
yt=a*y1+b*y2;
d=y-yt;%计算差值输出d[n]
%画出输出与差信号
subplot(3,1,1)
stem(n,y);
ylabel('振幅');
title('加权输入:
a\cdotx_{1}[n]+b\cdotx_{2}[n]的输出');
subplot(3,1,2)
stem(n,yt);
ylabel('振幅');
title('加权输出:
a\cdoty_{1}[n]+b\cdoty_{2}[n]');
subplot(3,1,3)
stem(n,d);
xlabel('时间序号');
ylabel('振幅');
title('差信号');
显示结果:
Q2、12程序代码:
%生成输入序列
clf;
n=0:
40;D=10;a=3、0;b=-2;
x=a*cos(2*pi*0、1*n)+b*cos(2*pi*0、4*n);
xd=[zeros(1,D)x];
num=[2、24032、49082、2403];
den=[1-0、40、75];
ic=[00];%设置初始条件
%计算输出y[n]
y=filter(num,den,x,ic);
%计算输出yd[n]
yd=filter(num,den,xd,ic);
%计算差值输出d[n]
d=y-yd(1+D:
41+D);
%画出输出
subplot(3,1,1)
stem(n,y);
ylabel('振幅');
title('输出y[n]');
grid;
subplot(3,1,2)
stem(n,yd(1:
41));
ylabel('振幅');
title(['由于延时输入x[n',num2str(D),']的输出']);
grid;
subplot(3,1,3)
stem(n,d);
xlabel('时间序列n');
ylabel('振幅');
title('差值信号');
grid;
显示结果:
Q2、19程序代码:
clf;
N=40;
num=[2、24032、49082、2403];
den=[1-0、40、75];
y=impz(num,den,N);
%画出冲击响应
stem(y);
xlabel('时间序号');
ylabel('振幅');
title('冲击响应');
grid;
显示结果:
Q2、20程序代码:
clf;
N=40;
num=[0、9-0、450、350、002];
den=[10、71-0、46-0、62];
y=impz(num,den,N);
%画出冲击响应
stem(y);
xlabel('时间序号');
ylabel('振幅');
title('冲击响应');grid;
序列u[n]显示结果:
Q2、23程序代码:
%级联实现
clf;
x=[1zeros(1,40)];%生成输入
n=0:
40;
%四阶系统的系数
den=[11、62、281、3250、68];
num=[0、06-0、190、27-0、260、12];
%计算四阶系统的输出
y=filter(num,den,x);
%两个二阶系统的系数
num1=[0、3-0、20、4];
den1=[10、90、8];
num2=[0、2-0、50、3];
den2=[10、70、85];
%级联第一级的输出y1[n]
y1=filter(num1,den1,x);
%级联第二级的输出y2[n]
y2=filter(num2,den2,y1);
%y与y2[n]之间的差
d=y-y2;
%画出输出与差值信号
subplot(3,1,1);
stem(n,y);
ylabel('振幅');
title('四阶实现的输出');
grid;
subplot(3,1,2);
stem(n,y2);
ylabel('振幅');
title('级联实现的输出');
grid;
subplot(3,1,3);
stem(n,d);
xlabel('时间序号n');
ylabel('振幅');
title('差值信号');
grid;
显示结果:
Q2、23程序代码:
clf;
h=[321-210-403];%冲激
x=[1-23-4321];%输入序列
y=conv(h,x);
n=0:
14;
subplot(2,1,1);
stem(n,y);
xlabel('时间序号n');
ylabel('振幅');
title('用卷积得到的输出');
grid;
x1=[xzeros(1,8)];
y1=filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('时间序号n');
ylabel('振幅');
title('用滤波器生成的输出');
grid;
显示结果:
七、实验思考题及解答
Q2、1输入的那个分量被该离散时间系统抑制。
答:
高频信号分量s2被抑制。
Q2、2若线性时不变系统由y[n]=0、5(x[n]+x[n-1])变成y[n]=0、5(x[n]-x[n-1])对输入x[n]=s1[n]+s2[n]的影响就是什么?
答:
程序修改后低频信号分量s1被抑制。
Q2、4您能用该系统对扫频信号的响应来解释习题Q2、1与习题Q2、2的结果不?
答:
由本题的结果可以瞧出,随着频率的增加信号幅度会有所减弱,可以得知该系统为一个低通滤波器,会抑制高频信号,所以Q2、1中可以将复合信号中的低频成分过滤出来。
在Q2、2中对程序作出修改后原低通滤波器变为高通滤波器,同理可知在Q2、2中可以将复合信号中的高频成分过滤出来。
Q2、7运行程序P2、3,对y[n]与yt[n]进行比较,这两个序列就是否相等?
该系统就是线性系统不?
答:
由程序P2、3显示结果可以瞧出y[n]与yt[n]相减得到序列幅度极小,这就是由于程序算法本身误差所产生的,所以这两个序列就是相等的,由线性离散系统的性质可知该系统就是线性系统。
Q2、12运行程序P2、4并比较输出序列y[n]与yd[n-10]。
这两个序列之间有什么关系?
该系统就是时不变系统不?
答:
信号yd[n-10]就是信号y[n]向右平移10个单位得到的。
由程序P2、4输出结果瞧以瞧到信号y[n]与信号yd[n-10]移位相减后全部为零,所以两信号相应幅度完全相等,由离散系统性质可知该系统为时不变系统。
Q2、23计算输出序列y[n]与y2[n]以及差值信号d[n]。
y[n]与y2[n]相等不?
答:
由程序P2、6的结果可以瞧出差值信号d[n]幅度非常小,这就是由程序本身误差造成的,所以y[n]与y2[n]就是相等的。
Q2、28y[n]与y1[n]有差别不?
为什么要使用对x[n]补零后得到的x1[n]作为输入来产生y1[n]?
答:
由程序P2、7输出结果可以瞧出y[n]与y1[n]没有差别。
对x[n]补零就是因为filter函数产生的输出序列与输入序列长度相等,而两信号卷积得到的序列长度为N1+N2-1,所以要对x[n]补相应的个数的零。
八、实验结果分析与总结
本章实验首先仿真研究了滤波器的相关性质,通过Q2、1让我们了解了滤波器的相关的作用;然后又对离散系统的相关性质进行了仿真验证,Q2、7介绍了线性性质,Q2、12介绍了离散时间系统的时不变性;最后介绍了线性离散时间系统相关的计算,Q2、19与Q2、20介绍了冲击响应的求法,Q2、23介绍了级联运算,Q2、28则对卷积积分与滤波器进行了相关计算与比较。
让我们以更加直观的角度认识了线性时不变系统的相关知识,加深了对理论知识的理解。
本次实验中我们通过MATLAB对离散时间系统的性质用进行了相应的仿真,虽然比上次实验复杂了不少了,但大多数问题可以通过读懂原程序,再进行相应的修改便可以完成,让我们体会到了课程的有趣之处,增加了我们对学习的兴趣,这将有利于我们更快的进步。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验