离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx

上传人:b****7 文档编号:22659414 上传时间:2023-02-05 格式:DOCX 页数:10 大小:103.84KB
下载 相关 举报
离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx_第1页
第1页 / 共10页
离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx_第2页
第2页 / 共10页
离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx_第3页
第3页 / 共10页
离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx_第4页
第4页 / 共10页
离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx

《离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。

离散时间信号通过线性时不变系统实验报告教材Word格式文档下载.docx

其中f为数字频率,w为数字角频率。

产生两个信号:

N取大于500.

设两个离散时间线性时不变系统分别为:

系统1:

系统2:

其中:

2、实验内容

(1)令

分别通过1、2(注意:

通过系统1可以用线性卷积求解,通过系统2必须用差分方程求解),注意系统1、2输出信号的区别和共性。

#include<

stdio.h>

#include<

graphics.h>

math.h>

#definepi3.1415926

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},y2[650]={0.0};

for(i=0;

i<

600;

i++)

xa[i]=sin(2*pi/55.0*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)/sizeof(y2[0]);

conv(xa,h,y1,m,n);

conv(xb,h,y2,m,n);

//plot(y11,y1,s,gain,xlabel,ylabel);

initgraph(1000,500);

initgraph(960,480,SHOWCONSOLE);

//初始化图像

setbkcolor(WHITE);

//用背景色清空屏幕

cleardevice();

setcolor(BLACK);

outtextxy(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);

650;

line(100+i,50,100+i,xa[i]*25+50);

line(100+i,150,100+i,xb[i]*25+150);

line(100+i,280,100+i,y1[i]*5+280);

line(100+i,400,100+i,y2[i]*5+400);

getchar();

closegraph;

//卷积子程序

}

voidconv(floatu[],floatv[],floatw[],intm,intn)

{

intk=m+n-1;

k;

for(j=max(0,i+1-n);

=min(i,m-1);

j++)

{

w[i]+=u[j]*v[i-j];

}

 

//画图函数参数xlength:

序列长度y:

序列幅度s:

图像名gain:

y坐标轴增益,用来显示y坐标xlabel:

x轴坐标标识符ylabel:

y轴坐标标识符

voidplot(intxlenth,float*y,char*name,intgain,char*xlabel,char*ylabel)

inti=0;

intj=0;

charss[6];

xlenth;

i++){

if(!

(i%50)){

sprintf(ss,"

%d"

i);

outtextxy(i+30,460,ss);

line(i+30,0,i+30,480);

}

}

480;

(i%40)){

line(0,i,960,i);

setorigin(30,240);

setaspectratio(1,-1);

//并未将outtextxy进行反转,outtextxy用的原来的坐标

line(i,y[i]*gain,i+1,y[i+1]*gain);

运行结果:

结论:

单频信号通过系统1和系统2输出结果的频率相同。

统1存在过冲,系统2效果更好。

(2)令

分别通过1、2,注意系统1、2输出信号的区别和共性与

(1)有何不同之处。

{inti,j,m;

floatxa[650]={0.0},xb[650]={0.0},y1[650]={0.0},y2[650]={0.0},a[650]={0.0},b[650]={0.0};

for(i=0;

xa[i]=sin(2*pi/55.0*i);

xb[i]=sin(2*pi/55.0*i)+sin(2*pi*20.0/55.0*i);

b[0]=0.0223,b[1]=0.01,b[2]=0.0223,a[1]=-1.7007;

a[2]=0.7613;

y1[0]=b[0]*xa[0];

for(m=1;

m<

m++)

{for(j=1;

((m-j+1)>

0)&

&

3;

{y1[m]=y1[m]+b[j]*xa[m-i];

for(i=1;

((m-i)>

{y1[m]=y1[m]-a[i]*y1[m-i];

y2[0]=b[0]*xb[0];

{y2[m]=y2[m]+b[j]*xb[m-i];

{y2[m]=y2[m]-a[i]*y2[m-i];

initgraph(1000,800);

运行结果:

结论:

信号有两个频率分量f1和f2,f1与

频率相同,过系统1和系统2后,输出结果与

过系统1和系统2类似,但

过系统后有毛刺,曲线不光滑,且过系统2曲线比过系统1曲线光滑。

说明,这两个系统相当于一个低通滤波器。

1.4实验总结

通过本次实验对离散时间信号通过线性时不变系统的原理有了更深的了解。

掌握了使用C语言求解线性卷积的方法。

对于单频率信号和双频信号通过相同系统后输出的波形的不同也有了更好的认识。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1