具有重叠滑动窗口的自定义自相关

时间:2015-01-28 10:40:38

标签: matlab signal-processing

我正在尝试根据下图中的信息在matlab中创建自定义自相关函数:

enter image description here

该函数有效,但是我得到一个错误,索引超过矩阵维度,数学上它是正确的但是在编程中我错过了什么?这是我的代码:

close all; clear all; clc;

[x,fs]=audioread('c1.wav');
N=length(x); %// length of signal
n1=128;  %// length of window
win_num=floor(N/n1); %// number of windows
m=1:n1;
for l=1:n1/2:win_num %// 50% overlapping - 64 samples for a 128 window
    for n=1:N-m 
        cmax(n)=max(sum(x(n+m)*conj(x(n))));
    end
end

提前感谢。

1 个答案:

答案 0 :(得分:1)

我假设您for n=1:N-m for n=1:N-max(m) for n=N-m(end)(或N-m)。

如果您执行第一个m,则返回一个数组,而不是单个值,因为{{1}}是一个数组!