离散时间系统的时域特性分析实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信号、系统与信号处理实验报告实验一、离散时间系统的时域特性分析

姓名:

学号:

班级:

专业:

一.实验目的

线性时不变(LTI)离散时间系统在时域中可以通过常系数线性差分方程来描述,冲激响应列可以刻画时域特性。本次实验通过使用MATLAB函数研究离散时间系统的时域特性,以加深对离散时间系统的差分方程、冲激响应和系统的线性和时不变性的理解。

二.基本原理

一个离散时间系统是将输入序列变换成输出序列的一种运算。离散时间系统中最重要、最常用的是“线性时不变系统”。

1.线性系统

满足叠加原理的系统称为线性系统,即若某一输入是由N个信号的加权和组成的,则输出就是系统对这几个信号中每一个输入的响应的加权和。即

那么当且仅当系统同时满足

时,系统是线性的。

在证明一个系统是线性系统时,必须证明此系统同时满足可加性和比例性,而且信号以及任何比例系数都可以是复数。

2.时不变系统

系统的运算关系在整个运算过程中不随时间(也即序列的先后)而变化,这种系统称为时不变系统(或称移不变系统)。若输入的输出为,则将输入序列移动任意位后,其输出序列除了跟着位移外,数值应该保持不变,即

满足以上关系的系统称为时不变系统。

3.常系数线性差分方程

线性时不变离散系统的输入、输出关系可用以下常系数线性差分方程描述:

当输入为单位冲激序列时,输出即为系统的单位冲激响应。当时,

是有限长度的,称系统为有限长单位冲激响应(FIR)系统;反之,则称系统为无限长单位冲激响应(IIR)系统。

三.实验内容及实验结果

1.实验内容

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

系统1:

系统2:

输入:

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

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

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

2.实验结果

(1)编程求上述两个系统的输出和冲激响应序列,并画出系统的输入、输出与冲激响应波形。

clf;

n=0:300;

x=cos((20*pi*n)/256)+cos((200*pi*n)/256);

num1=[ ];

den1=[1];

num2=[ ];

den2=[1 ];

y1=filter(num1,den1,x);

y2=filter(num2,den2,x);

subplot(3,1,1);

stem(n,x);

xlabel('时间信号');

ylabel('信号幅度');

title('输入信号');

subplot(3,1,2);

stem(y1);

xlabel('时间信号n');

ylabel('信号幅度');

title('输出信号');

subplot(3,1,3);

stem(y2);

xlabel('时间序号n ');

ylabel('信号幅度');

title('冲激响应序列');

(2)

N=40;

num1=[ ];

den1=[1];

num2=[ ];

den2=[1 ];

y1=impz(num1,den1,N);

y2=impz(num2,den2,N);

subplot(2,1,1);

stem(y1);

xlabel('时间信号n ');

ylabel('信号幅度');

title('³冲激响应');

subplot(2,1,2);

stem(y2);

xlabel('时间信号n ');

ylabel('信号幅度');

title('³冲激响应');

1.应用叠加原理验证系统2是否为线性系统:

clear all

clc

n = 0 : 1 : 299;

x1 = cos(20 * pi * n / 256);

x2 = cos(200 * pi * n / 256);

x = x1 + x2;

num = [ ];

den = [1 ];

y1 = filter(num, den, x1);

y2 = filter(num, den, x2);

y= filter(num, den, x);

yt = y1 + y2;

figure

subplot(2, 1, 1);

stem(n, y, 'g');

xlabel('时间信号n');

ylabel('信号幅度');

axis([0 100 -2 2]);

grid;

subplot(2, 1, 2);

stem(n, yt, 'r');

xlabel('时间信号n');

ylabel('信号幅度');

axis([0 100 -2 2]);

grid;

2.应用时延差值来判断系统2是否为时不变系统。

clear all

clc

n = 0 : 299;

D = 10;

x = cos(20 * pi * n / 256) + cos(200 * pi * n / 256);

xd = [zeros(1, D) x]; %生成新序列xd = x(n - D),延时D个单位num = [ ];

den = [1 ];

ic = [0 0]; %初始化

y = filter(num, den, x, ic);

yd = filter(num, den, xd, ic);

N = length(y);

d = y-yd(1+D : N+D);

figure

subplot(3, 1, 1);

stem(n, y);

ylabel('信号幅度');

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

grid;

subplot(3, 1, 2);

stem(n, yd(1 : length(yd) - D));

ylabel('信号幅度');

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

grid;

subplot(3, 1, 3);

stem(n, d);

xlabel('时间序号n');

相关文档
最新文档