资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,通信系统建模与仿真第二部分 基本概念与方法,第7章 随机信号的产生与处理,均匀分布随机变量的产生,产生任意pdf的随机变量,产生不相关的高斯随机变量,产生相关的高斯随机变量,PN序列发生器,随机信号处理在通信系统仿真中的应用,通信系统模型,连续时间系统,离散时间系统,通信系统中的随机过程和随机序列,通常假设随机过程和随机序列满足平稳遍历性,随机过程和随机序列的分布,常用的随机过程和随机序列服从下列分布,均匀分布、高斯分布、瑞利分布、二项分布、泊松分布、指数分布、,分布等,均匀分布的随机数,特别是在(0,1)之间均匀分的随机数是最基本的,其它各种分布的随机数往往可以通过变换(0,1)均匀分布的随机数得到,随机数的产生方法,7.2 均匀随机数发生器,用数学方法产生的均匀随机数必须满足下列要求,随机数必须服从均匀分布,或者非常接近均匀分布,随机数必须具有统计上的独立性,随机数序列能够重复产生,以便重复验证仿真结果,随机数的周期应满足仿真问题的要求(尽量使用,全周期,随机数发生器),产生随机数的速度要高,以缩短仿真时间,产生随机数的方法应需要最少的计算机存储空间,产生均匀随机数最常用的数学方法是线性同余法(LCG),线性同余法,线性同余发生器的运算规则,x,i,+1,=(,ax,i,+,c,) mod (,m,),(7-3),其中:,a,是乘子、,c,是增量、,m,称作模数,式(7-3)能依次产生连续的,x,值,这是一个确定性的序列,x,的初始值记作,x,0,,称作LCG的种子(seed number),如果,x,0,、,a,、,c,和,m,都是整数,,x,的值也是整数,并且介于,0,到,m,之间,令,x,/,m,,就可得到在(0,1)之间均匀分布的随机变量,x,序列的最大周期为,m,,此时的发生器是,全周期,的,线性同余发生器的最低标准算法,最低标准算法所具有的性质,LCG,是全周期的,能通过所有使用的随机性测试(比如相关性测试,随机数的样本,x,i,+1,和,x,i,应互不相关,易于从一台计算机移植到另一台计算机,Lewis, Goodman,和,Miller,最低标准算法,x,i,+1,=(16807,x,i,) mod (2147483647),(7-24),m,是,Mersenne,素数,2,31,1,Matlab中使用的均匀随机数发生器,Matlab使用库函数rand产生均匀随机数,在Matlab版本5以前的版本中,rand是根据(7-24)定义的最低标准开发的,在Matlab版本5和版本6中,rand的默认算法是Marsaglia开发的算法(算法只用到加法和减法运算,执行起来比LCG快得多),MathWorks声称该随机数发生器的周期超过2,1492,。,Matlab版本5和6也可以通过命令rand(seed,0)和rand(seed,J)调用(7-24)定义的最低标准算法,Matlab中rand的使用注意事项,使用者可以使用默认的种子,也可以自行设定种子,关闭并重新打开Matlab可以将种子复位到默认值。因此,测试时我们可以产生完全相同的随机数序列。,系统时钟可用来随机化种子的初始值,种子数存在一个缓冲器中,而不是Matlab工作区中。因此,Clear all并不能使种子复位。,7.3 将均匀分布的随机变量映射为具有任意pdf的随机变量,具有任意pdf的随机变量可通过均匀分布随机变量的变换得到,主要方法有:,逆变换法,:如果目标随机变量的,CDF,具有闭合形式,该随机变量可采用逆变换法产生。,舍弃法:如果目标随机变量的,pdf,具有闭合形式,但,CDF,没有闭合形式,可采用舍弃法。该方法可以产生高斯随机变量(也可以使用,均匀变量求和法,、,极坐标法,或者通过,瑞利随机变量的映射,得到高斯随机变量),直方图法:如果要求随机数发生器的,pdf,与实验数据的,pdf,(可通过直方图得到)相一致,可采用直方图法。,7.3.1 逆变换法,X,n,是均匀分布的,不相关序列,下面,用随机变量,U,表示,Y,n,也,是不相关,序列,下面用随,机变量,X,表示。,它的CDF为,F,X,(,x,),不相关随机序列的功率谱密度是常数(白噪声),均匀分布的随机变量,U,变换,成CDF为,F,X,(,x,)的随机变量,X,逆变换法的实施步骤,产生均匀分布的随机变量,U,(可以使用,Matlab,中的库函数,rand,,也可以使用,LCG,法),计算出随机变量,X,的,CDF,闭合形式,F,X,(,x,),,,F,X,(,x,)=,Pr,X,x,令,U,=,F,X,(,X,),,解出逆函数,X,=,F,X,1,(,U,),,这样就可以产生随机数,x,可以证明,随机数,x,的,CDF,等于,F,X,(,x,),F,X,(,x,),是自变量,x,的非减函数,将均匀分布转换为指数分布的Matlab程序,产生均匀分布的随机数,U,画出直方图,根据直方图计,算概率密度,pdf的理论值,用Box-Muller算法产生高斯随机变量时会用到这个结果,7.4 产生不相关的高斯随机变量,高斯随机变量的产生方法:,舍弃法。效率不高,均匀变量求和法,。基于中心极限定理,方法简单,但pdf的拖尾被截断可能会产生严重的误差,瑞利随机变量映射为高斯随机变量的方法,,即Box-Muller算法。这是最基本的算法。,极坐标法。是舍弃法的一个特例,产生的随机变量相关特性比Box-Muller算法好,但需要多次调用,而且调用的次数未知,因此仿真程序相当复杂。,高斯随机变量的CDF,高斯Q函数不能写成闭合形式,7.4.1 均匀变量求和法,中心极限定理表明:如果独立随机变量,k,有相同分布和有限方差,当,k,无限增大时,随机变量,k,和的分布趋于高斯分布。,假设有,N,个独立的在,(0,1),区间均匀分布的随机变量,U,i,,,i,=1,N,。它们可以构成随机变量,Y,因为,U,i,的均值为,1/2,,方差为,1/12,;所以,Y,的均值为,0,,方差为,NB,2,/12,。给定,N,,选择,B,,就可以将,Y,的方差设为所需的任意值,均匀变量求和法的缺点,Y,在,均值附近可以很精确地近似高斯随机变量,由于,U,i,1/2,的变化范围是,1/21/2,所以,Y,在,NB,/2 到,NB,/2的,范围内变化。这样使得,Y,的pdf的拖尾被截断到,NB,/2,这时如果用,Y,来仿真通信系统中的噪声,可能会产生比较大的误差,因此,必须根据具体的应用确定合适的,N,。,N,较大,产生一个高斯随机数会耗费过多的CPU时间,,N,较小,高斯随机变量pdf的拖尾截断得比较多,会产生较大的误差。,7.4.2 瑞利随机变量到高斯随机变量的映射,瑞利随机变量可由两个正交的高斯随机变量产生。,设这两个独立的高斯随机变量为X和Y,它们具有,相同的方差,2,。,令,x,=,r,cos,,,y,=,r,sin,,则,R,是一个瑞利随机变量,,是一个均匀随机变量,瑞利随机变量可由两个正交的高斯随机变量产生。,瑞利随机变量的正交投影可以产生,一对相互独立的高斯随机变量,假设,R,是瑞利随机变量,,在(0,2,)上均匀分布,通过下面的式子可以产生高斯随机变量,X,和,Y,X,和,Y,的均值为0,方差为,2,例7.8表明,瑞利随机变量可由均匀分布的随机变量产生,所以高斯随机变量,X,和,Y,也可由均匀分布的随机变量产生,Box-Muller算法,实现Box-Muller算法的Matlab程序,Matlab中使用的高斯随机数发生器,Matlab中使用库函数randn产生服从高斯分布的随机数,Matlab版本5以前的版本,使用极坐标法及(7-24)中的最低标准算法将均匀分布的随机数映射为高斯分布的随机数,从Matlab版本5开始,使用新的不涉及乘法和除法运算的算法,直接产生具有高斯pdf的随机数,后来的Matlab版本还用到改进的Ziggurt算法,7.5 产生相关的高斯随机变量,产生具有给定相关系数(一阶相关)的两个高斯序列,由高斯白噪声产生具有给定功率谱密度(PSD)的高斯随机变量/随机序列/随机过程,需要指出的是,白噪声和高斯分布是两个概念,“,白噪声”和“带宽受限的白噪声”是指随机过程的功率谱密度,PSD,是平坦的,其概率密度分布并不一定是高斯分布,高斯分布指的是随机过程的概率密度服从正态分布,其功率谱密度可以是任意形状,7.5.1 产生相关系数为,的高斯序列,假设,X,和,Y,都是均值为0,方差为,2,的高斯随机变量,令,可以证明,,Z,也是均值为0,方差为,2,的高斯随机,变量,而且,Z,与,X,的相关系数为,,|,|,1。,证明过程,7.5.2 产生具有任意PSD的高斯随机变量,对一组不相关的样本进行适当的滤波,可以使滤波后的数据具有目标功率谱密度,输入具有高斯分布,假设,S,X,(,f,),=S,n,(,f,),,,S,n,(,f,),如下图所示,K,=,N,0,/2,Jakes滤波器,高斯白噪声通过Jakes滤波器后,可以产生,功率谱密度满足(7.97)式的高斯随机过程,Jakes滤波器的脉冲响应和功率谱密度,高斯白噪声通过Jakes滤波器的功率谱密度及对数幅度,7.7 PN序列发生器,仿真中,常用PN序列建立数据源模型,N级移位寄存器,模2加法器,连接向量,即PN码生,成多项式,g,(,D,)的系数,PN序列发生器输出的序列是一个伪噪声序列;序列,的PSD近似为常数,自相关函数近似为冲激函数,PN序列的最大周期为,L,=2,N,1,当且仅当,g,(,D,)为本,原多项式时,才可以达到这个周期,PN序列的自相关函数Rm,假设数据符号为,1(0,+1,1,1),则:,m=0,或,L,的整数倍时,,Rm,=1,0mL,时,,Rm,=,1/L,PN序列的其它特性,序列几乎是平衡的,序列中1的个数比0的个数多一个,在适当的位置添一个0,则序列平衡,除全0序列外,PN序列的一个周期中会出现所有可能的比特组合,虽然自相关函数是周期的,但其波形与随机的二进制波形几乎完全相同,设计具有N级移位寄存器的PN序列发生器,就是要找到一个N阶本原多项式,文献中给出的部分本原多项式的系数,开发PN序列发生器仿真程序的步骤,设置移位寄存器的初始状态向量,B,,令,n,=1,B,=,b,1,b,2,b,N,-1,b,N,根据本原多项式的系数设置连接向量,G,G,=,g,1,g,2,g,N,-1,g,N,计算模,2,加法器的输出,f,n,移位寄存器中的数据移一位,并把,f,n,反馈到,b,1,中,得到新的状态向量,B,令,n,=,n,+1,,,重复步骤,34,,直到仿真结束,例7.12 设计一个N=10的PN序列发生器,连接向量,G,=0 0 1 0 0 0 0 0 0 1,序列的周期,L,=1023,PN序列发生器的仿真程序,PN序列发生器的仿真程序(续),7.8 线性系统随机输入/输出信号之间的关系,随机输出信号与随机输入信号的均值满足,m,y,=H,(0),m,x,,,H,(0),是滤波器的直流增益,输入是平稳序列,输入和输出的互相关函数满足,输入信号和输出信号的自相关函数满足,如果输入序列为白噪声,其相关函数为,输入信号和输出信号的方差满足,如果输入序列是,相关序列,则,本章小结,均匀随机数的产生方法,高斯随机数的产生方法,产生具有任意功率谱密度的高斯随机过程,PN序列发生器及其仿真实现,线性系统随机信号输入与随机输出信号的关系,
展开阅读全文