Matlab画图问题,自相关函数,功率谱密度,求具体代码.1、产生一组(0,1)均匀分布的随机序列,画出其自相关函数和功率谱密度;2、产生一组服从N~(2,5)的正态随机序列,画出其自相关函数和功率
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/24 09:40:09
Matlab画图问题,自相关函数,功率谱密度,求具体代码.1、产生一组(0,1)均匀分布的随机序列,画出其自相关函数和功率谱密度;2、产生一组服从N~(2,5)的正态随机序列,画出其自相关函数和功率
Matlab画图问题,自相关函数,功率谱密度,求具体代码.
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
Matlab画图问题,自相关函数,功率谱密度,求具体代码.1、产生一组(0,1)均匀分布的随机序列,画出其自相关函数和功率谱密度;2、产生一组服从N~(2,5)的正态随机序列,画出其自相关函数和功率
clear all;
close all;
warning off all;
Fs = 1000;
nfft=1024;
idx = 0:round(nfft/2-1);
k = idx*Fs/nfft;
t = 0:1/Fs:1;
x1 = rand(1,1001);
[cor1 lag1] = 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(idx+1))),title('(0,1)均匀分布功率谱密度');
x2 = normrnd(2,5,1,1001);
[cor2 lag2] = 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(idx+1))),title('(2,5)正态分布功率谱密度');
x3 = cos(600*pi*t)+cos(640*pi*t)+randn(1,1001);
[cor3 lag3] = 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(idx+1))),title('随机信号功率谱密度');
fai = 2*pi*rand(1,1001);
x4 = 2*cos(1000*pi*t+fai);
[cor4 lag4] = 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(idx+1))),title('随机相位信号功率谱密度');