白噪声功率谱密度小结
大家讨论了这么多的matlab生成白噪声的程序,关于白噪声功率谱密度强度的问题一直没搞清楚(我不是学电信专业的,对“wgn”中的几个单位也不是很熟悉,经过这几天的琢磨,现将matlab中两种生成白噪声的程序中的谱强度总结如下,不对之处,请多多指教。randn命令,生成的白噪声的谱强度为1
wgn---‘linear’能生成任意谱强度因子的白噪声,输入的数值即为谱强度因子
wgn---‘dbw’同randn,生成的白噪声的谱强度为1
wgn---‘dbM’同randn,输入为1时,生成的白噪声的谱强度为0.0012,输入0.1时谱强度为0.001.
所以,建议大家用wgn---‘linear’命令!
请大家多多讨论,互相学习,互相提高!!!
[ 本帖最后由 eight 于 2007-8-17 20:05 编辑 ] 总结的确实很好!
有几个区别要注意:
1. rand产生的是均匀分布白噪声序列
2. randn产生的是正态分布的白噪声序列
3. WGN产生的是高斯白噪声序列 请问下楼主,你的强度图是怎么做出来的呢?
怎么计算的强度?
我用功率谱估计的方法对产生的高斯白噪声求功率谱得到下图
幅度是0.32不是你得到的1。所以我想问你下 你是怎么计算的强度。
http://photo.store.qq.com/http_imgload.cgi?/rurl2=28232aaf480e0b0cc762cd57f64c099b27ed9de7cad9506d31ac247a19d830c69af044d5bff93eb88a9f28ffef6c87728bba65d9ccddde8556f866f1ca4777f3b002bd805ed4329cbf9dfd55d2ea87113886dff5
以上的实现代码是
clear all;
close all;
clc
randn('state',0)%
y=wgn(1,200000,1,'linear');
yk=pburg(y,8,1024);
plot(yk)
或者
clear all;
close all;
clc
leng_num=200000;
x=randn(1,leng_num);
x=(x-mean(x))/std(x);
xk=pburg(x,8,1024);
plot(xk)
[ 本帖最后由 fuheshan 于 2007-11-30 14:40 编辑 ] 原帖由 octopussheng 于 2007-8-17 09:57 发表 http://www.chinavib.com/forum/images/common/back.gif
总结的确实很好!
有几个区别要注意:
1. rand产生的是均匀分布白噪声序列
2. randn产生的是正态分布的白噪声序列
3. WGN产生的是高斯白噪声序列
只用过 rand 和 randn,没有用过 WGN。
但,正态分布不就是高斯分布吗? 我也算不出普强度为1,我用的pwelch方法 本帖最后由 happy 于 2012-12-11 11:17 编辑
kyu16866 发表于 2012-12-7 00:16 static/image/common/back.gif
我也算不出普强度为1,我用的pwelch方法
这里指的是信号强度,而不是功率谱密度具体可以看http://forum.chinavib.com/thread-31086-1-1.html
本帖最后由 kyu16866 于 2012-12-12 00:44 编辑
happy 发表于 2012-12-11 11:16 static/image/common/back.gif
这里指的是信号强度,而不是功率谱密度具体可以看http://forum.chinavib.com/thread-31086-1-1.html
信号的强度是一个值,就像您说提到的sigPower = sum(abs(sig(:)).^2))/length(sig(:))。我想知道为何第二副图中幅值也都在1左右?????
楼主提出的第二图,wgn(n,1,1,'linear'),信号强度是以watt为单位,所以例如y=wgn(1,2000,1,'linear');那么信号的能量sigpower确实是1左右。
window=hamming(512);=pwelch(y,window,256,1024,10);plot(f,Pxx)得到的曲线应该是楼主的图,可幅值在0.3左右,不是1.即使改成plot(f,10*log10(Pxx)),单位为Y轴单位为dbw,值也在0以下。
后来我看到如果白噪声功率谱密度为1,那么它一个周期能量为2*pi,然后,y=wgn(1,2000,2*pi,'linear');window=hamming(1024);=pwelch(y,window,100,1024,10);figure;plot(f,Pxx),得到的曲线图如下,在1上下。为什么要把功率设置2*pi,这跟一个周期有什么关系?
当均值为0,能量方差=均方差,就是功率谱密度积分/2pi,也跟这没关系呀!!!!求解释!!
!
对一个randn,用randn(n,1)就能得到
NFFT=1024; %NFFT为取样点数
Fs=10000; %Fs为取样频率
t=(0:NFFT-1)/Fs; %时间
y=randn(NFFT,1); %产生高斯白噪声,
figure(1);
subplot(3,1,1);
plot(t,y);
grid on;
title('白噪声波形');
%计算白噪声的自相关系数
=xcorr(y,200,'unbiased');
subplot(3,1,2);
plot(lags,cory); %自相关函数(无偏差的), cory为要求的自相关函数,lag为自相关函数的长度。
title('白噪声相关数');
grid on;
f=fft(cory); %对自相关系数进行傅里叶变换
k=abs(f);
fl=(0:length(k)-1)*Fs/length(k); %fl为fc的长度。
subplot(3,1,3)
plot(fl,k);
grid on;
title('白噪声功率谱谱');%谱值在1上下。 fuheshan 发表于 2007-11-30 12:47 static/image/common/back.gif
请问下楼主,你的强度图是怎么做出来的呢?
怎么计算的强度?
我用功率谱估计的方法对产生的高斯白噪声求 ...
说明,楼主提出的直接用wgn还是点问题。 弱弱的问一句,正态分布的白噪声序列和高斯分布不是一回事吗? 谢谢分享!! 1111111111111111111111111
页:
[1]