matlab验证线性卷积与圆周卷积的关系
数字信号处理实验
一.线性卷积和圆周卷积的关系
1.线性卷积
设X1为N1点的有限长序列,X2为N2点的有限长序列(0 < n < N2)
则两序列的线性卷积为:
线性卷积y1(n)的长度为N2+N2-1
2.圆周卷积
设有限长序列x(n)和h(n)的长度分别为N1和N2,取N>=max(N1,N2),分别对x(n)和h(n)取N点的DFT,将结果取
N点的IDFT得到y(n)
3.圆周卷积与线性卷积之间的关系
当有限长序列x(n)和h(n)的长度分别为N1和N2,取N>=max(N1,N2),当N>=N1+N2-1,则线性卷积与圆周卷积相同。
二.使用Matlab验证其关系
1.子函数编写
- cirshiftd.m
`
function yc=circonv(x1,x2,N)
%功能 : 计算圆周卷积
%输入 : 需计算圆周卷积的序列x1,x2和圆周卷积的点数N
%输出 : 圆周卷积结果
%判断两个序列的长度是否小于Nif length(x1) > Nerror('N must not be less than length of x1');
end
if length(x2) > Nerror('N must not be less than length of x2');
end
x1 = [x1,zeros(1,N - length(x1))]; %填充序列x1使其长度为N1+N2-1
x2 = [x2,zeros(1,N - length(x2))]; %填充序列x2使其长度为N1+N2-1
n =0:1:N-1;x2 = x2(mod(-n,N)+1); %生成序列x2((-n))N
H = zeros(N,N); %生成N * N 的零矩阵for n = 1:1:NH(n,:) = cirshiftd(x2,n-1,N); %该矩阵的k行为 x2(k-1-(n mod N))
end
yc = x1 * H'; %计算循环卷积`
- cirshiftd.m
`
function y = cirshiftd(x,m,N)
%对于序列x直接实现圆周移位
%x:输入序列长度小于N
%m:移位量
%N:圆长
%y:移位后的序列if length(x) > Nerror('the length of x must be less than N');
endx = [x,zeros(1,N-length(x))];
n = 0:1:N-1;
y = x(mod(n-m,N)+1);
`
- 主函数relation.m
‘
clear all;
n = 0:1:12;
m = 0:1:5;
N1 = length(n);
N2 = length(m);xn = 0.8.^n; %生成xn
hn = ones(1,N2); %生成hnyln = conv(xn,hn); %计算线性卷积ycn = circonv(xn,hn,15); %计算圆周卷积nyl = 0:1:length(yln)-1;
ny2 = 0:1:length(ycn)-1;%图形显示时分割窗口命令,把一个窗口分成m行,n列,并指定第i个敞口为当前窗口
subplot(2,1,1);
stem(nyl,yln); %绘制散点图
ylabel('线性卷积'); %Y轴标签
axis([0,25,0,4]);subplot(2,1,2);
stem(ny2,ycn);
ylabel('圆周卷积');%x范围为0-16 y范围为0-4
axis([0,25,0,4]);
‘
三.实验结果
验证程序中,固定DFT点数为15
ycn = circonv(xn,hn,15); %计算圆周卷积
改变序列xn的长度
当 n = 0:1:12 时 此时N < N1 + N2 -1 线性卷积与圆周卷积不相等。结果如下图所示。
当 n = 0:1:5 时,此时N > N1 + N2 -1 线性卷积与圆周卷积相等。结果如下图所示。
临界条件 N = N1+N2-1时线性卷积与圆周卷积相等,结果如下
四.实验结论
通过上述结果,可以得出结论:
当DFT点数N满足 N>=N1+N2-1时,圆周卷积与线性卷积相等
matlab验证线性卷积与圆周卷积的关系相关推荐
- matlab圆周卷积计算方法,线性卷积与圆周卷积的计算.doc
线性卷积与圆周卷积的计算,线性卷积和圆周卷积,圆周卷积线性卷积,圆周卷积计算方法,线性卷积计算方法,线性卷积计算,圆周卷积,圆周卷积怎么算,圆周卷积例题,matlab圆周卷积 1.实验目的 通过编程, ...
- 序列线性卷积matlab,有限长序列的线性卷积和圆周卷积
原标题:有限长序列的线性卷积和圆周卷积 线性卷积 卷积是两个时间序列之间一种激励和响应得出结果的关系,是可交换.可结合和可分配的.假定一个线性时不变系统的冲激响应为,输入信号通过该系统的输出信号为 对 ...
- 用计算机计算线性卷积的基本规则,实验三_线性卷积与圆周卷积的计算.doc
实验三_线性卷积与圆周卷积的计算 电信类课程试验报告 学 院:基础信息工程系 别:电子信息工程课程名称:数字信号处理姓 名:学 号:日 期:实验三实验名称:线性卷积与圆周卷积的计算一.实验目的 (1) ...
- 计算机计算线性卷积规则,线性卷积与圆周卷积的计算(杭电)
线性卷积与圆周卷积的计算(杭电) (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 信号.系统与信号处理实验Ⅱ实验报告实验名称:线性 ...
- 线性卷积与圆周卷积的计算方法
现在很多工具里都已经为我们实现好了线性卷积和圆周卷积的函数,所以在实现方面简单调用一下即可.如matlab中, conv用于计算线性卷积,而cconv用来计算圆周卷积 在国内搜了很多计算圆周卷积的例子 ...
- 计算机计算线性卷积规则,实验四----线性卷积与圆周卷积的计算.doc
实验三 线性卷积与圆周卷积的计算 实验目的 1.掌握计算机的使用方法和常用系统软件及应用软件的使用. 2.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力. 3.掌握线性卷积与循环卷积软件实 ...
- matlab圆周卷积计算方法,圆周卷积计算方法例题
编写程序计算两个序列的线性卷积和各点的圆周卷积并打印出来. 思路:线性卷积 自带了我们直接调用即可.对于圆周卷积,我们要先回顾一般 计算圆周卷积的主要流程,即...... 周三晚上 数字信号处理实验报 ...
- 线性卷积、周期卷积、圆周卷积------一篇弄懂
谈到DSP,几个"卷积"总是要弄清楚的.这里我们讨论的是离散时间序列.本篇主要讲解几种"卷积"的定义及运算,定义理解上通俗易懂,例子也能举一反三. 卷积 线性卷 ...
- C语言实现线性卷积和圆周卷积
用C语言实现线性卷积和圆周卷积 已知x(n)={1,0,2,1,3},求x(n)∗x(n),x(n)⑤x(n),x(n)⑩x(n) #include"graphics.h" #in ...
最新文章
- 2018最后一战:25天编程PK赛!
- ubuntu查看python版本-linux查看python安装路径,版本号
- java字符串格式化:String.format()方法的使用
- Hadoop环境搭建教学(二)完全分布式集群搭建;
- adb logcat 抓取日志_App专项测试操作指南-2- 常见的ADB命令(上)
- mysqladmin mysql,mysql,mysqladmin,mysqld之间的区别
- idea调试debug技巧_这几个IDEA高级调试技巧,用了都说好!
- 备份数据库的expdp语句_【ORACLE语句备份】数据库表同步 ——定时任务管理器(EXPDP导出,IMPDP导入)...
- 把合同中红色印章实现打印不显示方法
- jquery.validate.js使用实例
- 数据库原理及应用实验四 简单查询
- python项目方案书模板格式_项目策划书模板范文
- K8s如何在不重新打版本号的情况 更新镜像
- Spring的IOC和AOP原理
- HUGO复制咪蒙(含死法)
- android 华为打开usb调试模式,华为H60-L01 开启USB调试模式
- 动手学深度学习(pytorch)中d2lzh_pytorch包的安装(附资源)
- 一文读懂nginx charset
- ps滚动字教程:为图像画面添加滚动字幕
- AppOps命令分析