花如月 发表于 2007-7-23 21:46

蝴蝶怪图

本来想用matlab程序验证时域相关定理的,结果却做出此蝴蝶怪图:@Q
clear;
n=99;                              %设定每周期数据采集点数
T=6;                               %采样周期数
t=0:2*pi/(n-1):2*T*pi;             %采样数
N=length(t);
fs=1/(n-1);
x1=4*sin(t);                     %信号1
y1=4*sin(t+pi/6);                  %信号2,相位差取pi/6
x=awgn(x1,20);
y=awgn(y1,20);               
S1=fft(x,2*N-1);
S2=fft(y,2*N-1);
X = S1.* conj(S2);
R1 = ifft(fftshift(X));
plot(R1)
hold on
plot(R1,'r.');
%%%%%%%%%%%%%%
figure(2)
subplot(211),plot(Cc),title('xcorr结果')
subplot(212),plot(ifft(X));
title('ifft计算结果');
另外高手给看一下验证时域的相关定理时的问题出在哪儿?在附图2
基础不好闹笑话了,高手莫怪呀:loveliness:

[ 本帖最后由 花如月 于 2007-7-23 21:53 编辑 ]

songzy41 发表于 2007-7-24 08:37

程序中没有给出Cc,我把附图2的程序略作修改有
Cc=xcorr(x,y);
subplot(211),plot(Cc),title('xcorr结果')
subplot(212),plot(real(fftshift(ifft(X))));
title('ifft计算结果');
得下图,验证了时域相关定理。在笫1图中应先ifft,再fftshift,就出不来这蝴蝶图了。

花如月 发表于 2007-7-24 09:25

回复 #2 songzy41 的帖子

原来是函数顺序弄错了:@L ,谢谢songzy41老师,回头我再好好看看基础

[ 本帖最后由 花如月 于 2007-7-24 09:26 编辑 ]
页: [1]
查看完整版本: 蝴蝶怪图