第七章 离散时间系统的时域分析
- 格式:ppt
- 大小:1.43 MB
- 文档页数:51
武汉工程大学信号分析与处理实验一专业:通信02班学生姓名:李瑶华学号:1304200113完成时间:2021年7月27日实验二: 离散时间系统的时域分析一、实验目的1.在时域中仿真离散时间系统,进而理解离散时间系统对输入信号或延迟信号进行简单运算处理,生成具有所需特性的输出信号的方法。
2.仿真并理解线性与非线性、时变与时不变等离散时间系统。
3.掌握线性时不变系统的冲激响应的计算,并用计算机仿真实现。
4.仿真并理解线性时不变系统的级联、验证线性时不变系统的稳定特性。
二、实验设备计算机,MATLAB 语言环境。
三、实验基础理论1.系统的线性性质线性性质表现为系统满足线性叠加原理:若某一输入是由N 个信号的加权和组成的,则输出就是系统对这N 个信号中每一个的响应的相应加权和组成的。
设)(1n x 和)(2n x 分别作为系统的输入序列,其输出分别用)(1n y 和)(2n y 表示,即)]([)(,)]([)(2211n x T n y n x T n y ==若满足)()()]()([22112211n y a n y a n x a n x a T +=+则该系统服从线性叠加原理,或者称该系统为线性系统。
2.系统的时不变特性若系统的变换关系不随时间变化而变化,或者说系统的输出随输入的移位而相应移位但形状不变,则称该系统为时不变系统(或称为移不变系统)。
对时不变系统,若)]([)(n x T n y =,则)()]([m n y m n x T -=- 3.系统的因果性系统的因果性即系统的可实现性。
如果系统时刻的输出取决于时刻及时刻以前的输入,而和时刻以后的输入无关,则该系统是可实现的,是因果系统。
系统具有因果性的充分必要条件为0,0)(<=n n h4.系统的稳定性稳定系统是指有界输入产生有界输出(BIBO )的系统。
如果对于输入序列,存在一个不变的正有限值,对于所有值满足∞<≤M n x |)(|则称该输入序列是有界的。
信号、系统与信号处理实验报告实验一、离散时间系统的时域特性分析姓名:学号:班级:专业:一.实验目的线性时不变(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=[0.5 0.27 0.77];den1=[1];num2=[0.45 0.5 0.45];den2=[1 -0.53 0.46];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=[0.5 0.27 0.77];den1=[1];num2=[0.45 0.5 0.45];den2=[1 -0.53 0.46];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 allclcn = 0 : 1 : 299;x1 = cos(20 * pi * n / 256);x2 = cos(200 * pi * n / 256);x = x1 + x2;num = [0.45 0.5 0.45];den = [1 -0.53 0.46];y1 = filter(num, den, x1);y2 = filter(num, den, x2);y= filter(num, den, x);yt = y1 + y2;figuresubplot(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是否为时不变系统。
数字信号处理实验三离散时间系统的时域分析学院:信息与通信学院专业:电子信息工程学号:0900220418姓名:梁芝铭1.实验目的(1)理解离散时间信号的系统及其特性。
(2)对简单的离散时间系统进行分析,研究其时域特性。
(3)利用MATLAB 对离散时间系统进行仿真,观察结果,理解其时域特性。
2.实验原理离散时间系统,主要是用于处理离散时间信号的系统,即是将输入信号映射成的输出的某种运算,系统的框图如图所示:(1)线性系统当该系统的输入信号为12()()ax n bx n +时,其中a,b 为任意常数,输出为121212[()()][()][()]()()T a x n b x n a T x n b T x n a y n b y n+=+=+(2)时不变系统若()[()]y n T x n =,则[()]()T x n k y n k -=-。
3.实验内容及其步骤(1)复习离散时间系统的主要性质,掌握其原理和意义。
(2)一个简单的非线性离散时间系统的仿真在MATLAB 中输入:n = 0:200; x = cos(2*pi*0.05*n); x1 = [x 0 0]; x2 = [0 x 0]; x3 =[0 0 x]; y = x2.*x2-x1.*x3; y = y(2:202); subplot(2,1,1); plot(n, x); xlabel('Time index n'); ylabel('Amplitude');title('Input Signal');subplot(2,1,2);plot(n,y);xlabel('Time index n'); ylabel('Amplitude');title('Output signal'); 结果如下:(3)线性与非线性系统的仿真在MATLAB中输入:n = 0:40; a = 2; b = -3;x1 = cos(2*pi*0.1*n); x2 = cos(2*pi*0.4*n);x = a*x1 + b*x2;num = [2.2403 2.4908 2.2403];den = [1 -0.4 0.75];ic = [0 0]; y1 = filter(num,den,x1,ic);y2 = filter(num,den,x2,ic); y = filter(num,den,x,ic);yt = a*y1 + b*y2; d = y - yt; subplot(3,1,1);stem(n,y); ylabel('Amplitude');title('Output Due to Weighted Input: a \cdot x_{1}[n] + b \cdot x_{2}[n]');subplot(3,1,2);stem(n,yt); ylabel('Amplitude');title('Weighted Output: a \cdot y_{1}[n] + b \cdot y_{2}[n]');subplot(3,1,3);stem(n,d); xlabel('Time index n'); ylabel('Amplitude');title('Difference Signal');结果如下:(4)时不变与时变系统的仿真在MA TLAB中输入:% Generate the input sequencesclf; n = 0:40; D = 10; a = 3.0; b = -2;x = a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n);xd = [zeros(1,D) x]; num = [2.2403 2.4908 2.2403]; den = [1 -0.4 0.75];ic = [0 0]; % Set initial conditions% Compute the output y[n]y = filter(num,den,x,ic);% Compute the output yd[n]yd = filter(num,den,xd,ic);% Compute the difference output d[n]d = y - yd(1+D:41+D);subplot(3,1,1); stem(n,y); ylabel('Amplitude'); title('Output y[n]'); grid;subplot(3,1,2); stem(n,yd(1:41)); ylabel('Amplitude');title(['Output due to Delayed Input x[n - ', num2str(D),']']); grid;subplot(3,1,3); stem(n,d); xlabel('Time index n'); ylabel('Amplitude');title('Difference Signal'); grid;结果如下:4.思考题(1)离散时间系统有何特点。
第七章离散时间系统的时域分析§7-1 概述一、离散时间信号与离散时间系统离散时间信号:只在某些离散的时间点上有值的信号。
离散时间系统:处理离散时间信号的系统。
混合时间系统:既处理离散时间信号,又处理连续时间信号的系统。
二、连续信号与离散信号连续信号可以转换成离散信号,从而可以用离散时间系统(或数字信号处理系统)进行处理:三、离散信号的表示方法:1、 时间函数:f(k)<——f(kT),其中k 为序号,相当于时间。
例如:)1.0sin()(k k f =2、 (有序)数列:将离散信号的数值按顺序排列起来。
例如:f(k)={1,0.5,0.25,0.125,……,}时间函数可以表达任意长(可能是无限长)的离散信号,可以表达单边或双边信号,但是在很多情况下难于得到;数列的方法表示比较简单,直观,但是只能表示有始、有限长度的信号。
四、典型的离散时间信号1、 单位样值函数:⎩⎨⎧==其它001)(k k δ 下图表示了)(n k −δ的波形。
这个函数与连续时间信号中的冲激函数)(t δ相似,也有着与其相似的性质。
例如:)()0()()(k f k k f δδ=,)()()()(000k k k f k k k f −=−δδ。
2、 单位阶跃函数:⎩⎨⎧≥=其它001)(k k ε这个函数与连续时间信号中的阶跃函数)(t ε相似。
用它可以产生(或表示)单边信号(这里称为单边序列)。
3、 单边指数序列:)(k a k ε比较:单边连续指数信号:)()()(t e t e t a at εε=,其底一定大于零,不会出现负数。
(a) 0.9a = (d) 0.9a =−(b) 1a = (e) 1a =−(c) 1.1a = (f) 1.1a =−4、 单边正弦序列:)()cos(0k k A εφω+双边正弦序列:)cos(0φω+k A五、离散信号的运算1、 加法:)()()(21k f k f k f +=<—相同的k 对应的数相加。
实验一离散时间LTI系统的时域分析与Z域分析一、实验目的1、掌握用MATLAB求解离散时间系统的零状态响应、单位脉冲响应和单位阶跃响应;2、掌握离散时间系统系统函数零极点的计算方法和零极点图的绘制方法,并能根据零极点图分析系统的稳定性。
二、实验原理1、离散时间系统的时域分析(1)离散时间系统的零状态响应离散时间LTI系统可用线性常系数差分方程来描述,即MATLAB中函数filter可对式(1-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。
函数filter的语句格式为:y=filter(b,a,x)其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。
(2)离散时间系统的单位脉冲响应系统的单位脉冲响应定义为系统在 (n)激励下系统的零状态响应,用h(n)表示。
MATLAB求解单位脉冲响有两种方法:一种是利用函数filter;另一种是利用函数impz。
impz函数的常用语句格式为impz(b,a,n),其中b和a的定义见filter,n表示脉冲响应输出的序列个数。
(3)离散时间系统的单位阶跃响应系统的单位阶跃响应定义为系统在ε(n)激励下系统的零状态响应。
MATLAB求解单位脉冲响应有两种方法:一种是利用函数filter,另一种是利用函数stepz。
stepz函数的常用语句格式为stepz(b,a,N)其中,b和a的定义见filter,N表示脉冲响应输出的序列个数。
2、离散时间系统的Z域分析(1)系统函数的零极点分析离散时间系统的系统函数定义为系统零状态响应的z变换与激励的z变换之比,即如果系统函数H(z)的有理函数表示式为那么,在MATLAB中系统函数的零极点就可通过函数roots得到,也可借助函数tf2zp得到。
roots的语法格式为:Z=roots(b)%计算零点b=[b1b2…bmbm+1]P=roots(a)%计算极点a=[a1a2…anan+1]tf2zp的语句格式为[Z,P,K]=tf2zp(b,a)其中,b与a分别表示H(z)的分子与分母多项式的系数向量。