《利用MATLAB实现循环卷积》由会员分享,可在线阅读,更多相关《利用MATLAB实现循环卷积(8页珍藏版)》请在人人文库网上搜索。

1、1、 实验目的1. 利用MATLAB实现循环卷积。2. 比较循环卷积与线性卷积的区别。二、实验条件PC机,MATLAB7.03、 实验内容1) 循环卷积的定义:两个序列的N点循环卷积定义为: 利用MATLAB实现两个序列的循环卷积可以分三个步骤完成:(1)初始化:确定循环点数N,测量输入2个序列的长度。(2)循环右移函数:将序列x(n)循环右移,一共移N次(N为循环卷积的循环次数),最后将每次循环成的新序列组成一个矩阵V。(3)相乘:将x(n)移位后组成的矩阵V与第二个序列h(n)对应相乘,即得循环卷积结果。程序如下:程序一:clear;close all;N=10;x1=6 15 -6 3 。

2、5 7 0 1;x2=7 1 2 9 4 3 20 6;xn1=length(x1);xxn1=0:xn1-1;xn2=length(x2);xxn2=0:xn2-1;subplot(3,1,1);stem(xxn1,x1);subplot(3,1,2);stem(xxn2,x2);x11=fft(x1,N);x12=fft(x2,N);y11=x11.*x12;y1=ifft(y11,N);subplot(3,1,3);n=0:length(y1)-1;stem(n,y1,.);title(循环卷积的结果);xlabel(n);ylabel(y1(n);运行后所得图形如下:观察所得的循环卷积。

3、结果发现并没有呈现周期性的序列,因此将程序做下列改变。程序二:clear;close all;N=40;x1=6 15 -6 3 5 7 0 1;x2=7 1 2 9 4 3 20 6;x2=x2,x2,x2,x2;xn1=length(x1);xxn1=0:xn1-1;xn2=length(x2);xxn2=0:xn2-1;subplot(3,1,1);stem(xxn1,x1);subplot(3,1,2);stem(xxn2,x2);x11=fft(x1,N);x12=fft(x2,N);y11=x11.*x12;y1=ifft(y11,N);subplot(3,1,3);n=0:len。

4、gth(y1)-1;stem(n,y1,.);title(循环卷积的结果);xlabel(n);ylabel(y1(n);从图中可以看出循环卷积的结果已经呈循环序列。将程序进一步改进在x2序列之间加一些零矩阵;程序如下:clear;close all;N=50;x1=6 15 -6 3 5 7 0 1;x2=7 1 2 9 4 3 20 6;x2=x2,zeros(1,7),x2,zeros(1,7),x2,zeros(1,7),x2;xn1=length(x1);xxn1=0:xn1-1;xn2=length(x2);xxn2=0:xn2-1;subplot(3,1,1);stem(xxn1。

5、,x1);subplot(3,1,2);stem(xxn2,x2);x11=fft(x1,N);x12=fft(x2,N);y11=x11.*x12;y1=ifft(y11,N);subplot(3,1,3);n=0:length(y1)-1;stem(n,y1,.);title(循环卷积的结果);xlabel(n);ylabel(y1(n);2)线性卷积与循环卷积的区别:从循环卷积的定义公式中可以看出,循环卷积和线性卷积的不同之处在于:两个N点序列的N点循环卷积的结果仍为N点序列,而两个N点序列线性卷积的结果的长度则变为为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列则是采取线。

6、性位移。而就是这两点不同,导致循环卷积和线性卷积有不同的结果和性质。然而虽然循环卷积和线性卷积虽然是不同的概念,但是它们之间有一个有意义的公式联系在一起,其中;也就是说,两个序列的N点循环卷积是他们的线性卷积以N为周期的周期延阔。设序列h(n)的长度为,序列x(n)的长度为,此时,线性卷积结果的序列的点数为;因此如果循环卷积的点数N小于,那么上述周期性延阔的结果就会产生混叠,从而两种卷积会有不同的结果。而如果N满足的条件,就会有。这就会意味着在时域不会产生混叠。因此,可以得出结论:若通过在序列的末尾填充适当的零值,使得x(n)和h(n)成为点序列,并作出这两个序列的循环卷积与线性卷积的结果在范。

7、围内相同。将循环卷积的结果与线性卷积做对比,程序如下:clear;close all;N=50;x1=6 15 -6 3 5 7 0 1;x21=7 1 2 9 4 3 20 6;x2=x21,zeros(1,7),x21,zeros(1,7),x21,zeros(1,7),x21;xn1=length(x1);xxn1=0:xn1-1;xn2=length(x2);xxn2=0:xn2-1;subplot(4,1,1);stem(xxn1,x1);subplot(4,1,2);stem(xxn2,x2);x11=fft(x1,N);x12=fft(x2,N);y11=x11.*x12;y1=。

8、ifft(y11,N);subplot(4,1,3);n=0:length(y1)-1;stem(n,y1,.);title(循环卷积的结果);xlabel(n);ylabel(y1(n);y2=conv(x1,x21);subplot(4,1,4)stem(y2,.);title(线性卷积的结果);xlabel(n);ylabel(y2(n);关于循环卷积,需要知道循环卷积仅仅是针对离散傅里叶变换;然而,这里的循环是针对周期序列而言的;而线性卷积是针对有限长序列,要用DFT求线性卷积,必然要求周期序列的一个周期内求卷积能和有限长序列求线性卷积等值。因此需要求N点长度的循环卷积必然要和线性卷积。

9、的长度一致。至少N要不少于线性卷积的长度。四、实验结论和讨论1.学习了与循环卷积相关的概念,知道了有限长序列的循环移位是指,也就是先让序列y(n)以N为周期进行周期延拓,再进行反折,然后朝右移位,只朝一个方向移位的原因是:对周期序列向右移动一个位置,也就相当于向左移动了N1个位置,最后取(0,N1)的N个值就得到了循环移位后的N个序列值。设有序列x(n)和y(n),其N点循环卷积为:由于循环移位的关系最后得到的循环卷积的长度就是N点,m取0,1,2,N-1。循环卷积的简介表示为:。熟知了循环卷积的算法以及如何用MATLAB实现循环卷积的运算。一共分为三步分别是初始化:确定循环点数N,测量输入2。

10、个序列的长度,长度小于N的在后面补0;循环右移函数:将序列x(n)循环右移,一共移N次(N为循环卷积的循环次数),最后将每次循环成的新序列组成一个矩阵V;相乘:将x(n)移位后组成的矩阵V与第二个序列h(n)对应相乘,即得循环卷积结果。2. 再次复习了一边线性卷积的相关性质,比较了线性卷积与循环卷积之间相同与不同之处。知道当循环卷积L=线性卷积的长度时,线性卷积的结果与循环卷积的结果是相等的;但是循环卷积首先长度是不变的,而线性卷积的长度是L1+L2-1,也就是说积分或者求和的上限是不一样的,前者是1:N,而后者是无穷。3. 通过这次设计我也发现了自身存在的一些问题,程序的逻辑虽然在脑海中能有一个大概的轮廓,但是要将它实现并写出完整的程序却还是有些困难。虽然这次程序在老师的指导和帮助下写了出来,但是在一些基础的语言结果比如零矩阵的数输写还无法在没有程序的参考下写出来。这也体现了我对MATLAB还不熟悉,需要更多的练习来巩固和完善自己。

基于matlab的循环卷积,利用MATLAB实现循环卷积相关推荐

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

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

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

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

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

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

  4. 用matlab实现循环卷积,利用matlab实现循环卷积.doc

    利用matlab实现循环卷积.doc 1.实验目的1利用MATLAB实现循环卷积.2比较循环卷积与线性卷积的区别.二.实验条件PC机,MATLAB703.实验内容1)循环卷积的定义两个序列的N点循环卷 ...

  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. 二值logit模型的适用条件_一文读懂条件Logistic回归
  2. 阿里云服务器Tomcat无法从外部访问
  3. 史上最坑的证书报错解决方法:Code=3000 未找到应用程序的“aps-environment”的权利字符串
  4. linux随机自启命令,linux设置开机自启动
  5. koa2异常处理_读 koa2 源码后的一些思考与实践
  6. LQR 离散与连续问题
  7. python tqdm自定义更新进度条
  8. @property括号内属性讲解
  9. 集体智慧编程 - 读书笔记
  10. 【题目记录】——2021 年百度之星·程序设计大赛 - 初赛二
  11. 智能合约语言 Solidity 教程系列3 - 函数类型
  12. 如何用 Python 翻译语言?
  13. Python与SEO,三大SEO网站查询工具关键词查询采集源码!
  14. 程序人生 - 汽车后视镜锁车自动折叠为啥失灵?
  15. 晶圆划片如何提高切割品质?陆芯半导体告诉你
  16. 算法/贪心算法/FractionalKnapsack部分背包问题
  17. c语言:24、大小端序
  18. python语义分割数据标签,将数字标签转彩色标签
  19. 配置 Tapestry
  20. 《如何高效阅读一本书》学习笔记

热门文章

  1. if函数成绩分三个等级MySQL_Excel用IF函数算优秀良好及格不及格各等级成绩
  2. 前端技术学习第七讲:JavaScript 解析JSON
  3. 【IOT开发】蓝牙模块与PC连接通讯实验
  4. 解决URL 中出现%E2%80%8E
  5. Wireshark 常用过滤使用方法
  6. 单目自监督稠密景深估计
  7. Ubuntu Apache2 配置Allowoverride
  8. 浅议.NET遗留应用改造
  9. 产品经理:我们觉得B站的社区氛围好,好在哪里?
  10. Ansys Workbench拓扑优化教程