声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4364|回复: 5

[编程技巧] 求助MATLAB中的xcorr函数的使用

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

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

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

x
各位大侠使用过matlab中的xcorr相关函数吗?我用起来有点疑问,我使用的形式是xcorr(x,y),但在MATLAB中使用的时候计算出来的结果和按照相关公式手推导的结果发现输出的Rxy(n)序列的结果值的顺序不一致,不知道用过的人有没有发现这个问题啊
回复
分享到:

使用道具 举报

发表于 2008-9-3 20:44 | 显示全部楼层
不清楚楼主的问题,是否xcorr(x,y)的结果与Rxy(n)的IFFT变换的结果不一致?还是由xcorr(x,y)的结果进行FFT,得到Rxy(n),与直接计算Rxy(n)的结果不一致?
 楼主| 发表于 2008-9-5 18:59 | 显示全部楼层

回复 沙发 songzy41 的帖子

我用的C语言写的是用FFT的方法来计算相关值Rxy(n),也就是对Rxy(k)进行IFFT变换,这与matlab中xcorr(x,y)的计算结果值存在顺序问题
发表于 2008-9-5 20:32 | 显示全部楼层
原帖由 kalex 于 2008-9-5 18:59 发表
我用的C语言写的是用FFT的方法来计算相关值Rxy(n),也就是对Rxy(k)进行IFFT变换,这与matlab中xcorr(x,y)的计算结果值存在顺序问题

如果想从Rxy(k)进行IFFT变换与matlab中xcorr(x,y)的计算结果一致,主要是数据排列的问题。有这样两种方法:
1,设x和y序列长N,补0后成2N-1点长,x是在序列后补0,而y是在序列前补0,进行2N-1点的FFT,变成X和Y,求得Pxy=X.*conj(Y),再进行IFFT变换,得到的Rxy(n)与MATLAB求得的一致;
2,x和y都在序列后补0,补成长2N-1点,进行2N-1点的FFT,变成X和Y,求得Pxy=X.*conj(Y),进行IFFT变换,再做 ifftshift,得Rxy(n)与MATLAB求得的一致。
楼主可先用MATLAB试一下,再转到C语言中去。
发表于 2008-9-5 21:11 | 显示全部楼层

求教如何绘制功率谱图中的特征频率?

求教如何绘制功率谱图中的特征频率?
% 本程序采用相关函数法计算给定信号的功率谱
fs=200;
fid = fopen('E:/xuexi/SBL/xiluodu/testfor90610027/mshuju/080724D10.txt');
a = fscanf(fid,'%g %g %g %g',[4 inf]);
fclose(fid);
n=size(a);   
nfft=n(2);
num=n(1);
for i=1:num
    xn=a(i,:);
    cxn=xcorr(xn,'unbiased');
    cxk=fft(cxn,nfft);
    pxx=abs(cxk);
    index=0:round(nfft/2-1);
    k=index*fs/nfft;
    plot_pxx=10*log10(pxx(index+1));%10*log10(pxx(index+1));
    figure
    plot(k,plot_pxx)
    xlabel('Frequency/Hz');
    ylabel('Power/W')
    grid on
    title('PSD')
end
for i=1:num
    average(i)=mean(a(i,:));
    vary(i)=(sum((a(i,:)-mean(a(i,:))).^2)/length(a(i,:)))^0.5 ;
end
average
vary
请问大家用何程序才能把图中主要频率值绘制出来?
拜求各位大侠了!!!

f080724D10mmch1.fig

167.26 KB, 下载次数: 15

某个功率谱图

发表于 2008-9-5 21:12 | 显示全部楼层
不好意思搞错了?
罪过罪过!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-20 05:13 , Processed in 0.054542 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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