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('随机相位信号功率谱密度');
追问非常感谢!感觉你很厉害。我这里还有几个题,如果有时间能不能也帮我解答下,追加分。谢谢!
Q341474603
本回答被提问者采纳