声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1238|回复: 1

[编程技巧] 紧急求助:这段循环错那里了??

[复制链接]
发表于 2006-9-3 01:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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天了没有找到问题,求高人指点,不胜感激!:'(
未命名.JPG
回复
分享到:

使用道具 举报

发表于 2006-9-3 08:07 | 显示全部楼层
画三位谱图有这么麻烦吗?怎么那么多循环?用FFT不就行了吗?

另外一般三位谱图也没有用surf画的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-16 16:20 , Processed in 0.058839 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表