离散信号与系统时域分析.docx
《离散信号与系统时域分析.docx》由会员分享,可在线阅读,更多相关《离散信号与系统时域分析.docx(12页珍藏版)》请在冰豆网上搜索。
离散信号与系统时域分析
第1章设计任务及要求
1.1课程设计内容
编制Matlab程序,完成以下功能,产生系统输入信号;根据系统差分方程求解单位脉冲响应序列;根据输入信号求解输出响应;用实验方法检查系统是否稳定;绘制相关信号的波形。
具体要求如下:
(1)给定一个低通滤波器的差分方程为
输入信号分别为
①分别求出系统响应,并画出其波形。
②求出系统的单位脉冲响应,画出其波形。
(2)给定系统的单位脉冲响应为
用线性卷积法求
分别对系统h1(n)和h2(n)的输出响应,并画出波形。
(3)给定一谐振器的差分方程为
令b0=1/100.49,谐振器的谐振频率为0.4rad。
1)用实验方法检查系统是否稳定。
输入信号为u(n)时,画出系统输出波形。
2)给定输入信号为
求出系统的输出响应,并画出其波形。
1.2课程设计要求
1.要求独立完成设计任务。
2.课程设计说明书封面格式要求见《天津城市建设学院课程设计教学工作规范》附表1
3.课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。
4.简述离散系统时域分析方法和通过实验判断系统稳定性的方法;完成以上设计实验并对结果进行分析和解释;打印程序清单和要求画出的信号波形;写出本次课程设计的收获和体会。
5.课设说明书要求:
1)说明题目的设计原理和思路、采用方法及设计流程。
2)详细介绍运用的理论知识和主要的Matlab程序。
3)绘制结果图形并对仿真结果进行详细的分析。
第2章设计原理
2.1离散信号与系统的时域分析设计
2.1.1描写系统特性的方法介绍
在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。
在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。
也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
2.1.2系统的时域特性
系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。
重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。
系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和的条件。
系统的稳定性由其差分方程的系数决定。
实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。
可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[12]。
系统的稳态输出是指当n→∞时,系统的输出。
如果系统稳定,则信号加入系统后,系统输出的开始一段称为暂态效应,随着n的加大,幅度趋于稳定,达到稳态输出。
第3章设计实现
3.1实验内容与方法
3.1.1实验内容
编制Matlab程序,完成以下功能,产生系统输入信号;根据系统差分方程求解单位脉冲响应序列;根据输入信号求解输出响应;用实验方法检查系统是否稳定;绘制相关信号的波形。
具体要求如下:
(4)给定一个低通滤波器的差分方程为
输入信号分别为
①分别求出系统响应,并画出其波形。
②求出系统的单位脉冲响应,画出其波形。
(5)给定系统的单位脉冲响应为
用线性卷积法求
分别对系统h1(n)和h2(n)的输出响应,并画出波形。
(6)给定一谐振器的差分方程为
令b0=1/100.49,谐振器的谐振频率为0.4rad。
1)用实验方法检查系统是否稳定。
输入信号为u(n)时,画出系统输出波形。
给定输入信号为
求出系统的输出响应,并画出其波形。
3.1.2实验方法
在时域求系统响应的方法有两种,第一种是通过解差分方程求得系统输出,注意要合理地选择初始条件;第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系统输出。
用计算机求解时最好使用MATLAB语言进行。
(2)实际中要检验系统的稳定性,其方法是在输入端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值上,系统稳定,否则不稳定。
(3)谐振器具有对某个频率进行谐振的性质,本实验中的谐振器的谐振频率是0.4rad,因此稳定波形为sin(0.4n)。
4)如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可用分段线性卷积法求系统的响应。
如果信号经过低通滤波器,则信号的高频分量被滤掉,时域信号的变化减缓,在有阶跃处附近产生过渡带。
因此,当输入矩形序列时,输出序列的开始和终了都产生了明显的过渡带。
第4章设计结果及分析
4.1程序设计结果及分析
1.给定一个低通滤波器的差分方程为
y(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1),
输入信号x1(n)=R8(n)
x2(n)=u(n)
a)分别求出系统对x1(n)=R8(n)和x2(n)=u(n)的响应序列,并画出其波形。
b)求出系统的单位冲响应,画出其波形。
系统响应及系统稳定性
调用filter解差分方程,由系统对u(n)的响应判断稳定性
A=[1,-0.9];B=[0.05,0.05];
系统差分方程系数向量B和A
x1n=[11111111zeros(1,50)];
产生信号x1n=R8n
x2n=ones(1,128);产生信号x2n=un
hn=impz(B,A,58);求系统单位脉冲响应h(n)
subplot(2,2,1);y=′h(n)′;tstem(hn,y);
调用函数tstem绘图
title(′(a)系统单位脉冲响应h(n)′)
y1n=filter(B,A,x1n);%求系统对x1n的响应y1n
subplot(2,2,2);y=′y1(n)′;tstem(y1n,y);
title(′(b)系统对R8(n)的响应y1(n)′)
y2n=filter(B,A,x2n);求系统对x2n的响应y2n
subplot(2,2,4);y=′y2(n)′;tstem(y2n,y);
title(′(c)系统对u(n)的响应y2(n)′)
系统响应
2.给定系统的单位脉冲响应为
h1(n)=R10(n),
h2(n)=δ(n)+2.5δ(n-1)+δ(n-2)+δ(n-3)
用线性卷积法分别求系统h1(n)和h2(n)对x1(n)=R8(n)的输出响应,并画出波形。
调用conv函数计算卷积
x1n=[11111111];产生信号x1n=R8n
h1n=[ones(1,10)zeros(1,10)];
h2n=[12.52.51zeros(1,10)];
y21n=conv(h1n,x1n);
y22n=conv(h2n,x1n);
figure
(2)
subplot(2,2,1);y=′h1(n)′;tstem(h1n,y);
调用函数tstem绘图
title(′(d)系统单位脉冲响应h1(n)′)
subplot(2,2,2);y=′y21(n)′;tstem(y21n,y);
(4)title(′(e)h1(n)与R8(n)的卷积y21(n)′)
subplot(2,2,3);y=′h2(n)′;tstem(h2n,y);
调用函数tstem绘图
title(′(f)系统单位脉冲响应h2(n)′)
subplot(2,2,4);y=′y22(n)′;tstem(y22n,y);
title(′(g)h2(n)与R8(n)的卷积y22(n)′)
3.给定一谐振器的差分方程为
y(n)=1.8237y(n-1)-0.980y(n-2)+b0x(n)-b0x(n-1)
令b0=49.100/10,谐振器的谐振频率为0.4rad。
a)用实验方法检查系统是否稳定。
输入信号为)(nu时,画出系统输出波形。
b)给定输入信号为x(n)=sin(0,014n)+sin(0.4n)
求出系统的输出响应,并画出其波形。
un=ones(1,256);%产生信号un
n=0:
255;
xsin=sin(0.014*n)+sin(0.4*n);产生正弦信号A=[1,-1.8237,0.9801];
B=[1/100.49,0,-1/100.49];
系统差分方程系数向量B和A
y31n=filter(B,A,un);谐振器对un的响应y31n
y32n=filter(B,A,xsin);
谐振器对正弦信号的响应y32n
figure(3)
subplot(2,1,1);y=′y31(n)′;tstem(y31n,y)
title(′(h)谐振器对u(n)的响应y31(n)′)
subplot(2,1,2);y=′y32(n)′;tstem(y32n,y);
title(′(i)谐振器对正弦信号的响应y32(n)′)
总结
.
这几天的课设更加加深了对数字信号处理这门课的理解,尤其是我们所做的这个课题的一些问题,有了更深一层的体会,和我一起的陈维多两个人在做这个课程设计,也从他那里学到了很多东西,再加上自己的看书总结,收获挺多。
印象深刻的几个问题如输入信号为无限长序列,系统的单位脉冲响应是有限长序列,因为卷积具有结合律性质,可以将输入信号序列分段,分别与系统单位脉冲响应h(n)进行卷积,再将各个卷积结果加起来,即可得到系统的输出响应。
信号经过低通滤波器,把信号高频分量滤掉,时域信号经过低通滤波器,把信号的高频分量滤掉,时域信号的剧烈变化将被平滑,由实验内容结果图可见,经过系统低通滤波使输入信号δ(n),x1(n)=R8(n)和x2(n)=u(n)的阶跃变化变得缓慢上升与下降。
这些在之前上课的时候听的不是很仔细,后来又通过自己理解和老师的帮助,让我理解了这些问题,所以也谢谢老师的淳淳教诲。
总之这次课程设计可谓是获益良多,希望这样的课程设计可以更多更好地开展,我们也要认真的对待,真的可以学到很多的知识和经验,对自己在学科方面的提高非常有帮助。
再次谢谢我的同组人陈维多同学还有我们的指导老师!
参考文献:
吴大正。
信号与线性系统分析,高等教育出版社2005
奥本海姆AV等,离散时间信号处理,黄建国,刘树棠译。
北京:
科学出版社1998
CadzowJA.Signals,systemsandTransforms.[s.l.]:
Prentice-Hall,Inc.,1985
高西泉,丁玉美,数字信号处理。
西安电子科技大学出版社2008.8
GabelRA,RobertsRA.SignalsandLinearsystem.3rded.[s.l.]:
JohnWileyandSons,Inc.,1987
帕普里斯A.电路与系统,模拟与数字新讲法.葛果行译.北京:
人民邮电出版社,1983
附录:
程序1:
xn1=[11111111zeros(1,50)];
xn2=ones(1,128);
xn3=[1,zeros(1,50)];
B=[0.05,0.05];A=[1,-0.9];
yn1=filter(B,A,xn1);
yn2=filter(B,A,xn2);
yn3=filter(B,A,xn3);
figure
(1);
n1=0:
length(yn1)-1;
subplot(2,2,1);
stem(n1,yn1,'.');
xlabel('n');
ylabel('yn1');
title('yn1');
n2=0:
length(yn2)-1;
subplot(2,2,2);
stem(n2,yn2,'.');
xlabel('n');
ylabel('yn2');
title('yn2');
n3=0:
length(yn3)-1;
subplot(2,2,3);
stem(n3,yn3,'.');
xlabel('n');
ylabel('yn3');
title('yn3');
程序2:
xn=[11111111,zeros(1,20)];
hn1=[11111111111,zeros(1,20)];
hn2=[12.52.51,zeros(1,20)];
yn1=conv(xn,hn1);
yn2=conv(xn,hn2);
n1=0:
length(yn1)-1;
figure;
subplot(2,1,1);
stem(n1,yn1,'.');
xlabel('n');
ylabel('yn1');
title('yn1');
n2=0:
length(yn2)-1;
subplot(2,1,2);
stem(n2,yn2,'.');
xlabel('n');
ylabel('yn2');
title('yn2');
程序3:
xn1=ones(1,256);
n=0:
255;
xn2=sin(0.014*n)+sin(0.4*n)
B=[1/100.49,-1/100.49];A=[1,-1.8237,0.9801];
yn1=filter(B,A,xn1);
yn2=filter(B,A,xn2);
figure;
n1=0:
length(yn1)-1;
subplot(2,1,1);
stem(n,yn1,'.');
xlabel('n');
ylabel('yn1');
title('yn1');
n2=0:
length(yn2)-1;
subplot(2,1,2);
stem(n2,yn2,'.');
xlabel('n');
ylabel('yn2');
title('yn2');