马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
根据图中二式我编写的程序如下:
clear all;
clc;
T = 1/2400;
matchout = [1:2:100]; % 数据
L = length(matchout);%数据长度
Corr_matchout = xcorr(matchout); % 自相关
Cut_Corr_matchout = Corr_matchout(L:1:2*L-1);
circle_range = [0:100:400]; % 循环频率a
freq_range = [0:500:4000]; % 频率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天了没有找到问题,求高人指点,不胜感激!:'( |