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. 理解卷积的概念及其物理意义。
2. 掌握卷积运算的原理和方法。
3. 通过实验加深对卷积运算在实际应用中的理解。
二、实验原理1. 卷积的定义:卷积是一种线性运算,它描述了两个信号在时域上的相互作用。
对于两个连续时间信号f(t)和g(t),它们的卷积定义为:F(t) = ∫f(τ)g(t-τ)dτ其中,F(t)是卷积结果,f(τ)是信号f(t)的任意时刻的值,g(t-τ)是信号g(t)在时刻t-τ的值。
2. 卷积的性质:卷积具有交换律、结合律和分配律等性质。
其中,交换律是指f(t)和g(t)的卷积与g(t)和f(t)的卷积相等;结合律是指三个信号f(t)、g(t)和h(t)的卷积可以分别进行两两卷积后再进行一次卷积;分配律是指一个信号与两个信号的卷积等于该信号分别与两个信号卷积后的和。
三、实验内容1. 实验一:连续时间信号卷积实验(1)选用信号:选取两个连续时间信号f(t)和g(t),其中f(t)为矩形脉冲信号,g(t)为指数衰减信号。
(2)卷积计算:根据卷积的定义,计算f(t)和g(t)的卷积F(t)。
(3)结果分析:观察F(t)的波形,分析卷积结果的物理意义。
2. 实验二:离散时间信号卷积实验(1)选用信号:选取两个离散时间信号f[n]和g[n],其中f[n]为单位阶跃信号,g[n]为矩形脉冲信号。
(2)卷积计算:根据离散时间信号卷积的定义,计算f[n]和g[n]的卷积F[n]。
(3)结果分析:观察F[n]的波形,分析卷积结果的物理意义。
3. 实验三:MATLAB仿真实验(1)选用信号:选取两个连续时间信号f(t)和g(t),其中f(t)为正弦信号,g(t)为余弦信号。
(2)MATLAB编程:利用MATLAB的信号处理工具箱,编写程序实现f(t)和g(t)的卷积运算。
(3)结果分析:观察MATLAB仿真得到的卷积结果,分析其物理意义。
四、实验结果与分析1. 实验一:连续时间信号卷积实验(1)实验结果:通过计算得到f(t)和g(t)的卷积F(t)的波形。
matlab卷积实验的内容
matlab卷积实验的内容卷积是数学和信号处理领域中常用的运算方法,可以用于信号滤波、图像处理、模拟电路等方面。
在Matlab中,卷积是一个常见的操作,可以利用卷积函数对信号进行处理。
在Matlab中,可以使用conv函数进行卷积运算。
conv函数的基本语法是:y = conv(x1, x2)其中x1和x2是要进行卷积运算的两个向量,y是卷积运算的结果。
卷积运算的结果长度是两个向量长度之和减1。
在进行卷积运算之前,我们先来了解一下卷积的原理。
数学上,卷积运算可以通过对两个函数进行积分得到。
对于离散信号来说,卷积运算可以通过对两个向量进行逐点相乘然后求和得到。
在Matlab中,我们可以通过创建两个向量来进行卷积运算的实验。
下面是一个简单的示例:x1 = [1 2 3 4];x2 = [0.1 0.2 0.3 0.4];y = conv(x1, x2)运行上述代码得到的结果是:y = [0.1 0.4 0.8 1.3 1.6 1.2]可以看到,卷积运算的结果是一个长度为6的向量。
这个结果的计算过程是:0.1*1 + 0.2*2 + 0.3*3 + 0.4*4 = 0.1 + 0.4 + 0.9 + 1.6 = 1.2。
除了使用conv函数外,Matlab还提供了一个更高级的卷积函数,即conv2函数。
conv2函数可以进行二维卷积运算,常用于图像处理。
假设我们有一个2x2的图像矩阵和一个3x3的卷积核,我们可以使用conv2函数对图像进行卷积运算。
下面是一个简单的示例:image = [1 2; 3 4];kernel = [0.1 0.2 0.3; 0.4 0.5 0.6; 0.7 0.8 0.9];result = conv2(image, kernel)运行上述代码得到的结果是:result = [4.0000 5.8000 7.0000; 7.6000 11.0000 9.8000;7.3000 10.2000 9.2000]可以看到,卷积运算的结果是一个3x3的矩阵。
用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 ; 实验结果:nx (n)nh (n)ny (n )分析实验结果:根据实验结果分析可知,实验所得的数值跟x (n )与y (n )所卷积的结果相同。
离散序列卷积(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 ;实验结果:2400.511.522.533.544.55nx (n )5123456nh (n )510010203040506070ny (n )分析实验结果:根据实验结果分析可知,实验所得的数值跟x (n )与y (n )所卷积的结果相同。
信号分析与处理MATLAB仿真实验报告
信号分析与处理MATLAB仿真实验报告2009.12.25院系:电气工程学院专业: 自动化班级:姓名:学号:实验7 离散时间序列的卷积实验目的:学会用MATLAB实现对离散时间序列的卷积,掌握利用h(n) 与输入x(n)卷积来求系统零状态响应的方法。
实验要求:使用MATLAB中求卷积函数的conv(),并对结果分析总结。
实验内容:LTI系统的单位脉冲响应为h(n)=(0.9)n ε(n),输入序列为x(n)=ε(n)- ε(n-10),求系统的输出y(n)。
程序function [y,ny]=conv_m(x,nx,h,nh);y=conv(x(5:45),h);ny=nh;y=y(1:41);subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]');subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]');subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,8]);title('y[n]');实验结果:结果分析:改变参数以后的程序:function [y,ny]=conv_m(x,nx,h,nh);y=conv(x(5:45),h);ny=nh;y=y(1:41);subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]'); subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]'); subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,2]);title('y[n]');输出结果:实验8 连续时间信号的卷积实验目的:学会用MATLAB实现对连续时间信号的卷积,掌握利用卷积的方法求系统零状态响应,并与离散系统比较。
卷积编码实验报告
实验名称:___ 卷积编码_______1、使用MATLAB进行卷积编码的代码编写、运行、仿真等操作;2、熟练掌握MATLAB软件语句;3、理解并掌握卷积编码的原理知识。
二、实验原理卷积码是由Elias于1955 年提出的,是一种非分组码,通常它更适用于前向纠错法,因为其性能对于许多实际情况常优于分组码,而且设备较简单。
卷积码的结构与分组码的结构有很大的不同。
具体地说,卷积码并不是将信息序列分成不同的分组后进行编码,而是将连续的信息比特序列映射为连续的编码器输出符号。
卷积码在编码过程中,将一个码组中r 个监督码与信息码元的相关性从本码组扩展到以前若干段时刻的码组,在译码时不仅从此时刻收到的码组中提取译码信息,而且还可从与监督码相关的各码组中提取有用的译码信息。
这种映射是高度结构化的,使得卷积码的译码方法与分组译码所采用的方法完全不同。
可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。
对于某个特定的应用,采用分组码还是卷积码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术。
(一)卷积编码的图形表示卷积码的编码器是由一个有k 个输人位,n 个输出位,且有m 个移位寄存器构成的有限状态的有记忆系统,其原理如图1所示。
图1 卷积码编码器的原理图描述这类时序网络的方法很多,它大致可分为两大类型:解析表示法与图形表示法。
在解析法中又可分为离散卷积法、生成矩阵法、码多项式法等;在图形表示法中也可分为状态图法、树图法和网络图法等。
图2给出的是一个生成编码速率为1/2 卷积码的移位寄存器电路。
输人比特在时钟触发下从左边移人到电路中,每输入一位,分别去两个模2加法器的输出值并复用就得到编码器的输出。
对这一编码,每输入一比特就产生两个输出符号,故编码效率为1/2。
可以看出,每个特定的输入比特不仅影响本时间间隔内的编码器输出,同时还影响紧接着的下两个输入比特时间间隔的编码器输出。
卷积编码由移位寄存器的阶数、输出的数量(即模2加法器的个数)和移位寄存器与模2 加法器间的连接所决定。
实验dsp报告5 用MATLAB实现圆周卷积以及DFT 的实现
数字信号处理实验报告实验项目名称:用MATLAB实现圆周卷积以及DFT的实现实验日期:2012年11月28日实验成绩:实验评定标准:1)实验结果是否正确A()B()C()2)实验结果分析A()B()C()3)实验报告是否按照规定格式A()B()C()一、实验目的:通过MATLAB实现,实现对离散序列的DFT转换。
二、实验器材:PC机一台MATLAB软件三、实验内容1、计算两序列x1=[1,2,3,4,5]、x2=[1,2,3,4,5,4,3,2,1]的圆周卷积。
clear allclose allclcx1=[1,2,3,4,5];x2=[1,2,3,4,5,4,3,2,1];N=length(x1)+length(x2);n=0:N-1;n1=0:N-2;n2=0:N-3;y1=circonvt(x1,x2,N);y2=circonvt(x1,x2,N-1);y3=circonvt(x1,x2,N-2);x1=[x1zeros(1,N-length(x1))]; x2=[x2zeros(1,N-length(x2))]; Xf1=dft(x1,N);Xf2=dft(x2,N);Xf=Xf1.*Xf2;x=idft(Xf,N)x=real(x);subplot(231)stem(n,x1);title('x1(n)')subplot(232);stem(n,x2);title('x2(n)')subplot(233);stem(n,x);title('x(n)=IDFT(X(k))') subplot(234)stem(n,y1);title('N点圆周卷积') subplot(235)stem(n1,y2);title('N-1点圆周卷积') subplot(236)stem(n2,y3);title('N-2点圆周卷积')另外需要函数定义文件:(1)cirshftt:M-file文件:function y=cirshftt(x,m,N)%长度为N的x序列:(时域)作m采样点圆周移位%[y]=cirshftt(x,m,N)%y=包含圆周移位的输出序列%x=长度<=N输入序列%m=移位采样数%N=圆周缓冲器长度%方法:y(n)=x((n-m)mod N)%Check for length of xif length(x)>Nerror('N必须>=x的长度')endx=[x zeros(1,length(x))];n=[0:1:N-1];n=mod(n-m,N);y=x(n+1);(2)circonvt:M-file文件:在x1和x2:(时域)之间的N点圆周卷积:function y=circonvt(x1,x2,N)%在x1和x2:(时域)之间的N点圆周卷积%[y]=circonvt(x1,x2,N)%y=包含圆周卷积的输出序列%x1=长度N1<=N的输入序列%x2=长度N2<=N的输入序列%N=圆周缓冲器的大小%方法y(n)=sum(x1(m)*x2((n-m)mod N))%check for length of x1if length(x1)>Nerror('N必须>=x1的长度')end%check for length of x2if length(x2)>Nerror('N必须>=x2的长度')endx1=[x1zeros(1,N-length(x1))];x2=[x2zeros(1,N-length(x2))];m=[0:1:N-1];x2=x2(mod(-m,N)+1);H=zeros(N,N)for n=1:1:NH(n,:)=cirshftt(x2,n-1,N);endy=x1*H';(3)dft:M-file文件:计算离散付利叶变换:function[Xk]=dft(xn,N)%计算离散付利叶变换%[Xk]=dft(xn,N)%Xk=在0<=k<=N-1间的DFT系数数组%xn=N点有限长度序列%N=DFT的长度n=[0:1:N-1];%n de hangxiangliang k=[0:1:N-1];%k de hangxiangliang WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WNl.^nk;Xk=xn*WNnk;(4)idft:M-file文件:计算离散傅里叶变换:function[xn]=idft(Xk,N)%计算离散傅里叶变换n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N):nk=n'*k:WNnk=WN.^(-nk):xn=(Xk*WNnk)/N;四、实验结果:五、实验结果分析:通过实验,经过对各个步骤的链接、综合,最后经过DFT的实际变换,最终终于得到了DFT的变换结果如上图所示。
实验二连续时间信号卷积运算的MATLAB实现
实验二连续时间信号卷积运算的MATLAB实现实验二连续时间信号卷积运算的M A T L A B实现一.实验目的(1)理解掌握卷积的概念及物理意义。
(2)理解单位冲激响应的概念及物理意义。
二.实验原理三.实验参考程序用MATLAB实现连续信号f1(t)和f2(t)卷积。
首先利用MATLAB实现连续信号卷积的通用函数sconv():function[f,k]=sconv(f1,f2,k1,k2,p);f=conv(f1,f2);f=f*p;k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2;k=k0:p:k3*p;subplot(2,2,1);plot(k1,f1);title('f1(t)');xlabel('t');ylabel('f1(t)');subplot(2,2,2);plot(k2,f2);title('f2(t)');xlabel('t');ylabel('f2(t)');subplot(2,2,3);plot(k,f);h=get(gca,'position');h(3)=*h(3);set(gca,'position',h);title('f(t)=f1(t)*f2(t)');xlabel('t');ylabel('f(t)');例2-1 已知两连续时间信号,试用MATLAB求f(t)=f1(t)*f2(t),并绘出f (t)的时域波形图。
实现上述过程的MATLAB命令如下:p=;k1=0:p:2;f1=*k1;k2=k1;f2=f1;[f,k]=sconv(f1,f2,k1,k2,p);运行程序结果图:而当p=时连续时间信号的波形图为对比上面两幅图可见,当抽样时间p 足够小时,函数sconv()的计算结果就是连续时间卷积)(*)()(21t f t f t f =的较好的数值近似。
卷积码实验报告
现代编码理论基于MATLAB的卷积码编码及译码仿真姓姓名名:闫嘉川学学号号:1433170所在院系:电子与信息工程学院实验名称:基于MAATLAB的卷积码编码及译码仿真实验目的:卷积码是一种性能优越的信道编码。
它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。
随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。
本实验简明地介绍了卷积码的编码原理和Viterbi译码原理。
并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。
最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。
经过仿真和实测,并对测试结果作了分析。
实验原理:1、卷积码编码原理卷积码是一种性能优越的信道编码,它的编码器和解码器都比较易于实现,同时还具有较强的纠错能力,这使得它的使用越来越广泛。
卷积码一般表示为(n,k,K)的形式,即将 k个信息比特编码为 n 个比特的码组,K 为编码约束长度,说明编码过程中相互约束的码段个数。
卷积码编码后的 n 各码元不经与当前组的 k 个信息比特有关,还与前 K-1 个输入组的信息比特有关。
编码过程中相互关联的码元有 K*n 个。
R=k/n 是编码效率。
编码效率和约束长度是衡量卷积码的两个重要参数。
典型的卷积码一般选 n,k 较小,K 值可取较大(>10),但以获得简单而高性能的卷积码。
卷积码的编码描述方式有很多种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。
2、卷积码Viterbi译码原理卷积码概率译码的基本思路是:以接收码流为基础,逐个计算它与其他所有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。
概率最大在大多数场合可解释为距离最小,这种最小距离译码体现的正是最大似然的准则。
卷积码的最大似然译码与分组码的最大似然译码在原理上是一样的,但实现方法上略有不同。
卷积计算的实验报告
1. 理解卷积的基本概念和原理;2. 掌握卷积的计算方法;3. 通过MATLAB软件实现卷积运算;4. 分析卷积运算在信号处理中的应用。
二、实验原理卷积是一种线性运算,它描述了两个信号之间的相互作用。
对于两个离散信号x[n]和h[n],它们的卷积y[n]定义为:y[n] = Σx[k]h[n-k]其中,n和k为离散时间变量,Σ表示求和。
卷积运算具有以下性质:1. 交换律:x[n] h[n] = h[n] x[n]2. 结合律:(x[n] h[n]) g[n] = x[n] (h[n] g[n])3. 分配律:x[n] (h[n] + g[n]) = x[n] h[n] + x[n] g[n]卷积运算在信号处理中具有重要的应用,如信号滤波、系统分析、图像处理等。
三、实验内容1. 熟悉MATLAB软件环境;2. 编写MATLAB程序实现卷积运算;3. 分析卷积运算的结果,验证卷积性质;4. 应用卷积运算解决实际问题。
四、实验器材1. 计算机;2. MATLAB软件;3. 离散信号数据。
1. 创建离散信号数据:在MATLAB中创建两个离散信号x[n]和h[n],分别代表输入信号和系统响应。
2. 编写卷积程序:使用MATLAB内置函数conv实现卷积运算,计算y[n] = x[n] h[n]。
3. 分析卷积结果:观察卷积运算的结果,验证卷积性质,如交换律、结合律、分配律等。
4. 应用卷积运算解决实际问题:选择一个实际问题,如信号滤波,使用卷积运算进行求解。
六、实验结果与分析1. 卷积运算结果:运行卷积程序,得到卷积运算结果y[n]。
观察y[n]的波形,分析卷积运算对信号的影响。
2. 验证卷积性质:通过比较x[n] h[n]和h[n] x[n]的卷积结果,验证交换律;通过比较(x[n] h[n]) g[n]和x[n] (h[n] g[n])的卷积结果,验证结合律;通过比较x[n] (h[n] + g[n])和x[n] h[n] + x[n] g[n]的卷积结果,验证分配律。
实验三 MATLAB计算结果可视化和卷积操作
实验三MATLAB计算结果可视化和卷积操作(一)实验目的1)掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理。
2)掌握卷积运算。
(二)实验设备计算机,Matlab软件(三)实验要求本实验属于设计实验,请先根据(四)实验内容的(a)【matlab相关介绍及演示进行仿真】,并完成(b)【实验操作】。
请在页眉处填写班级、学号、姓名,并将实验报告命名为“实验三_学号_姓名”,并通过FTP上传至指定文件夹。
(四)实验内容(a)matlab相关介绍及演示MATLAB在数据可视化方面的表现能力很强。
它的图形处理能力不仅功能强大,而且充分考虑了不同层次用户的不同需求,系统具有两个层次的绘图指令:一个层次是直接对图形句柄进行操作的底层绘图指令;另一层次是在底层指令基础上建立的高层绘图指令。
常用的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)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
学院:机电班级:姓名:学号:
实验名称:连续时间信号卷积运算的MATLAB实现
1.实验目的:掌握卷积的概念及计算方法
2.熟悉通过调用conv()函数求解连续时间信号卷积的数值分析
法
实验环境:MATLAB 6.5.1软件
实验要求:
1、已知信号f1(t)=t/2*[ε(t)- ε(t-2)], f2(t)= [ε
(t)- ε(t-1)],通过调用conv()函数编程实现卷积计算y(t)= f1(t)* f2(t),画出波形。
2、已知信号f(t)=e-t *ε(t), h(t)= t2 *e-2t *ε(t),y(t)=
f(t)* h(t)
(1)用符号分析法编程实现计算y(t)的理论解;
(2)过调用conv()函数编程实现卷积计算y(t)的数值解并画图
实验程序及结果:
第一题:
M文件
(1) function f=uCT(t)
f=(t>=0);
主程序:
k1=0:p:2;
k2=0:p:1;
f1=k1/2.*[uCT(k1)-uCT(k1-2)]; f2=uCT(k2)-uCT(k2-1);
y=conv(f1,f2)*p;
k0=k1(1)+k2(1);
k3=length(f1)+length(f2)-2; k=k0:p:k3*p+k0;
subplot(311)
plot(k1,f1);
xlabel('t')
ylabel('f1(t)')
axis([-0.5 2.5 -0.5 1.5])
grid on
subplot(312);
plot(k2,f2)
grid on
axis([-0.5 2.5 -0.5 1.5]) xlabel('t')
ylabel('f2(t)')
subplot(313)
axis([-0.5 4 -0.5 1.5])
grid on
xlabel('t')
ylabel('f1(t)*f2(t)')
实验结果:
第二题:
M文件
function f=uCT(t)
f=(t>=0);
主程序:
syms tao
>> t=sym('t','positive');
>> f=exp(-t);
>> h=t^2*exp(-2*t);
>> fh_tao=subs(f,t,tao)*subs(h,t,t-tao); >> yt=int(fh_tao,0,t)
yt =
-(-2*exp(t)+t^2+2*t+2)/exp(t)^2
p=0.01;
k1=0:p:3;
k2=0:p:12;
f=exp(-k1).*uCT(k1);
h=(k2).^2.*exp(-2.*k2).*uCT(k2);
y=conv(f,h)*p;
k0=k1(1)+k2(1);
k3=length(f)+length(h)-2;
k=k0:p:k3*p+k0;
subplot(221)
plot(k1,f);
xlabel('t')
ylabel('f(t)')
grid on
axis([-0.5 3.5 -0.5 1.5])
subplot(222)
plot(k2,h);
xlabel('t')
ylabel('h(t)')
grid on
axis([-0.5 11 -0.05 0.2])
subplot(223)
plot(k,y);
grid on
xlabel('t')
ylabel('f(t)*h(t)数值')
axis([-0.5 15 -0.01 0.1])
subplot(224)
yt =-(-2.*exp(k)+k.^2+2.*k+2)./exp(k).^2; plot(k,yt);
grid on
xlabel('t')
ylabel('f(t)*h(t)理论') axis([-0.5 15 -0.01 0.1]) 实验结果:。