实验3离散系统的差分方程、冲激响应和卷积分析
- 格式:doc
- 大小:136.50 KB
- 文档页数:4
数字信号处理实验报告实验1 常见离散信号的MATLAB 产生和图形显示1.程序(1) 单位抽样序列1()0n δ⎧=⎨⎩n n =≠ 如果()n δ在时间轴上延迟了k 个单位,得到()n k δ-即:1()0n k δ⎧-=⎨⎩n k n =≠程序如下: N=20; k=9;x=zeros(1,N); x(10)=1;n=[k-9:N+k-10]; stem(n,x);(2) 单位阶跃序列1()0u n ⎧=⎨⎩00n n ≥<程序如下:N=20;x=ones(1,N); x(1:3)=0; n=[-3:N-4]; stem(n,x);title('单位阶跃序列'); (3) 正弦序列()sin(2/)x n A fn Fs πϕ=+ 程序如下:N=50; n=0:N-1; A=1; f=50; Fs=f*N; fai=0.5*pi;x=A*sin(2*pi*f*n/Fs+fai); stem(n,x);(4) 复正弦序列=x n eω()j n程序如下:N=50;n=0:N-1;w=2*pi/N;x=exp(j*w*n);plot(x,'*');复指数序列0()()j n x n e σω+=或0()j n x n e ω=,它具有实部与虚部,0ω是复正弦的数字域频率。
对第一种表示形式,可以写成0000()(cos sin )cos sin n n n x n e n j n e n je n σσσωωωω=+=+。
如果用极坐标表示,则0arg[()]()|()|jw n j x n n x n x n e e e σ==|()|n x n e σ=,0arg[()]x n n ω=若0n e σ<,则x (n )为衰减的复正弦,其实部和虚部分别为衰减振荡的正弦分量;若实部0n e σ>,则实部和虚部分别为增大的正弦分量;若0n e σ=,则实部和虚部分别为等幅振荡。
信息科学与工程学院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基础知识的记忆很重要,基本的最常规的代码用法和格式需要记忆,熟能生巧,需要在以后的实验中动脑子并且多做。
离散系统的时域分析二、实验目的:1、熟悉并掌握离散系统的差分方程表示法;2、加深对冲激响应和卷积分析方法的理解。
三、实验内容1、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要如何补零?答: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;2、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
要求分别用 filter、conv、impz三种函数完成。
,给出理论计算结果和程序计算结果并讨论。
2(1)N=50;a=[1,0.75,0.125];b=[1,-1];y1=impz(b,a,50);subplot(3,1,1);stem(y1);title('Output Obtained by impz');grid;a1=[1,0.75,0.125];b1=[1,-1];n1=0:50;yy=impz(b1,a1,50);x2=ones(1,51);y1=conv(x2,yy);subplot(3,1,2);stem(n1,y11);xlabel('Time index n'); ylabel('Amplitude'); title('Output Obtained by Convolution');grid; a1=[1,0.75,0.125];b1=[1,-1];n=0:50;x2=ones(1,51);y4=filter(b1,a1,x2);subplot(3,1,3);stem(n,y4);xlabel('Time index n'); ylabel('Amplitude'); title('Output Obtained by Filter');grid;2(2)N=50;b=[0,0.25,0.25,0.25,0.25];a=[1];y1=impz(b,a,N);subplot(3,1,1);stem(y1);title('Output Obtained by impz');grid;b=[0,0.25,0.25,0.25,0.25];a=[1];n1=0:50;yy=impz(b,a,50);x2=ones(1,51);y1=conv(yy,x2);y11=y1(1:51);subplot(3,1,2);stem(n1,y11);xlabel('Time index n'); ylabel('Amplitude'); title('Output Obtained by conv');grid;b=[0,0.25,0.25,0.25,0.25];a=[1];n=0:50;x2=ones(1,51);y4=filter(b,a,x2);subplot(3,1,3);stem(n,y4);xlabel('Time index n'); ylabel('Amplitude'); title('Output Obtained by filter');grid;。
数字信号处理实验报告班级:硕姓名:学号:实验1 常见离散信号的MATLAB 产生和图形显示实验目的:加深对常用离散信号的理解;实验内容:(1)单位抽样序列clc;x=zeros(1,11); x(1)=1; n=0:1:10;stem(n,x, 'fill'); title('单位抽样序列'); xlabel('n'); ylabel('x[n]')延迟5个单位:clc;x=zeros(1,11); x(6)=1; n=0:1:10;stem(n,x, 'fill'); title('单位抽样序列'); xlabel('n'); ylabel('x[n]')nx [n ](2)单位阶跃序列clc;x=[zeros(1,5),ones(1,6)]; n=-5:1:5;stem(n,x,'fill'); title('单位阶跃序列'); xlabel('n'); ylabel('x[n]');nx [n ](3)正弦序列clc; N=50; n=0:1:N-1; A=1; f=1; Fs=50; fai=pi;x=A*sin(2*pi*f*n/Fs+fai); stem(n,x,'fill'); title('正弦序列'); xlabel('n'); ylabel('x[n]'); axis([0 50 -1 1]);nx [n ](4)复正弦序列clc; N=50; n=0:1:N-1; w=2*pi/50; x=exp(j*w*n); subplot(2,1,1); stem(n,real(x)); title('复正弦序列实部'); xlabel('n');ylabel('real(x[n])'); axis([0 50 -1 1]); subplot(2,1,2); stem(n,imag(x)); title('复正弦序列虚部'); xlabel('n');ylabel('imag(x[n])'); axis([0 50 -1 1]);nx [n ](5)指数序列clc; N=10; n=0:1:N-1; a=0.5; x=a.^n;stem(n,x,'fill'); title('指数序列'); xlabel('n'); ylabel('x[n]'); axis([0 10 0 1]);nr e a l (x [n ])ni m a g (x [n ])(6)复指数序列性质讨论:0(j )()enx n σω+=将复指数表示成实部与虚部为00()e cos j sin n n x n n e n σσωω=+1.当σ=0时,它的实部和虚部都是正弦序列。
实验2离散系统的时域分析实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。
实验原理:离散系统][n x ][n y Discrete-timesystme其输入、输出关系可用以下差分方程描述:∑∑==-=-Mk k Nk kk n x p k n y d][][输入信号分解为冲激信号,∑∞-∞=-=m m n m x n x ][][][δ。
记系统单位冲激响应][][n h n →δ,则系统响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y ][][][][][当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。
在MATLAB 中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。
实验内容和要求: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 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; 程序运行结果:2468101214-20-1001020Time index nA m p l i t u d e Output Obtained by Convolution2468101214-20-1001020Time index nA m p l i t u d eOutput Generated by Filtering由图可看出,y 与y1并无差别。
数字信号处理实验1--5含代码实验一离散时间信号的时域分析 1. 在MATLAB中利用逻辑关系式n,,0来实现序列,显示范围。
(产生如下,,,n,nn,n,n012图所示的单位脉冲信号的函数为impseq(n0,n1,n2),程序如示例所示),3,n,10并利用impseq函数实现序列:; ,,,,,,yn,2,n,3,,n,6,,xn1nnnn120源代码:impseq.mfunction y=impseq(n0,n1,n2)n=[n1:n2]y=[(n-n0)==0]exp01-1.mfunction impseq(n0,n1,n2)n=-3:1:10y=2*impseq(3,-3,10)+impseq(6,-3,10);stem(n,y)n,,0,,2. 在MATLAB中利用逻辑关系式来实现序列,显示范围。
(自己编写un,nn,n,n012产生单位阶跃信号的函数,函数命名为stepseq(n0,n1,n2)) 并利用编写的stepseq函数实现序列: ,,,,,,yn,un,2,un,2,5,n,10源代码:stepseq.mfunction y=stepseq(n0,n1,n2)n=n1:1:n2y=[(n-n0)>=0]exp01-2.mfunction stepseq(n0,n1,n2)n=-5:1:20y=stepseq(-2,-5,20)+stepseq(2,-5,20)stem(n,y)3. 在MATLAB中利用数组运算符“.^”来实现一个实指数序列。
如: n ,,,,xn,0.30,n,15源代码:n=0:1:15;x=0.3.^nstem(n,x)4. 在MATLAB中调用函数sin或cos产生正余弦序列,如:π,, ,,,,xn,3sin0.4πn,,5cos0.3πn0,n,20,,5,,源代码:n=0:1:20x=11*sin(0.3*pi*n+pi/5)+5*cos(0.3*pi*n)stem(n,x)思考题:1.在MATLAB环境下产生单位脉冲序列和单位阶跃序列各有几种方法,如何使用,2.在MATLAB环境下进行序列的相乘运算时应注意什么问题,实验二离散时间系统的时域分析1. 在MATLAB中利用内部函数conv来计算两个有限长序列的卷积。
实验报告实验二 信号、系统及系统响应,离散系统的时域分析一、实验目的(1) 熟悉连续信号经理想采样前后的频谱变换关系,加深对时域采样定理的理解;(2) 熟悉时域离散系统的时域特性; (3) 利用卷积方法观察分析系统的时域特性;(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
(5) 熟悉并掌握离散系统的差分方程表示法; (6) 加深对冲激响应和卷积分析方法的理解。
二、实验原理与方法1、信号、系统及系统响应采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生的变化以及信号信息不丢失的条件,而且可以加深对傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。
我们知道,对一个连续信号xa(t)进行理想采样的过程可用(2-1)表示。
^()()()(21)a a x t x t p t =-其中^()a x t 为()a x t 的理想采样,()p t 为周期冲激脉冲,即()()(22)n p t t nT δ∞=-∞=--∑^()a x t 的傅里叶变换^()a X j Ω为^1()[()](23)a a s m X j X j m T ∞=-∞Ω=Ω-Ω-∑(2-3)式表明^()a X j Ω为()a X j Ω的周期延拓,其延拓周期为采样角频率(2/)s T πΩ=。
其采样前后信号的频谱只有满足采样定理时,才不会发生频率混叠失真。
将(2-2)带入(2-1)式并进行傅里叶变换:^()[()()]j t a a n X j x t t nT e dtδ∞∞-Ω-∞=-∞Ω=-∑⎰[()()]j t a n x t t nT e dtδ∞∞-Ω-∞=-∞=-∑⎰()(24)j nTan x nT e∞-Ω=-∞=-∑式中()a x nT 就是采样后得到的序列()x n ,即()()a x n x nT =()x n 的傅里叶变换()j X e ω为()()(25)j j nn X e x n eωω∞-=-∞=-∑比较(2-5)和(2-4)可知在数字计算机上观察分析各种序列的频域特性, 通常对X(ej ω)在[0, 2π]上进行M 点采样来观察分析。
一、实验背景与目的离散实验是数字信号处理和系统理论中的重要内容,通过实验,我们可以更直观地理解离散系统的基本概念、理论和方法。
本次实验旨在通过MATLAB软件对离散系统进行仿真和分析,加深对以下内容的理解:1. 离散时间系统的基本概念和数学模型。
2. 离散系统的时域、频域和Z域分析。
3. 离散系统的零、极点分布及其对系统性能的影响。
4. 常见离散系统的设计与应用。
二、实验内容与步骤1. 离散时间系统的时域分析(1)设计一个简单的离散时间系统,如一阶差分方程、二阶差分方程等。
(2)使用MATLAB编写程序,求解系统的单位冲激响应。
(3)通过绘制单位冲激响应曲线,观察系统的稳定性和响应特性。
(4)分析系统的稳定性和响应特性与系统参数之间的关系。
2. 离散系统的频域分析(1)对设计好的离散时间系统进行Z变换,求出系统的传递函数。
(2)使用MATLAB绘制系统的幅频响应和相频响应曲线。
(3)通过分析幅频响应和相频响应曲线,了解系统的频率特性。
(4)比较不同参数对系统频率特性的影响。
3. 离散系统的零、极点分布分析(1)根据系统的传递函数,求出系统的零点和极点。
(2)使用MATLAB绘制系统的零、极点分布图。
(3)分析零、极点分布对系统稳定性和频率特性的影响。
(4)通过调整系统参数,观察零、极点分布的变化,并分析其对系统性能的影响。
4. 常见离散系统的设计与应用(1)设计一个简单的低通滤波器,如FIR滤波器、IIR滤波器等。
(2)使用MATLAB绘制滤波器的幅频响应和相频响应曲线。
(3)分析滤波器的性能,如通带纹波、阻带衰减等。
(4)将滤波器应用于实际信号处理问题,如信号滤波、噪声抑制等。
三、实验结果与分析在实验过程中,记录以下内容:1. 离散时间系统的单位冲激响应曲线。
2. 离散系统的幅频响应和相频响应曲线。
3. 离散系统的零、极点分布图。
4. 滤波器的幅频响应和相频响应曲线。
对实验结果进行分析,主要包括:1. 离散时间系统的稳定性和响应特性。
武汉工程大学信号分析与处理实验四专业:通信02班学生姓名:李瑶华学号:1304200113完成时间:2020年6月26日实验三: LSI离散系统的频域分析一、实验目的1.通过在频域中仿真LSI 离散时间系统,理解离散时间系统对输入信号或延迟信号进行频域处理的特性。
2.理解LSI 离散时间系统的传输函数和频率响应的概念。
3.理解LSI 离散时间系统的滤波特性及滤波器的相关特性。
4.理解并仿真LSI 离散时间系统的零、极点分布表征及特性关系。
二、实验设备计算机,MATLAB 语言环境 三、实验基础理论LSI 离散时间系统可用差分方程描述如下:∑∑==-=-Nk Mk kkk n x pk n y d][][对应的传输函数和频率响应分别为:NN M M z d z d d z p z p p z X z Y z H ----+⋅⋅⋅+++⋅⋅⋅++==110110)()()(∑∑=-=-=Nk k j k Mk k j k j e d e p e H 00)(ωωω分别有零点和极点。
四、实验内容与步骤1.传输函数和频率响应分析按以下的传输函数分别编程计算2127.05.01)1(15.0)(---+--=z z z z H 和 2125.07.0)1(15.0)(---+--=z z z z H 计算当 πω≤≤0时因果LSI 离散时间系统的频率响应,并求出它们的群时延及冲激响应的开始部分(前100个值)。
b=[0.15,0,-0.15];a=[1,-0.5,0.7];b1=[0.15,0,-0.15];a1=[0.7,-0.5,1]; figure(1);subplot(1,2,1)plot(grpdelay(b,a)),grid,title('系统1的群延时') subplot(1,2,2)plot(grpdelay(b1,a1)),grid,title('系统2的群延时') w=0:0.1:pi;z=exp(j*w);[H1,w]=freqz(b,a);[H2,w]=freqz(b1,a1); figure(2);subplot(2,2,1),plot(w,abs(H1)),title('系统1的频率幅度响应') subplot(2,2,2),plot(w,abs(H2)),title('系统2的频率幅度响应') subplot(2,2,3),plot(w,angle(H1)),title('系统1的频率相位响应') subplot(2,2,4),plot(w,angle(H2)),title('系统2的频率相位响应') xn=[1,zeros(1,99)];hn1=filter(b,a,xn);hn2=filter(b1,a1,xn); n1=0:length(hn1)-1;n2=0:length(hn2)-1;figure(3);stem(n1,hn1),xlabel('n'),ylabel('h1(n)'),title('冲激响应hn1'); figure(4);stem(n2,hn2),xlabel('n'),ylabel('h2(n)'),title('冲激响应hn2');2.画出上面两个LSI离散时间系统对应的零、极点图。
实验3离散系统的差分方程、冲激响应和卷积分析
一
一、实验目的
1 加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。
二、实验原理
离散系统
]
[n x ]
[n y Discrete-time
systme
其输入、输出关系可用以下差分方程描述:∑=∑=-=
-M k k N
k k k n x p k n y d 0
][][
输入信号分解为冲激信号 ∑-=∞
-∞
=m m n m x n x ][][][δ
记系统单位冲激响应
]
[][n h n →δ
则系统响应为如下的卷积计算式 ∑∞
-∞
=-=
*=m m n h m x n h n x n y ][][][][][
当
N
k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为
FIR 系统;反之,称系统为IIR 系统。
在MATLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。
二、实验内容
编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
]
1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y
]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y
程序1:
A=[1,0.75,0.125];B=[1,-1]; x2n=ones(1,65);
x1n=[1,zeros(1,30)]; y1n=filter(B,A,x1n);
课程名称 实验成绩 指导教师 实 验 报 告
院系 班级
学号 姓名 日期
subplot(2,1,1);y='y1(n)'; stem(y1n,'g','.');
title('单位冲击响应')
y2n=filter(B,A,x2n); subplot(2,1,2);
y='y2(n)';
stem(y2n,'g','.');
title('阶跃响应')
程序2
A=[1];B=[0,0.25,0.25,0.25,0.25];
x2n=ones(1,25);
x1n=[1,zeros(1,30)];
y1n=filter(B,A,x1n);
subplot(2,1,1);y='y1(n)';
stem(y1n,'g','.');
title('单位冲击响应')
y2n=filter(B,A,x2n);
subplot(2,1,2);
y='y2(n)';
stem(y2n,'g','.');
title('阶跃响应')
三、理论计算:
经计算:
系统: ]1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y
理论冲激响应为: ()()()()n u n u z h n
n
)25.0(*55.06---*=
理论阶跃响应为: ()n
n
z g )25.0()5.0(*2---=
理论图形为:
由图知与程序结果一致。
系统 : ]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y 冲激响应为: )]4()3()2()1([*25.0)(-+-+-+-=n n n n z h δδδδ 阶跃响应为: )]4()3()2()1([*25.0)(-+-+-+-=n u n u n u n u z g 理论图形为:
四、实验小结
通过这次实验,基本学会了用MATLAB 软件编程求离散系统的单位脉冲响应和单位冲击响应,对解离散系统差分方程有了进一步学习。