窄带高斯随机过程的产生
- 格式:docx
- 大小:127.89 KB
- 文档页数:9
一种窄带高斯白噪声的生成与实现方法窄带高斯白噪声是一种在频率范围较窄的情况下服从高斯分布的信号。
在通信系统中,窄带高斯白噪声经常用于模拟真实的通信环境以进行性能测试。
生成窄带高斯白噪声的一种简单方法是通过随机过程模拟。
下面将详细介绍生成与实现这种噪声的方法。
1.窄带高斯白噪声的特点:窄带高斯白噪声具有以下特点:-平稳性:在时间上是平稳的,即任意时刻的统计特性与时间无关。
-高斯性:噪声样本服从高斯分布,即符合正态分布。
-白噪声:在频率上是平坦的,即在所有频率上的功率谱密度相等。
2.实现窄带高斯白噪声的步骤:为了实现窄带高斯白噪声,我们可以按照以下步骤进行:-生成高斯分布的白噪声信号。
-通过一个窗函数将信号限制在指定的频带内。
接下来对每个步骤进行详细说明。
2.1.生成高斯分布的白噪声信号:生成服从高斯分布的白噪声信号可以通过伪随机数生成器来实现。
伪随机数生成器可以产生类似于高斯分布的随机数,我们可以利用这个特性来生成噪声信号。
生成随机数时需要注意选择合适的随机数生成算法,如Box-Muller变换等。
2.2.通过窗函数限制信号频带:生成的白噪声信号在频率上是平坦的,为了将其转换为窄带的噪声信号,我们需要通过一个窗函数来限制信号的频带。
常用的窗函数有矩形窗、汉宁窗、布莱克曼窗等。
矩形窗函数是一种简单的窗函数,它在指定的频带内给予信号全功率,在其他频带内给予信号零功率。
这样,只要我们选择一个合适的频带,并对生成的白噪声信号进行截断操作,就能获得窄带信号。
在Python中,我们可以使用NumPy和SciPy库中的函数来实现窄带高斯白噪声的生成。
以下是一个简单的示例代码:```pythonimport numpy as npfrom scipy.signal import windows#生成高斯白噪声信号#选择窗函数window = windows.hann(100)#对信号进行窗函数处理,限制在指定的频带内narrowband_noise = white_noise[:100] * window#打印信号的功率谱密度power_spectrum_density =np.abs(np.fft.fft(narrowband_noise))**2print(power_spectrum_density[:50]) # 前50个频率点的功率谱密度```总结:窄带高斯白噪声的生成与实现方法主要包括生成高斯分布的白噪声信号和通过窗函数限制信号频带。
实验报告实验题目:窄带随机过程的模拟窄带随机过程的模拟一、实验目的(1)了解具有任意功率谱(低频)的正态随机过程的模拟; (2)了解窄带随机过程的模拟方法。
二、实验原理(1)任意功率谱的正态随机过程的模拟假定需要产生一个持续时间为d T 的高斯随机过程的一个样本()X t ,要求功率谱满足()X G f 。
为此,可以先将()X t 进行周期延拓,得到一个周期信号,然后对周期信号进行傅里叶级数展开。
即0201()()j f k k k dXt X e f T π∞=-∞==∑由于傅里叶级数是k X 的线性组合,所以,如果k X 是零均值的高斯随机变量,那么()X t 也是零均值高斯过程,如果{}()Xt 是两两正交的序列,则周期信号的功率谱为线谱。
即 2220()()(())kk k X k G f g f kf gE X δ∞=-∞=- =∑通过选择k g 就可以得到期望的功率谱。
假定()X G f 是带限的,即()0()X G f f B = >那么,{}2k g 只有有限项,共21M +项,与此对应的傅里叶级数也是21M +项。
因此,只需产生21M +个互相正交的零均值高斯随机变量{}11,,,,M M M M X X X X --+- 。
然后据此构造时域样本函数即可,有02()[]()Mj f k i t k k MX i X i t X e π∆=-=∆=∑其中t ∆为任意小的时间间隔。
(2)窄带随机过程的模拟对于窄带系统,当系统输入白噪声或宽带噪声时,输出可以表示为0()()cos[()]Y t A t t t ω=+Φ其中0ω为中心频率,()A t 和()t Φ是满变化的随机过程,对上式展开得00()()cos ()sin c s Y t A t t A t t ωω=-其中,()()cos (),()()sin ()c s A t A t t A t A t t =Φ=Φ,是慢变化的随机过程,分别称为窄带随机过程的同向分量和正交分量。
中山大学移动学院本科生实验报告(2015学年春季学期)课程名称:通信原理任课教师:刘洁 教学助理(TA ):朱焱1、 实验要求1.产生窄带随机过程和其概率谱密度2.产生多个窄带随机过程3.求出窄带随机过程的均值和自相关函数2、 设计思路0sin(2)f t 00)()sin(2)f t b t f t对于第一个实验: 首先便是要搞懂如何产生一个窄带随机过程,按照TA 的提示,循序而进,从定义出发,获得答案。
按照上面的结构框图 ,由公式:t t b t t a t X 00sin )(cos )()(ωω-= 可以较为轻松的得到窄带随机过程(先产生高斯白噪声g =randn(1,1001),产生低通[b,a] = butter(1,wn)的B/A 系数,由Y = filter (B ,A ,X ),得到a (t )和 b (t ),之后zt = a(t)cos(wt) - b(t)sin(wt),通过这个公式就容易了,再通过plot(zt);便可以得到窄带随机过程),后面的两个实验,是基于第一个实验来做的;对第二个实验: 加入for 循环,生成五个窄带随机过程,并且利用subplot 画小图。
对第三个实验: 产生窄带随机过程,利用函数mean 和xcorr 两个函数分别产生均值和自相关函数。
3、运行与测试Lab1:产生窄带随机过程和其概率谱密度在command命令框里写入:zhaidai,这是基于随机过程的莱斯表达式,产生一个1000个点的高斯窄带随机过程,和其概率谱密度(基本呈现正态分布)。
Lab2:产生多个窄带随机过程Subplot(5,2,x)让屏幕中有十个小图,分别为窄带随机过程,和其概率谱密度。
Lab3:求出窄带随机过程的均值和自相关函数分析:各个过程都是实的,中心点上相关程度最高,而且观察到:zt这个过程在中心点位置上有一个峰值,其他位置上,自相关函数会接近于零。
分析:以上是对两次窄带随机过程的均值,对于标准正态的,均值趋近于零,而at,bt是由标准正态通过一个线性系统得到的,所以输出均值不变,仍为零,从程序运行结果可以看出,均值u都趋近于零。
本科实验报告实验名称:窄带高斯随机过程的产生一、实验目的熟悉窄带随机过程的定义,了解窄带随机过程产生的原理与方法,最后估计实验产生的窄带随机过程的功率谱;掌握具有指定功率谱的随机过程产生方法,并以此产生窄带随机过程。
二、实验内容本实验模拟产生一段时长为5ms 的窄带高频随机过程X(t)的样本函数。
根据窄带随机过程的理论,X(t)可表示为t f t A t f t A t X s c 002cos )(2cos )()(ππ-=其中,A c (t)和A s (t)均为低频的高斯随机过程,因此,要模拟产生X(t),首先要产生两个相互独立的高斯随机过程Ac(t)和As(t),然后用两个正交载波cos2πf 0t 和sin2πf 0t 进行调制,如图所示。
假定Ac(t)和As(t)的功率谱密度均为4)/(11)()(f f f G f G s c ∆+==,其中f ∆为功率谱密度的3dB 带宽。
在3.7节中介绍了有色高斯随机过程的产生,请按照频域法或时域滤波器法分别产生时长5ms 的低通过程Ac(t)和As(t),然后按图所示合成X(t),其中f 0=1000/π,要求分别画出模拟产生的Ac(t)、As(t)、X(t)的波形。
三、实验原理(一)、有色高斯随机过程的模拟——频域法首先将X(t)进行周期延拓,得到一个周期信号,再对周期信号进行傅里叶级数展开,即∑∞-∞==k k f j k e X t X 02~)(π)1(0dT f =由于傅里叶级数是X k 的线性组合,所以,如果X k 是零均值的高斯随机变量,那么)(~t X 也是零均值高斯过程,如果{X k }是两两正交的序列,则周期信号的功率谱为线谱,即∑∞-∞=-=k k Xkf f gf G )()(02~δ))|(|(22k k X Eg =通过选择g k 就可以得到期望的功率谱。
假定Gx(f)是带限的,即0)(=f G x (|f|>B)那么,{g k 2}只有有限项,即{22120212,,...,,...,,M M M M g g g g g -+--},其中M=[B/f 0],[·]表示取整,与此对应的傅里叶级数系数{Xk}也是2M+1项。
因此,只需产生2M+1个相互正交的零均值高斯随机变量{M M M M X X X X X ,,...,,...,,101-+--},其方差22)|(|k k g X E =,并在1式中将时间限定为(0,Td)就可以得到模拟过程X(t)。
2k g 应与)(0kf G x 成比例,即)(02kf G g x k β=,系数β的选择满足下式:∑⎰∑∑-=-=-====MMk XBBMMk MMk kk X kf GgX E df f G )(]|[|)(0-22β即∑⎰-==MMk XBB X kf G df f G )()(0-β 总结如下:1.根据所需过程的时长Td 确定频率f 0,并确定傅里叶级数系数的长度M=[B/f 0];2.根据∑⎰-==MMk XBB X kf G df f G )()(0-β确定β; 3.产生2M+1个独立的高斯随机变量,即M M M M k kf G N X X k ,1,...,0,...,1,)),(,0(~0-+--=β4.构建时域样本函数∑-=∆=∆=MMk t i k f j ke Xt i X i X )(20)(][π其中t ∆为任意小的时间间隔。
(二)、有色高斯随机过程的模拟——时域滤波法功率谱为1的白噪声通过线性系统,输出的是服从高斯分布的,且输出的功率谱为,因此要产生功率谱为的有色高斯噪声,只需设计一个滤波器即可,该滤波器的传递函数应满足图2:时域滤波法产生有色高斯噪声的示意图(三)、窄带随机过程的产生X (t )= A c (t ) cos 2π f 0 t - A s (t ) sin 2π f 0 t用相同估计方法产生两次窄带高斯序列,分别为Ac(t)和As(t),再带入上式与载波相乘并作变换,就得到了窄带随机过程。
四、实验过程及结果(一)、有色高斯随机过程的模拟——频域法1.因为Td=5ms,则f 0=200Hz ;由功率谱密度可知KHz f 1=∆是功率谱密度的3dB 带宽,严格来说,该过程带宽是无限的,但频率足够高时,功率谱密度已经很小,取f B ∆=6。
故有M=30。
2.计算系数β:99.1990925.114.2218)()(0-≈==∑⎰-=MMk XBB X kf G df f G β3.产生2M+1个独立的高斯随机变量,即M M M M k kf G N X X k ,1,...,0,...,1,)),(,0(~0-+--=β构建时域样本函数∑-=∆=∆=MMk t i k f j ke Xt i X i X )(20)(][π其中t ∆为任意小的时间间隔,这里取00001.0=∆t 。
(二)、窄带随机过程的产生用同样的方法产生两个独立的高斯随机信号As(t)和Ac(t),再用载波进行调制,即 可得到最终信号。
五、实验结论及分析1. 有色高斯随机过程的模拟——频域法图3:模拟产生的具有给定功率谱的高斯随机过程 2. 有色高斯随机过程的模拟——时域滤波法图4:时域滤波法产生有色高斯噪声3.窄带随机过程的产生按图3、4所示方法产生Ac(t)和As(t),并进行载波调制,产生窄带高斯随机过程:图5:窄带高斯随机过程六、心得体会1.本实验锻炼了我的MATLAB编程能力,学到了随机信号模拟的基本函数;2.本实验让我对有色高斯噪声有了更深入的认识,学会了模拟产生具有特定频率谱的高斯随机过程;3.了解了频域法和时域滤波法的原理和思想;4.锻炼了实践能力和自学能力。
七、代码附录%窄带随机过程的产生clc;clear;%设置参数fc=1000/pi; %信号的载波频率dt=0.00001; %采样间隔Td=0.005; %信号时长df=1000; %3dB带宽B = 6*df;fo=1/Td; %中心频率点M=floor(B*Td); %傅里叶级数系数长度m=[-M:M];I=sqrt(-1); %虚数ix= 0:0.01:10 ;psd=1./(1+x.^4); %功率谱密度的函数表达式syms f realpower=vpa(int(1/(1+(f/1000)^4),-6000,6000),5); %功率绝对大小s=1./(1+((m*fo)/df).^4); %以fo为单位,s即为各个离散点处功率谱密度函数的值beta=power/sum(s); %系数βs=beta*s; %s=∑Gx(kfo),而所需的,故beta*s即为所要的功率谱密度%原功率谱密度函数图 -8000Hz - 8000Hzf=[-8:0.01:8]*df;psd0=1./(1+(f/df).^4);%作图显示subplot 211;stem(m*fo,s/fo,'b'); %点线图,横轴为频率,以fo为单位值,纵轴为功率谱相对值hold on;plot(f,psd0,'r'); %连续的功率谱密度axis([-8*df 8*df 0 1.2]);xlabel('频率(Hz)');ylabel('功率谱');%生成时域信号对应的傅立叶变换z0=randn(1); z0=z0*sqrt(s(M+1));zplus=sqrt(s(M+2:2*M+1)/2).*(randn(1,M)+I*randn(1,M));zminus=conj(fliplr(zplus));z=[zminus z0 zplus];%做反傅立叶变换,求出时域信号,即窄带随机过程频域法高斯有色信号X(t) Ac(t)t = 0:dt:Td; %时长5msX=zeros(1,length(t));for m=-M:MX=X+z(m+M+1)*exp(I*2*pi*m*fo*t);end;hold on;subplot 212;plot(t*1000,real(X),'b');xlabel('时间(ms)');ylabel('X(t)');T = 0.005; % 时域长度5msfs = 100000; % 采样频率 10kHzn = round(T*fs)+1; %采样点数t = linspace(0,T,n);W = randn(1,n); % 高斯白噪声w0 = sqrt(2)*pi*df;h = -2 * w0 * exp( -w0*t ) .* cos( w0*t );Y = conv(W,h);As = T*Y(1:n);%生成时域信号对应的傅立叶变换z0=randn(1); z0=z0*sqrt(s(M+1));zplus=sqrt(s(M+2:2*M+1)/2).*(randn(1,M)+I*randn(1,M));zminus=conj(fliplr(zplus));z=[zminus z0 zplus];%做反傅立叶变换,求出时域信号,即窄带随机过程频域法高斯有色信号X(t) Ac(t) t = 0:dt:Td; %时长5msAs=zeros(1,length(t));for m=-M:MAs=As+z(m+M+1)*exp(I*2*pi*m*fo*t);end;figuresubplot 211plot(t,As)xlabel('时间(s)');ylabel('Z(t)');%合成信号X(t)t=0:dt:Td;X = X.*cos(2*pi*fc*t*1000) - As .*sin(2*pi*fc*t*1000 ); figure;subplot 211;plot(t*1000,real(X),'b');xlabel('时间(ms)');ylabel('X(t)');title('\fontsize{18}\sl 合成信号X(t)'); %定义图名。