Matlab画图问题,自相关函数,功率谱密度,求具体代码。

[复制链接]
查看11 | 回复1 | 2011-6-26 04:10:33 | 显示全部楼层 |阅读模式
1、产生一组(0,1)均匀分布的随机序列,画出其自相关函数和功率谱密度;
2、产生一组服从N~(2,5)的正态随机序列,画出其自相关函数和功率谱密度;
3、估计随机过程X(t)=cos(600πt)cos(640πt)N(t)的自相关函数和功率谱,其中N(t)服从N~(0,1)的高斯分布。
4、随机相位信号X(t)=Acos(ωtΨ),其中A=2和ω=1000π,Ψ是在(0,2π)上均匀分布的随机变量。估计该随机信号的自相关函数和功率谱密度。
提示:随机序列{Xn}的自相关函数Rx(m)用下式计算(图片):

然后通过计算自相关函数的离散傅立叶变换(DFT)来得出序列的功率谱。DFT可以用MATLAB中的FFT函数来计算。

参考函数:fft,fftshift,ifft,ifftshift
回复

使用道具 举报

千问 | 2011-6-26 04:10:33 | 显示全部楼层
clearall;
closeall;
warningoffall;

Fs=1000;
nfft=1024;
idx=0:round(nfft/2-1);
k=idx*Fs/nfft;
t=0:1/Fs:1;

x1=rand(1,1001);
[cor1lag1]=xcorr(x1,\'unbiased\');
figure(1);
subplot(211),plot(lag1/Fs,cor1),title(\'(0,1)均匀分布自相关函数\');
Xk1=fft(cor1,nfft);
Px1=abs(Xk1);
subplot(212),plot(k,10*log10(Px1(idx1))),title(\'(0,1)均匀分布功率谱密度\');

x2=normrnd(2,5,1,1001);
[cor2lag2]=xcorr(x2,\'unbiased\');
figure(2);
subplot(211),plot(lag2/Fs,cor2),title(\'(2,5)正态分布自相关函数\');
Xk2=fft(cor2,nfft);
Px2=abs(Xk2);
subplot(212),plot(k,10*log10(Px2(idx1))),title(\'(2,5)正态分布功率谱密度\');

x3=cos(600*pi*t)cos(640*pi*t)randn(1,1001);
[cor3lag3]=xcorr(x3,\'unbiased\');
figure(3);
subplot(211),plot(lag3/Fs,cor3),title(\'随机信号自相关函数\');
Xk3=fft(cor3,nfft);
Px3=abs(Xk3);
subplot(212),plot(k,10*log10(Px3(idx1))),title(\'随机信号功率谱密度\');

fai=2*pi*rand(1,1001);
x4=2*cos(1000*pi*tfai);
[cor4lag4]=xcorr(x4,\'unbiased\');
figure(4);
subplot(211),plot(lag4/Fs,cor4),title(\'随机相位信号自相关函数\');
Xk4=fft(cor4,nfft);
Px4=abs(Xk4);
subplot(212),plot(k,10*log10(Px4(idx1))),title(\'随机相位信号功率谱密度\');









<h4class=\"ask\">追问


非常感谢!感觉你很厉害。我这里还有几个题,如果有时间能不能也帮我解答下,追加分。谢谢!
Q341474603
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行