实验二 高斯白噪声的产生和性能测试
1.实验目的
⑴ 了解高斯白噪声信号的特性,包括均值(数学期望)、方差、相关函数、频谱及功率谱密度等。
⑵ 掌握高斯白噪声信号的分析方法。
⒉ 实验原理
所谓高斯白噪声是指它的概率统计特性服从高斯分布而它的功率谱密度又是均匀的。确切的说,白噪声只是一种理想化的模型,因为实际的噪声功率谱密度不可能具有无限宽的带宽,否则它的平均功率将是无限大,是物理上不可实现的。然而白噪声在数学处理上比较方便,所以它在通信系统的分析中有十分重要的作用。一般地说,只要噪声的功率谱密度的宽度远大于它所作用的系统的带宽,并且在系统的带宽内,它的功率谱密度基本上是常数,就可以作为白噪声处理了。白噪声的功率谱密度为:
Sn(f)N02
其中N0为单边功率谱密度。
白噪声的自相关函数位:
R()N0N0()2 白噪声的自相关函数是位于τ=0处,强度为2的冲击函数。这表明白
噪声在任何两个不同的瞬间的取值是不相关的。同时也意味着白噪声能随时间无限快的变化,因为它含一切频率分量而无限宽的带宽。下面我们给出几种分布的白噪声。
随机过程的几种分布
前人已证明,要产生一个服从某种分布的随机数,可以先求出其分布函数的反函数的解析式,再将一个在[0,1]区间内的均匀分布的随机数的值代入其中,就可以计算出服从某种分布的随机数。下面我们就求解这些随机数。
[0,1]区间均匀分布随机信号的产生
采用混合同余法产生[0,1]区间的均匀分布随机数。混合同余法产生随机数的递推公式为:
yn1aync n=0,1,2……
xnynM n=1,2,3……
由上式的出如下实用算法:
xn1axncc[axn]MM
x0y0M
其中:
M2k,其中k为计算几种数字尾部的字长
a4t1,t为任意选定的正整数
y0 ,为任意非负整数
c ,为奇数
C语言中的rand()函数是服从[0,1]均匀分布的,所以在以后的实验中如果用到均匀分布的随机数,我们统一使用rand()函数。
正态分布(高斯分布)随机信号的产生
高斯分布的密度函数为:
f(x)x2exp()2 21采用变换法产生正态分布随机数,若R1、R2示[0,1]均匀分布随机数,则有正态分布随机数:
2lnR1cos2R2
2lnR1sin2R2
正态分布随机数用C程序实现:
for(i=0;i<1024;i++)
{
rand1[i]=rand()/32767.0; /*[0,1]均匀分布随机数 */
rand2[i]=rand()/32767.0; /*[0,1]均匀分布随机数 */
gauss[i]=sqrt(-2*log(rand1[i]))*cos(pai*rand2[i]); /*高斯分布随机数*/
}
指数分布随机信号的产生
指数分布的密度函数为:
f(x)*ex 当x>0时,当x≤0时 f(x)=0,其中α>0
它的反函数(指数分布随机数)为:
xF1(r)1ln(1r) 其中r为[0,1]区间均匀分布的随机数。
指数分布随机数用C程序也非常容易实现:
for(i=0;i<1024;i++)
{
rand1[i]=rand()/32767.0; /*[0,1]均匀分布随机数 */
exponent[i]=-log(rand1[i]); /*指数分布随机数,α=1*/
}
⒊ 实验内容及步骤
调用实验一计算随机信号统计特性子程序做:
⑴ 编写主程序,在主程序中产生高斯噪声,再调用随机信号统计特性子程序1024次,计算高斯噪声信号的均值和方差及其它相关特性,运行主程序之后退出C系统,再激活虚拟示波器,将其相关特性显示在虚拟示波器上进行观察并纪录。
⑵ 在主程序中加入采样输入函数。在主程序中调用随机信号统计特性子程序,计算采样的高斯噪声信号相关特性,运行主程序之后退出C系统,再激活虚拟示波器,将其相关特性显示在虚拟示波器上进行观察并纪录。
⒋ 实验报告要求
⑴ 简述实验目的及实验原理。
⑵ 按实验的记录数据画出测试的随机信号(包括随机信号的几种分布)的均值、方差、相关函数、频谱及功率谱密度图形,比较它们的不同之处并加以分析。
⑶ 对用C语言编写的程序的运行结果,按实验步骤纪录观察到的均值方差、相关函数、频谱及功率谱密度,进行分析和解释。
⑷ 对实测信号的均值方差、相关函数、频谱及功率谱密度与计算的结果作比较,并加以解释。
⑸ 总结实验中的主要结论。
⑹ 简要回答思考题。
因篇幅问题不能全部显示,请点此查看更多更全内容