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

合集下载

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

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

实验二时域离散系统及系统响应一、实验目的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变换,得到系统的脉冲响应或差分方程的解析解。

数字信号实验二离散系统的时域分析

数字信号实验二离散系统的时域分析

实验报告学院:计信学院专业:网络工程班级:网络091 姓名学号实验组实验时间2012-5-10 指导教师成绩实验项目名称实验2 离散系统的时域分析实验目的1、熟悉并掌握离散系统的差分方程表示法;2、加深对冲激响应和卷积分析方法的理解。

实验要求1、在MATLAB中,熟悉利用函数实现差分方程的仿真;2、在MATLAB中,熟悉用函数计算卷积,用求系统冲激响应的过程。

实验原理在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下:][nx][nyDiscrete-timesystme其输入、输出关系可用以下差分方程描述:∑=∑=-=-MkkNkkknxpknyd][][输入信号分解为冲激信号,∑-=∞-∞=m m n m x n x ][][][δ记系统单位冲激响应][][n h n →δ,则系统响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y ][][][][][当N k dk,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。

实验步骤1. 在MATLAB 环境中编写程序。

2. 运行程序。

3. 得出实验结果。

实验内容1、以下程序中分别使用conv 和filter 函数计算h 和x 的卷积y 和y1,运行程序,并分析y 和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i 个值,x[n]有j 个值,使用filter 完成卷积功能,需要如何补零?% Program P2_7 clf;h = [3 2 1 -2 1 0 -4 0 3]; %impulse response x = [1 -2 3 -4 3 2 1]; %input sequence y = conv(h,x);n = 0:14; subplot(2,1,1); stem(n,y);xlabel('Time index n'); ylabel('Amplitude'); title('Output Obtained by Convolution'); grid; x1 = [x zeros(1,8)]; y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel('Time index n'); ylabel('Amplitude');title('Output Generated by Filtering'); grid;2、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。

数字信号处理实验四

数字信号处理实验四

实验报告课程名称:数字信号处理实验四:离散系统分析班级:通信1403学生姓名:强亚倩学号:1141210319指导教师:范杰清页脚内容1页脚内容2华北电力大学(北京)一、实验目的深刻理解离散时间系统的系统函数在分析离散系统的时域特性、频域特性以及稳定性中的重要作用及意义,熟练掌握利用MATLAB 分析离散系统的时域响应、频响特性和零极点的方法。

掌握利用DTFT 和DFT 确定系统特性的原理和方法。

二、实验原理MATLAB 提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频域响应等分析函数。

1. 离散系统的时域响应在调用MATLAB 函数时,需要利用描述该离散系统的系数函数。

对差分方程进行Z 变换即可得系统函数:在MATLAB 中可使用向量a 和向量b 分别保存分母多项式和分子多项式的系数:这些系数均从z 0按z 的降幂排列。

2.离散系统的系统函数零极点分析离散LTI 系统的系统函数H (z )可以表示为零极点形式:))...()(())...()((1)()()(2121)1(111)1(1110N M N N N N M M M M p z p z p z z z z z z z k z a z a z a z b z b z b b z X z Y z H ------=++++++++==---------- )()(1)()()()1(111)1(1110z a z b z a z a z a z b z b z b b z X z Y z H N N N N M M M M =++++++++==---------- ],,,,1[11N N a a a a -= ],,,,[110M M b b b b b -=页脚内容3使用MATLAB 提供的roots 函数计算离散系统的零极点;使用zplane 函数绘制离散系统的零极点分布图。

注意:在利用这些函数时,要求H (z )的分子多项式和分母多项式的系数的个数相等,若不等则需要补零。

数字信号处理实验——信号系统及系统响应

数字信号处理实验——信号系统及系统响应

实验一信号、系统及系统响应一、实验目的1、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。

2、熟悉离散信号和系统的时域特性。

3、熟悉线性卷积的计算编程方法,利用卷积的方法,观察、分析系统响应的时域特性。

4、掌握序列傅式变换的计算机实现方法,利用序列傅式变换对离散信号、系统及系统响应进行频域分析。

二、实验原理(一)连续时间信号的采样对一个连续时间信号进行理想采样的过程可以表示为该信号的一个周期冲激脉冲的乘积,即x a^(t)=x a(t)M(t)其中x a^(t)是连续信号x a(t)的理想采样,M(t)是周期冲激脉冲δ(t-nT)M(t)=∑+∞-∞(二)有限长序列分析对于长度为N的有限长序列x(n)={f(n),0≤n≤N-10, 其他n一般只需要在0—2π之间均匀地取M个频率点,计算这些点上的序列傅里叶变x(n)e-jWkn w k=2kπ/M,k=0,1……。

换 X(e jWk)=∑+∞-∞(三)信号卷积一个线性时不变离散系统的响应y(n)可以用它的单位冲激响应h(n)和输入信号x(n)的卷积来表示:y(n)=x(n)*h(n)=∑x(m)h(n-m)根据傅里叶变换和Z变换的性质得Y(z)=X(z)H(z)Y(e jw)=X(e jw)H(e jw)卷积运算可以在频域用乘积实现。

三、实验内容及步骤1、分析理想采样信号序列的特性1.产生理想采样信号(采样频率为1000HZ)>> n=0:50;A=444.128;>> a=50*sqrt(2.0)*pi;T=0.001;>> w0=50*sqrt(2.0)*pi;>> subplot(1,1,1);stem(n,x);title('理想采样信号序列');2.产生理想采样信号序列的幅度谱和相位谱(采样频率为1000HZ) >> k=-25:25;W=(pi/12.5)*k;>> f=(1/25)*k*1000;>> X=x*(exp(-j*pi/12.5)).^(n'*k);>> magX=abs(X);>> subplot(2,1,1);stem(f,magX);title('理想采样信号序列的幅度谱'); >> angX=angle(X);>> subplot(2,1,2);stem(f,angX);title('理想采样信号序列的相位谱');3.产生理想采样信号序列(采样频率为300HZ)>> n=0:50;A=444.128;>> a=50*sqrt(2.0)*pi;T=1/300;>> w0=50*sqrt(2.0)*pi;>> subplot(1,1,1);stem(n,x);title('理想采样信号序列');4.产生理想采样信号序列的幅度谱和相位谱(采样频率为300HZ)>> k=-25:25;W=(pi/12.5)*k;>> f=(1/25)*k*300;>> X=x*(exp(-j*pi/12.5)).^(n'*k);>> magX=abs(X);>> subplot(2,1,1);stem(f,magX);title('理想采样信号序列的幅度谱'); >> angX=angle(X);>> subplot(2,1,2);stem(f,angX);title('理想采样信号序列的相位谱');5.产生理想采样信号序列(采样频率为200HZ)>> n=0:50;A=444.128;>> a=50*sqrt(2.0)*pi;T=1/200;>> w0=50*sqrt(2.0)*pi;>> x=A*exp(-a*n*T).*sin(w0*n*T);>> subplot(1,1,1);stem(n,x);title('理想采样信号序列');6.产生理想采样信号序列的幅度谱和相位谱(采样频率为200HZ)>> k=-25:25;W=(pi/12.5)*k;>> f=(1/25)*k*200;>> X=x*(exp(-j*pi/12.5)).^(n'*k);>> magX=abs(X);>> subplot(2,1,1);stem(f,magX);title('理想采样信号序列的幅度谱');>> angX=angle(X);>> subplot(2,1,2);stem(f,angX);title('理想采样信号序列的相位谱');分析实验结果:采样频率为200HZ时产生了频谱混淆现象,产生这种现象的原因是采样频率小于两倍的信号频率最大上限。

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

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

实验2 离散系统的时域分析一、实验目的1、熟悉并掌握离散系统的差分方程表示法;2、加深对冲激响应和卷积分析方法的理解。

二、实验原理在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下:其输入、输出关系可用以下差分方程描述:输入信号分解为冲激信号,记系统单位冲激响应,则系统响应为如下的卷积计算式:当时,h[n]是有限长度的(),称系统为FIR系统;反之,称系统为IIR系统。

三、实验内容1、用MATLAB求系统响应1)卷积的实现线性移不变系统可由它的单位脉冲响应来表征。

若已知了单位脉冲响应和系统激励就可通过卷积运算来求取系统响应,即程序:x=input(‘Type in the input sequence=’); %输入xh=input(‘Type in the impulse response sequence=’); %输入hy=conv(x,h); % 对x,h进行卷积N=length(y)-1; %求出N的值n=0:1:N; %n从0开始,间隔为1的取值取到N为止disp(‘output sequence=’); disp(y); %输出ystem(n,y); %画出n为横轴,y为纵轴的离散图xlabel(‘Time index n’); ylable(‘Amplitude’); % 规定x轴y 轴的标签输入为:x=[-2 0 1 -1 3]h=[1 2 0 -1]图形:2)单位脉冲响应的求取线性时不变因果系统可用MATLAB的函数filter来仿真y=filter(b,a,x);其中,x和y是长度相等的两个矢量。

矢量x表示激励,矢量a,b 表示系统函数形式滤波器的分子和分母系数,得到的响应为矢量y。

例如计算以下系统的单位脉冲响应y(n)+0.7y(n-1)-0.45y(y-2)-0.6y(y-3)=0.8x(n)-0.44x(n-1)+0.36x(n-2)+0.02x(n-3)程序:N=input(‘Desired impuse response length=’);b=input(‘Type in the vector b=’);a=input(‘Type in the vector a=’);x=[1 zeros(1,N-1)];y=filter(b,a,x);k=0:1:N-1;stem(k,y);xlabel(’Time index n’); ylable(‘Amplitude’);输入:N=41b=[0.8 -0.44 0.36 0.02]a=[1 0.7 -0.45 -0.6]图形:2、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要如何补零?程序:clf;h = [3 2 1 -2 1 0 -4 0 3]; %impulse responsex = [1 -2 3 -4 3 2 1]; %input sequencey = conv(h,x);n = 0:14;subplot(2,1,1);stem(n,y);xlabel('Time index n'); ylabel('Amplitude');title('Output Obtained by Convolution'); grid;x1 = [x zeros(1,8)];y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel('Time index n'); ylabel('Amplitude');title('Output Generated by Filtering'); grid;图形:因为在y=filter(b,a,x)中,利用给定矢量a和b对x中的数据进行滤波,结果放入y矢量中,y与x长度要相等,所以要使用x[n]补零后的x1来产生y1。

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

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

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

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

(1)系统的差分方程为:)ynnxy-=(n-+y+n)2.0866((648.0()1.0)a=[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)(---+--=z z z z Ha=[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,理解卷积过程和程序中每一句的意义。

数字信号处理实验报告(全)

数字信号处理实验报告(全)

实验一、离散时间系统及离散卷积1、单位脉冲响应源程序:function pr1() %定义函数pr1a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1;x=impseq(0,-20,120); %调用impseq函数n=[-40:140]; %定义n从-20 到120h=filter(b,a,x); %调用函数给纵座标赋值figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激title('冲激响应'); %定义标题为:'冲激响应'xlabel('n'); %绘图横座标为nylabel('h(n)'); %绘图纵座标为h(n)figure(2) %绘图figure 2[z,p,g]=tf2zp(b,a); %绘出零极点图zplane(z,p)function [x,n]=impseq(n0,n1,n2) %声明impseq函数n=[n1:n2];x=[(n-n0)==0];结果:Figure 1:Figure 2:2、离散系统的幅频、相频的分析源程序:function pr2()b=[0.0181,0.0543,0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];m=0:length(b)-1; %m从0 到3l=0:length(a)-1; %l从0 到3K=5000;k=1:K;w=pi*k/K; %角频率wH=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义magH=abs(H); %magH为幅度angH=angle(H); %angH为相位figure(1)subplot(2,1,1); %在同一窗口的上半部分绘图plot(w/pi,magH); %绘制w(pi)-magH的图形grid;axis([0,1,0,1]); %限制横纵座标从0到1xlabel('w(pi)'); %x座标为 w(pi)ylabel('|H|'); %y座标为 angle(H)title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图plot(w/pi,angH); %绘制w(pi)-angH的图形grid; %为座标添加名称xlabel('w(pi)'); %x座标为 w(pi)ylabel('angle(H)'); %y座标为 angle(H)结果:3、卷积计算源程序:function pr3()n=-5:50; %声明n从-5到50u1=stepseq(0,-5,50); %调用stepseq函数声用明u1=u(n)u2=stepseq(10,-5,50); %调用stepseq函数声用明u2=u(n-10) %输入x(n)和冲激响应h(n)x=u1-u2; %x(n)=u(n)-u(n-10)h=((0.9).^n).*u1; %h(n)=0.9^n*u(n)figure(1)subplot(3,1,1); %绘制第一个子图stem(n,x); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('输入序列'); %规定标题为:'输入序列'xlabel('n'); %横轴为nylabel('x(n)'); %纵轴为x(n)subplot(3,1,2); %绘制第二个子图stem(n,h); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('冲激响应序列'); %规定标题为:'冲激响应序列'xlabel('n'); %横轴为nylabel('h(n)'); %纵轴为h(n)%输出响应[y,ny]=conv_m(x,n,h,n); %调用conv_m函数subplot(3,1,3); %绘制第三个子图stem(ny,y);axis([-5,50,0,8]);title('输出响应'); %规定标题为:'输出响应'xlabel('n');ylabel('y(n)'); %纵轴为y(n)%stepseq.m子程序%实现当n>=n0时x(n)的值为1function [x,n]=stepseq(n0,n1,n2)n=n1:n2;x=[(n-n0)>=0];%con_m的子程序%实现卷积的计算function [y,ny]=conv_m(x,nx,h,nh)nyb=nx(1)+nh(1);nye=nx(length(x))+nh(length(h));ny=[nyb:nye];y=conv(x,h);结果:实验二、离散傅立叶变换与快速傅立叶变换1、离散傅立叶变换(DFT)源程序:function pr4()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16)subplot(2,1,1); %绘制第一个子图x(n)stem(n,x); %绘制冲激title('x(n)'); %标题为x(n)xlabel('n'); %横座标为nX=dft(x,N); %调用dft函数计算x(n)的傅里叶变换magX=abs(X); %取变换的幅值subplot(2,1,2); %绘制第二个子图DFT|X|stem(n,X);title('DFT|X|');xlabel('f(pi)'); %横座标为f(pi)%dft的子程序%实现离散傅里叶变换function [Xk]=dft(xn,N)n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;结果:F=50,N=64,T=0.000625时的波形F=50,N=32,T=0.000625时的波形:2、快速傅立叶变换(FFT)源程序:%function pr5()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16) subplot(2,1,1);plot(n,x);title('x(n)');xlabel('n'); %在第一个子窗中绘图x(n)X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);title('DTFT|X|');xlabel('f(pi)'); %在第二个子图中绘图x(n)的快速傅%里叶变换结果:3、卷积的快速算法源程序:function pr6()n=0:14;x=1.^n;h=(4/5).^n;x(15:32)=0;h(15:32)=0;%到此 x(n)=1, n=0~14; x(n)=0,n=15~32% h(n)=(4/5)^n, n=0~14; h(n)=0,n=15~32subplot(3,1,1);stem(x);title('x(n)');axis([1,32,0,1.5]); %在第一个子窗绘图x(n)横轴从1到32,纵轴从0到1.5 subplot(3,1,2);stem(h);title('h(n)');axis([1,32,0,1.5]); %在第二个子窗绘图h(n)横轴从1到32,纵轴从0到1.5 X=fft(x); %X(n)为x(n)的快速傅里叶变换H=fft(h); %H(n)为h(n)的快速傅里叶变换Y=X.*H; %Y(n)=X(n)*H(n)%Y=conv(x,h);y=ifft(Y); %y(n)为Y(n)的傅里叶反变换subplot(3,1,3) %在第三个子窗绘图y(n)横轴从1到32,纵轴从0到6 stem(abs(y));title('y(n=x(n)*h(n))');axis([1,32,0,6]);结果:实验三、IIR数字滤波器设计源程序:function pr7()wp=0.2*pi;ws=0.3*pi;Rp=1;As=25;T=1;Fs=1/T;OmegaP=(2/T)*tan(wp/2); %OmegaP(w)=2*tan(0.1*pi) OmegaS=(2/T)*tan(ws/2); %OmegaS(w)=2*tan(0.15*pi)ep=sqrt(10^(Rp/10)-1);Ripple=sqrt(1/(1+ep.^2));Attn=1/10^(As/20);N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS) ));OmegaC=OmegaP/((10.^(Rp/10)-1).^(1/(2*N)));[cs,ds]=u_buttap(N,OmegaC);[b,a]=bilinear(cs,ds,Fs);[mag,db,pha,w]=freqz_m(b,a);subplot(3,1,1); %在第一个子窗绘制幅度响应的图形plot(w/pi,mag);title('幅度响应');xlabel('w(pi)');ylabel('H');axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1]);grid;subplot(3,1,2); %在第二个子窗以分贝为单位绘制幅度响应的图形plot(w/pi,db);title('幅度响应(dB)');xlabel('w(pi)');ylabel('H');axis([0,1,-40,5]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-50,-15,-1,0]);grid;subplot(3,1,3); %在第三个子窗绘制相位响应的图形plot(w/pi,pha);title('相位响应');xlabel('w(pi)');ylabel('pi unit');%axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-1,0,1]);grid;function [b,a]=u_buttap(N,OmegaC)[z,p,k]=buttap(N);p=p*OmegaC;k=k*OmegaC.^N;B=real(poly(z));b0=k;b=k*B;a=real(poly(p));function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:实验四、FIR数字滤波器的设计源程序:function pr8()wp=0.2*pi;ws=0.35*pi;tr_width=ws-wp;M=ceil(6.6*pi/tr_width)+1;n=0:M-1;wc=(ws+wp)/2;alpha=(M-1)/2;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);w_ham=(hamming(M))';h=hd.*w_ham;[mag,db,pha,w]=freqz_m(h,[1]);delta_w=2*pi/1000;Rp=-(min(db(1:wp/delta_w+1)));As=-round(max(db(ws/delta_w+1:501)));subplot(2,2,1);stem(n,hd);title('理想冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('hd(n)');subplot(2,2,2);stem(n,h);title('实际冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('h(n)');subplot(2,2,3);plot(w/pi,pha);title('滤波器相位响应');axis([0,1,-pi,pi]);ylabel('pha');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-pi,0,pi]); grid;subplot(2,2,4);plot(w/pi,db);title('滤波器幅度响应');axis([0,1,-100,10]);ylabel('H(db)');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-50,-15,0]);function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:。

信号实验报告--离散系统的冲激响应、卷积和

信号实验报告--离散系统的冲激响应、卷积和

实验报告一、实验室名称:信号与系统实验室二、实验项目名称:离散系统的冲激响应、卷积和三、实验原理:在离散时间情况下,最重要的是线性时不变(LTI )系统。

线性时不变系统的输入输出关系可通过冲激响应h[ n] 表示y[ n]x[ n]h[n]x[ k] h[ n k ]k其中表示卷积运算,MATLAB提供了求卷积函数conv,即y= conv(x,h)这里假设 x[n] 和 h[n] 都是有限长序列。

如果x[n]仅在 n x n n x N x1区间内为非零,而 h[n]仅在 n h n n h N h1上为非零,那么y[n] 就仅在(n x n h )n( n x n h )N x N h2内为非零值。

同时也表明conv只需要在上述区间内计算y[n]的 N x N h 1 个样本值。

需要注意的是, conv 并不产生存储在 y 中的 y[n]样本的序号,而这个序号是有意义的,因为 x 和 h 的区间都不是 conv 的输入区间,这样就应负责保持这些序号之间的联系。

filter命令计算线性常系数差分方程表征的因果LTI 系统在某一给定输入时的输出。

具体地说,考虑一个满足下列差分方程的LTI系统:N Ma k y[ n k ]b m x[ n m]k 0m 0式中x[n]是系统输入,y[n]是系统输出。

若x 是包含在区间n x n n x N x1内x[n]的一个MATLAB向量,而向量 a 和b 包含系数a k和 b k,那么y=filter(b,a,x)就会得出满足下面差分方程的因果LTI 系统的输出:N Ma(k 1) y[n k]b(m 1) x[ n m]k 0m 0注意, a( k 1) a k和 b(m 1) b m,因为MATLAB要求所有的向量序号都从1开始。

例如,为了表示差分方程y[ n] 2 y[ n 1] x[ n] 3x[ n1] 表征的系统,就应该定义 a=[1 2] 和 b=[1 -3]。

实验2离散序列的卷积和系统差分方程的MATLAB实现示

实验2离散序列的卷积和系统差分方程的MATLAB实现示

信息工程学院实验报告课程名称:数字信号处理实验项目名称:实验2 离散序列的卷积和系统差分方程的MATLAB 实现示 实验时间: 班级: 姓名: 学号:一、实 验 目 的:熟悉序列的卷积运算及其MATLAB 实现;熟悉离散序列的傅里叶变换理论及其MATLAB 实现;加深对离散系统的差分方程和系统频率响应的理解。

二、实 验 设 备 与 器 件MATLAB 2008软件三、实 验 原 理3.1离散序列卷积运算的MATLAB 实现两序列的线性卷积定义为:()*()()()k x n y n x k y n k ∞=-∞=-∑MATLAB 提供了一个内部函数conv(x,h)来计算两个有限长序列之间的卷积。

3.2离散系统差分方程的MATLAB 求解方法对于时域离散系统,可用差分方程描述或研究输入、输出之间的关系。

对于线性时不变系统,经常用的是线性常系数差分方程。

一个N 阶线性常系数差分方程用下式表示:()()N Miii i b y n i a x n i ==-=-∑∑当0,1,2,,i b i N ==时,[]h n 是有限长度的,称系统为FIR 系统;反之,称系统为IIR 系统。

在MATLAB 中,可以用函数filter(a,b,x)求解差分方程,其中参数a,b 分别系统函数的分子和分母多项式的系数。

四、实 验 内 容 与 结 果 分 析4.1已知1(){1,1,1,1,1}x n =,2(){1,1,1,1,1,1,1}x n =,计算12()()*()y n x n x n =。

指令语句如下:N=5;M=7;L=N+M-1;x1=[1,1,1,1,1]; nx1 =0:N-1; x2=[1,1,1,1,1,1,1]; nx2=0:M-1; y=conv(x1,x2); ny=0:L-1;subplot(1,3,1);stem(nx1,nx1,'.');xlabel('n');ylabel('x1(n)');grid on;subplot(1,3,2);stem(nx2,nx2,'.');xlabel('n');ylabel('x2(n)');grid on; subplot(1,3,3);stem(ny,y,'.');xlabel('n');ylabel('y(n)');grid on;执行结果如图4-1所示:图4-14.2 求系统:()0.5((1)(2)(3)(4))y n x n x n x n x n =-+-+-+-的单位冲激响应和阶跃响应。

实验二、离散系统分析报告

实验二、离散系统分析报告

本科学生验证性实验报告学号104090459 静学院物电学院专业、班级10电子实验课程名称数字信号处理实验教师及职称卫平教授开课学期2013 至2013 学年下学期填报时间2013 年 5 月23 日师大学教务处编印(1).为了省时间以及编译的方便性,程序应该在Blank M-File 中输入,而不应该在Command Window 中直接运行;(2).在使用MA TLAB 时应注意中英输入法的切换,在中文输入法输入程序时得到的程序是错误的;(3). MATLAB 中两个信号相乘表示为x.*u,中间有个‘.’,同样两个信号相除也是如此,也就是在实验中要注意乘和点乘的区别。

二.实验容1.实验现象与结果1..已知某LTI 系统的差分方程为: (1)初始状态 ,输入计算系统的完全响应。

(2)当以下三个信号分别通过系统时,分别计算离散系统的零状态响应:(3)该系统具有什么特性?(1)a=[1,-1.143,0.412];b=[0.0675,0.1349,0.0675];N=100;x=ones(1,N);zi=filtic(b,a,[1,2]);y=filter(b,a,x,zi)stem(y);(2)a=[1,-1.143,0.412];b=[0.0675,0.1349,0.0675];N=100;k=1:N;x1=cos(pi/10*k);y1=filter(b,a,x1)stem(y1);]2[0675.0]1[1349.0][0675.0]2[412.0]1[143.1][-+-+=-+--k x k x k x k y k y k y 2]2[,1]1[=-=-y y ][][k u k x =][)107cos(][];[)5cos(][];[)10cos(][321k u k k x k u k k x k u k k x πππ===x2=cos(pi/5*k);y2=filter(b,a,x2) stem(y2);x3=cos(7*pi/10*k); y3=filter(b,a,x3)stem(y3);4.已知某离散系统的输入输出序列。

《数字信号处理》序列的基本运算和时域变换与离散信号的卷积和实验

《数字信号处理》序列的基本运算和时域变换与离散信号的卷积和实验

《数字信号处理》序列的基本运算和时域变换与离散信号的卷积和实验一、实验目的1、掌握两个离散信号卷积和的计算方法和编程技术。

2、进一步熟悉用MATLAB 描绘二维图像的方法。

3、熟悉用MA TLAB 描绘二维图像的方法。

4、掌握用MA TLAB 对序列进行基本的运算和时域变换的方法。

二、实验器材 MATLAB 软件2019三、实验原理离散信号的卷积和原理:两个离散序列x (n )与y (n )的卷积和f (n )定义为∑∞-∞=-=*=m m n y m x n y n x n f )()()()()(由于通常信号处理中所碰到的都是有始信号或有限时间信号,因此在实际计算卷积和时,求和是在有限范围内进行的。

计算过程中上下限的选取和所得结果的分布区间取决于参与卷积的两个序列,下面将分别进行讨论:1、两个从n = 0开始的序列)()()(n u n x n x =和)()()(n u n y n y =的卷积和∑∑=∞-∞=-=--=nm m n u m n y m x m n u m n y m u m x n f 0)()]()([)()()()()( (1)上式右边因子u (n )表示卷积和的结果也是一个从n = 0开始的序列。

2、从n = n 1开始的序列)()()(1n n u n x n x -=和从n = n 2开始的序列)()()(2n n u n y n y -=的卷积和,其中n 1和n 2为任意整数。

∑∑-=∞-∞=---=----=21)()]()([)()()()()(2121n n n m m n nn u m n y m x n m n u m n y n m u m x n f (2)上式右边因子u (n -n 1-n 2)表示卷积和是一个从n = n 1+n 2开始的序列。

上机:conv.m 用来实现两个离散序列的线性卷积。

其调用格式是:y=conv(x,h)若x 的长度为N ,h 的长度为M ,则y 的长度L=N+M -1。

  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 里保存下来,这样就会节省很多的时间,将更多的时间用于程序的理解中,这次实验还让我懂了一个道理,就就是有些事情的本质就是一样的,变化的只就是一层外表,这次实验的两个题目本质上没有变化,只就是变了一些参数,真正懂了之后就会知道怎么样去做。

相关文档
最新文档