|
|
[交流]
下載了matlab循環(huán)相關(guān)的工具箱,但是里面的循環(huán)相關(guān)程序和循環(huán)相關(guān)的定義不符
源程序:
function R=cyclic_cross_correlation(x,y,alpha,max_tau)
%
% CYCLIC_CROSS_CORRELATION
%
% calculates the cyclic cross correlation between
% two signals x,y at frequency alpha
%
% R(k*alpha,tau)=E{x(t-tau/2)y(t+tau/2)exp(-jk(alpha)t)}
% for k=0 ... 2*pi/alpha-1
%
% USAGE
% R=cyclic_cross_correlation(x,y,alpha,max_tau)
%
% calculate cross correlation up to max_tau time lags
% File: cyclic_cross_correlation.m
% Last Revised: 23/4/98
% Created: 24/11/97
% Author: Andrew C. McCormick
% (C) University of Strathclyde
% Simple error checks
if nargin~=4
error(\'Incorrect number of arguments for function cyclic_cross_correlation\');
end
if alpha>2*pi
error(\'Cyclic frequency must be less than 2 pi in function cyclic_cross_correlation\');
end
T=ceil(2*pi/alpha)-1;%取整
lx=length(x);%時間序列長度
t=0:lx-1;
R=zeros(max_tau*2+1,T+1);
% Compute even time shift segments偶數(shù)項
for tau=-max_tau:2:max_tau
for k=0:T
R(tau+1+max_tau,k+1)=mean(x(1:lx-max_tau-tau).*y(max_tau+tau+1:lx) ...
.*exp(-j*k*alpha*t(1+(max_tau+tau)/2:lx-(max_tau+tau)/2)));
end
end
% Compute odd time shift segments奇數(shù)項
t=t+0.5;
for tau=-max_tau+1:2:max_tau
for k=0:T
R(tau+1+max_tau,k+1)=mean(x(1:lx-tau-max_tau).*y(max_tau+tau+1:lx) ...
.*exp(-j*k*alpha*t(1+(max_tau+tau-1)/2:lx-(max_tau+tau+1)/2)));
end
end
為什么在求循環(huán)互相關(guān)的時候沒有取共軛,但是定義中的是有共軛的
![下載了matlab循環(huán)相關(guān)的工具箱,但是里面的循環(huán)相關(guān)程序和循環(huán)相關(guān)的定義不符]()
循環(huán)相關(guān)定義式.jpg |
|