dandanzhang000 发表于 2007-8-4 13:57

如何生成随机信号的PSD谱

请问在matlab中如何生成随机信号的PSD谱,随机信号用randn函数生成可以吗

HolySaint 发表于 2007-8-4 14:39

这个

HolySaint 发表于 2007-8-4 14:40

这个是我写的

clear;
clc;
N=1024;
x=wgn(1,N,2);                                         %产生白噪声
ave=mean(x);                                            %计算均值
det=var(x);                                             %计算方差
fprintf('\n>>均值:%8.5f',ave)                %输出均值
fprintf('\n>>方差:%8.5f\n',det)        %输出方差
Rx2=xcorr(x)/N;                                         %计算自相关函数
m=[-N+1:N-1];                                                        %校准函数时间坐标
plot(m,Rx2);                                            %绘制自相关函数
title('自相关函数图')
NFFT=512;                                                                %采用512点的FFT
fs=1000;                                                                        %设定采样率为1000Hz
Ts=1/fs;
figure;
periodogram(x,[],NFFT,fs);                        %计算并绘制功率谱

dandanzhang000 发表于 2007-8-4 16:52

谢谢楼上
只是还有两问题:(1)FFT的数据长度必是2的n次方,那采样点数是不是也应为2的n次方呢?
        (2)得到的自相关函数为什么在横坐标为0的地方有一个显著的突起呢以及为什么
           要校准函数时间坐标

[ 本帖最后由 dandanzhang000 于 2007-8-4 17:02 编辑 ]

kerrylau2000 发表于 2007-8-4 17:19

好像不可以,这两个不等效的!

dandanzhang000 发表于 2007-8-5 21:16

回复 #3 HolySaint 的帖子

我没有校准函数时间坐标,结果也是一样的,那校准函数时间坐标不就没意义了?
页: [1]
查看完整版本: 如何生成随机信号的PSD谱