matlab数字信号处理实验指导

合集下载

数字信号处理MATLAB实验

数字信号处理MATLAB实验

(8) 用 FFT 分别计算 xa (n)( p 8, q 2) 和 xb(n) (a=0.1,f=0.0625)的自 相关函数。
三、思考题
(1)实验中的信号序列 xc(n)和 xd(n),在单位圆上的 z 变换频谱
和 一些,为什么?
会相同吗?如果不同,说明哪一个低频分量更多
(2)对一个有限长序列进行 DFT 等价于将该序列周期延拓后进行
五、与本实验有关的 MATLAB 函数 x=sin(2*pi*f/fs*n);生成频率为f,采样频率为fs的正弦信号,式
中,n=[0 1 2 … N]。 sum(X);对于向量X,计算X各元素的和。对于矩阵X,计算X
各列元素之和组成的行向量。 plot(t,y);画出以向量t为坐标的向量y(行或列)的曲线。向
出该信号,并讨论信号的混叠情况。
(3) 令
,其中 f/fs=1/16,即每个周期有 16 个
点。试利用 MATLAB 编程实现:
○1 作 M=4 倍的抽取,使每个周期变成 4 点。
○2 作 L=3 倍的插值,使每个周期变成 48 点。
(4)输入信号 x(n)为归一化频率分别为 f1=0.04,f2=0.3 的正 弦信号相加而成,N=50,插因子为 5,抽取因子为 3,给出 按有理因子 5/3 做采样率变换的输入输出波形。
(1) 简述实验目的及原理。 (2) 按实验步骤附上试验程序。 (3) 按实验容附上有关离散信号的波形或关键样本,对音频信号
给出测听的结果。 (4) 简要回答思考题。 五、 与本实验相关的 MATLAB 函数 y=decimate(x,M);对信号 x 按整数 M 作抽取,抽取前后作抗混叠低 通滤波,结果放在 y 中。 y=interp(x,L); 对信号 x 按整数 L 插零,然后作抗镜像低通滤波, 结果放在 y 中。 y=resample(x,L,M);对信号 x 按有理因子 L/M 作采样率转换,结果 放在 y 中。

matlab数字信号处理实验指导

matlab数字信号处理实验指导

电工电子实验中心实验指导书数字信号处理实验教程二○○九年三月高等学校电工电子实验系列数字信号处理实验教程主编石海霞周玉荣攀枝花学院电气信息工程学院电工电子实验中心内容简介数字信号处理是一门理论与实践紧密联系的课程,适当的上机实验有助于深入理解和巩固验证基本理论知识,了解并体会数字信号处理的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版

数字信号处理指导书matlab版

实验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 数字信号处理 实验指导.1

MATLAB 数字信号处理 实验指导.1

武昌理工学院信息工程学院《数字信号处理》实验指导书————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的缩写。

matlab数字信号处理实验

matlab数字信号处理实验
X(z)= (1-7)
以 代替上式中的Z,就可以得到序列x(n)的傅里叶变换
X( )= (1-8)
式(1—6)和式(1—8)具有如下关系:
=X( )︱ (1-9)
由式(1—9)可知,在分析一个连续时间信号的频谱时,可以通过取样将有关的计算转换为序列傅里叶变换的计算。
(二)有限长序列分析
一般来说,在计算机上不可能,也不必要处理连续的曲线X(e ),通常,我们只观察、分析X(e )在某些频率点上的值。对于长度为N的有限长序列
(1-5)
作为拉氏变换的一种特例,信号理想采样的傅里叶变换
(1-6)
由式(1—5)和式(1—6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样频率,根据Shannon取样定理,如果原信号是带限信号,且采样频率高于原信号的最高频率分量2倍,则采样以后不会发生频谱混迭现象。
在计算机处理时,不采用式(1—6)计算信号的频谱,而是利用序列的傅里叶变换计算信号的频谱,可以得到序列x(n)的Z变换为:
信号产生子程序:
1、理想采样信号序列xa(n)
n=0:50;
A=444.128;
a=50*sqrt(2.0)*pi;
T=1/1000;
w0=50*sqrt(2.0)*pi;
x=A*exp(-a*n*T).*sin(w0*n*T);
close all
subplot(3,1,1);
stem(x);
title('通信学号理想采样信号序列xa(n)');
贴出最后得到的图形
四:思考:系统最高频率是多少?第一个实验中有无频谱混迭,为什么?第二个实验中有无频谱混迭,为什么?
X=x*(exp(-j*pi/12.5)).^(n'*k);

第2章 基于MATLAB实现的数字信号处理实验

第2章  基于MATLAB实现的数字信号处理实验
10
x 2(n)
5
0 -5
0
5
10 n
15
20
25
30
1 0.5
h(n)
0 -0.5 -1 -5
0
5
10 n
15
20
25
30
第2章 基于MATLAB实现的数字信号处理实验
2.2 离散信号的分析
四、实验思考题
1. 思考序列相关性的应用?
五、实验报告要求
1. 2. 简述实验目的及实验原理。 按实验步骤附上实验过程中的信号序列、系统单位脉冲响应及 系统响应序列的时域和幅频特性曲线,并对所得结果进行分析 和解释。 总结实验中的主要结论。 简要回答实验思考题。
第2章 基于MATLAB实现的数字信号处理实验
2.3 验证采样定理
三、实验步骤
2. 实验内容2(3)的程序运行结果如下图所示:
Reconstruction of x a(t) when Ts=0.01 1
x a(t)
0 -1 0 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Reco
2.4 应用FFT实现信号频谱分析
三、实验步骤
3. 实验内容1的程序运行结果如下图所示:
15 10
5
0 -6
-4
-2
0
2
4
6
4 2 0 -2 -4 -6
-4
-2
0
2
4
6
第2章 基于MATLAB实现的数字信号处理实验
2.4 应用FFT实现信号频谱分析
三、实验步骤
4. 实验内容2的程序运行结果如下图所示:
n
第2章 基于MATLAB实现的数字信号处理实验

第一次实验 MATLAB的数字信号处理基础

第一次实验 MATLAB的数字信号处理基础

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

电工电子实验中心实验指导书数字信号处理实验教程二○○九年三月高等学校电工电子实验系列数字信号处理实验教程主编石海霞周玉荣攀枝花学院电气信息工程学院电工电子实验中心内容简介数字信号处理是一门理论与实践紧密联系的课程,适当的上机实验有助于深入理解和巩固验证基本理论知识,了解并体会数字信号处理的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 。

相关文档
最新文档