数字信号处理实验之离散系统的差分方程、冲激响应和卷积分析

合集下载

武汉工程大学数字信号处理实验二时域离散系统及系统响应

武汉工程大学数字信号处理实验二时域离散系统及系统响应

实验二时域离散系统及系统响应一、实验目的1、掌握求解离散时间系统冲激响应和阶跃响应的方法;2、进一步理解卷积定理,掌握应用线性卷积求解离散时间系统响应的基本方法;3、掌握离散系统的响应特点。

二、实验内容1、请分别用impz 和dstep函数求解下面离散时间系统的冲激响应和阶跃响应。

(1)系统的差分方程为:)ynnny-=(n-+y+x)2.0866)((8.064()1.0a=[1,-0.8,0.64];b=[0.866,0,0];n=20;hn=impz(b,a,n); %冲激响应gn=dstep(b,a,n); %阶跃响应subplot(2,1,1),stem(hn,'filled'); %显示冲激响应曲线title('系统的单位冲激响应');ylabel('h(n)');xlabel('n');axis([0,n,1.1*min(hn),1.1*max(hn)]);subplot(2,1,2),stem(gn,'filled'); %显示阶跃响应曲线title('系统的单位阶跃响应'); ylabel('g(n)');xlabel('n');axis([0,n,1.1*min(gn),1.1*max(gn)]);2468101214161820-0.4-0.200.20.40.60.8系统的单位冲激响应h (n )n246810121416182011.21.41.6系统的单位阶跃响应g (n )n(2)系统的系统函数为:21115.01)(---+--=zz z z H a=[1,-1,1]; b=[1,-0.5,0]; n=20;hn=impz(b,a,n); %冲激响应 gn=dstep(b,a,n); %阶跃响应subplot(2,1,1),stem(hn,'filled'); %显示冲激响应曲线 title('系统的单位冲激响应'); ylabel('h(n)');xlabel('n');axis([0,n,1.1*min(hn),1.1*max(hn)]);subplot(2,1,2),stem(gn,'filled'); %显示阶跃响应曲线 title('系统的单位阶跃响应'); ylabel('g(n)');xlabel('n');axis([0,n,1.1*min(gn),1.1*max(gn)]);2468101214161820-1-0.500.51系统的单位冲激响应h (n )n2468101214161820-0.500.511.5系统的单位阶跃响应g (n )n2、运行例题2.3,理解卷积过程和程序中每一句的意义。

数字信号处理实验之离散系统的差分方程、冲激响应和卷积分析

数字信号处理实验之离散系统的差分方程、冲激响应和卷积分析

《数字信号处理A》实验报告实验二实验名称:离散系统的差分方程、冲激响应与卷积分析专业及班级:电子131 姓名:XXX 学号:XXXXXX 一、实验目的加深对离散系统的差分方程、冲激响应与卷积分析方法的理解。

二、实验步骤(附源代码及仿真结果图)1、以下程序中分别使用conv与filter函数计算h与x的卷积y与y1,运行程序,并分析y与y1就是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j 个值,使用filter完成卷积功能,需要如何补零?编制程序求解下列两个系统的单位冲激响应与阶跃响应,并绘出其图形。

要求分别用filter、conv、impz三种函数完成。

+nx--=n+nyynynx-]2[[]]1[-125[.0].075[]1给出理论计算结果与程序计算结果并讨论。

a.单位冲激响应:(1)用filter函数a1=[1,0、75,0、125];b1=[1,-1];n=0:20;x1=[1 zeros(1,20)];y1filter=filter(b1,a1,x1);stem(n,y1filter);title('y1filter');xlabel('x');ylabel('y');2468101214161820y1filterxy(2)用conv 函数a1=[1,0、75,0、125]; b1=[1,-1];x1=[1 zeros(1,10)]; [h]=impz(b1,a1,10); y1conv=conv(h,x1); n=0:19;stem(n,y1conv,'filled')2468101214161820a1=[1,0、75,0、125]; b1=[1,-1];impz(b1,a1,21);n (samples)A m p l i t u d eImpulse Responseb. 单位阶跃响应: (1) 用filter 函数 a1=[1,0、75,0、125]; b1=[1,-1]; n=0:20;x2=ones(1,21);y1filter=filter(b1,a1,x2); stem(n,y1filter); title('y1filter_step'); xlabel('x');ylabel('y');y1filter tepxya1=[1,0、75,0、125]; b1=[1,-1]; x2=ones(1,21);[h]=impz(b1,a1,20); y1=conv(h,x2); y1conv=y1(1:21); n1=0:20;stem(n1,y1conv,'filled'); title('y1conv'); xlabel('n'); ylabel('y1[n]');02468101214161820ny 1[n ]2、编制程序求解下列两个系统的单位冲激响应与阶跃响应,并绘出其图形。

数字信号处理实验实验一

数字信号处理实验实验一

数字信号处理实验报告实验名称:离散时间系统的时域特性分析学生姓名:z学生学号:学生班级:上课时间:周二上午指导老师:一、实验目的线性时不变离散时间系统在时域中可以通过常系数线性差分方程来描述,冲激响应序列可以刻画其时域特性。

本实验通过使用MATLAB函数研究离散时间系统的时域特性,以加深对离散时间系统的差分方程、冲激响应和系统的线性和时不变特性的理解。

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

即:如果系统在x1(n)和x2(n)输入时对应的输出分别为y1(n)和y2(n),当对任意常数a1和a2,式T[a1x1(n)+a2x2(n)]=a1T[x1(n)]+a2[x2(n)]=a1y1(n)+a2y2(n)成立,则该系统是线性系统。

2.时不变系统若输入x(n)的输出为y(n),则将输入序列移动任意位后,其输出序列除了跟着位移外,数值应保持不变。

即:当T[x(n)]=y(n),满足T[x(n-m)]=y(n-m) (m为任意整数)时,则该系统就称为时不变系统。

3.常系数线性差分方程线性时不变离散系统的输入、输出关系可以用以下常系数线性差分描述: y(n)=- ∑aky(n-k)+ ∑brx(n-r)当输入x(n)为单位冲激序列时,输出y(n)即为系统的单位冲击响应h(n)。

三、实验内容考虑如下差分方程描述的两个离散时间系统:系统1:y(n)=0.5x(n)+0.27x(n-1)+0.77x(n-2)系统2:y(n)=0.45x(n)+0.5x(n-1)+0.45x(n-2)+0.53y(n-1)-0.46y(n-2)输入想x(n)=cos(20n/256)+cos(200n/256)(1)编程求上述两个系统的输出,并分别画出系统的输入与输出波形。

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

数字信号处理实验2

数字信号处理实验2

数字信号处理实验2 ——离散系统频率响应和零极点分布姓名:李倩学号:班级:通信四班指导教师:周争一.实验原理离散时间系统的常系数线性差分方程:求一个系统的频率响应:H(e^jw)是以2pi为周期的连续周期复函数,将其表示成模和相位的形式:H(e^jw)=|H(e^jw)|*e^(jarg[H(e^jw)])其中|H(e^jw)|叫做振幅响应(幅度响应),频率响应的相位arg[H(e^jw)]叫做系统的相位响应。

将常系数线性差分方程的等式两边求FT,可以得到系统的频率响应与输入输出的频域关系式:H(e^jw)=Y(e^jw)/X(e^jw)将上式中的e^jw用z代替,即可得系统的系统函数:H(z)=Y(z)/X(z)H(z)=∑h(n)*z^(-n)(n的取值从负无穷到正无穷)将上式的分子、分母分别作因式分解,可得到LTI系统的零极点增益表达式为:H(z)=g∏(1-zr*z^(-1))/∏(1-pk*z^(-1))其中g为系统的增益因子,pk(k=1,2,3,…,N)为系统的极点,zr(r=1,2,3,…,M)为系统的零点。

通过系统的零极点增益表达式,可以判断一个系统的稳定性,对于一个因果的离散时间系统,若所有的极点都在单位圆内,则系统是稳定的。

二.实验内容一个LTI离散时间系统的输入输出差分方程为y(n)-1.6y(n-1)+1.28y(n-2)=0.5x(n)+0.1x(n-1)(1)编程求此系统的单位冲激响应序列,并画出其波形。

(2)若输入序列x(n)=&(n)+2&(n-1)+3&(n-2)+4&(n-3)+5&(n-4),编程求此系统输出序列y(n),并画出其波形。

(3)编程得到系统频响的幅度响应和相位响应并画图。

(4)编程得到系统的零极点分布图,分析系统的因果性和稳定性。

三.程序与运行结果(1)编程求此系统的单位冲激响应序列,并画出其波形。

程序:clear;N=100;b=[0.5 0.1];a=[1 -1.6 1.28];h1=impz(b,a,N); %计算系统的冲激响应序列的前N个取样点x1=[1 zeros(1,N-1)]; %生成单位冲激序列h2=filter(b,a,x1); %计算系统在输入单位冲激序列时的输出subplot(2,1,1);stem(h1);xlabel('时间序号n');ylabel('单位冲激响应序列值');title('单位冲激响应序列h1(n)');subplot(2,1,2);stem(h2);xlabel('时间序号n');ylabel('单位冲激响应序列值');title('单位冲激响应序列h2(n)');运行结果:0102030405060708090100-10125时间序号n单位冲激响应序列值单位冲激响应序列h1(n)0102030405060708090100-10125时间序号n单位冲激响应序列值单位冲激响应序列h2(n)结果说明:可以用impz 函数直接求出系统的单位冲激响应序列,也可输入单位冲激序列,用filter 函数求出系统的单位冲激响应序列,两者求得的结果相同。

第二次数字信号处理实验

第二次数字信号处理实验

信息科学与工程学院2018-2019学年第一学期实验报告课程名称:数字信号处理实验实验名称:离散系统的差分方程、冲激响应和卷积分析专业班级学生学号学生姓名实验时间 2018年10月17日实验报告【实验目的】加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。

【实验设备】1. 计算机;2. MATLAB软件。

【实验具体内容】实验源代码及绘图展示:○1a=[1];b=[0.25 0.25 0.25 0.25];n=0:10;x=impDT(n);h=filter(b,a,x);subplot(1,2,1)stem(n,h,'fill'),grid onxlabel('n'),title('系统单位抽样响应h(n)')y=ones(1,11);g=filter(b,a,y);subplot(1,2,2)stem(n,g),grid onxlabel('n'),title('系统单位阶跃响应g(n)')○2a=[1];b=[0.25 0.25 0.25 0.25];n=0:10;x=impDT(n);h=filter(b,a,x);subplot(1,2,1)stem(n,h,'fill'),grid onxlabel('n'),title('系统单位抽样响应h(n)') y=ones(1,11);g=filter(b,a,y);subplot(1,2,2)stem(n,g),grid onxlabel('n'),title('系统单位阶跃响应g(n)')山东大学·数字信号处理·实验报告【实验心得】初识MATLAB基础知识的记忆很重要,基本的最常规的代码用法和格式需要记忆,熟能生巧,需要在以后的实验中动脑子并且多做。

数字信号处理实验报告——离散系统的频率响应分析和零极点分布

数字信号处理实验报告——离散系统的频率响应分析和零极点分布

实验3 离散系统的频率响应分析和零、极点分布实验目的:加深对离散系统的频率响应分析和零、极点分布的概念理解。

加深对离散系统的频率响应分析和零、极点分布的概念理解。

实验原理:离散系统的时域方程为离散系统的时域方程为åå==-=-M k k N k k k n x p k n y d00)()(其变换域分析方法如下:其变换域分析方法如下:频域频域 )()()(][][][][][w w w j j j m e H e X e Y m n h m x n h n x n y =Û-=*=å¥-¥= 系统的频率响应为系统的频率响应为 w w ww w w w jN N j jM M j j j j e d e d d e p e p p e D e p e H ----++++++==......)()()(1010 Z 域 )()()(][][][][][z H z X z Y m n h m x n h n x n y m =Û-=*=å¥-¥=系统的转移函数为系统的转移函数为N N M M z d z d d z p z p p z D z p z H ----++++++==......)()()(110110 分解因式分解因式Õ-Õ-=åå==-=-=-=-N i i M i i N i i k M i i k z z K z d zp z H 111100)1()1()(l x ,其中i x 和i l 称为零、极点。

点。

在MATLAB 中,可以用函数中,可以用函数[z [z [z,,p ,K]=tf2zp K]=tf2zp((num num,,den den)求得有理分式形式的)求得有理分式形式的系统转移函数的零、极点,用函数zplane zplane((z ,p )绘出零、极点分布图;也可以用函数zplane zplane((num num,,den den)直接绘出有理分式形式的系统转移函数的零、极)直接绘出有理分式形式的系统转移函数的零、极点分布图。

熟数字信号差分方程实验报告

熟数字信号差分方程实验报告

姓名:余尤 学号:20112901 班级:微电一班一、实验目的1.通过实验掌握matlab 的基本操作,加深对该软件的了解。

2. 学会使用matlab 编写一些简单的程序,学会调用库中的相关函数。

3.了解filter 函数和filtic 函数的原理及其调用方法。

4.学会使用软件对差分方程进行求解。

5.加深对离散系统的差分方程、冲激响应和卷积分析方法的理解二、实验要求1.给出程序结果和理论结果。

2.分析结果并讨论。

3.写出心得体会。

三、实验原理其输入、输出关系可用以下差分方程描述:输入信号分解为冲激信号:记系统单位冲激响应则系统响应为如下的卷积计算式:当时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。

在MATLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。

四、实验内容对于差分方程)()2(08.0)1(6.0n yn x n y n y +---=)( 1.分析该差分方程的系数,大概了解编写程序的实现方法。

2.开始编写程序求解该系统的单位冲激响应和阶跃相应并绘出其图形。

五、实验过程1.单位冲激响应%one.mxn=[1,zeros(1,30)];B=1;A=[1,-0.6,0.08];xi=filtic(B,A,ys);yn=filter(B,A,xn,xi);n=0:length(yn)-1;subplot(3,2,1);stem(n,yn,'.')title('(a)');xlabel('n');ylabel('y(n)')2.单位阶跃相应%one.mxn=[1,zeros(1,30)];B=1;A=[1,-0.6,0.08];xn=ones(1,30);sn=filter(B,A,xn,xi);n=0:length(sn)-1;subplot(3,2,1);stem(n,sn,'.')title('(b)');xlabel('n');ylabel('s(n)')理论分析:由差分方程得系统函数为:H (z )=2-z 08.01-0.6z -11+ 利用分部分式法可得:112.0114.012)(----+-=z z z Hz 反变换得: )(])2.0()4.0(2[n h n u n n ⋅-⋅=)( h (n )即为单位冲击响应。

数字信号处理的差分方程求解技巧

数字信号处理的差分方程求解技巧

数字信号处理的差分方程求解技巧数字信号处理中,差分方程是一种重要的数学工具,用于描述离散时间系统的行为。

差分方程是离散时间系统输入和输出之间的关系,通常表示为递推关系式。

求解差分方程是数字信号处理中的一个关键步骤,下面将介绍一些常见的差分方程求解技巧。

1. 齐次差分方程的求解:齐次差分方程是指其右侧没有任何输入项的差分方程。

求解齐次差分方程的一种常用方法是假设解为指数函数形式,然后将其代入原方程,解出未知常数。

例如,对于差分方程y[n] - y[n-1] = 0,假设y[n] = A^k,代入方程得到A^k - A^(k-1) = 0,解得A = 1,即解为y[n] = A^n = 1^n = 1。

2. 非齐次差分方程的求解:非齐次差分方程是指其右侧包含输入项的差分方程。

求解非齐次差分方程的一种常用方法是将其分解为齐次解和非齐次解的和。

首先求解对应的齐次方程,得到其解y_h[n],然后考虑对应的非齐次方程,假设其解为y_p[n],代入原方程求解非齐次解。

最终的解为y[n] = y_h[n] + y_p[n]。

例如,对于差分方程y[n] - y[n-1] = x[n],假设齐次解为y_h[n] = A^n,代入方程得到A^n - A^(n-1) = 0,解得A = 1。

然后假设非齐次解为y_p[n] = B,代入方程得到B - B = x[n],解得B = x[n]。

因此,原方程的解为y[n] = y_h[n] + y_p[n] = A^n + x[n]。

3. 递推关系的求解:递推关系是差分方程的一种表示形式,用于描述当前时刻的输出与之前时刻的输入和输出之间的关系。

求解递推关系的一种常用方法是使用Z变换。

Z变换是一种用于分析离散时间信号和系统的数学工具,通过将差分方程转换为代数方程来求解。

首先对差分方程进行Z变换,将差分方程转换为代数方程,然后通过求解代数方程得到系统的频率响应或系统函数。

最后,对代数方程求逆Z变换,得到系统的脉冲响应或差分方程的解析解。

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

《数字信号处理A》实验报告
实验二实验名称:离散系统的差分方程、冲激响应与卷积分析专业及班级:电子131 姓名:XXX 学号:XXXXXX 一、实验目的
加深对离散系统的差分方程、冲激响应与卷积分析方法的理解。

二、实验步骤(附源代码及仿真结果图)
1、以下程序中分别使用conv与filter函数计算h与x的卷积y与y1,运行程序,并分析y与y1就是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j 个值,使用filter完成卷积功能,需要如何补零?
编制程序求解下列两个系统的单位冲激响应与阶跃响应,并绘出其图形。

要求分别用filter、conv、impz三种函数完成。

+n
x
-
-
=
n
+
n
y
y
n
y
n
x
-
]2
[
[
]
]1
[-
125
[
.0
]
.0
75
[
]1
给出理论计算结果与程序计算结果并讨论。

a.单位冲激响应:
(1)用filter函数
a1=[1,0、75,0、125];
b1=[1,-1];
n=0:20;
x1=[1 zeros(1,20)];
y1filter=filter(b1,a1,x1);
stem(n,y1filter);
title('y1filter');
xlabel('x');
ylabel('y');
2468
101214161820
y1filter
x
y
(2)用conv 函数
a1=[1,0、75,0、125]; b1=[1,-1];
x1=[1 zeros(1,10)]; [h]=impz(b1,a1,10); y1conv=conv(h,x1); n=0:19;
stem(n,y1conv,'filled')
2468101214161820
a1=[1,0、75,0、125]; b1=[1,-1];
impz(b1,a1,21);
n (samples)
A m p l i t u d e
Impulse Response
b. 单位阶跃响应: (1) 用filter 函数 a1=[1,0、75,0、125]; b1=[1,-1]; n=0:20;
x2=ones(1,21);
y1filter=filter(b1,a1,x2); stem(n,y1filter); title('y1filter_step'); xlabel('x');
ylabel('y');
y1filter tep
x
y
a1=[1,0、75,0、125]; b1=[1,-1]; x2=ones(1,21);
[h]=impz(b1,a1,20); y1=conv(h,x2); y1conv=y1(1:21); n1=0:20;
stem(n1,y1conv,'filled'); title('y1conv'); xlabel('n'); ylabel('y1[n]');
02468
101214161820
n
y 1[n ]
2、编制程序求解下列两个系统的单位冲激响应与阶跃响应,并绘出其图形。

要求分别用 filter 、conv 、impz 三种函数完成。

]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y
给出理论计算结果与程序计算结果并讨论 a 、单位冲激响应: (1)用filter 函数 a1=[1];
b1=[0、25,0、25,0、25,0、25]; n=0:20;
x1=[1 zeros(1,20)];
y1filter=filter(b1,a1,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');
y
x
(2)用conv函数
a1=[1];
b1=[0,0、25,0、25,0、25,0、25];
x1=[1 zeros(1,10)];
[h]=impz(b1,a1,10);
y1conv=conv(h,x1);
n=0:19;
stem(n,y1conv,'filled')
(3)用impz函数
a1=[1];
b1=[0,0、25,0、25,0、25,0、25];
impz(b1,a1,21);
n (samples)
A m p l i t u d e
b 、单位阶跃响应: (2) 用filter 函数 a1=[1];
b1=[0,0、25,0、25,0、25,0、25]; n=0:20;
x2=ones(1,21);
y1filter=filter(b1,a1,x2); stem(n,y1filter); title('y1filter_step'); xlabel('x'); ylabel('y');
y1filter s tep
x
y
(2)用conv 函数 a1=[1];
b1=[0,0、25,0、25,0、25,0、25]; x2=ones(1,21);
[h]=impz(b1,a1,20); y1=conv(h,x2); y1conv=y1(1:21); n1=0:20;
stem(n1,y1conv,'filled'); title('y1conv'); xlabel('n'); ylabel('y1[n]');
n
y 1[n ]
三、总结与体会
通过这次实验,我对冲激函数跟阶跃函数的理解更加加深了,同时加深对离散系统的差分方程、冲激响应与卷积分析方法的理解。

把课本上的内容很好的应用并且理解,做到了学以致用,这个过程中也出现了很多的问题,例如输入程序时发生错误,导致失败,上一次也出现过这样的问题,所以我提前把程序输入到Word 里保存下来,这样就会节省很多的时间,将更多的时间用于程序的理解中,这次实验还让我懂了一个道理,就就是有些事情的本质就是一样的,变化的只就是一层外表,这次实验的两个题目本质上没有变化,只就是变了一些参数,真正懂了之后就会知道怎么样去做。

相关文档
最新文档