糖葫芦 发表于 2006-9-3 01:34

紧急求助:这段循环错那里了??

根据图中二式我编写的程序如下:
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天了没有找到问题,求高人指点,不胜感激!:'(

AaronSpark 发表于 2006-9-3 08:07

画三位谱图有这么麻烦吗?怎么那么多循环?用FFT不就行了吗?

另外一般三位谱图也没有用surf画的
页: [1]
查看完整版本: 紧急求助:这段循环错那里了??