0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MATLAB学习笔记|卷积计算

冬至子 来源:永恒的陀螺仪 作者:大大圈 2023-07-12 14:51 次阅读

**例2.4 **分别调用conv()函数和自己编写程序计算f1(t)=cos(t)[u(t)-u(t-10)]和f2(t)=[exp(t)+exp(2t)][u(t)-u(t-10)]的卷积,比较两种计算的结果。

T=0.1; %%%时间步长,这里可以理解为抽样函数,

对函数进行抽样,T越小函数越精细

t1=0:T:10; %%%时间序列,建立一个数组

f1=cos(t1); %%%信号f1

t2=t1;

f2=exp(t2)+exp(-2*t2);%%%信号f2

f=T*conv(f1,f2); %%%计算卷积,注意这里乘步长

k0=t1(1)+t2(1); %%%卷积输出序列的起始

k3=length(f1)+length(f2)-2;

t=k0:T:(k0+T*k3); %%%卷积结果对应的时间向subplot(3,1,1); %%%绘制信号f1,subplot函数的用法是一次可以绘制多个函数图片。subplot(m,n,p),m是输出图片的行数,n是输出函数的列数,p是该函数在第几行出现

plot(t1,f1,'linewidth',2);

title('f1(t)');

subplot(3,1,2); %%%绘制信号f2

plot(t2,f2,'linewidth',2);

title('f2(t)');

subplot(3,1,3); %%%绘制卷积结果

plot(t,f,'linewidth',2);

title('convolution of f1(t)and f2(t)');

图片

MATLAB输出的卷积结果

用自己编写函数的方法

for k=1:lf1+lf2-1

y(k)=0;                                        %%%y赋初始值

for ii=max(1,k-(lf2-1)):min(k,lf1)

    y(k)=y(k)+f1(ii)*f2(k-ii+1);      %%%信号相乘和求和

end

yzsappr(k)=T*y(k);                    %%%用乘和加运算来近似积分运算

end

自己编写函数其实就是实现matlab中conv()函数。这个函数的功能类似于图形法求函数卷积。拿多项式求卷积为例,假设p=[1,2,3],q=[1,1]。那么其实conv(p,q)的结果就是对应的多项式乘积。

换个函数求卷积试试

按照书上的例题折腾完,换一个函数求一下卷积试一下。

图片

随便弄了个二次函数上去,小编学艺不精,还要继续学习。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 信号处理器
    +关注

    关注

    1

    文章

    250

    浏览量

    25182
  • MATLAB仿真
    +关注

    关注

    4

    文章

    175

    浏览量

    19845
收藏 人收藏

    评论

    相关推荐

    FFT与DFT计算时间的比较及圆周卷积代替线性卷积的有效性实

    实现线性卷积的原理二 实验内容及要求1.对N=2048或4096点的离散时间信号x(n),试用Matlab语言编程分别以DFT和FFT计算N个频率样值X(k), 比较两者所用时间的大小。 2.对N/2点
    发表于 12-29 21:52

    MATLAB卷积编译码源代码

    MATLAB卷积编译码源代码
    发表于 04-10 20:38

    急求用matlab实现卷积的编程

    y(n) =x(n)* h(n)上式的运算关系称为卷积运算,式中 代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性
    发表于 10-31 22:29

    毕业设计_分段卷积MATLAB仿真与DSP实现

    本帖最后由 mr.pengyongche 于 2013-4-30 03:12 编辑 毕业设计_分段卷积MATLAB仿真与DSP实现  常用的线性卷积方法要求两个输入序列的持续时间相同,但在实际
    发表于 12-25 13:43

    卷积神经网络—深度卷积网络:实例探究及学习总结

    《深度学习工程师-吴恩达》03卷积神经网络—深度卷积网络:实例探究 学习总结
    发表于 05-22 17:15

    求大佬分享MatLab学习笔记

    求大佬分享MatLab学习笔记
    发表于 11-19 07:00

    Matlab/Simulink电路建模学习笔记

    本文为作者Matlab/Simulink电路建模学习笔记欢迎交流讨论,喜欢的话点个赞吧1、打开Simulink并创建文件如图点击即可:2、选择电路所需元件,连接电路选择元器件主要有两种方法:在库
    发表于 12-31 07:32

    【连载】深度学习笔记9:卷积神经网络(CNN)入门

          前面的八篇学习笔记,基本上都是围绕着深度神经网络(DNN)和全连接网络(FCN)在学习。从本篇开始,笔者将跟着大家一起学习和研究深度学习
    的头像 发表于 10-08 12:56 2424次阅读

    卷积神经网络的权值反向传播机制和MATLAB的实现方法

    深度学习是多层神经网络运用各种学习算法解决图像、文本等相关问题的算法合集。卷积神经网络作为深度学习的重要算法,尤其擅长图像处理领域。卷积神经
    发表于 12-06 15:29 14次下载

    如何去理解CNN卷积层与池化层计算

    概述 深度学习中CNN网络是核心,对CNN网络来说卷积层与池化层的计算至关重要,不同的步长、填充方式、卷积核大小、
    的头像 发表于 04-06 15:13 2647次阅读
    如何去理解CNN<b class='flag-5'>卷积</b>层与池化层<b class='flag-5'>计算</b>?

    MATLAB实现卷积神经网络CNN的源代码

    MATLAB实现卷积神经网络CNN的源代码
    发表于 04-21 10:15 16次下载

    卷积神经网络算法代码matlab

    卷积神经网络算法代码matlab 卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习网络模型,其特点是具有
    的头像 发表于 08-21 16:50 1084次阅读

    cnn卷积神经网络matlab代码

    cnn卷积神经网络matlab代码  卷积神经网络(Convolutional Neural Network, CNN)是深度学习中一种常用的神经网络结构,它是通过
    的头像 发表于 08-21 17:15 1125次阅读

    卷积神经网络计算过程和步骤

    卷积神经网络(Convolutional Neural Network, CNN)是一种深度学习模型,广泛应用于图像识别、视频分析、自然语言处理等领域。本文将详细介绍卷积神经网络的计算
    的头像 发表于 07-03 09:36 234次阅读

    深度学习中反卷积的原理和应用

    在深度学习的广阔领域中,反卷积(Deconvolution,也称作Transposed Convolution)作为一种重要的图像上采样技术,扮演着至关重要的角色。特别是在计算机视觉任务中,如图
    的头像 发表于 07-14 10:22 755次阅读