matlab数字信号处理实验指导
- 格式:doc
- 大小:2.54 MB
- 文档页数:44
电工电子实验中心实验指导书数字信号处理实验教程二○○九年三月高等学校电工电子实验系列数字信号处理实验教程主编石海霞周玉荣攀枝花学院电气信息工程学院电工电子实验中心内容简介数字信号处理是一门理论与实践紧密联系的课程,适当的上机实验有助于深入理解和巩固验证基本理论知识,了解并体会数字信号处理的CAD手段和方法,锻炼初学者用计算机和MATLAB语言及其工具箱函数解决数字信号处理算法的仿真和滤波器设计问题的能力。
本实验指导书结合数字信号处理的基本理论和基本内容设计了八个上机实验,每个实验对应一个主题内容,包括常见离散信号的MATLAB产生和图形显示、离散时间系统的时域分析、离散时间信号的DTFT、离散时间信号的Z变换、离散傅立叶变换DFT、快速傅立叶变换FFT及其应用、基于MATLAB的IIR和FIR数字滤波器设计等。
此外,在附录中,还简单介绍了MATLAB的基本用法。
每个实验中,均给出了实验方法和步骤,还有部分的MATLAB程序,通过实验可以使学生掌握数字信号处理的基本原理和方法。
目录绪论 (1)实验一常见离散信号的MATLAB产生和图形显示 (2)实验二离散时间系统的时域分析 (6)实验三离散时间信号的DTFT (9)实验四离散时间信号的Z变换 (14)实验五离散傅立叶变换DFT (18)实验六快速傅立叶变换FFT及其应用 (24)实验七基于MATLAB的IIR数字滤波器设计 (30)实验八基于MATLAB的FIR数字滤波器设计 (33)附录 (37)参考文献 (40)绪论绪论随着电子技术迅速地向数字化发展,《数字信号处理》越来越成为广大理工科,特别是IT领域的学生和技术人员的必修内容。
数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。
数字信号处理的理论和技术一出现就受到人们的极大关注,发展非常迅速。
而且随着各种电子技术及计算机技术的飞速发展,数字信号处理的理论和技术还在不断丰富和完善,新的理论和技术层出不穷。
实验1 时域离散信号的产生一、实验目的学会运用MATLAB 产生常用离散时间信号。
二、实验涉及的matlab 子函数 1、square 功能:产生矩形波 调用格式:x=square(t);类似于sin (t ),产生周期为2*pi ,幅值为+—1的方波。
x=square(t ,duty);产生制定周期的矩形波,其中duty 用于指定脉冲宽度与整个周期的比例。
2、rand功能:产生rand 随机信号。
调用格式:x=rand (n ,m );用于产生一组具有n 行m 列的随机信号。
三、实验原理在时间轴的离散点上取值的信号,称为离散时间信号。
通常,离散时间信号用x (n )表示,其幅度可以在某一范围内连续取值。
由于信号处理所用的设备主要是计算机或专用的信号处理芯片,均以有限的位数来表示信号的幅度,因此,信号的幅度也必须“量化”,即取离散值。
我们把时间和幅度上均取离散值的信号称为时域离散信号或数字信号。
在MATLAB 中,时域离散信号可以通过编写程序直接生成,也可以通过对连续信号的等间隔抽样获得。
下面介绍常用的时域离散信号及其程序。
1、单位抽样序列⎩⎨⎧≠==0001)(k k k δMATLAB 源程序为1) function [x,n] = impuls (n0,n1,n2)% Generates x(n) = delta(n-n0); n=n0 处建立一个单位抽样序列% [x,n] = impuls (n0,n1,n2)if ((n0 < n1) | (n0 > n2) | (n1 > n2))error('arguments must satisfy n1 <= n0 <= n2') endn = [n1:n2];x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))];将上述文件存为:impuls.m,在命令窗口输入n0=0,n1=-10,n2=11;[x,n]=impuls (n0,n1,n2); stem(n,x,’filled’)2)n1=-5;n2=5;n0=0;n=n1:n2;x=[n==n0];stem(n,x,'filled','k');axis([n1,n2,1.1*min(x),1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');ylabel('幅度x(n)');3)n1=-5;n2=5;k=0;n=n1:n2;nt=length(n); %求n点的个数nk=abs(k-n1)+1; %确定k在n序列中的位置x=zeros(1,nt); %对所有样点置0x(nk)=1; %对抽样点置1stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');Ylabel('幅度x(n)');单位脉冲序列时间(n)幅度x (n )2、单位阶跃序列⎩⎨⎧<≥=0001)(k k k ε MATLAB 源程序为:1) n1=-2;n2=8;n0=0;n=n1:n2; %生成离散信号的时间序列 x=[n>=n0]; %生成离散信号x(n)stem(n, x,'filled','k'); %绘制脉冲杆图,且圆点处用实芯圆表示 axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)'); Ylabel('幅度x(n)');2) n1=-2;n2=8;k=0; n=n1:n2;nt=length(n); %求n 点的个数nk=abs(k-n1)+1; %确定k 在n 序列中的位置x=[zeros(1,nk-1),ones(1,nt-nk+1)]; %对所有样点置0 stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)'); ylabel('幅度x(n)');时间(n)幅度x (n )3、正弦序列x (n )=Um ()θω+n sin例、已知一时域周期性正弦信号的频率为1HZ ,振幅幅度为1V ,在窗口中显示两个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号。
武昌理工学院信息工程学院《数字信号处理》实验指导书————MATLAB实验二零一六年九月二十八日目录目录 ............................................................................................................................................. - 2 - MATLAB简介................................................................................................................................. - 3 -一、MATLAB初步 ........................................................................................................... - 3 -1. MATLAB的主要功能 ........................................................................................... - 3 -2.启动MATLAB及界面简介 ................................................................................ - 3 -3. MATLAB的常用命令 ........................................................................................... - 4 -4.基本运算................................................................................................................ - 5 -5.退出........................................................................................................................ - 6 -二、变量与函数、语句、矩阵及其运算.......................................................................... - 6 -1.变量与函数............................................................................................................ - 6 -2.语句与M文件...................................................................................................... - 6 -3.矩阵及其运算........................................................................................................ - 7 -三、MATLAB 支持的数据结构 ...................................................................................... - 8 -四、MATLAB绘图 ........................................................................................................... - 9 -1、绘制二维图形........................................................................................................ - 9 -2、绘制三维图形...................................................................................................... - 10 -五、MATLAB编程 ......................................................................................................... - 11 -1、关系运算和逻辑运算.......................................................................................... - 11 -2、控制语句.............................................................................................................. - 11 -3、函数编写方法与应用.......................................................................................... - 13 - 《数字信号处理》的MATLAB实验.......................................................................................... - 14 - 实验一MATLAB基础入门练习 ................................................................................. - 14 - 实验二离散时间信号分析............................................................................................ - 16 - 实验三离散时间系统及响应........................................................................................ - 18 - 实验四离散傅立叶变换及性质.................................................................................... - 20 - 实验五用FFT和CZT对信号进行频谱分析............................................................ - 21 - 实验六IIR数字滤波器设计与信号滤波..................................................................... - 24 - 实验七用窗函数法设计FIR滤波器........................................................................... - 27 - 实验报告格式............................................................................................................................ - 30 -MATLAB简介MATLAB是MATrix LABoratory的缩写。
第一次实验MAT1AB的数字信号处理基础一、实验目的1.掌握在MAT1AB中创建和编写脚本程序的步骤,熟悉在MAT1AB中进行基本的矩阵运算2.了解数字信号在计算机系统中的表示和数字信号处理的基本过程3.掌握用MAT1AB产生数字信号的方法二、实验内容1.熟悉在MAT1AB下创建脚本文件编制程序的方法在MAT1AB中,脚本文件时由一系列的命令构成并储存为.m格式的文件。
通常使用m文件来编写一个完整的仿真程序。
脚本文件的创建,可采用以下两种方式:(1)在菜单栏中选择Fi1e下拉框中New选项,可以新建多种MAT1AB文件,我们编辑仿真程序,通常选择第一项BIankM-Fi1e,即新建一个空的MAT1AB文件。
具体参见下图。
图1(2)采用菜单栏中新建按钮即可新建一个空的MAT1AB文件。
Jk MAT1AB7.9.0(R2009b)Fi1eEditDebugParaJ一一J2.MAT1AB中的数据表示MAT1AB中的基本数据单元为数组矩阵,MAT1AB中的数学运算都是基于矩阵的。
掌握了矩阵运算,就掌握了MAT1AB编程的关键。
MAT1AB中使用到的变量无需事先声明其数据类型,大小等,MAT1AB会自动根据赋值情况进行解析。
比如,可用通过以下命令产生一个矩阵:3.常用序列的MAT1AB实现(1)单位抽样序列。
在MAT1AB中可以用以下函数来实现单位抽样序列function[x,n]=impseq(nθ,n1z n2)%产生x(n)=de1ta(n-n0);n1<=n0<=n2if((nθ<n1)∣(nθ>∩2)∣(n1>n2))error('参数必须满足n1<=nθ<=n2,)endn=[n1:n2];x=[zeros(1,(nO-n1))4∕Zθros(1z(n2-nO))];stem(x);图3(2)单位阶跃序列。
在MAT1AB中可用〃>=0来实现〃(〃一%)。
实验一 常见离散信号的MATLAB 产生和图形显示1、实验目的:(1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。
(2)加深对常用离散时间信号的理解。
(3)掌握简单的绘图命令。
(4)掌握线性卷积的计算机编程方法。
2、实验原理:(1)单位抽样序列⎩⎨⎧=01)(n δ0≠=n n如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n(2)单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n(3)矩形序列 ⎩⎨⎧=01)(n R N 其他10-≤≤N n(4)正弦序列)sin()(ϕ+=wn A n x(5)复正弦序列jwnen x =)((6)指数序列na n x =)((7)线性时不变系统的响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y )()()()()(3、实验内容及步骤:(1)复习常用离散时间信号的有关内容。
(2)编制程序产生上述6种序列(长度可输入确定,对(4) (5) (6)中的参数可自行选择),并绘出其图形。
(3)已知系统的单位脉冲响应),(9.0)(n u n h n=输入信号)()(10n R n x =,试用卷积法求解系统的输出)(n y ,并绘出n n x ~)(、n n h ~)(及n n y ~)(图形。
4、实验用MATLAB 函数介绍(1)数字信号处理中常用到的绘图指令(只给出函数名,具体调用格式参看help)figure(); plot(); stem(); axis(); grid on; title(); xlabel(); ylabel(); text(); hold on; subplot()(2)离散时间信号产生可能涉及的函数zeros(); ones(); exp(); sin(); cos(); abs(); angle(); real(); imag(); (3)卷积计算可能涉及的函数conv(); length()注:实验过程中也可以使用自己编制的自定义函数,如impseq()、stepseq()等。
实验1 离散时间信号的时域分析一、实验目的(1)了解MATLAB 语言的主要特点及作用;(2)熟悉MATLAB 主界面,初步掌握MATLAB 命令窗和编辑窗的操作方法;(3)学习简单的数组赋值、数组运算、绘图的程序编写;(4)了解常用时域离散信号及其特点;(5)掌握MATLAB 产生常用时域离散信号的方法。
二、知识点提示本章节的主要知识点是利用MATLAB 产生数字信号处理的几种常用典型序列、数字序列的基本运算;重点是单位脉冲、单位阶跃、正(余)弦信号的产生;难点是MATLAB 关系运算符“==、>=”的使用。
三、实验内容1. 在MATLAB 中利用逻辑关系式0==n 来实现()0n n -δ序列,显示范围21n n n ≤≤。
(函数命名为impseq(n0,n1,n2))并利用该函数实现序列:()()()632-+-=n n n y δδ;103≤≤-nn 0212. 在MATLAB 中利用逻辑关系式0>=n 来实现()0n n u -序列,显示范围21n n n ≤≤。
(函数命名为stepseq(n0,n1,n2))并利用该函数实现序列:()()()20522≤≤--++=n n u n u n y3. 在MATLAB 中利用数组运算符“.^”来实现一个实指数序列。
如: ()()5003.0≤≤=n n x n4. 在MATLAB 中用函数sin 或cos 产生正余弦序列,如:()()2003.0cos 553.0sin 11≤≤+⎪⎭⎫ ⎝⎛+=n n n n x πππ5. 已知()n n x 102cos 3π=,试显示()()()3,3,+-n x n x n x 在200≤≤n 区间的波形。
6. 参加运算的两个序列维数不同,已知()()6421≤≤-+=n n u n x ,()()8542≤≤--=n n u n x ,求()()()n x n x n x 21+=。
注意此书用的时候N要先付值数字信号处理实验指导书目录前言 (1)第一章MATLAB基础知识 (1)第二章MATLAB基本数值运算 (4)第三章MATLAB的图形处理功能 (8)第四章MATLAB的程序设计 (11)第五章常用数字信号处理函数 (16)第六章MATLAB在数字信号处理中的应用 (23)实验一常见离散信号的MATLAB产生和图形显示 (33)实验二离散系统的频率响应分析和零、极点分布 (37)实验三序列线性卷积、圆周卷积的计算及其关系的研究 (39)实验四利用DFT分析信号的频谱 (41)实验五信号时间尺度变换的研究 (43)实验六快速傅里叶变换及其应用 (47)实验七IIR滤波器的实现与应用 (56)实验八FIR滤波器的实现与应用 (61)第一章MATLAB基础知识§1-1 MA TLAB软件简介MATLAB,Matrix Laboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境,在这个环境中,问题与求解都能方便地以数学的语言(主要是矩阵形式)或图形方式表示出来。
与大家常用的Fortran 和C等高级语言相比,MA TLAB的语法规则更简单,更贴近人的思维方式,被称为“草稿纸式的语言”。
§1-2 MA TLAB应用入门1.MATLAB的安装与卸载MATLAB软件在用户接口时具有较强的亲和力,其安装过程比较典型,直接运行光盘中的安装向导支撑程序SETUP.exe,按其提示一步步选择即可。
MATLAB自身带有卸载程序,在其安装目录下有uninstall子目录,运行该目录下uninstall.exe的即可;也可以通过Windows系统的安装卸载程序进行卸载。
2.MATLAB的启动与退出MATLAB安装完成后,会自动在Windows桌面上生成一个MA TLAB图标,它是指向安装目录下\bin\win32\matlab.exe的链接,双击这个图标即可来到MATLAB集成环境的基本窗口;也可以在开始菜单的程序选项中选择MATLAB 快捷方式;还可以在MA TLAB的安装路径的bin子目录中双击可执行文件matlab.exe。
电工电子实验中心实验指导书数字信号处理实验教程二○○九年三月高等学校电工电子实验系列数字信号处理实验教程主编石海霞周玉荣攀枝花学院电气信息工程学院电工电子实验中心内容简介数字信号处理是一门理论与实践紧密联系的课程,适当的上机实验有助于深入理解和巩固验证基本理论知识,了解并体会数字信号处理的CAD手段和方法,锻炼初学者用计算机和MATLAB语言及其工具箱函数解决数字信号处理算法的仿真和滤波器设计问题的能力。
本实验指导书结合数字信号处理的基本理论和基本内容设计了八个上机实验,每个实验对应一个主题内容,包括常见离散信号的MATLAB产生和图形显示、离散时间系统的时域分析、离散时间信号的DTFT、离散时间信号的Z变换、离散傅立叶变换DFT、快速傅立叶变换FFT及其应用、基于MATLAB的IIR和FIR数字滤波器设计等。
此外,在附录中,还简单介绍了MATLAB的基本用法。
每个实验中,均给出了实验方法和步骤,还有部分的MATLAB程序,通过实验可以使学生掌握数字信号处理的基本原理和方法。
目录绪论 (1)实验一常见离散信号的MATLAB产生和图形显示 (2)实验二离散时间系统的时域分析 (6)实验三离散时间信号的DTFT (9)实验四离散时间信号的Z变换 (14)实验五离散傅立叶变换DFT (18)实验六快速傅立叶变换FFT及其应用 (24)实验七基于MATLAB的IIR数字滤波器设计 (30)实验八基于MATLAB的FIR数字滤波器设计 (33)附录 (37)参考文献 (40)绪论绪论随着电子技术迅速地向数字化发展,《数字信号处理》越来越成为广大理工科,特别是IT领域的学生和技术人员的必修内容。
数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。
数字信号处理的理论和技术一出现就受到人们的极大关注,发展非常迅速。
而且随着各种电子技术及计算机技术的飞速发展,数字信号处理的理论和技术还在不断丰富和完善,新的理论和技术层出不穷。
目前数字信号处理已广泛地应用在语音、雷达、声纳、地震、图象、通信、控制、生物医学、遥感遥测、地质勘探、航空航天、故障检测、自动化仪表等领域。
数字信号处理是一门理论和实践、原理和应用结合紧密的课程,由于信号处理涉及大量的运算,可以说离开了计算机及相应的软件,就不可能解决任何稍微复杂的实际应用问题。
Matlab是1984年美国Math Works公司的产品,MATLAB 语言具备高效、可视化及推理能力强等特点,它的推出得到了各个领域专家学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础,是目前工程界流行最广的科学计算语言。
早在20世纪90年代中期,MATLAB就己成为国际公认的信号处理的标准软件和开发平台。
从1996年后,美国新出版的信号处理教材就没有一本是不用MATLAB的。
本实验指导书结合数字信号处理的基本理论和基本内容,用科学计算语言MATLAB实现数字信号处理的方法和实践,通过实验用所学理论来分析解释程序的运行结果,进一步验证、理解和巩固学到的理论知识,从而达到掌握数字信号处理的基本原理和方法的目的。
实验一 常见离散信号的MATLAB 产生和图形显示一、实验目的1. 学会用MATLAB 在时域中产生一些基本的离散时间信号。
2. 了解信号的各种运算。
二、实验原理(一)、序列的产生由于MATLAB 数值计算的特点,用它来分析离散时间信号与系统是很方便的。
离散信号是数字信号处理的最基础的内容,由于内存有限,MATLAB 无法表示无限序列。
在MATLAB 中,可以用一个列向量来表示一个有限长度的序列,但是这种表示方法没有包含采样位置的信息,要完全表示x(n),要用x 和n 两个向量,例如x(n)={2,1,0,2,3,-1,2,3} ↑ 在MATLAB 中表示为n=[-4,-3,-2,-1,0,1,2,3]; x=[2,1,0,2,3,-1,2,3];当序列从n=0开始,则不需要采样位置信息,这时可以只用x 来表示1. 单位抽样序列⎩⎨⎧=01)(n δ≠=n n 在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n2.单位阶跃序列⎩⎨⎧01)(n u00<≥n n 在MATLAB 中可以利用ones()函数实现。
),1(N ones x =3.正弦序列)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列n j e n x ϖ=)(在MATLAB 中)**exp(1:0n w j x N n =-=5.指数序列n a n x =)(在MATLAB 中na x N n .^1:0=-=(二)、简单运算 1.信号加)()()(21n x n x n x += 在MATLAB 中x=x1+x2注意:x1和x2应该具有相同的长度,位置对应,才能相加。
否则,需要先通过Zeros 函数左右补零后再相加。
2.信号延迟给定离散信号x(n),若信号y(n)为 y(n)= x(n-k)那么y(n)就是信号x(n)在时间轴上右移k 个采样周期后得到的新的序列。
在MATLAB 中y(n)= x(n-k) 3.信号乘)()()(21n x n x n x ⋅=在MATLAB 中2.1x x x *=这是信号的点乘运算,所以同样需要信号加需要的x1和x2二者的长度要相等这一前提条件。
4.信号变化幅度y(n)= k ×x(n) 在MATLAB 中x k y *=5.信号翻转y(n)= x(-n)在MATLAB 中y=fliplr(x)三、实验内容与步骤1. 产生一个单位样本序列x1(n),起点为ns= -10, 终点为nf=20, 在n0=0时有一单位脉冲并显示它。
修改程序,以产生带有延时11个样本的延迟单位样本序列x2(n)= x1(n-11),并显示它。
2.已知 c= -(1/12)+(pi/6)*i;产生一个复数值的指数序列x2(n)=2*exp(c *n),起点为ns= 0, 终点为nf=40;并显示它。
3.产生一个正弦序列x3(n) =1.5*cos(2*pi *f*n); 起点为ns= 0, 终点为nf=40;并显示它。
4.复杂信号的产生:复杂的信号可以通过在简单信号上执行基本的运算来产生 试产生一个振幅调制信号)1.02cos())01.02cos(4.01()2cos())2cos(1()(n n n f n f m n y H L ⨯⋅⨯⋅+=⋅⋅+=ππππn=0:100四、实验仪器设备计算机,MATLAB软件五、实验注意事项预先阅读附录(MATLAB基础介绍);六、思考题1.讨论复指数序列x2(n)的哪个参数控制该序列的增长或衰减率?哪个参数控制该序列的振幅?2.讨论正弦序列x3(n)的哪个参数控制该序列的相位?哪个参数控制该序列的振幅?3.讨论算术运算符*和. *之间的区别是什么?实验二 离散时间系统的时域分析实验二 离散时间系统的时域分析一、实验目的1. 运用MATLAB 仿真一些简单的离散时间系统,并研究它们的时域特性。
2. 运用MATLAB 中的卷积运算计算系统的输出序列,加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。
二、实验原理离散时间系统其输入、输出关系可用以下差分方程描述:∑=∑=-=-M k k Nk k k n x p k n y d 0][][当输入信号为冲激信号时,系统的输出记为系统单位冲激响应][][n h n →δ,则系统响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y ][][][][][当h[n]是有限长度的(n :[0,M])时,称系统为FIR 系统;反之,称系统为IIR 系统。
在MATLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。
例2.1clf; n=0:40; a=1;b=2; x1= 0.1*n; x2=sin(2*pi*n); x=a*x1+b*x2; num=[1, 0.5,3];den=[2 -3 0.1];ic=[0 0]; %设置零初始条件y1=filter(num,den,x1,ic); %计算输入为x1(n)时的输出y1(n)y2=filter(num,den,x2,ic); %计算输入为x2(n)时的输出y2(n)y=filter(num,den,x,ic); %计算输入为x (n)时的输出y(n)yt= a*y1+b*y2;%画出输出信号subplot(2,1,1)stem(n,y);ylabel(‘振幅’);title(‘加权输入a*x1+b*x2的输出’);subplot(2,1,2)stem(n,yt);ylabel(‘振幅’);title(‘加权输出a*y1+b*y2’);(一)、线性和非线性系统对线性离散时间系统,若)(1n y 和)(2n y 分别是输入序列)(1n x 和)(2n x 的响应,则输入)()()(21n bx n ax n x +=的输出响应为)()()(21n by n ay n y +=,即符合叠加性,其中对任意常量a 和b 以及任意输入)(1n x 和)(2n x 都成立,否则为非线性系统。
(二)、时不变系统和时变系统对离散时不变系统,若)(1n y 是)(1n x 的响应,则输入x(n)=x1(n-n0)的输出响应为y(n)=y1(n-n0),式中n0是任意整数。
该输入输出关系,对任意输入序列及其相应的输出成立,若对至少一个输入序列及其相应的输出序列不成立,则系统称之为时变的。
(三)、线性卷积假设待卷积的两个序列为有限长序列,卷积运算符在MATLAB 中可 命令conv 实现。
例如,可以把系统的冲激响应与给定的有限长输入序列进行卷积,得到有限长冲激响应系统的输出序列。
下面的MATLAB 程序实现了该方法。
例2.2clf;h=[3 2 1 -2 1 0 -4 0 3];%冲激x=[1 -2 3 -4 3 2 1 ]; %输入序列y=conv(h,x);n=0:14;stem(n,y);xlabel(‘时间序号n ’);ylabel(‘振幅’);title(‘用卷积得到的输出’);grid;三、实验内容与步骤1. 假定一因果系统为y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2)用MATLAB 程序仿真该系统,输入三个不同的输入序列:)1.02c o s()(1n n x ⋅=π,)4.02cos()(2n n x ⋅=π,)(3)(221n x n x x -= 计算并并显示相应的输出)(1n y , )(2n y 和)(n y 。