紧急求助:这段循环错那里了??
根据图中二式我编写的程序如下:clear all;
clc;
T = 1/2400;
matchout = ; % 数据
L = length(matchout);%数据长度
Corr_matchout = xcorr(matchout); % 自相关
Cut_Corr_matchout = Corr_matchout(L:1:2*L-1);
circle_range = ; % 循环频率a
freq_range = ; % 频率f
for ff = 1:length(freq_range)
for cc = 1:length(circle_range)
for tao = 0:L-1
for ii = 1:L
R(tao+1,ii) = Cut_Corr_matchout(tao+1)*exp(-j*2*pi*circle_range(cc)*ii*T);
end;
Rx(cc,tao+1) = sum(R(tao+1,:))/(L*T); % 循环子相关函数
SS(cc,tao+1) = Rx(cc,tao+1)*exp(-j*2*pi*freq_range(ff)*tao);
end;
Sx(ff,cc) = abs(sum(SS(cc,:)));% 循环谱幅度
end;
end;
surf(circle_range,freq_range,Sx);
xlabel('循环频率/Hz');
ylabel('频率/Hz');
zlabel('幅度');
最后得到的是随着循环频率a和频率f变化的循环幅度谱3维图....
问题是最后得到的循环幅度谱幅度并没有随着f和a的变化而变化,在每一个频率f下得到的都是同一组数值....
看了2天了没有找到问题,求高人指点,不胜感激!:'( 画三位谱图有这么麻烦吗?怎么那么多循环?用FFT不就行了吗?
另外一般三位谱图也没有用surf画的
页:
[1]