matlab重叠相加法求卷积,通过重叠相加法实现卷积的报告.doc
数字信号处理
课程设计
题目:通过重叠相加法实现卷积
院系:自动化与信息工程学院
专业:通信工程
班级: 通信091
学号: 3090432028
姓名: 雷帛川
指导教师: 李建勋
职称: 副教授
2012年7月1日2012年7月14日
用结构化设计方法。一个程序划分成若干模块,每一个模块的函数功能要划分好,总体设计应画出流程图;
输入输出界面要友好;
源程序书写要规范,加必要的注释;
要提供通过Matlab函数进行检验的结果;
程序一定要要能运行起来。
原理
经常遇到两个序列的长度相差很大的情况,解决这个问题的方法就是将长序列分段计算,运用分段处理方法中的重叠相加法计算两个序列的卷积运算。
设一个给定序列是长度为n1的A,另一个导入序列是长度为n2的B,其中B序列是相对A序列比较长的,所以可以把B分为和A一样长的若干段段,即B分后每一小段长度为n1。根据公式:
可知将B序列的每一小段与A序列做现行卷积,然后将所有的n2/n1段的线性卷积结果相加起来就是整个B序列和A序列的线性卷积结果,而又在本设计中,B序列的一小段和A序列的线性卷积又可由循环卷积来实现,只要让循环卷积的点数,循环卷积的结果就和线性卷积的结果等价,在本实验中取,故A序列和B序列的线性卷积可认为是由A序列和B的每一小段做点的循环卷积的最终累加和,
另外还有两个个问题需要考虑,首先是做循环卷积时要对A序列和B序列的那一小段补零做卷积后,最终做累加的时候要考虑重叠的片段,必须将重叠的两段加起来。不重叠的片段直接赋值。其次是如果B序列长度n2不是A序列长度n1的整数倍时,必须将B序列余下的那几个数补零后和A序列做点循环卷积再加到最终的结果的相应位置。
下列是计算循环卷积的过程:
在本次课设题中序列A和B序列的某一小段做循环卷积,由于已知A序列的长度为n1,故可取B序列的每一小段都和A序列相等长度,并且取循环卷积的点数为,这就保证每一组的循环卷积都等效于线性卷积。做循环卷积可运用循环卷积矩阵做,其第一步是将A序列和B序列的某一小段补零到长度为,然后把A序列通过变换生成的循环卷积矩阵,将补零后的B的某一小段转置,然后用循环卷积矩阵乘以它就可以得到循环卷积的结果,在此也即线性卷积。
重叠相加法的图示如下:
设计过程
1.循环卷积子函数流程图
2.主函数流程图
3.循环卷积子函数源程序:
function y=Convmy4(A,B,L) %创建循环卷积函数
if L
error('出错');
end
if L>length(A) %如果A序列长度小于L则补零到L
A=[A,zeros(1,L-length(A))];
end
if L>length(B) %给B序列补零到L
B=[B,zeros(1,L-length(B))];
B=B'; %B转置
end
E=A(1,1);
C=A(1,[2:L]); %写循环矩阵的第一行
D=fliplr(C);
A=[E,D];
y(1)=A(1,1).*B(1,1);
for h=2:1:L
y(1)=y(1)+A(1,h).*B(h,1); % %计算循环卷积序列的第一个值
end
for k=2:1:L
t=A(1,L);
for i=L:-1:2
A(1,i)=A(1,i-1); %得到矩阵的第二到L行并计算循环卷积的
end %另外几个值
A(1,1)=t;
y(k)=0;
for m=1:1:L
y(k)=y(k)+A(1,m).*B(m,1);
end
end
4.主
matlab重叠相加法求卷积,通过重叠相加法实现卷积的报告.doc相关推荐
- 求二叉树上结点的路径c语言版,求二叉树根到给定节点的路径设计报告.doc
求二叉树根到给定节点的路径设计报告 题目: 求二叉树根到给定节点的路径 摘要:本程序设计题要求出二叉树的根节点到给定节点的路径,我们利用二叉树的双亲存储表示法建立二叉树,然后在树的叶子节点中找到给定的 ...
- matlab 柱状图怎么叠加,如何让柱形图重叠起来
国庆假期过去了,大家都上班了吧,我也继续更新文章. 今天,我们来讲一下,<表格设计课>12期里的投票问题: 如何让柱形图里的柱子重叠起来.我大致分为下面几点来讲: 柱形图重叠的前提 重叠的 ...
- Win11任务栏图标重叠怎么办 Win11任务栏图标重叠的解决方法
Win11操作系统也推出一段时间了,不少小伙都有下载体验,但有一些小伙伴在使用Win11系统的时候发现自己任务栏图标重叠在一起,那么碰到这种情况应该怎么办,下面就和小编一起来看看有什么解决方法. Wi ...
- matlab编程的步骤,如何画matlab程序的流程图?求解答
NF=input('请输入短路点的数目:NF='); %输入短路点的数目NF for i1=1:NF %给i1赋值短路点的数目,从1到NF clear; %清除 n1=input('请输入 ...
- 中南大学 科学计算与MATLAB语言 11矩阵求值
中南大学 科学计算与MATLAB语言 11矩阵求值 矩阵求值主要包括 矩阵的行列式值 矩阵的秩 矩阵的迹 矩阵的范数 矩阵的条件数 把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称方阵所 ...
- matlab中利用xy求取多项式z,matlab基础练习题
3. 求有理分式()()()()3323230.522521x x x R x x x x ++=+-++的商多项式和余多项式 4. 一元多项式42234p x x x =-+,写出表示p 的MATL ...
- MATLAB新手简明使用教程(七)——使用matlab建立多项式以及求导,商求导乘积求导等——新手来看,保证看懂。
前期回顾 上一期中,我们学了下面的知识: 定积分的基本概念和一些简单的几何意义. 使用 int 函数计算不定积分. 使用 int 函数计算定积分. 本期内容 本期我打算给大家介绍一下使用matlab对 ...
- 两个绝对值相减求最值_matlab同一矩阵任意两列相减绝对值的最大值和最小值
展开全部 b = [1,2,10,4,5;6,7,8,9,10;11,8,13,14,15;16,17,20,19,20]; % 求出两两相减的列索引 ic = perms(1:5); ic = ic ...
- 已知函数和y值求自变量用matlab,matlab已知函数值求自变量,求助
思路是这样的:你得到最小的函数值后,把它带入你作图的方程反解自变量的值.我不知道你画的这个函数图像的方程什么,我用一个二次方程y=x.^2+x给你做示范:先做图:x=-10:0.1:10;y=x.^2 ...
最新文章
- RDKit | 基于相似图可视化原子贡献
- 有向图php,小蚂蚁学习数据结构(29)——图的存储表示
- Android开发--浅谈ExpandableListActivity
- java classname.this_java 中 类名.this与类名.class
- nyoj 931 货物运输(Floyd输出路径)
- HDU2068(错列排序)
- 一、人工智能数学基础——线性代数
- Spring4.x(5)--ApplicationContext接口
- 单一IP地址静态NAT实验环境
- 使用libevhtp编写HTTP服务器的方法
- adb工具包的安装和使用(Windows)
- 解决a标签下载文件token验证问题
- Unity iOS XCode
- 免费的18个开源快速建站Java CMS
- 巴蜀1471 魔兽争霸
- 如何控制积分成本?常见的积分成本的核算方法
- 【百家讲坛】郦波副教授解读《曾国…
- android卡在开机画面,请教:用迅为4412开发板开机时卡在Android静止画面
- 唐僧向李世民汇报627年度工作总结报告,堪称国际水平!
- 华为、海尔之后,阿里在全屋智能领域有新动作,这次牵手的是萤石
热门文章
- LeetCode 543. 二叉树的直径(DFS)
- 数据结构--栈--顺序栈/链式栈(附: 字符括号合法配对检测)
- delphi 串口通信发送_关于串口通信232、485、422和常见问题,就没见过能讲这么清楚的...
- 河北省高校计算机大赛,河北省教育厅关于举办2016年华北五省(市、自治区)及港澳台大学生计算机应用大赛河北赛区竞赛的通知...
- 山西大学计算机应用专业,山西大学计算机应用技术专业
- 美团AI全景图:吃喝玩乐背后的黑科技
- 技术动态 | 北京大学计算机所邹磊教授研究组开源面向 RDF 知识图谱的自然语言问答系统 gAnswer...
- MiningZhiDaoQACorpus,580万百度知道问题,980万问答对数据挖掘项目
- leetcode-187-重复的DNA序列
- 【多线程】:Synchronized和ReentrantLock的对比