资源描述:
《离散时间信号通过线性时不变系统实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、离散时间信号通过线性时不变系统1.1实验目的1、通过本实验,进一步加深对离散线性时不变系统的理解。2、掌握利用线性卷积求解离散线性时不变系统输出的方法。3、掌握利用差分方程求解离散线性时不变系统输出的方法。1.2实验原理与方法离散时间系统的输出信号与输入信号之间的关系为:离散时间线性时不变系统的特点是系统具有线性性质和线性时不变性质。即满足线性叠加定理:系统对输入信号的运算关系在整个过程中不随时间变化,即系统是时不变系统:对于LTI系统,设系统的单位脉冲响应为h(n),则系统输入输出满足线性卷积关系:还可以用一个N阶线性常系数差分方程来表示
2、:当a=0时,系统输入输出满足线性卷积的关系。1.3实验内容及步骤1、编制信号产生、卷积、求解差分方程和显示子程序设模拟正弦信号:,现以T为周期,对其进行采样,得到正弦序列为:其中f为数字频率,w为数字角频率。产生两个信号:N取大于500.设两个离散时间线性时不变系统分别为:系统1:系统2:其中:2、实验内容(1)令分别通过1、2(注意:通过系统1可以用线性卷积求解,通过系统2必须用差分方程求解),注意系统1、2输出信号的区别和共性。#include#include#include#
3、definepi3.voidconv(floatu[],floatv[],floatw[],intm,intn);//voidplot(intxlenth,float*y,char*name,intgain,char*xlabel,char*ylabel);voidmain(){inti,j;intm,n;intgain=1;inty11,y22;charname='f';charxlabel='X',ylabel='Y';floatxa[650]={0.0},xb[650]={0.0},h[650]={0.0},y1[650]={0.0}
4、,y2[650]={0.0};for(i=0;i<600;i++)xa[i]=sin(2*pi/55.0*i);for(i=0;i<600;i++)xb[i]=sin(2*pi/55.0*i)+sin(2*pi*20.0/55.0*i);for(j=0;j<=49;j++)h[j]=1.0;m=sizeof(xa)/sizeof(xa[0]);n=sizeof(xb)/sizeof(xb[0]);//a=sizeof(h)/sizeof(h[0]);y11=sizeof(y1)/sizeof(y1[0]);y22=sizeof(y2)/si
5、zeof(y2[0]);conv(xa,h,y1,m,n);conv(xb,h,y2,m,n);y11=sizeof(y1)/sizeof(y1[0]);y22=sizeof(y2)/sizeof(y2[0]);//plot(y11,y1,s,gain,xlabel,ylabel);initgraph(1000,500);initgraph(960,480,SHOWCONSOLE);//初始化图像setbkcolor(WHITE);//用背景色清空屏幕cleardevice();//用背景色清空屏幕setcolor(BLACK);outte
6、xtxy(480,10,name);//图像名outtextxy(900,220,xlabel);//outtextxy(5,10,ylabel);//line(0,240,960,240);//画横坐标轴line(30,0,30,480);//画纵坐标轴setlinestyle(PS_DASHDOT);setlinestyle(PS_SOLID);setlinecolor(BLUE);for(i=0;i<650;i++)line(100+i,50,100+i,xa[i]*25+50);for(i=0;i<650;i++)line(100+
7、i,150,100+i,xb[i]*25+150);for(i=0;i<650;i++)line(100+i,280,100+i,y1[i]*5+280);for(i=0;i<650;i++)line(100+i,400,100+i,y2[i]*5+400);getchar();closegraph;//卷积子程序}voidconv(floatu[],floatv[],floatw[],intm,intn){inti,j;intk=m+n-1;for(i=0;i8、j++){w[i]+=u[j]*v[i-j];}}//画图函数参数xlength:序列长度y:序列幅度s:图像名gain:y坐标轴增益,用来显示y坐标xlabel:x轴坐标标识符