一个例子学会自相关互相关的计算 |
您所在的位置:网站首页 › 两个相关系数r公式的互推怎么算 › 一个例子学会自相关互相关的计算 |
问题
A = [1 2 3 4] ,求A的自相关系数。 求解过程如下图: 求得: r = [8 23 44 70 100 133 168 204 168 133 100 70 44 23 8] lags = [-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7]lags就是偏移量,默认从最小的偏移量开始,信号长度是8,往左偏移最多7位,往右偏移做多也是7位。也理解了为什么求出来的自相关结果的长度位15=2N-1。 这里设定最大偏移量不大于4,考虑正负偏移和0,所以对于指定偏移范围的自相关计算,其结果为2p+1个。 lags = [-4 -3 -2 -1 0 1 2 3 4]r 的计算如法炮制: Matlab提供的xcorr提供了一个归一化选项: 按照上面的公式,N为信号长度,可以猜测r的结果为: [70/8 100/8 133/8 168/8 204/8 168/8 133/8 100/8 70/8]使用matlab计算: >> xcorr(x, 4, 'biased') ans = 列 1 至 8 8.7500 12.5000 16.6250 21.0000 25.5000 21.0000 16.6250 12.5000 列 9 8.7500一模一样。 4. 互相关的例子 >> x = [1 2 3 4]; >> y = [1 4 9 16]; >> xcorr(x, y) ans = 16.0000 41.0000 70.0000 100.0000 50.0000 19.0000 4.0000 K>>怎么算的?跟上面一样,自行脑补。 5. 题外话matlab的帮助文档写得非常好,比外面乱七八糟抄来抄去说不清的博客好太多了,还权威。 参考:xcorr 互相关 自相关的概念的理解也可以参考这个博文,个人认为写得挺好。 还有博主自己手写了一个求自相关函数的算法,并与matlab提供的xcorr做了对比: MATLAB_XCORR_互相关函数的讨论 C++版本: xcorr 自相关 c++实现 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |