离散时间系统的时域特性分析

时间:2025-04-23

数字信号处理实验报告

实验名称:专业班级:学号:二○一三年月日

一、实验原理

一个离散时间系统是将输入序列变换成输出序列的一种运算。若以T[ ]表示这种运算,则一个离散时间系统y(n)=T[x(n)],离散时间系统中最重要,最常用的是“线性时不变系统”。

二、实验内容

考虑如下差分方程描述的两个离散时间系统:

系统1:y(n)=0.5*x(n)+0.27*x(n-1)+0.77*x(n-2)

系统2:y(n)=0.45*x(n)+0.5*x(x-1)+0.45*x(n-2)+0.53*y(n-1)-0.46*y(n-2)

输入x(n)=cos(20*pi*n/256)+cos(200*pi*n/256)0≦n≦299

(1)编程求上述两个系统的输出,并分别画出系统的输入与输出波形。

(2)编程求上述两个系统的冲激响应序列,并画出其波形。

(3)若系统的初始状态为零,判断系统2是否为时不变的?是否为线性的?

三、程序及输出结果

(1)程序如下:

%系统1:y(n)=0.5*x(n)+0.27*x(n-1)+0.77*x(n-2)

%系统2:y(n)=0.45*x(n)+0.5*x(n-1)+0.45*x(n-2)+0.53*y(n-1)-0.46*y(n-2)

clf;%clf;用来清除图形的命令。一般在画图之前用。

n=0:300;%产生300个步长为1的整数

x=cos(20*pi*n/256)+cos(200*pi*n/256);%x(n)的表达式num1

num2

den1

den2====[0.50.270.77];[0.450.50.45];[1];[1-0.53+0.46];

y1=filter(num1,den1,x);%计算出y1

y2=filter(num2,den2,x);%计算出y2

%画出输入和输出信号

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%y1输入信号

subplot(2,2,1);

plot(n,x);%生成一个2*2的窗口

xlabel('时间信号n');

ylabel('信号幅度');

title('y1输入信号');

%y1输出信号

subplot(2,2,2);

plot(y1);

xlabel('时间信号n');

ylabel('信号幅度');

title('y1输出信号');

%y2输入信号

subplot(2,2,3);

plot(n,x);%生成一个2*2的窗口

xlabel('时间信号n');

ylabel('信号幅度');

title('y2输入信号');

%y2输出信号

subplot(2,2,4);

plot(y2);

xlabel('时间信号n');

ylabel('信号幅度');

title('y2输出信号');

输出结果:

以上四个窗口为两个系统的输入与输出波形。

(2)程序如下:

%系统1:y(n)=0.5*x(n)+0.27*x(n-1)+0.77*x(n-2)

%系统2:y(n)=0.45*x(n)+0.5*x(n-1)+0.45*x(n-2)+0.53*y(n-1)-0.46*y(n-2)

clf;

n=30;

num1

num2

den1

den2====%clf;用来清除图形的命令。一般在画图之前用。%产生30的时间序列[0.50.270.77];[0.450.50.45];[1];[1-0.53+0.46];

y1=impz(num1,den1,n);%系统1的冲击响应

y2=impz(num2,den2,n);%系统2的冲击响应

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%y1冲击响应

subplot(2,1,1);

stem(y1);%生成一个2*1的窗口

xlabel('时间信号n');

ylabel('信号幅度');

title('系统1的冲击响应');

grid;%显示网格

%y2冲击响应

subplot(2,1,2);

stem(y2);

xlabel('时间信号n');

ylabel('信号幅度');

title('系统2的冲击响应');

grid;

输出结果:

(3)程序如下:

系统2的线性系统判断程序

%系统1:y(n)=0.5*x(n)+0.27*x(n-1)+0.77*x(n-2)

%系统2:y(n)=0.45*x(n)+0.5*x(n-1)+0.45*x(n-2)+0.53*y(n-1)-0.46*y(n-2)

clf;%clf;用来清除图形的命令。一般在画图之前用。

n=0:30;%产生30个步长为1的整数

a=2;

b=-4;

x1=cos(2*pi*0.1*n);

x2=cos(2*pi*0.4*n);

x=a*x1+b*x2;%x为x[n]

num2=[0.450.50.45];

den2=[1-0.53+0.46];

y1=filter(num2,den2,x1);

y2=filter(num2,den2,x2);%计算出系统2的y1%计算出系统2的y2

y=filter(num2,den2,x);

yt=a*y1+b*y2;%计算出系统2的yy为y[n]%y[n]=a*y1[n]+b*y2[n];

%画出输入和输出信号

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%系统2的线性系统判断

subplot(2,1,1);%生成一个2*2的窗口

stem(n,y);

xlabel('时间信号n');

ylabel('信号幅度');

subplot(2,1,2);

stem(n,yt);

xlabel('时间信号n');

ylabel('信号幅度');

title('系统2的线性系统判断');

输出结果:

分析:从上图可知,即y(n)=T[a*x1(n)+b*x2(n)]=a*T[x1(n)+b*T[x2(n)]],所以此系统是一个线性系统。

系统2的时不变系统判断程序

%系统1:y(n)=0.5*x(n)+0.27*x(n-1)+0.77*x(n-2)

%系统2:y(n)=0.45*x(n)+0.5*x(n-1)+0.45*x(n-2)+0.53*y(n-1)-0.46*y(n-2)

clf;

n=0:30;

D=10;%clf;用来清除图形的命令。一般在画图之前用。%产生30个步长为1的整数

a=2;

b=-4;

x1=cos(2*pi*0.1*n);

x2=cos(2*pi*0.4*n);

x=a*x1+b*x2;

xd=[zeros(1,D)x];

num2=[0.450.50.45];

den2=[1-0.53+0.46];

ic=[00];

y=filter(num2,den2,x,ic);%计算出系统2的y

yd=filter(num2,den2,xd,ic);

N=length(y);y为y[n]%x为x[n]%生成新序列xd=x(n-D),延时D个单位

d=y-yd(1+D:N+D);%求y与yd的差值

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%系统2的时不变系统判断

subplot(3,1,1);

stem(n,y);%生成一个3*1的窗口

xlabel('时间信号n');

ylabel('信号幅度');

title('输出y(n)');

grid;

subplot(3,1,2);

stem(n,yd(1:length(y)));

xlabel('时间信号n');

ylabel('信号幅度');

title('由于输入时延而产生的输出yd[n]');

subplot(3,1,3);

stem(n,d);

xlabel('时间信号n');

ylabel('信号幅度');

title('差值信号');

grid;

输出结果:

分析:由图可知,y(n-D)=T[x(n-D)],故此系统为时不变系统。

…… 此处隐藏:1355字,全部文档内容请下载后查看。喜欢就下载吧 ……
离散时间系统的时域特性分析.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219