资源描述:
《离散时间系统特性分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验五实验报告实验名称:离散时间系统特性分析5一、实验目的:1。深入理解单位样值响应,离散系统的频率响应的概念;2。掌握通过计算机进行求得离散系统的单位样值响应,以及离散系统的频率响应的方法。二、实验原理:对于离散系统的单位样值而言,在实际处理过程中,不可能选取无穷多项的取值。往往是选取有限项的取值,当然这里会产生一个截尾误差,但只要这个误差在相对小一个范围里,可以忽略不计。另外,在一些实际的离散系统中,往往不是事先就能得到描述系统的差分方程的,而是通过得到系统的某些相应值,则此时系统的分析就需借助计算机的数值处理来进行,得到描述系统的某些特征,甚至进而
2、得到描述系统的数学模型。本实验首先给出描述系统的差分方程,通过迭代的方法求得系统的单位样值响应,进而求得该离散系统的频率响应。限于试验条件,虽然给出了系统方程,但处理的方法依然具有同样的实际意义。具体的方法是:1在给定系统方程的条件下,选取激励信号为δ(n),系统的起始状态为零状态,通过迭代法,求得系统的单位样值响应h(n)(n=0,…,N)。2利用公式其中Ω的取值范围为0~2π。计算系统的频率响应。三、实验内容1已知系统的差分方程为利用迭代法求得系统的单位样值响应,取N=10。2利用公式Tn=n+1h[n]=1.3´h[n-1]-0.4´h[n-2]+
3、x[n-1]n<=10n=1,x[0]=1,x[n]=0(n>0)开始定义h[20]=0,x[20]输出F其中Ω的取值范围为0~2π。四、程序流程图和代码5#include#include#defineN10#defineM20#definepi3.1415926structpinlv{doublefu;doublexiang;};doubleh[N+1],x[N+1];structpinlvPL(doublew){doublea=0,b=0,fu,xiang;intk;structpinlvFX;for(k=0;k<=
4、N;k++){a=a+h[k]*cos(-k*w);b=b+h[k]*sin(-k*w);}fu=sqrt(a*a+b*b);xiang=atan(b/a);if((a<0)&(b>0))xiang=xiang+pi;if((a<0)&(b<0))xiang=xiang-pi;FX.fu=fu;FX.xiang=xiang;return(FX);}main(){inti,j;doublew0;structpinlvFX[M+1];FILE*fp1,*fp2;fp1=fopen("H:\单位样值响应.txt","w");fp2=fopen("H:\频率
5、特性.txt","w");h[-1]=0;h[-2]=0;for(i=-1;i<=N;i++)x[i]=0;x[0]=1;for(i=0;i<=N;i++)h[i]=1.3*h[i-1]-0.4*h[i-2]+x[i-1];printf("系统的单位样值响应为");fprintf(fp1,"系统的单位样值响应(从x[0]开始)为");fprintf(fp1,"激励x[i]响应y[i]");for(i=0;i<=N;i++)5{printf("x[%d]=%6.3fth[%d]=%6.3f",i,x[i],i,h[i]);fprintf(
6、fp1,"%6.3ft%6.3f",x[i],h[i]);}printf("");printf("系统的幅频和相频特性为");fprintf(fp2,"系统的幅频和相频特性为");fprintf(fp2,"w0t幅度值t相位值");for(j=0;j<=M;j++){w0=j*0.1*pi;FX[j].fu=PL(w0).fu;FX[j].xiang=PL(w0).xiang;printf("w0=%6.3ftfu=%6.3ftxiang=%6.3f",w0,FX[j].fu,FX[j].xiang);fprintf(f
7、p2,"%6.3ft%6.3ft%6.3f",w0,FX[j].fu,FX[j].xiang);}printf("");}五、实验所得数据如下:单位样值响应激励x[i]响应y[i]100101.301.2901.15700.98800.82200.67300.54600.44100.355幅频特性w0幅度值相位值0.0008.5720.0000.3146.118-1.3650.6282.137-2.1140.9421.773-2.2521.2570.743-2.7361.5710.903-2.5991.8850.375-3.0222.1990
8、.630-2.8332.5130.247-3.13652.8270.538-3.