MATLAB计算自相关函数和互相关函数
- 转自http://blog.sina.com.cn/s/blog_737adf530100ytsl.html
- 要求:t[n]=f(n)*g(n),把g(n)翻转,向右移动n格与f(n)的乘积和。
- 假设f(n)长度为L,g(n)长度为P,则卷积后的有效点数为L+P-1,其余为全零。
- 由傅里叶变换定理:时域卷积等效于频域乘积,即 T(e^jw)=F(e^jw)G(e^jw)。用w=(2*pi/N)k,代替可得:T~[k]=F~[k]G~[k],取k=0-N-1则可得到T[k]=F[k]G[k]。
- 一个“周期序列”的DFS相当于对“一个周期”的序列傅里叶变换做频域抽样w=(2*pi/N)k,且抽样后满足x~[n]=∑x[n-rN]。N为周期。
- 由于DFS无论时域还是频域都可以用N个点表示所有信息,所以定义DFT,只取时域N个点并对应频域N个点,借助DFS便可相互恢复。方法为取x~[n]从0到N-1即可。
- 计算F[k]G[k],首先要保证N>=L+P-1,则将f(n)、g(n)补全至长度N,补零。
二、自相关函数:定义f(t)*f(-t) ∫f(t)f(t-α)
互相关函数:定义f(t)*g(-t) ∫f(t)g(t-α)
MATLAB实现:例如A=[1 2 3]
自相关函数应该为:n=-2 -1 0 1 2 对应 值为 3 8 14 8 3
1. 使用xcorr函数:
xcorr(A)= 3.0000 8.0000 14.0000 8.0000 3.0000
2. 自己使用FFT实现:
基本原理是两信号的FFT乘积相当于时域卷积结果的∑x[n-rN]。
原本卷积过程是y轴对称的平移相称,而这里自相关和互相关不要求y轴翻转过程,相当于t(-n)的卷积过程;t(-n)对应的是X(e-jw),如果是实数即为conj(X(ejw))
conj()求复数共轭
若直接ifft(fft(A).*conj(fft(A))),得到 k=0 1 2 对应值 14 11 11,明显因x[n]长度为5,而这里N=3使得∑x[n-rN]混叠了了;其实,两个等长的序列的FFT点乘得到的是时域以此长度为周期,循环卷积的结果。
因此令B=[A 0 0]补成一个周期长度N=5,这样虽然依然混叠(不可避免),但是混叠的区间都是值为0的。没有关系,反而得到了k=-2 -1的值,在k=3、4无失真显示。
B=[A 0 0]
ifft(fft(B).*conj(fft(B)))
得到:14 8 3 3 8 和上面分析一样
三、小m序列生成:查书可得生成多项式的抽头系数,线性循环寄存器产生出来即可,寄存器初始状态不影响小m序列,仅仅是造成一个移位而已。
Gold序列生成:找到优选对的小m的序列进行模2加即可。
MATLAB计算自相关函数和互相关函数相关推荐
- matlab互相关检测器,自相关函数和互相关函数的利用MATLAB计算和作图
<自相关函数和互相关函数的利用MATLAB计算和作图>由会员分享,可在线阅读,更多相关<自相关函数和互相关函数的利用MATLAB计算和作图(5页珍藏版)>请在人人文库网上搜索. ...
- matlab计算离散序列的卷积和和互相关函数
已知序列:x[k]=[1,2,0,-1,3,2;k=-2,-1,0,1,2,3], h[k]=[1,-1,1;k=0,1,2]. (1)计算离散序列的卷积和y[k]=x[k]*h[k],并绘出其波形 ...
- 使用fft计算序列的互相关函数
最近在做关于使用Matlab编程实现小m序列和Gold序列的实验,下面就说说关于这次实验室的一些收获: 1. 关于使用DFT实现线性卷积. 2. 关于自相关函数和互相关函数的Matlab计算. 3. ...
- 【数字信号处理】相关函数应用 ( 使用 matlab 计算相关函数 )
文章目录 一.相关函数应用场景 1.生成高斯白噪声 2.信噪比 SNR 3.根据信噪比 SNR 求信号幅度 4.产生单载波信号及最终信号 5.求自相关函数及功率 6.matlab 完整代码 一.相关函 ...
- matlab自相关法,Matlab计算自相关和互相关
###1. $x(t)=sinc(10t),y(t)=rect(10t)$,利用Matlab求$x(t),y(t)$的自相关函数及互相关函数 rect=@(x)(abs(s)<=0.5);//定 ...
- matlab中自相关函数
点击打开链接 有时候编程会为了一点小问题纠结半天.而这时就会发现网上寻找也是很艰难的,所以我写下来,希望帮助和我一样无助的人. 自相关函数用于描绘信号和自己相关的程度,它是信号间隔的函数.比如间隔为0 ...
- MATLAB学习笔记——自相关/互相关函数xcorr使用
MATLAB学习笔记--自相关/互相关函数xcorr使用介绍 原文链接:https://blog.csdn.net/lvsehaiyang1993/article/details/82913443 转 ...
- matlab画复变函数,科学网—复数复变函数的Matlab计算与绘图 - 周铁戈的博文
复数复变函数的Matlab计算与绘图 周铁戈 复数的表示 存在两种表示方法,一种是代数式,一种是指数式,在Matlab中的方式如下: >> z=1+2i #代数式,1 ...
- Matlab计算基站覆盖面积示例
站间距 用D表示:小区半径为 R: 单扇区覆盖面积一般作为一个正六边形:D和R示意如下: 计算基站覆盖面积,一般算三个正六边形:下图填充部分: 公式如下: D一般算作R的1.5倍: 用matlab计算 ...
- P2 Matlab计算基础-《Matlab/Simulink与控制系统仿真》程序指令总结
上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 2. Matlab 计算基础 表2.1 Ma ...
最新文章
- 3550配置DHCP
- Spring JPA 开启原生sql打印
- 1.7 总结-深度学习-Stanford吴恩达教授
- Python中矩阵SVD分解及还原
- 10-20-000-简介-Thrift
- Fescar TC-beigin流程
- 华为机试HJ42:学英语
- atitit.guice3 绑定方式打总结生成非单例对象toInstance toProvider区别 v2 pb29
- html原生控件美化,HTML表单美化
- WMI遍历注册表(VBS编程)
- centos部署mosquitto
- Kotlin知识积累——let,with,run,apply,alse的用法
- HDU 2154:跳舞毯(递推)
- pl330 dmac驱动分析2----关键函数
- APS究竟是什么系统呢?看完文章你就知道了
- html中网站小图标,HTML网站图标favicon
- 论坛数据库设计 mysql_论坛数据库设计初步
- 半导体器件物理【14】非平衡过剩载流子 —— 非平衡少数载流子浓度 、附加电导、扩散电流、漂移电流、总电流
- 数码数字字体_档案数字化技术规范
- 常用的酒吧经典乐曲106首