Matlab仿真窄带随机过程

合集下载

Matlab中的随机过程建模技巧

Matlab中的随机过程建模技巧

Matlab中的随机过程建模技巧随机过程是描述随机现象随时间变化的数学模型。

它在工程、金融、生物医学等许多领域都有广泛的应用。

在Matlab中,我们可以利用其强大的数学工具箱来进行随机过程的建模和分析。

本文将介绍一些在Matlab中常用的随机过程建模技巧。

一、随机过程的基本概念在进行随机过程建模之前,我们先来回顾一下一些基本概念。

1. 马尔可夫性质马尔可夫性质是指一个随机过程在给定过去的条件下,未来与过去和未来的时间无关。

在Matlab中,可以使用markovchain对象来表示马尔可夫链,并利用其属性和方法进行分析。

2. 随机过程的平稳性如果一个随机过程的统计性质在时间平移的情况下不发生变化,那么该随机过程就是平稳的。

在Matlab中,可以使用stationary函数来判断一个随机过程是否是平稳的。

3. 随机过程的自相关函数与功率谱密度自相关函数描述了一个随机过程在不同时间点的取值之间的相关性。

功率谱密度则描述了一个随机过程在不同频率下的能量分布。

在Matlab中,可以使用xcorr 和pwelch函数分别计算随机过程的自相关函数和功率谱密度。

二、随机过程的模拟模拟随机过程是随机过程建模的重要步骤之一。

在Matlab中,可以使用rand、randn等函数生成服从特定分布的随机数序列,并利用for循环和if语句等控制结构模拟出具有特定统计性质的随机过程。

例如,我们可以使用randn函数生成服从正态分布的随机数序列,然后利用for 循环和格朗日方程生成具有平稳性的随机过程。

具体实现代码如下:```MatlabN = 1000; % 随机数序列长度X = zeros(1, N); % 存储随机过程的数组X(1) = randn; % 初始化随机过程的初始值for n = 2:NX(n) = 0.9*X(n-1) + sqrt(1 - 0.9^2)*randn;endplot(X);```通过运行上述代码,我们可以得到一个服从AR(1)过程的随机数序列,并通过绘图函数plot将其可视化。

利用MATLAB进行随机过程建模

利用MATLAB进行随机过程建模

利用MATLAB进行随机过程建模简介随机过程是一个随机变量随时间的变化过程,具有概率性质。

在许多领域,如金融、通信、生物医学等,随机过程的建模和分析是十分重要的。

MATLAB是一种功能强大、易于使用的数值计算软件,它提供了丰富的工具和函数,方便进行随机过程的建模和仿真。

本文将介绍如何利用MATLAB进行随机过程建模。

一、MATLAB中的随机变量生成在进行随机过程建模之前,首先需要生成相应的随机变量。

MATLAB提供了多种方法来生成不同分布的随机变量。

常用的包括均匀分布、正态分布、指数分布等。

例如,要生成一个均匀分布的随机变量,可以使用rand函数。

以下代码生成一个长度为1000的均匀分布的随机变量序列:```matlabrng(0); % 设置随机数种子,保证结果可复现X = rand(1, 1000); % 生成均匀分布的随机变量```同样地,通过normrnd函数可以生成正态分布的随机变量,通过exprnd函数可以生成指数分布的随机变量。

二、随机过程的建模在随机过程建模中,常用的模型包括马尔可夫过程、随机游走、泊松过程等。

利用MATLAB可以方便地进行这些模型的建模和仿真。

1. 马尔可夫过程马尔可夫过程是一种具有马尔可夫性质的随机过程,其下一个状态只依赖于当前状态。

MATLAB提供了markovchain函数用于创建马尔可夫链模型。

以下代码创建一个状态空间为{'A', 'B', 'C'}的马尔可夫链:```matlabstates = {'A', 'B', 'C'}; % 状态空间transitionMatrix = [0.5 0.2 0.3; 0.3 0.5 0.2; 0.2 0.3 0.5]; % 状态转移矩阵mc = markovchain('StateNames', states, 'TransitionMatrix', transitionMatrix); % 创建马尔可夫链模型```可以通过simulate函数模拟马尔可夫过程的状态序列。

随机信号分析实验报告(基于MATLAB语言)

随机信号分析实验报告(基于MATLAB语言)

随机信号分析实验报告——基于MATLAB语言姓名:_班级:_学号:专业:目录实验一随机序列的产生及数字特征估计 (2)实验目的 (2)实验原理 (2)实验内容及实验结果 (3)实验小结 (6)实验二随机过程的模拟与数字特征 (7)实验目的 (7)实验原理 (7)实验内容及实验结果 (8)实验小结 (11)实验三随机过程通过线性系统的分析 (12)实验目的 (12)实验原理 (12)实验内容及实验结果 (13)实验小结 (17)实验四窄带随机过程的产生及其性能测试 (18)实验目的 (18)实验原理 (18)实验内容及实验结果 (18)实验小结 (23)实验总结 (23)实验一随机序列的产生及数字特征估计实验目的1.学习和掌握随机数的产生方法。

2.实现随机序列的数字特征估计。

实验原理1.随机数的产生随机数指的是各种不同分布随机变量的抽样序列(样本值序列)。

进行随机信号仿真分析时,需要模拟产生各种分布的随机数。

在计算机仿真时,通常利用数学方法产生随机数,这种随机数称为伪随机数。

伪随机数是按照一定的计算公式产生的,这个公式称为随机数发生器。

伪随机数本质上不是随机的,而且存在周期性,但是如果计算公式选择适当,所产生的数据看似随机的,与真正的随机数具有相近的统计特性,可以作为随机数使用。

(0,1)均匀分布随机数是最最基本、最简单的随机数。

(0,1)均匀分布指的是在[0,1]区间上的均匀分布, U(0,1)。

即实际应用中有许多现成的随机数发生器可以用于产生(0,1)均匀分布随机数,通常采用的方法为线性同余法,公式如下:,序列为产生的(0,1)均匀分布随机数。

定理1.1若随机变量X 具有连续分布函数,而R 为(0,1)均匀分布随机变量,则有2.MATLAB中产生随机序列的函数(1)(0,1)均匀分布的随机序列函数:rand用法:x = rand(m,n)功能:产生m×n 的均匀分布随机数矩阵。

(2)正态分布的随机序列函数:randn用法:x = randn(m,n)功能:产生m×n 的标准正态分布随机数矩阵。

实验四窄带随机信号的仿真与分析

实验四窄带随机信号的仿真与分析

实验四:窄带随机信号的仿真与分析一、 实验目的利用计算机仿真窄带随机信号,考察其数字特征,以加深对窄带随机信号的特点及分析方法的掌握,熟悉常用的信号处理仿真平台软件matlab 。

二、 实验原理如果一个随机过程的功率谱密度,在分布在高频载波0ω附近的一个窄带频率范围ω∆内,在此范围之外全为0,则称之为窄带过程。

窄带过程是在信息传输系统,特别是接收机经常遇到的随机ωω∆>>信号,当窄带系统(接收机)输入的噪声(如热噪声)的功率谱分布在足够宽的频带(相对于接收机带宽)上时,系统饿输出即为窄带过程。

窄带信号的确切定义如下:一个实平稳随机过程)(t X ,如果它的功率谱密度)(ωx S 具有下述性质:而且带宽满足ωω∆>>,则称此过程为窄带平稳随机过程。

窄带平稳随机过程的功率谱密度函数如图所示:从示波器观看窄带随机过程的一个样本函数,可看到如下图所示的波形,从这个波形可以看出,窄带随机过程可表示成具有角频率0ω以及慢变幅度与相位的正弦振荡,这就说可以写成:式中,B (t )是随机过程的慢变幅度,)(t ϕ是过程的慢变相位,称之为准正弦振荡,这就是窄带过程的数学模型。

三、实验任务与要求用matlab编写仿真程序。

产生满足下列条件的窄带随机信号,其中A(t)包络频率为1khz,幅度为1V,载波频率为4khz,幅度为1V, 是一个固定相位,n(t)为高斯白噪声,采样频率设为16khz,实际上,这就是一个带有载波的双边带调制信号。

计算窄带随机信号的均值,均方值、方差、概率密度、频谱及功率谱密度、相关函数,用图示法表示。

提示:nosiy为高斯白噪声,有wgn函数生成。

a=cos(2*pi*1000*t);均值:Ex=mean(x);方差:Dx=var(x);用fft函数可以很方便的计算出X(t)的频谱,然后用abs和angle函数求得幅度和相位;用函数xcorr 求自相关序列对自相关函数,进行fft变换,得到X(t)的功率谱密度。

6.窄带随机过程的产生 - 随机信号分析实验报告

6.窄带随机过程的产生 - 随机信号分析实验报告

计算机与信息工程学院综合性实验报告一、实验目的1、基于随机过程的莱斯表达式产生窄带随机过程。

2、掌握窄带随机过程的特性,包括均值(数学期望)、方差、概率密度函数、相关函数及功率谱密度等。

3、掌握窄带随机过程的分析方法。

二、实验仪器或设备1、一台计算机2、MATLAB r2013a 三、实验内容及实验原理基于随机过程的莱斯表达式00()()cos ()sin y t a t t b t t ωω=- (3.1)实验过程框图如下:理想低通滤波器如图所示:图1 理想低通滤波器()20AH ∆ω⎧ω≤⎪ω=⎨⎪⎩其它(3.2) 设白噪声的物理谱0=X G N ω(),则系统输出的物理谱为 220=()=20Y X N AG H G ∆ω⎧0≤ω≤⎪ωωω⎨⎪⎩()()其它(3.3) 输出的自相关函数为:01()()cos 2Y Y R G d τωωτωπ∞=⎰ /221cos 2N A d ωωτωπ∆=⎰ (3.4) 20sin 242N A ωτωωτπ∆∆=⋅∆ 可知输出的自相关函数()Y R τ是一个振荡函数。

计算高斯白噪声x(t)、限带白噪声()a t 、()b t 及窄带随机过程()y t 的均值,并绘出随机过程各个随机过程的自相关函数,功率谱密度图形。

四、MATLAB 实验程序function random(p,R,C) %产生一个p 个点的随机过程%--------------------------高斯窄带随机过程代码--------------------------% n=1:p;w=linspace(-pi,pi,p); wn=1/2*pi*R*C;[b,a]=butter(1,wn,'low'); %产生低通滤波器Xt=randn(1,p); %产生p 个点均值为0方差为1的随机数,即高斯白噪声 at=filter(b,a,Xt); %让高斯白噪声通过低通滤波器y_at=at.*cos(w.*n); %产生随机过程a(t)y_bt=at.*sin(w.*n); %产生随机过程b(t)yt=y_at-y_bt; %产生一个p个点的高斯窄带随机过程subplot(211)plot(yt)title('高斯窄带随机过程y(t)')subplot(212)pdf_ft=ksdensity(yt) ;plot(pdf_ft)title('y(t)的概率密度图')disp('均值如下')E_Xt=mean(y_at)E_at=mean(y_at)E_bt=mean(y_bt)E_ft=mean(yt)%-----------------------自相关函数代码如下--------------------------% figure(2)R_Xt=xcorr(Xt); %高斯白噪声X(t)的自相关函数R_at=xcorr(at); %限带白噪声的自相关函数R_y_at=xcorr(y_at); %随机过程a(t).coswt的自相关函数R_y_bt=xcorr(y_bt); %随机过程b(t).coswt的自相关函数R_ft=xcorr(yt);subplot(2,2,1);plot(R_Xt);title('高斯白噪声的自相关函数R_Xt'); %并绘制图形subplot(2,2,2)plot(R_at);title('限带白噪声的自相关函数R_a_bx'); %并绘制图形subplot(2,2,3)plot(R_y_bt);title('随机过程b(t)的自相关函数R_y_bt');subplot(2,2,4)plot(R_ft);title('高斯窄带随机过程y(t)的自相关函数R_yt');%------------------------功率谱密度代码如下---------------------------% figure(3)subplot(1,2,1)periodogram(Xt);title('高斯白噪声功率谱密度S_Xt');subplot(1,2,2)periodogram(at);title('限带白噪声功率谱密度S_a_bt');figure(4)subplot(3,1,1)periodogram(y_at);title('随机过程a(t).coswt概率密度概率密度S_y_at');subplot(3,1,2)periodogram(y_bt);title('随机过程b(t).sinwt功率谱密度S_y_bt');subplot(3,1,3);periodogram(yt);title('高斯窄带随机过程y(t)的功率谱密度S_yt');五、实验结果将上述random 函数放在Path 中后,在Commaod Window 中输入:random(1000,10,0.001)时,输出结果如下:01002003004005006007008009001000-0.50.5高斯窄带随机过程y(t)0102030405060708090100246y(t)的概率密度图0500100015002000-50005001000高斯白噪声的自相关函数R X t 0500100015002000-101020限带白噪声的自相关函数R ab x 0500100015002000-50510随机过程b(t)的自相关函数R yb t 0500100015002000-101020高斯窄带随机过程y(t)的自相关函数R y t00.51-40-30-20-10010Normalized Frequency (⨯π rad/sample)P o w e r /f r e q u e n c y (d B /r a d /s a m p l e )高斯白噪声功率谱密度S X t 00.51-80-60-40-200Normalized Frequency (⨯π rad/sample)P o w e r /f r e q u e n c y (d B /r a d /s a m p l e )限带白噪声功率谱密度S ab t0.10.20.30.40.50.60.70.80.91-80-60-40-200Normalized Frequency (⨯π rad/sample)P o w e r /f r e q u e n c y (d B /r a d /s a m p l e )随机过程a(t).coswt 概率密度概率密度S ya t00.10.20.30.40.50.60.70.80.91-60-40-200Normalized Frequency (⨯π rad/sample)P o w e r /f r e q u e n c y (d B /r a d /s a m p l e )随机过程b(t).sinwt 功率谱密度S yb t0.10.20.30.40.50.60.70.80.91-50-40-30-20-10Normalized Frequency (⨯π rad/sample)P o w e r /f r e q u e n c y (d B /r a d /s a m p l e )高斯窄带随机过程y(t)的功率谱密度S y t在Commaod Window 中输出的结果如下:E_Xt = 0.0020 E_at= 0.0020 E_bt= -0.0020 E_ft = 0.0040六、实验结果分析:1、由于高斯白噪声Xt是标准正态的,所以均值趋近于零,而at,bt是由Xt通过一个线性系统(低通滤波器)得到的,所以输出均值不变,仍为零,从程序运行结果可以看出,Xt,at,bt均值都趋近于零。

MATLAB中的随机过程建模与求解技巧

MATLAB中的随机过程建模与求解技巧

MATLAB中的随机过程建模与求解技巧随机过程是描述随机事件在一定时间范围内的演化规律的数学模型。

在现实生活和工程实践中,随机过程的分析和建模扮演着重要的角色。

而MATLAB作为一种功能强大的数值计算和科学工程计算软件,提供了丰富的工具和函数来进行随机过程的建模与求解。

本文将介绍一些MATLAB中常用的随机过程建模与求解技巧,帮助读者更好地应用MATLAB进行相关工作。

一、概述随机过程建模随机过程建模是指根据已有的数据或者经验,通过数学模型描述随机过程的统计特性。

在MATLAB中,常用的随机过程建模方法包括:1. 随机过程的数学描述:通过定义随机过程的概率密度函数、累积分布函数、自相关函数等统计特性,来描述随机过程的数学特征。

MATLAB提供了丰富的统计函数如normpdf、normcdf、autocorr等,可以帮助用户进行随机过程的数学描述。

2. 随机过程的参数估计:对于给定的随机过程数据,通过参数估计的方法来确定随机过程的参数。

MATLAB提供了统计工具箱中的函数如gamfit、exponentialfit等,可以帮助用户进行随机过程参数的估计。

3. 随机过程的模型选择:在建模随机过程时,需要选择合适的数学模型来描述随机过程的统计特性。

MATLAB提供了丰富的概率分布和随机过程模型如正态分布、泊松分布、布朗运动等,可以帮助用户根据数据选择合适的模型进行建模。

二、随机过程建模实例为了更好地理解随机过程建模的过程和技巧,下面将通过一个具体的例子来说明。

假设某电信公司每天收到的短信数量服从泊松分布,并且每天的短信数量之间相互独立。

现有一周的短信数量数据如下:data = [10, 8, 12, 9, 11, 13, 7];我们希望通过这些数据来建立一个泊松分布的模型,以便对未来的短信数量进行预测。

首先,我们可以使用MATLAB的统计工具箱中的函数poissfit来估计泊松分布的参数。

代码如下:lambda = poissfit(data);根据估计得到的参数lambda,我们可以生成符合泊松分布的随机过程数据,代码如下:simulated_data = poissrnd(lambda, 1, 100);其中,参数lambda表示单位时间内的事件平均发生率,这里我们假设为已知的估计值。

MATLAB中的随机过程模拟与分析技巧

MATLAB中的随机过程模拟与分析技巧

MATLAB中的随机过程模拟与分析技巧随机过程是描述一系列随机事件演变的数学模型,在实际问题中有广泛的应用。

MATLAB作为一款功能强大的数值计算软件,提供了丰富的工具和函数来模拟和分析随机过程。

本文将介绍在MATLAB中进行随机过程模拟与分析的一些常用技巧。

一、随机变量的生成在随机过程分析中,随机变量是基本的概念,它描述了随机事件的取值情况。

在MATLAB中,可以通过随机数生成函数来生成服从各种分布的随机变量,如均匀分布、正态分布等。

例如,可以使用rand函数生成0到1之间的均匀分布随机变量,使用randn函数生成符合标准正态分布的随机变量。

二、随机过程的模拟通过生成随机变量,可以进一步模拟随机过程。

随机过程的模拟可以通过生成一系列随机变量来实现。

例如,可以使用rand函数生成一组服从均匀分布的随机变量,并通过随机过程模型来描述这组随机变量的演变过程。

在MATLAB中,可以使用循环语句和数组来实现随机过程的模拟。

三、随机过程的统计分析在对随机过程进行模拟后,通常需要对其进行进一步的统计分析。

MATLAB提供了一系列用于随机过程统计分析的函数,如均值、方差、自相关函数、功率谱密度等。

这些函数可以帮助我们从时间域和频率域两个角度来分析随机过程的特性。

通过统计分析,我们可以得到随机过程的均值、方差、平稳性等重要信息。

四、随机过程的仿真实验MATLAB还提供了强大的仿真实验工具,可以通过模拟大量的随机过程样本来研究其统计规律。

仿真实验通常涉及到随机过程的多次模拟和统计分析。

在MATLAB中,可以使用循环语句和向量化操作来进行高效的仿真实验。

通过对仿真实验结果的分析,可以验证理论模型的正确性,评估系统的性能,以及优化系统参数等。

五、随机过程的滤波与预测在实际应用中,随机过程通常具有噪声干扰,对其进行滤波与预测是很重要的任务。

MATLAB提供了多种滤波与预测方法的函数,如卡尔曼滤波、递归最小二乘法等。

这些方法可以帮助我们提取有用信息,消除噪声干扰,并对未来的随机过程变量进行预测。

窄带高斯随机过程的产生

窄带高斯随机过程的产生

窄带高斯随机过程的产生本科实验报告实验名称:窄带高斯随机过程的产生一、实验目的熟悉窄带随机过程的定义,了解窄带随机过程产生的原理与方法,最后估计实验产生的窄带随机过程的功率谱;掌握具有指定功率谱的随机过程产生方法,并以此产生窄带随机过程。

二、实验内容本实验模拟产生一段时长为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 E g =通过选择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项。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

随机过程数学建模分析任何通信系统都有发送机和接收机,为了提高系统的可靠性,即输出信噪比,通常在接收机的输入端接有一个带通滤波器,信道内的噪声构成了一个随机过程,经过该带通滤波器之后,则变成了窄带随机过程,因此,讨论窄带随机过程的规律是重要的。

一、窄带随机过程。

一个实平稳随机过程X(t),若它的功率谱密度具有下述性质:中心频率为ωc,带宽为△ω=2ω0,当△ω<<ωc时,就可认为满足窄带条件。

若随机过程的功率谱满足该条件则称为窄带随机过程。

若带通滤波器的传输函数满足该条件则称为窄带滤波器。

随机过程通过窄带滤波器传输之后变成窄带随机过程。

图1 为典型窄带随机过程的功率谱密度图。

若用一示波器来观测次波形,则可看到,它接近于一个正弦波,但此正弦波的幅度和相位都在缓慢地随机变化,图2所示为窄带随机过程的一个样本函数。

图1 典型窄带随机过程的功率谱密度图图2 窄带随机过程的一个样本函数二、窄带随机过程的数学表示1、用包络和相位的变化表示由窄带条件可知,窄带过程是功率谱限制在ωc附近的很窄范围内的一个随机过程,从示波器观察(或由理论上可以推知):这个过程中的一个样本函数(一个实现)的波形是一个频率为ƒc且幅度和相位都做缓慢变化的余弦波。

写成包络函数和随机相位函数的形式:X(t)=A(t)*cos[ωc t+ Φ(t)]其中:A(t)称作X(t)的包络函数; Φ(t)称作X(t)的随机相位函数。

包络随时间做缓慢变化,看起来比较直观,相位的变化,则看不出来。

2、莱斯(Rice)表示式任何一个实平稳随机过程X(t)都可以表示为:X(t)=A c(t) cosωc t-A S(t) sinωc t其中同相分量:A c(t)= X(t) cosφt= X(t) cosωc t+sinωc t=LP[X(t) *2cosωc t]正交分量:A S(t) = X(t)sinφt=cosωc t— X(t) sinωc t= LP[-X(t) *2sinωc t](LP[A]表示取A的低频部分)。

A c(t)和A S(t)都是实随机过程,均值为0,方差等于X(t)的方差。

三、窄带随机过程仿真建模要求1、用Matlab 编程仿真窄带随机信号:X(t)=(1+ A(t))*cos(ωc t+φ)+n(t)。

其中包络A(t)频率为1KHz,幅值为l V。

载波频率为:4KHz,幅值为l V,φ是一个固定相位,n(t)为高斯白噪声,采样频率设为16KHz。

实际上,这是一个带有载波的双边带调制信号。

2、计算窄带随机信号的均值、均方值、方差、概率密度、频谱及功率谱密度、相关函数,用图示法来表示。

3、窄带系统检测框图如图3所示。

图3 窄带系统检测框图4、低通滤波器设计:低通滤波器技术要求:通带截止频率1KHz,阻带截止频率2KHz。

过渡带:1KHz,阻带衰减:>35DB,通带衰减:<1DB,采样频率:≤44.1KHz5、计算a点、b点、A c(t)、A S(t)、y(t)的均值、均方值、方差、频谱及功率谱密度、相关函数,用图示法来表示。

四、建模仿真过程及结果(程序见附件)1、根据要求得到X(t)的表达式:x= (l+a) .*cos (2*pi*4000*t+2) +noisy/10;其中:noisy为高斯白噪声,由wgn函数生成,a=cos (2*pi*l000*t),均值:Ex=mean (x),方差:Dx=var (x),计算可得:X(t)的均值为0.0019,X(t)的方差为0.7590。

如图4所示,其中蓝色线为X(t)一个样本的时域波形,红色点连成的线为X(t)的均值,绿色点连成的线为X(t)的方差。

图4 窄带随机信号时域波形2、求X(t)的概率密度,方法是将最大最小区间分成14等份,然后分别计算各个区间的个数,如图02中柱形条所示,利用曲线拟合,得到合适的概率密度函数。

为了得到光滑的曲线,利用了多项式拟合,经过测试,9次拟合曲线比较符合要求,获得的曲线如图5中曲线所示:图5 X(t)的概率分布密度函数3、对X(t)进行频谱分析,在Matlab中,利用fft函数可以很方便得求得X(t)的频谱,然后用abs和angle函数求得幅值和相位,画出图像如图6所示:图6 X(t)的频谱图4、求X(t)的自相关函数,用xcorr函数求出自相关序列,得到X(t)自相关函数的时域波形,如图7所示。

图7 X(t)自相关函数的时域波形5、对X(t)自相关函数进行fft变换,得到X(t)的功率谱密度,如图8所示。

图8 X(t)的功率谱密度6、建立滤波器,建立一个巴特沃思滤波器,对产生的x(t)进行检测。

滤波器的幅度谱和相位谱所示:图9 地通滤波器的幅度谱和相位谱7、求A c(t)的统计特性,A c(t)为X(t) *2cosωc t通过低通滤波器的信号,A c(t)的均值Eh = -0.4075 4(带有直流分量),A c(t)的均方值是E2h =0.2458A c(t)的方差Dh = 0.0798A c(t)的波形如图10、图11所示:图10 A c(t)的时域波形图和频谱图图11 A c(t)的自相关函数的时域波形图和Ac(t)的功率谱密度8、求A S(t)的统计特性,A S(t)为X(t) *2cosωc t通过低通滤波器的信号,A S(t)的均值Eh =0.8972(带有直流分量),A S(t)的均方值是E2h = 1.1565A S(t)的方差Dh = 0.3518A S(t)的波形如图13、图14所示:图13 A S(t)的时域波形图和频谱图图14 A S(t)的自相关函数的时域波形图和A S(t)的功率谱密度9、求出Y(t)的统计特性,Y (t)=A c(t) cosωc t-A S(t) sinωc t,其统计特性如下输出信号Y(t)的均值Eh = -4.4011e-004s输出信号Y(t)的均方值E2h = 3.0280输出信号Y(t)的方差Dh = 3.0303Y(t)的仿真图形如图15、图16所示。

图15 Y(t)的时域波形图和频谱图图16 Y(t)的自相关函数的时域波形图和Y(t)的功率谱密度附件:clcfs=16000; %设定采样频率N=1300;n=0:N-1; %取的样本点数t=n/fs; %获得以1/16000为时间间隔采样序列noisy=wgn(1,N,0); %产生高斯白噪声a=cos(2*pi*1000*t); %获取A(t)的采样点x=(1+a).*cos(2*pi*4000*t+2)+noisy/10; %获取x(t)的采样点%以t为横坐标画出x(t)的时域图型figure(1); subplot(2,1,1); plot(n,x);axis([0 140 -3 3]);xlabel('采样点');ylabel('X(t)/V');title('窄带随机信号波形');grid on;%求X(t)的统计特性并画出来disp('X(t)的均值为'); Ex=mean(x); disp(Ex);%求X(t)均值hold on; plot(n,Ex,'r.');disp('X(t)的方差为');Dx=var(x); disp(Dx);%求x(t)方差hold on; plot(n,Dx,'g.');%画出X(t)的概率分布函数each=linspace(min(x),max(x),14); %将最大最小区间分成14等份,然后分别计算各个区间的个数nr=hist(x,each); %计算各个区间的个数nr=nr/length(x); %计算各个区间的个数归一化subplot(2,1,2); p=polyfit(each,nr,9); %画出概率分布直方图bar(each,nr); %多项式拟合hold on; plot(each,nr,'g')eachi=-2:0.1:2;nri=polyval(p,eachi);plot(eachi,nri,'r')axis tight;title('X(t)概率密度分布');xlabel('X(t)');ylabel('P(x)');grid on;%对X(t)进行频谱分析Fx=fft(x,N); %对x(t)进行fft变换,在0~16000区间内得到2N-1个频率值magn=abs(Fx); %求x(t)幅值xangle=angle(Fx); %求X(t)相位labelang=(0:length(x)-1)*16000/length(x); %在0~16000区间内求横坐标刻度figure(2); plot(labelang,magn*10); %在0~16000区间内做频谱和相位图axis([0 16000 -0.5 600]); xlabel('频率/Hz');ylabel('幅值');title('X(t)频谱图');grid on;%求X(t)的自相关函数[c,lags]=xcorr(x,'coeff'); %求出自相关序列figure(3); subplot(2,1,1); plot(lags/fs,c); %在时域内画自相关函数axis tight; xlabel('T');ylabel('Rx(T)');title('X(t)的自相关函数');grid on;%求X(t)的功率谱密度long=length(c);Sx=fft(c,long);labelx=(0:long-1)*2*pi;plot_magn=10*log10(abs(Sx));subplot(2,1,2); plot(labelx,plot_magn); %画功率谱密度axis tight;xlabel('w');ylabel('Sx(w)');title('X(t)的功率谱密度');grid on;%窄带系统检测z1=2.*cos(2*pi*4000*t);z2=-2.*sin(2*pi*4000*t);Ac=z1.*x; %滤波后生成Ac(t)As=z2.*x; %滤波后生成As(t)y=Ac.*cos(2*pi*4000*t)-As.*sin(2*pi*4000*t);%滤波器设计f_p=1000;f_s=1600;R_p=1;R_s=35; %设定滤波器参数; 通、阻带截止频率,通、阻带衰减Ws=2*f_s/fs;Wp=2*f_p/fs; %频率归一化[n,Wn]=buttord(Wp,Ws,R_p,R_s); %采用巴特沃思滤波器[b,a]=butter(n,Wn); %求得滤波器传输函数的多项式系数figure(4);[H,W]=freqz(b,a); %求得滤波器传输函数的幅频特性subplot(2,1,1); plot(W*fs/(2*pi),abs(H)); %在0~2pi区间内作幅度谱title('低通滤波器幅度谱'); grid on;subplot(2,1,2); plot(W*fs/(2*pi),angle(H)); %在0~2pi区间内作相位谱title('低通滤波器相位谱'); grid on;%求Ac(t)滤波后的统计特性mc=filter(b,a,Ac); %上支路通过滤波器Ac(t)disp('Ac(t)的均值');Eh=mean(mc) %求Ac(t)的均值disp('Ac(t)的均方值是');E2h=mc*mc'/N %求Ac(t)的均方值disp('Ac(t)的方差');Dh=var(mc) %求Ac(t)的方差%画Ac(t)的时域波形figure(6); subplot(2,1,1); n=0:N-1; plot(n,mc);axis([0 300 -1 1]);xlabel('采样点');ylabel('幅值');title('Ac(t)的时域波形');grid on;%画Ac(t)的频谱图yc=fft(mc,length(mc)); %对Ac(t)进行fft变换longc=length(yc); %求傅里叶变换后的序列长度labelx=(0:longc-1)*16000/longc;magnl=abs(yc); %求Ac(t)的幅值subplot(2,1,2); plot(labelx,magnl); %画Ac(t)的频谱图axis tight; xlabel('频率(Hz)'); ylabel('幅值'); title('Ac(t)频谱图'); grid on;%求Ac(t)的自相关函数[c1,lags1]=xcorr(mc,'coeff'); %求出Ac(t)的自相关序列figure(7); subplot(2,1,1); plot(lags1/fs,c1); %在时域内画Ac(t)的自相关函数xlabel('T');ylabel('Rx(T)');axis tight;title('Ac(t)的自相关函数');grid on;%求Ac(t)的双边功率谱Sac=fft(c1,length(c1)); %对Ac(t)的自相关函数进行傅里叶变换magnc=abs(Sac); %求Ac(t)的双边功率谱幅值long=length(Sac); %求傅里叶变换后的序列长度labelc=(0:long-1)*16000/long;subplot(2,1,2); plot(labelc,10*log10(magnc)); %画Ac(t)的自相关函数频谱即为Ac(t)的双边功率谱xlabel('频率(Hz)');ylabel('功率谱(dbW)');axis tight;title('Ac(t)的双边功率谱');grid on;%求得As(t)的统计特性ms=filter(b,a,As); %对下支路信号进行滤波得As(t)disp('As(t)的均值'); Eh=mean(ms) %求As(t)的均值disp('As(t)的均方值是'); E2h=ms*ms'/N %求As(t)的均方值disp('As(t)的方差'); Dh=var(ms) %求As(t)的方差%作As(t)的时域波形figure(8);subplot(2,1,1); n=0:N-1;plot(n,ms); %画出As(t)的时域波形axis([0 300 -0.5 2]); xlabel('采样点');ylabel('幅值');title('As(t)的时域波形');grid on;%对As(t)进行FFT变换并做频谱图ys=fft(ms,length(ms)); %对As(t)进行fft变换longs=length(ys); %求傅里叶变换后的序列长度labelx=(0:longs-1)*16000/longs;magn2=abs(ys); %求As(t)的幅值subplot(2,1,2); plot(labelx,magn2); %画出As(t)的频谱图axis tight;xlabel('频率(Hz)');ylabel('幅值');title('As(t)的频谱图');grid on;%求As(t)的自相关函数[c2,lags2]=xcorr(ms,'coeff'); %求出As(t)的自相关序列figure(9);subplot(2,1,1);plot(lags2/fs,c2); %画出As(t)自相关函数的时域波形xlabel('T');ylabel('Rx(T)');axis tight;title('As(t)的的自相关函数');grid on;%求As(t)的双边功率谱Sas=fft(c2,length(c2)); %对As(t)的自相关函数进行傅里叶变换magnc=abs(Sac); %求As(t)的双边功率谱幅值long=length(Sas); %求傅里叶变换后的序列长度labels=(0:long-1)*16000/long;subplot(2,1,2); plot(labelc,10*log10(magnc)); %画As(t)的自相关函数频谱xlabel('频率(Hz)');ylabel('功率谱(dbW)');axis tight;title('As(t)的双边功率谱');% 求y(t)的统计特性disp('输出信号Y(t)的均值');Eh=mean(y) %求输出信号Y(t)的均值disp('输出信号Y(t)的均方值');E2h=y*y'/N %求输出信号Y(t)的均方值disp('输出信号Y(t)的方差');Dh=var(y) %求输出信号Y(t)的方差%作输出信号Y(t)的时域波形figure(10); subplot(2,1,1);n=0:N-1;plot(n,y);axis([0 150 -2 2]);xlabel('采样点');ylabel('幅值');title('Y(t)的时域波形');grid on;%进行FFT变换并做频谱图yy=fft(y,length(y)); %对相加后的信号进行fft变换longy=length(yy); %Y(t)傅里叶变换后的序列长度labelx=(0:longy-1)*16000/longy;magn3=abs(yy); %求Y(t)的幅值subplot(2,1,2); plot(labelx,magn3); %做Y(t)的频谱图axis tight;xlabel('频率(Hz)');ylabel('幅值');title('Y(t)的频谱图');grid on;%求输出信号Y(t)的自相关函数[c3,lags3]=xcorr(y,'coeff'); %求出Y(t)的自相关序列figure(11); subplot(2,1,1); plot(lags3/fs,c3); %画Y(t)自相关函数的时域波形xlabel('T');ylabel('Rx(T)');axis tight;title('Y(t)的的自相关函数');grid on;%求输出信号Y(t)的双边功率谱Sy=fft(c3,length(c3)); %对Y(t)的自相关函数进行傅里叶变换magny=abs(Sy); %求Y(t)双边功率谱幅值long=length(Sy);labely=(0:long-1)*16000/long;subplot(2,1,2); plot(labely,10*log10(magny)); %****画Y(t)的功率谱密度xlabel('频率(Hz)');ylabel('功率谱(dbW)');axis tight;title('Y(t)的双边功率谱');grid on;。

相关文档
最新文档