用matlab计算序列卷积和并绘图

合集下载

实验三 MATLAB计算结果可视化和卷积操作

实验三  MATLAB计算结果可视化和卷积操作

实验三MATLAB计算结果可视化和卷积操作(一)实验目的1)掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理。

2)掌握卷积运算。

(二)实验设备计算机,Matlab软件(三)实验要求本实验属于设计实验,请先根据(四)实验内容的(a)【matlab相关介绍及演示进行仿真】,并完成(b)【实验操作】。

请在页眉处填写班级、学号、姓名,并将实验报告命名为“实验三_学号_姓名”,并通过FTP上传至指定文件夹。

(四)实验内容(a)matlab相关介绍及演示MA TLAB在数据可视化方面的表现能力很强。

它的图形处理能力不仅功能强大,而且充分考虑了不同层次用户的不同需求,系统具有两个层次的绘图指令:一个层次是直接对图形句柄进行操作的底层绘图指令;另一层次是在底层指令基础上建立的高层绘图指令。

常用的MA TLAB绘图语句有figure、plot、subplot、stem等,图形修饰语具有title、axis、text 等。

(1)figure语句figure有两种用法。

当只有一句figure命令时,程序会创建一个新的图形窗口,并返回一个整数型的窗口编号。

当采用figure(n)时,表示将第n个图形窗口作为当前的图形窗口,将其显示在所有窗口的最前面。

如果该图形窗口不存在,则新建一个窗口,并赋以编号n。

(2)plot语句线形绘图函数。

用法为plot(x,y,’s’)。

参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略,常用方法如表2-1所示。

表2-1 plot命令的参数及其含义(3)subplot语句subplot(m,n,i)是分割显示图形窗口命令,它把一个图形窗口分为m行n列共m×n个小窗口,并指定第i个小窗口为当前窗口。

(4)二维统计分析图在MA TLAB中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,…)例2-1 分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。

卷积和相关的matlab实现

卷积和相关的matlab实现

两个序列的卷积:c(n)=a(n)*b(n)即k c(n)=a(k)b(n-k)∑如果a 和b 的脚标范围为:12[,]a a 与12[,]b b ,则c 的脚标范围为1122[,]a b a b ++,但是由于matlab 的索引是从1开始的,这里假设a 和b 都是从n=1开始。

知道最后的范围即可:function c = convolution(a,b)M= length(a); %a 序列的长度N=length(b); %b 序列的长度c=zeros(1,N+M-1); %用来存放卷积的结果for n = 2:(M+N) %卷积之后的索引本应该的范围tmp_max=min(n-1,M); %根据求和表达式,由1=<k<=M 且 1=<n-k<=N tmp_min=max(n-N,1); %确定最终求和变量k 的取值for k =tmp_min:1:tmp_max;c(n-1) = c(n-1) +a(k)*b(n-k);%求和,同时由于c 从1开始索引,%将n 的范围2:M+N%对应到c 的1:M+N-1中去endend调用matlab 自带卷积函数conv 验证:>> x = 1:9;>> y=2:8;>> conv(x,y)ans =2 7 16 30 50 77 112 147 182 197 200 190 166 127 72>> convolution(x,y)ans =2 7 16 30 50 77 112 147 182 197 200 190 166 127 72两个序列的相关:()((),())c n cor a n b n =即()()*()k c n a n k b k =+∑同样,如果a 和b 的脚标范围为:12[,]a a 与12[,]b b ,则c 的脚标范围为1221[,]a b a b -+,但是由于matlab 的索引是从1开始的,这里假设a 和b 都是从n=1开始。

实验一:离散时间序列卷积和MATLAB实现

实验一:离散时间序列卷积和MATLAB实现

实验一:离散时间序列卷积和MATLAB 实现(一)实验目的1、掌握离散卷积计算方法;2、学会线性常系数差分方程的迭代解法;3、学会针对具体系统设计程序;(二)实验内容1、用MATLAB 画出如下表达式的脉冲序列()8.0() 3.4(1) 1.8(2) 5.6(3) 2.9(4)0.7(5)f n n n n n n n δδδδδδ=+-+-+-+-+-例如:x(1)=8.0; n=0:5;fn=[8.0 3.4 1.8 5.6 2.9 0.7]; stem(n,fn); xlabel('n'); ylabel('fn');nf n2、 计算卷积用MATLAB 计算序列{1 2 3 3 2 1 1}和序列{-1 2 0 1}的离散卷积。

首先用手工计算,然后用MATLAB 函数conv(x,y)编程验证。

MATLAB 部分参考程序如下: a=[1 2 3 3 2 1 1]; c=conv(a,b); M=length(c)-1; stem(n,c);xlabel('n'); ylabel('幅度');subplot(3,1,1); a=[1 2 3 3 2 1 1]; stem(a); subplot(3,1,2)b=[-1 2 0 1]; stem(b); subplot(3,1,3); c=conv(a,b); M=length(c)-1;stem(c);xlabel('n'); ylabel('幅度');3、参考教材P14页,使用通用卷积convu 函数,计算如下卷积已知h(n)=R 5(n+2),x(n)=3R 4(n-3),计算y(n)=x(n)*h(n)编程实现并在一幅图内分别画出h(n),x(n),y(n),标好横坐标与纵坐标。

subplot(3,1,1); h=ones(1,5);nh=-2;2; stem(h);xlabel('n'); ylabel('幅度'); subplot(3,1,2);x=3*ones(1,4);nx=3:6; stem(x);xlabel('n'); ylabel('幅度'); subplot(3,1,3); [y,ny]=convu(h,nh,x,nx); stem(y);xlabel('n'); ylabel('幅度');4、编写教材P31第15题的MATLAB 程序。

离散序列卷积和(用matlab实现)

离散序列卷积和(用matlab实现)

数字信号处理实验报告实验一 离散时间序列卷积和MATLAB 实现(一)实验目的:学会用MATLAB 对信号与系统分析的方法,理解离散序列卷积和的计算对进行离散信号与系统分析的重要性。

(二)实验原理:1、离散时间序列f1(k)和f2(k)的卷积和定义:f(k)=f1(k)*f2(k)=∑∞-∞=-•i i k f i f )(2)(12、在离散信号与系统分析中有两个与卷积和相关的重要结论:a 、f(k)=∑∞-∞=-•i i k i f )()(δ=f(k)* δ(k)即离散序列可分解为一系列幅度由f(k)决定的单位序列δ(k)及其平移序列之积。

b 、对线性时不变系统,设其输入序列为f(k),单位响应为h(k),其零状态响应为y(k),则有:y(k)=∑∞-∞=-•i i k h i f )()(3、上机:conv.m 用来实现两个离散序列的线性卷积。

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

(三)实验内容1、题一:令x(n)= {}5,4,3,2,1,h(n)={}246326,,,,,,y(n)=x(n)*h(n),求y(n)。

要求用subplot 和stem 画出x(n),h(n),y(n)与n 的离散序列图形。

源程序: N=5; M=6;L=N+M-1; x=[1,2,3,4,5]; h=[6,2,3,6,4,2]; y=conv(x,h); nx=0:N-1; nh=0:M-1; ny=0:L-1;subplot(131); stem(nx,x,'*k'); xlabel('n'); ylabel('x(n)'); grid on ;subplot(132); stem(nh,h,'*k'); xlabel('n'); ylabel('h(n)'); grid on ;subplot(133); stem(ny,y,'*k'); xlabel('n'); ylabel('y(n)'); grid on ;实验结果:24nx (n)5nh (n )510ny (n )分析实验结果:根据实验结果分析可知,实验所得的数值跟x (n )与y (n )所卷积的结果相同。

matlab实验二 离散信号的卷积和

matlab实验二 离散信号的卷积和

(数字信号处理)实验报告实验名称 实验二 离散信号的卷积和 实验时间 年 月 日专业班级 学 号 姓 名成 绩 教师评语: 一、 实验目的1、掌握两个离散信号卷积和的计算方法和编程技术。

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

二、 实验原理与计算方法两个离散序列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 = n1开始的序列)()()(1n n u n x n x -=和从n = n2开始的序列)()()(2n n u n y n y -=的卷积和,其中n1和n2为任意整数。

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

3、从n = n1开始的长度为N1的加窗序列)()()(1n w n x n x N =和从n = n2开始的长度为N2的加窗序列)()()(2n w n y n y N =的卷积和,其中⎩⎨⎧-+≤≤=otherwise 0 1 1 )(1111N n n n n w N⎩⎨⎧-+≤≤=o t h e r w i s e 0 11 )(2222N n n n n w N则∑∞-∞=--=m N N m n w m n y m wm x n f )()()()()(21(3)所得卷积和也是一个加窗序列,从n = n1+ n2开始,长度为N1+ N2-1。

离散序列卷积和(用matlab实现)

离散序列卷积和(用matlab实现)

离散序列卷积和(用matlab实现)MATLAB(一)实验目的:学会用MATLAB对信号与系统分析的方法,理解离散序列卷积和的计算对进行离散信号与系统分析的重要性。

(二)实验原理:1、离散时间序列f1(k)和f2(k)的卷积和定义:,f1(i),f2(k,i) f(k)=f1(k)*f2(k)= ,i,,,2、在离散信号与系统分析中有两个与卷积和相关的重要结论:,f(i),,(k,i) a、f(k)= =f(k)* δ(k)即离散序列可分解为一系列,i,,,幅度由f(k)决定的单位序列δ(k)及其平移序列之积。

b、对线性时不变系统,设其输入序列为f(k),单位响应为h(k),其零状,f(i),h(k,i)态响应为y(k),则有:y(k)= ,i,,,3、上机:conv.m用来实现两个离散序列的线性卷积。

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

(三)实验内容,,,,1,2,3,4,56,2,3,6,4,21、题一:令x(n)= ,h(n)=,y(n)=x(n)*h(n),求y(n)。

要求用subplot和stem画出x(n),h(n),y(n)与n的离散序列图形。

源程序:N=5;M=6;L=N+M-1;x=[1,2,3,4,5];h=[6,2,3,6,4,2];y=conv(x,h);nx=0:N-1;nh=0:M-1;ny=0:L-1;subplot(131); stem(nx,x,'*k'); xlabel('n'); ylabel('x(n)'); grid on ;subplot(132); stem(nh,h,'*k'); xlabel('n'); ylabel('h(n)'); grid on ;subplot(133); stem(ny,y,'*k'); xlabel('n'); ylabel('y(n)'); grid on ;实验结果:56704.56054503.543402.53x(n)h(n)y(n)30221.52011100.5000024050510nnn分析实验结果:根据实验结果分析可知,实验所得的数值跟x(n)与y(n)所卷积的结果相同。

用MATLAB实现序列的圆周卷积

数字信号处理实验报告
实验项目名称:用MATLAB实现序列的圆周卷积
实验日期:2012-11-28 实验成绩:
实验评定标准:
一、实验目的
通过本实验,掌握一些基本而且重要的离散时间信号,熟悉基本离散时间信号的MATLAB实现方法。

二、实验器材
PC机,MATLAB软件。

三、实验内容
利用MATLAB计算序列x(n)=cos(n*pi/7)的DFT;
求y(n)=x((n+9))16R(n)16的DFT,并画出图形。

四、实验结果
实验一代码:
clear all; close all;
clc;
N=32;n=0:N-1;
xn=cos(pi*n/7);
k=0:N-1;
WN=exp(-j*2*pi/N); nk=n'*k; WNnk=WN.^nk; Xk=xn*WNnk; figure(1)
stem(n,xn) figure(2)
stem(k,abs(Xk))
实验一结果: 实验二代码:
clc;
N=16;
n=0:N-1;m=5; xn=8*exp(n); yn=xn(mod((n+m),N)+1); k=0:N-1;
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk; Xk=xn*WNnk; Yk=yn*WNnk; figure(1)
stem(n,xn) figure(2) stem(k,abs(Xk)); figure(3)
stem(n,yn) figure(4)
stem(k,abs(Yk));
五、实验结果分析
7
7
7
7。

数字信号处理实验报告-离散时间序列卷积和MATLAB实现

数字信号处理 实验报告实验一:离散时间序列卷积和MATLAB 实现一、实验目的通过本实验学会用MATLAB 对信号与系统进行分析,实现离散序列卷积和的计算。

二、实验仪器:(1)微机(2)MATLAB 编程工具 三:实验内容题一:已知序列f1(k)=⎩⎨⎧≤≤其它0201k f2(k)=⎪⎪⎩⎪⎪⎨⎧===其它332211k k k调用conv()函数求上述两序列的卷积和题二:编写计算两离散序列卷积和f(k)=f1(k)*f2(k)的实用函数dconv().要求该程序在计算出卷积和f(k)的同时,还绘出序列f1(k),f2(k)和f(k)的时域波形图。

function[f,k]=dconv(f1,f2,k1,k2)%f1(k),f2(k)及f(k)的对应序号向量分别为k1,k2和k 。

题三:试用MATLAB 计算如下所示序列f1(k)与f2(k)的卷积和f(k),绘出它们的时域波形,并说明序列f1(k)与f2(k)的时域宽度与序列f(k)的时域宽度的关系。

f1(k)=⎪⎪⎩⎪⎪⎨⎧==-=其它110211k k kf2(k)=⎩⎨⎧≤≤-其它221k提示:可用上述dconv()的函数来解决。

题四:已知某LTI 离散系统,其单位响应h(k)=e(k)-e(k-4),求该系统在激励为f(k)=e(k)-e(k-3)时的零状态响应,并绘出其时域波形图。

四、实验原理、方法和手段1、离散时间序列f1(k)和f2(k)的卷积和定义:f(k)=f1(k)*f2(k)=∑∞-∞=-•iikfif)(2)(12、在离散信号与系统分析中有两个与卷积和相关的重要结论:a、f(k)= ∑∞-∞=-•iikif)()(δ=f(k)* δ(k)即离散序列可分解为一系列幅度由f(k)决定的单位序列δ(k)及其平移序列之积。

b、对线性时不变系统,设其输入序列为f(k),单位响应为h(k),其零状态响应为y(k),则有:y(k)= ∑∞-∞=-•iikhif)()(五、matlab程序实现卷积和计算:1、题一(conv.m)clc;k1=3;k2=3;k=k1+k2-1;f1=[1,1,1];f2=[0,1,2,3];f=conv(f1,f2);nf=0:k;stem(nf,f,'*r'); xlabel('n'); ylabel('f(n)'); grid on ;2、题二 (dconv.m)function[f,k]=dconv(f1,f2,k1,k2);f=conv(f1,f2);k(1)=k1(1)+k2(1);k(length(f))=k1(length(f1))+k2(length(f2));k=k(1):k(length(f));subplot(1,3,1); stem(k1,f1,'*r'); xlabel('k1'); ylabel('f1(k1)'); grid on ;subplot(1,3,2); stem(k2,f2,'*r'); xlabel('k2'); ylabel('f2(k2)'); grid on ;subplot(1,3,3); stem(k,f,'*r'); xlabel('k'); ylabel('f(k)'); grid on ;3、题三(san.m)clc;f1=[1,2,1];f2=[1,1,1,1,1];k1=-1:1;k2=-2:2;dconv(f1,f2,k1,k2);4、题四 (si.m) clc;f1=[1,1,1,1];f2=[1,1,1];k1=0:3;k2=0:2;dconv(f1,f2,k1,k2);六、实验心得:(1)通过这次实验,让我知道序列的卷积和可以用matlab编程实现,并且实现的方法比较简单,而且matlab本身有丰富的函数库,画图、求卷积和时只要调用相应的函数即可。

实验三 信号卷积的MATLAB实现

实验三信号卷积的MATLAB实现一、实验名称:信号卷积的MATLAB实现二、实验目的:1.增加学生对卷积的认识2.了解MATLAB这个软件的一些基础知识3.利用MATLAB计算信号卷积4.验证卷积的一些性质三、实验原理:用MATLAB实现卷积我们先必须从信号下手,先把信号用MATLAB语句描述出来,然后再将这些信号带入到我们写好的求卷积的函数当中来计算卷积。

在本章中我们将信号分为连续信号和离散序列两种来实现卷积并验证卷积的一些性质。

MATLAB强大的图形处理功能及符号运算功能,为我们实现信号的可视化提供了强有力的工具。

在MATLAB中通常有两种方法来表示信号,一种是用向量来表示信号,另一种则是用符号运算的方法来表示信号。

用适当的MATLAB 语句表示出信号后,我们就可以利用MATLAB的绘图命令绘制出直观的信号波形。

连续时间信号,是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干不连续点以外,信号都有确定的值与之对应的信号。

从严格意义上来讲,MATLAB并不能处理连续信号,在MATLAB中,是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。

在MATLAB中连续信号可用向量或符号运算功能来表示。

1.向量表示法对于连续时间信号f(t),我们可以用两个行向量f和t来表示,其中向量t是行如t=t1:p:t2的MATLAB命令定义的时间范围向量,t1为信号起始时间,t2为中止时间,p为时间间隔。

向量f为连续信号f(t)在向量t所定义的时间点上的样值。

例如对于连续信号f(t)=sin(t),我们可以用如下两个向量来表示:t=-10:1.5:10;f=sin(t)用上述向量对连续信号表示后,就可以用plot命令来绘出该信号的时域波形。

Plot命令可将点与点间用直线连接,当点与点间的距离很小时,绘出的图形就成了光滑的曲线。

命令如下:plot(t,f)title(‘f(t)=sint’)xlabel(‘t’)axis([-10,10,-1.1,1.1])绘制的信号波形如图3.1所示,当把时间间隔p取得更小(如0.01)时,就可得到sint较好的近似波形,如图3.2所示。

离散序列卷积和(用matlab实现)

数字信号处理实验报告实验一 离散时间序列卷积和MATLAB 实现(一)实验目的:学会用MATLAB 对信号与系统分析的方法,理解离散序列卷积和的计算对进行离散信号与系统分析的重要性。

(二)实验原理:1、离散时间序列f1(k)和f2(k)的卷积和定义:f(k)=f1(k)*f2(k)=∑∞-∞=-•i i k f i f )(2)(12、在离散信号与系统分析中有两个与卷积和相关的重要结论:a 、f(k)=∑∞-∞=-•i i k i f )()(δ=f(k)* δ(k)即离散序列可分解为一系列幅度由f(k)决定的单位序列δ(k)及其平移序列之积。

b 、对线性时不变系统,设其输入序列为f(k),单位响应为h(k),其零状态响应为y(k),则有:y(k)=∑∞-∞=-•i i k h i f )()(3、上机:conv.m 用来实现两个离散序列的线性卷积。

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

(三)实验内容1、题一:令x(n)= {}5,4,3,2,1,h(n)={}246326,,,,,,y(n)=x(n)*h(n),求y(n)。

要求用subplot 和stem 画出x(n),h(n),y(n)与n 的离散序列图形。

源程序: N=5; M=6;L=N+M-1; x=[1,2,3,4,5]; h=[6,2,3,6,4,2]; y=conv(x,h); nx=0:N-1; nh=0:M-1; ny=0:L-1;subplot(131); stem(nx,x,'*k'); xlabel('n'); ylabel('x(n)'); grid on ;subplot(132); stem(nh,h,'*k'); xlabel('n'); ylabel('h(n)'); grid on ;subplot(133); stem(ny,y,'*k'); xlabel('n'); ylabel('y(n)'); grid on ;实验结果:24nx (n)5nh (n )510ny (n )分析实验结果:根据实验结果分析可知,实验所得的数值跟x (n )与y (n )所卷积的结果相同。

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

(一)实验目的:学会用MATLAB对信号与系统分析的方法,理解离散序列卷积和的计算对进行离散信号与系统分析的重要性。

(二)实验原理:
1、离散时间序列f1(k)和f2(k)的卷积和定义:
f(k)=f1(k)*f2(k)=∑∞
-∞
=
-•
i
i
k
f
i
f)
(
2
)
(
1
2、在离散信号与系统分析中有两个与卷积和相关的重要结论:
a、f(k)= ∑∞
-∞
=
-•
i
i
k
i
f)
(
)
(δ=f(k)* δ(k)即离散序列可分解为一系列
幅度由f(k)决定的单位序列δ(k)及其平移序列之积。

b、对线性时不变系统,设其输入序列为f(k),单位响应为h(k),其零状
态响应为y(k),则有:y(k)= ∑∞
-∞
=
-•
i
i
k
h
i
f)
(
)
(
3、上机:conv.m用来实现两个离散序列的线性卷积。

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

(三)实验内容
1、题一:令x(n)= {}5,4,3,2,1,h(n)={}246326,



,,y(n)=x(n)*h(n),求y(n)。

要求用subplot和stem画出x(n),h(n),y(n)与n的离散序列图形。

源程序:
N=5;
M=6;
L=N+M-1;
x=[1,2,3,4,5];
h=[6,2,3,6,4,2];
y=conv(x,h);
nx=0:N-1;
nh=0:M-1;
ny=0:L-1;
subplot(131); stem(nx,x,'*k'); xlabel('n');
ylabel('x(n)'); grid on ;
subplot(132); stem(nh,h,'*k'); xlabel('n');
ylabel('h(n)'); grid on ;
subplot(133); stem(ny,y,'*k'); xlabel('n');
ylabel('y(n)'); grid on ;
实验结果:
n
x (n
)
n
h (n
)
n
y (n )
分析实验结果:
根据实验结果分析可知,实验所得的数值跟x (n )与y (n )所卷积的结果相同。

2、题二:已知序列
f1(k)=⎩⎨⎧≤≤其它0201k f2(k)=⎪⎪⎩⎪
⎪⎨
⎧===其它
33
2211k k k
调用conv()函数求上述两序列的卷积和 源程序: clc; k1=3; k2=3;
k=k1+k2-1; f1=[1,1,1]; f2=[0,1,2,3]; f=conv(f1,f2); nf1=0:k1-1; nf2=0:k2; nf=0:k;
subplot(131); stem(nf1,f1,'*r'); xlabel('n'); ylabel('f1(n)'); grid on ;
subplot(132); stem(nf2,f2,'*b'); xlabel('n');
subplot(133); stem(nf,f,'*g'); xlabel('n'); ylabel('f(n)'); grid on ;
实验结果:
12
n
f 1(n )
n
f 2(n )
n
f (n )
分析实验结果:
根据实验结果分析可知,实验所得的数值跟f1(n )与f2(n )所卷积的结果相同。

3、题三:编写计算两离散序列卷积和f(k)=f1(k)*f2(k)的实用函数dconv().要求该程序在计算出卷积和f(k)的同时,还绘出序列f1(k),f2(k)和f(k)的时域波形图。

function[f,k]=dconv(f1,f2,k1,k2)
%f1(k),f2(k)及f(k)的对应序号向量分别为k1,k2和k 。

源程序:
function [f,k]=dconv(f1,f2,k1,k2); f=conv(f1,f2); k(1)=k1(1)+k2(1);
k(length(f))=k1(length(f1))+k2(length(f2)); k=k(1):k(length(f));
subplot(131); stem(k1,f1,'*r'); xlabel('k1'); ylabel('f1(k1)'); grid on ;
subplot(132); stem(k2,f2,'*b'); xlabel('k2');
subplot(133); stem(k,f,'*g'); xlabel('k'); ylabel('f(k)'); grid on ;
该程序编写了一个可以在计算出卷积和f(k)的同时,还绘出序列f1(k),f2(k)和f(k)的时域波形图的函数。

4、题四:试用MATLAB 计算如下所示序列f1(k)与f2(k)的卷积和f(k),绘出它们的时域波形,并说明序列f1(k)与f2(k)的时域宽度与序列f(k)的时域宽度的关系。

提示:可用上述dconv()的函数来解决。

f1(k)=⎪⎪⎩⎪
⎪⎨⎧==-=其它0
110211
k k k
f2(k)=⎩⎨
⎧≤≤-其它
221k
源程序: clc;
f1=[1,2,1]; f2=[1,1,1,1,1];
k1=-1:length(f1)+k1(1)-1; k2=-2:length(f2)+k2(1)-1; dconv(f1,f2,k1,k2); 实验结果:
k1
f 1(k 1)
k2
f 2(k 2
)
00.51
1.52
2.5
3
3.54k
f (k )
分析实验结果:
根据实验结果分析可知,实验所得的数值跟f1(n )与f2(n )所卷积的结果相同。

直接调用已经编好的函数,得到卷积结果及图形。

5、题五:已知某LTI 离散系统,其单位响应h(k)=e(k)-e(k-4),求该系统在激励为f(k)=e(k)-e(k-3)时的零状态响应,并绘出其时域波形图。

提示:可用dconv()的函数来解决。

源程序: clc;
f1=[1,1,1,1]; f2=[1,1,1];
k1=0:length(f1)+k1(1)-1; k2=0:length(f2)+k2(1)-1; dconv(f1,f2,k1,k2);
实验结果:
k1
f 1(k 1)
k2
f 2(k 2
)
k
f (k )
分析实验结果:
根据实验结果分析可知,实验所得的数值跟f1(n )与f2(n )所卷积的结果相同。

直接调用已经编好的函数,得到卷积结果及图形。

系统的零状态响应就是激励信号与该系统的单位响应的卷积。

(四)心得体会:通过Matlab 的仿真,形象地得出了离散序列相卷积的结果,而对卷积函数conv (x ,y )的使用可以编写函数,然后方便地调用函数得到一些特有的功能。

相关文档
最新文档