利用matlab实现循环卷积.doc

1、实验目的1利用MATLAB实现循环卷积。2比较循环卷积与线性卷积的区别。二、实验条件PC机,MATLAB703、实验内容1)循环卷积的定义两个序列的N点循环卷积定义为010NNMXHNXHK利用MATLAB实现两个序列的循环卷积可以分三个步骤完成1初始化确定循环点数N,测量输入2个序列的长度。2循环右移函数将序列XN循环右移,一共移N次(N为循环卷积的循环次数),最后将每次循环成的新序列组成一个矩阵V。3相乘将XN移位后组成的矩阵V与第二个序列HN对应相乘,即得循环卷积结果。程序如下程序一CLEARCLOSEALLN10X1615635701X2712943206XN1LENGTHX1XXN10XN11XN2LENGTHX2XXN20XN21SUBPLOT3,1,1STEMXXN1,X1SUBPLOT3,1,2STEMXXN2,X2X11FFTX1,NX12FFTX2,NY11X11X12Y1IFFTY11,NSUBPLOT3,1,3N0LENGTHY11STEMN,Y1, TITLE 循环卷积的结果 XLABEL N YLABEL Y1N 运行后所得图形如下观察所得的循环卷积结果发现并没有呈现周期性的序列,因此将程序做下列改变。程序二CLEARCLOSEALLN40X1615635701X2712943206X2X2,X2,X2,X2XN1LENGTHX1XXN10XN11XN2LENGTHX2XXN20XN21SUBPLOT3,1,1STEMXXN1,X1SUBPLOT3,1,2STEMXXN2,X2X11FFTX1,NX12FFTX2,NY11X11X12Y1IFFTY11,NSUBPLOT3,1,3N0LENGTHY11STEMN,Y1, TITLE 循环卷积的结果 XLABEL N YLABEL Y1N 从图中可以看出循环卷积的结果已经呈循环序列。将程序进一步改进在X2序列之间加一些零矩阵;程序如下CLEARCLOSEALLN50X1615635701X2712943206X2X2,ZEROS1,7,X2,ZEROS1,7,X2,ZEROS1,7,X2XN1LENGTHX1XXN10XN11XN2LENGTHX2XXN20XN21SUBPLOT3,1,1STEMXXN1,X1SUBPLOT3,1,2STEMXXN2,X2X11FFTX1,NX12FFTX2,NY11X11X12Y1IFFTY11,NSUBPLOT3,1,3N0LENGTHY11STEMN,Y1, TITLE 循环卷积的结果 XLABEL N YLABEL Y1N 2)线性卷积与循环卷积的区别从循环卷积的定义公式中可以看出,循环卷积和线性卷积的不同之处在于①两个N点序列的N点循环卷积的结果仍为N点序列,而两个N点序列线性卷积的结果的长度则变为为2N1;②循环卷积对序列的移位采取循环移位,而线性卷积对序列则是采取线性位移。而就是这两点不同,导致循环卷积和线性卷积有不同的结果和性质。然而虽然循环卷积和线性卷积虽然是不同的概念,但是它们之间有一个有意义的公式联系在一起,其中 NGRNYNXHNYRN也就是说,两个序列的N点循环卷积是他们的线性卷积以N为周 XHNY期的周期延阔。设序列HN的长度为,序列XN的长度为,此时,线性卷积结12果的序列的点数为因此如果循环卷积的点数N小于,那么 21N121上述周期性延阔的结果就会产生混叠,从而两种卷积会有不同的结果。而如果N满足的条件,就会有。这就会意味着在时域不会产生混 N0 NYN叠。因此,可以得出结论若通过在序列的末尾填充适当的零值,使得XN和HN成为点序121列,并作出这两个序列的循环卷积与线性卷积的结果在范围内121NNN0相同。将循环卷积的结果与线性卷积做对比,程序如下CLEARCLOSEALLN50X1615635701X21712943206X2X21,ZEROS1,7,X21,ZEROS1,7,X21,ZEROS1,7,X21XN1LENGTHX1XXN10XN11XN2LENGTHX2XXN20XN21SUBPLOT4,1,1STEMXXN1,X1SUBPLOT4,1,2STEMXXN2,X2X11FFTX1,NX12FFTX2,NY11X11X12Y1IFFTY11,NSUBPLOT4,1,3N0LENGTHY11STEMN,Y1, TITLE 循环卷积的结果 XLABEL N YLABEL Y1N Y2CONVX1,X21SUBPLOT4,1,4STEMY2, TITLE 线性卷积的结果 XLABEL N YLABEL Y2N 关于循环卷积,需要知道循环卷积仅仅是针对离散傅里叶变换;然而,这里的循环是针对周期序列而言的;而线性卷积是针对有限长序列,要用DFT求线性卷积,必然要求周期序列的一个周期内求卷积能和有限长序列求线性卷积等值。因此需要求N点长度的循环卷积必然要和线性卷积的长度一致。至少N要不少于线性卷积的长度。四、实验结论和讨论1学习了与循环卷积相关的概念,知道了有限长序列的循环移位是指,NRYMN也就是先让序列YN以N为周期进行周期延拓,再进行反折,然后朝右移位,只朝一个方向移位的原因是对周期序列向右移动一个位置,也就相当于向左移动了N-1个位置,最后取(0,N-1)的N个值就得到了循环移位后的N个序列值。设有序列XN和YN,其N点循环卷积为由于10NKNRMXHMY(循环移位的关系最后得到的循环卷积的长度就是N点,M取0,1,2,„,N1。循环卷积的简介表示为。NXHMY熟知了循环卷积的算法以及如何用MATLAB实现循环卷积的运算。一共分为三步分别是初始化确定循环点数N,测量输入2个序列的长度,长度小于N的在后面补0;循环右移函数将序列XN循环右移,一共移N次(N为循环卷积的循环次数),最后将每次循环成的新序列组成一个矩阵V;相乘将XN移位后组成的矩阵V与第二个序列HN对应相乘,即得循环卷积结果。2再次复习了一边线性卷积的相关性质,比较了线性卷积与循环卷积之间相同与不同之处。知道当循环卷积L线性卷积的长度时,线性卷积的结果与循环卷积的结果是相等的;但是循环卷积首先长度是不变的,而线性卷积的长度是L1L21,也就是说积分或者求和的上限是不一样的,前者是1N,而后者是无穷。3通过这次设计我也发现了自身存在的一些问题,程序的逻辑虽然在脑海中能有一个大概的轮廓,但是要将它实现并写出完整的程序却还是有些困难。虽然这次程序在老师的指导和帮助下写了出来,但是在一些基础的语言结果比如零矩阵的数输写还无法在没有程序的参考下写出来。这也体现了我对MATLAB还不熟悉,需要更多的练习来巩固和完善自己。

用matlab实现循环卷积,利用matlab实现循环卷积.doc相关推荐

  1. 用MATLAB编程正弦稳态相量图,matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析...

    matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析 课程设计任务书 学生姓名: 专业班级: 指导教师: 刘 新 华 工作单位:信息工程学院 题 目: 利用MATLAB对线性电路正弦稳态 ...

  2. 基于matlab的绘图设计,matlab课程设计---利用MATLAB仿真软件进行绘图

    matlab课程设计---利用MATLAB仿真软件进行绘图 课程设计任务书课程设计任务书 题题 目目 利用利用 MATLABMATLAB 仿真软件进行绘图仿真软件进行绘图 初始条件初始条件 仿真软件 ...

  3. matlab 多普勒效应,《利用MATLAB仿真多普勒效应.doc

    <利用MATLAB仿真多普勒效应 利用MATLAB仿真多普勒效应 某某某 摘 要:分析多普勒效应特性,建立数学模型,利用MATLAB软件对其进行仿真试验,进行定量分析,根据仿真试验结果绘制出听者 ...

  4. 基于matlab的循环卷积,利用MATLAB实现循环卷积

    <利用MATLAB实现循环卷积>由会员分享,可在线阅读,更多相关<利用MATLAB实现循环卷积(8页珍藏版)>请在人人文库网上搜索. 1.1. 实验目的1. 利用MATLAB实 ...

  5. 【Matlab 控制】利用 Matlab Function 绘制分段函数

    利用 Switch block 利用 Matlab Function block function [mean, stdev] = fcn(vals) % #codegen% calculates a ...

  6. 多元线性回归分析matlab实验报告,利用MATLAB进行多元线性回归.ppt

    <利用MATLAB进行多元线性回归.ppt>由会员分享,可在线阅读,更多相关<利用MATLAB进行多元线性回归.ppt(15页珍藏版)>请在人人文库网上搜索. 1.2.线性回归 ...

  7. 如何使用matlab的siso,利用Matlab内建程式SISODesignTool完成系统分析(Matlab61)开启.PDF...

    利用Matlab内建程式SISODesignTool完成系统分析(Matlab61)开启.PDF 利用 Matlab 內建程式 SISO Design Tool 完成系統分析(Matlab 6.1) ...

  8. matlab segy文件,利用matlab实现segy格式数据的读写研究和分析.ppt

    利用matlab实现segy格式数据的读写研究和分析 2.SEGY数据格式 地震数据一般以地震道为单位进行组织,采用SEG-Y文件格式存储.SEG-Y格式是由SEG (Society of Explo ...

  9. matlab ann-bp分类器,利用matlab真的BP-ANN分类器设计.doc

    利用matlab真的BP-ANN分类器设计,ann分类器,bp神经网络分类器,bp分类器,贝叶斯分类器matlab,svm分类器matlab程序,matlab分类器,matlab分类器工具箱,soft ...

最新文章

  1. python linux命令-Python执行Linux系统命令的4种方法
  2. proe3.0安装教程
  3. 为什么手机突然没有信号无服务器,手机为什么突然没有信号?
  4. Ubuntu 华为开源镜像站 Mirror
  5. jzoj3464-秀姿势【hash】
  6. windows mysql is read only_mysql中Table is read only错误解决方法(转载)
  7. MATLAB无边框输出图像
  8. Java Swing中键盘事件的处理
  9. 在linux上安装redis
  10. 【CS224N笔记】词向量和词义
  11. RPM 打包指南系列 一
  12. Excel数据导入Oracle数据库
  13. 高德地图通过经纬度获取位置信息
  14. 服务器lsass系统错误,急急急开机出现lsass.exe系统错误系统资源不够无法完成AP? 爱问知识人...
  15. linux flash 存储寿命,关于 Flash 存储,你应该知道的一些事情
  16. Vue整合Element-UI的分页组件实现分页
  17. 什么是核函数?如何理解?
  18. python 3.8教程_Python 3.8 新功能全解
  19. JS中JSON.parse()
  20. JAVA日记之mybatis-2代理开发/动态sql/sql抽取/核心配置标签 ----喝最烈的酒.

热门文章

  1. 基于个性化推荐的图书网站设计与实现
  2. JAVA继承案例--计算圆柱体体积
  3. shiro用户加密默认方式_shiro中的加密、解密的几种方式
  4. 银河麒麟操作系统基础学习笔记十二
  5. 毫米波雷达攻“芯”为上,行业巨头挑战传统供应链合作模式
  6. WS-DAN论文解读
  7. PKPM 多层及高层结构CAD软件的高级应用
  8. SAP实施项目上的内部顾问与外部顾问,相互为难还是相互成就?
  9. 人物志 | 知道创宇赵伟:一个核武器的自白
  10. Android 使用ExoPlayer视频播放 (二)