循环卷积与线性卷积的实现
实验五 循环卷积与线性卷积的实现
一、实验目的
(1) 进一步理解并掌握循环卷积与线性卷积的概念; (2) 理解掌握二者的关系。
二、实验原理
两个序列的N点的循环卷积定义为
[h(n) x(n)]N h(m)x((n m))N (0 n N)
k 0N 1
从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N点序列的N点循环
卷积结果仍为N点序列,而它们的线性卷积的结果长度则为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性移位。正是这些不同,导致了线性卷积和循环卷积有不同的结果和性质。
两个序列的N点循环卷积是它们的线性卷积以N为周期的周期延拓。设序列h(n)的长度为N1,序列x(n)的长度为N2,此时线性卷积结果的序列点数为N' N1 N2 1;因此如果循环卷积的点数N小于N1 N2 1,那么上述周期性延拓的结果就会产生混叠,从而两种卷积会有不同的结果。而如果满足N N'的条件,就有循环卷积与线性卷积的结果在0 n N范围内相同。
根据DFT循环卷积性质中的卷积定理
DFT{[h(n) x(n)]N} DFT[x(n)] DFT[h(n)]
因此可以根据性质先分别求两个序列的N点DFT,并相乘,然后取IDFT以得到循环卷积。
三、实验分析
例题:已知有限长序列x(n)与h(n)如下图所示, (1) 画出两者之间的线性卷积 (2) 8点圆卷积。 (3) 5点圆卷积。
解析如下:
(1)x(n)与h(n)的线性卷积,由公式可知:
h(n)*x(n)
m
x(m)h(n m)
x(m)与h( m)的图形如下:
利用方格平移法:
由方格平移法可知: 当n 0时,h(n)*x(n) 0 当n 1时,h(n)*x(n) 0
当n 2时,h(n)*x(n) 0*1 1*1 1 当n 3时,h(n)*x(n) 2*1 1*1 0*1 3 当n 4时,h(n)*x(n) 3*1 2*1 1*1 0*1 6 当n 5时,h(n)*x(n) 3*1 2*1 1*1 0*1 6 当n 6时,h(n)*x(n) 3*1 2*1 1*1 6 当n 7时,h(n)*x(n) 3*1 2*1 5 当n 8时,h(n)*x(n) 3*1 3
得到图形如下:
(2)x(n)与h(n)的8点圆卷积,由公式可知:
x(n) h(n) x((m))8h((n m))8G8(n)
n 0
7
x((m))8与h(( m))8的图形如下:
根据下面图表可计算得到圆卷积:
取和得到圆卷积为3。
当n 2时: 取和得到圆卷积为1。
取和得到圆卷积为6。
n 5取和得到圆卷积为6。
取和得到圆卷积为6。
n 7取和得到圆卷积为5。
得到波形如下:
(2)x(n)与h(n)的5点圆卷积,由公式可知:
x(n) h(n) x((m))4h((n m))4G4(n)
n 0
4
x((m))4与h(( m))4的图形如下:
根据图标可计算得到圆卷积: 当n
0取和得到圆卷积为6。
当n 1时:
取和得到圆卷积为6。
当n
2
当n
3取和得到圆卷积为6。
当n
4
画出波形如下:
四、仿真实验
Matlab程序设计如下:
编写的循环卷积程序:
方法一:直接根据定义计算,程序编辑如下:
function y=circonv1(x1,x2,N) if length(x1)>N
error('N must not be less than length of x1') end
if length(x2)>N
error('N must not be less than length of x2') end
x1=[x1,zeros(1,N-length(x1))]; x2=[x2,zeros(1,N-length(x2))]; n=[0:1:N-1];
x2=x2(mod(-n,N)+1); H=zeros(N,N); for n=1:1:N
H(n,:)=cd(x2,n-1,N); end
y=x1*H';
function y=cd(x,m,N) if length(x)>N error end
x=[x zeros(1,N-length(x))]; n=[0:1:N-1]; n=mod(n-m,N); y=x(n+1);
方法二:根据性质先分别求两个序列的N点DFT,并相乘,然后取IDFT以得到循环卷积
function y=circonv2(x1,x2,N) if length(x1)>N error('N must not be less than length of x1') end
if length(x2)>N error('N must not be less than length of x2') end
X1k=fft(x1,N); X2k=fft(x2,N);
Yk=X1k.*X2k; y=ifft(Yk);
if((all(imag(x1)==0))&&(all(imag(x2)==0))) y=real(y); end
编写的主程序:
n=[0:1:4];m=[0:1:4];
N1=length(n);N2=length(m); xn=ones(1,5); hn=[0,0,1,2,3]; y1n=conv(xn,hn);
y2n=circonv2(xn,hn,N1+N2-1); y3n=circonv1(xn,hn,N1); ny1=[0:1:length(y1n)-1]; ny2=[0:1:length(y3n)-1]; subplot(3,1,1); stem(ny1,y1n); subplot(3,1,2); stem(ny1,y2n); subplot(3,1,3); stem(ny2,y3n);
运行结果如下:
图表 1实验结果
与理论结果一致。
五、实验小结
通过本次实验理解并掌握了循环卷积与线性卷积的概念,也掌握了两者之间的关系。学会了matlab中线性卷积函数,以及如何编写循环卷积。在仿真过程中出现了一些问题,由于matlab提供线性卷积函数,则只需要自己编写循环卷积,在编写过程中,没有注意到matlab中的大小写的严格区别,导致程序运行错误。经过反复检查之后发现了错误,经改正后得到了正确的运行结果。收获很大。
…… 此处隐藏:756字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题




