随机信号分析编程作业
随机信号处理上机作业——张xx

随机信号处理作业题目:上机题4两个数据文件,第一个文件数据中只包含一个正弦波,通过MATLAB 仿真计算信号频谱和功率谱来估计该信号的幅度,功率,归一化频率和相位?对第二个文件数据估计其中正弦波的幅度,功率和归一化频率?写出报告,包含理论分析,仿真程序及说明,误差精度分析等。
第一文件调用格式load FileDat01_1 s1,数据在变量s1中;第二文件调用格式load FileDat01_2 s,数据在变量s 中。
1、原理简介信号的数学表达式虽然有时可以详尽而确切地表示信号分解的结果,但往往不够直观。
为了能既方便又明白地表示一个信号含有哪些频率分量,可对信号做傅里叶变换,将信号在时间域中的波形转变为频率域的频谱,进行频谱分析,进而可以对信号的信息作定量解释。
对于离散时间序列,其频谱分析通常是对序列做离散傅里叶变换(DFT )。
对一模拟信号)(t x 进行采样,设采样点为N ,可以得到一离散时间序列10]},[{-≤≤N n n x ,对该序列做N 点的离散傅里叶变化(DFT )为:][][102n x ek x N n nk Nj ∑-=-=π1,...,2,1,0-=N k功率谱估计就是通过信号相关性估计出接收到信号的功率随频率变化的关系,主要研究信号在频域中的各种特征,目的是根据有限数据在频域内提取被淹没在噪声中的有用信号。
传统的谱估计主要有两种方法:BT 法和周期图法。
这里主要利用BT 法,在matlab 中编程实现求功率谱。
BT 法就是利用信号的有限个观察值]1[],...1[],0[-N x x x 估计出自相关函数,然后根据维纳辛钦定理在(-M,M )区间上对自相关函数做傅里叶变换就可以得到功率谱,注意这里1-≤N M 。
通常采用有偏自相关函数估计(方差较小),公式为:)(m R xx 称为取样自相关函数,是渐进一致估计,对上式进行傅氏变换,得到BT法的功率谱估计值为:2、程序及结果分析2.1波形1(1)matlab程序clc;clear all; %清除所有变量close all; %关闭所有打开的文件load G:/FileDat01_1 s1;figure(1);plot(s1);title('信号的时域波形');xlabel('t');ylabel('幅度');fs=1;N=length(s1);freq=linspace(-fs/2,fs/2,N);y=fftshift(fft(s1,N)); %将fft结果乘以2除以N得到的是真实的振幅figure(2);subplot(2,1,1);plot(freq,abs(y/max(abs(y))));title('信号的频域波形');xlabel('频率');ylabel('|幅度|');subplot(2,1,2);plot(freq,abs(y/max(abs(y))));axis([0,0.1,0,1.5]);title('将上图放大');xlabel('频率');ylabel('|幅度|');grid on;a=fft(s1);[F,I]=max(abs(a)); % 对S11求相位Amp=max(abs(y*2/N));Ang=angle((a(I)))*180/pi;%%求功率谱Y=xcorr(s1,'unbiased');Y1=fftshift(fft(Y,N));figure(3);subplot(2,1,1);plot(freq,10*log10(abs(Y1))); title('信号的功率谱'); xlabel('频率');ylabel('功率谱/dB'); subplot(2,1,2);plot(freq,10*log10(abs(Y1))); axis([0,0.25,0,50]); title('将上图放大'); xlabel('频率');ylabel('功率谱/dB'); grid on;(2)仿真结果及分析将文件FileDat0_1中的数据导入到matlab 中,并作出信号的时域波形如图1所示。
随机信号分析作业

一、课程的主要内容随机信号是客观上广泛存在的一类信号,它是持续时间无限长,能量无限大的功率信号,这类信号的分析与处理主要是研究它们在各种变化域中的统计规律,建立相应的数学模型,以便定性和定量的描述其特性,给出相关性能指标,并研究如何改善对象的动静态性能等。
随机信号分析内容涉及线性系统与信号、时间序列分析、数字信号处理、自适应滤波理论、快速算法、谱估计等方面的知识。
课程的主要内容包括随机信号的基本概念,随机过程的严格平稳性、广义平稳性、周期平稳性及随机过程的均值各态历经性,随机过程的功率谱分析,随机信号与噪声通过线性系统,高斯与窄高斯随机过程分析,估值理论和检测理论。
二、基本应用原理与研究思路1、基本应用原理:(1)预处理技术:几种简单的预处理方法:AMV、抹零、野值剔除、趋势值剔除、非平稳分析、堆成分析几种时域加窗技术:矩形窗、Hanning、Hamming、指数窗滤波技术:带通滤波、自适应滤波(2)频域分析:傅里叶变换、DFT和FFT、相关分析、功率谱分析谱分析:经典方法、自回归、滑动平均、精细谱分析、极小方差、高级谱估计、高阶谱估计(3)时域分析:预处理、系统描述、建模、特征提取2、研究思路:(1)了解信号来源和分析要求成样本选择(3)明确分析需求及条件(速度、精度),锁定主要目标(4)确定分析方法(预处理、频域方法、时域方法)、制定数据处理步骤、研发相关软件(5)数据处理,得到具体结果(数据、图标等)(6)结果整理,综合分析(7)密切结合具体对象及测试背景,给予处理结果合理的物理解释(8)形成报告三、心得与建议1、学习心得:通过本课程的学习,我掌握了随机信号的基本分析方法,要点和思路,加深了对基本理论和概念的理解。
我们研究确定性信号的频谱,可以获得许多信息。
对于随机信号处理的一个重要任务就是由有限长并且受到干扰的信号中得到信号的某些特征(如均值、方差、自相关函数及功率谱等),或恢复出没有被干扰的信号,基于随机信号的以上特点,信号特征的提取和信号自身的恢复都要通过“估计”的手段来获得,因此必然涉及估值理论的问题。
-随机信号分析实验报告

-随机信号分析实验报告H a r b i n I n s t i t u t e o f T e c h n o l o g y实验报告课程名称:随机信号分析院系:电⼦与信息⼯程学院班级:姓名:学号:指导教师:实验时间:实验⼀、各种分布随机数的产⽣(⼀)实验原理1.均匀分布随机数的产⽣原理产⽣伪随机数的⼀种实⽤⽅法是同余法,它利⽤同余运算递推产⽣伪随机数序列。
最简单的⽅法是加同余法)(mod 1M c y y n n +=+My x n n 11++= 为了保证产⽣的伪随机数能在[0,1]内均匀分布,需要M 为正整数,此外常数c 和初值y0亦为正整数。
加同余法虽然简单,但产⽣的伪随机数效果不好。
另⼀种同余法为乘同余法,它需要两次乘法才能产⽣⼀个[0,1]上均匀分布的随机数)(mod 1M ay y n n =+ My x n n 11++= 式中,a 为正整数。
⽤加法和乘法完成递推运算的称为混合同余法,即 )(mod 1M c ay y n n +=+ M y x n n 11++=⽤混合同余法产⽣的伪随机数具有较好的特性,⼀些程序库中都有成熟的程序供选择。
常⽤的计算语⾔如Basic 、C 和Matlab 都有产⽣均匀分布随机数的函数可以调⽤,只是⽤各种编程语⾔对应的函数产⽣的均匀分布随机数的范围不同,有的函数可能还需要提供种⼦或初始化。
Matlab 提供的函数rand()可以产⽣⼀个在[0,1]区间分布的随机数,rand(2,4)则可以产⽣⼀个在[0,1]区间分布的随机数矩阵,矩阵为2⾏4列。
Matlab 提供的另⼀个产⽣随机数的函数是random('unif',a,b,N,M),unif 表⽰均匀分布,a 和b 是均匀分布区间的上下界,N 和M 分别是矩阵的⾏和列。
2.随机变量的仿真根据随机变量函数变换的原理,如果能将两个分布之间的函数关系⽤显式表达,那么就可以利⽤⼀种分布的随机变量通过变换得到另⼀种分布的随机变量。
西安电子科技大学 电院 《随机信号分析》大作业

一、用matlab语言产生一个随机白噪声序列的样本序列X(n),要求
3.用遍历性估计X(n)的自相关序列R X(m),画出R X(m)的图像。
二、将一中产生的序列通过一个线性系统,其单位脉冲响应为h(n)=0.9n,n=0,
1,…,100
三、比较X(n)与Y(n)的幅度分布直方图,发生了什么变化。
分析其变化的原
因。
随机信号经过线性系统后,不会增加新的频率分量,但是输出的幅度和相位会发生变化。
白噪声X(n)的幅度基本相同,而Y(n)的幅度基本呈正态分布。
因为均匀白噪声是一种宽带非正态过程,所以通过一有限带宽线性系统后,输出Y(n)近似呈正态分布。
——via 1402011 赵春昊。
《随机信号分析》大作业概述.

大连民族学院《随机信号分析》大作业9.3.2随机变量及其数字特征运算的MATLAB实现班级:学号:姓名:指导老师:二零一五年一月《随机信号分析》大作业摘要编制一通用程序,实现产生两个任意指定区间[a,b]和[c,d]上的均匀分布的随机变量。
分别计算这两个随机变量的均值和方差以及两个随机变量的协方差和相关系数,并根据计算结果分析这两个随机变量的相关性(两个随机数的长度要相等)。
关键词:均值;方差;协方差;相关系数目录摘要 (II)第1章要求 (1)1.1预习内容 (1)1.2任务 (1)1.3思考题 (1)第2章随机变量及其数字特征运算 (2)2.1连续型随机变量的数学期望(均值) (2)2.1.1连续型随机变量的数学期望 (2)2.1.2数学期望的性质 (2)2.2随机变量的方差 (2)2.2.1定义 (2)2.2.2性质 (3)2.3协方差和相关系数 (3)2.3.1定义 (3)2.3.2协方差的性质 (3)2.3.3相关系数的性质 (3)第3章程序实现及代码 (4)3.1任务 (4)3.1.1 代码 (4)3.1.2 结果 (5)3.1.3 结果分析 (6)3.2思考题 (7)3.2.1 代码 (7)3.2.2 结果 (8)参考文献 (11)B 卷 (12)第1章要求1.1 预习内容计算随机变量数字特性的部分MATLAB函数见表9.2,这些函数的调用方法及使用举例参见9.1节的相关内容。
1.2 任务编制一通用程序,实现产生两个任意指定区间[a,b]和[c,d]上的均匀分布的随机变量。
分别计算这两个随机变量的均值和方差以及两个随机变量的协方差和相关系数,并根据计算结果分析这两个随机变量的相关性(两个随机数的长度要相等)。
1.3 思考题利用MATLAB的在线帮助功能,自学与指数分布有关的MATLAB函数的使用方法。
编制一通用程序,实现产生任意指定参数λ1和λ2的两个指数分布随机变量(随机元素为30个)。
哈尔滨工业大学(威海)随机信号分析实验1

《随机信号分析》实验一班级学号姓名实验一实验内容:1.熟悉并练习使用下列Matlab的函数,给出各个函数的功能说明和内部参数的意义,并给出至少一个使用例子和运行结果:(1)randn()产生随机数数组或矩阵,其元素服从均值为0,方差为1的正态分布(1)Y=randn产生一个伪随机数(2)Y=randn(n)产生n×n的矩阵,其元素服从均值为0,方差为1的正态分布(3)Y=randn(m,n)产生m×n的矩阵,其元素服从均值为0,方差为1的正态分布(4)Y=randn([mn])产生m×n的矩阵,其元素服从均值为0,方差为1的正态分布例:以(2)为例Y=randn(4)结果为:Y=-0.1941-1.0722-1.96090.8252 -2.13840.9610-0.19771.3790 -0.83960.1240-1.2078-1.0582 1.35461.43672.9080-0.4686(2)rand()(1)Y=rand(n)生成n×n随机矩阵,其元素在(0,1)内例:以(2)为例Y=rand(3,4)(2)Y=rand(m,n)生成m×n随机矩阵(3)Y=rand([mn])生成m×n随机矩阵(4)Y=rand(m,n,p,…)生成m×n×p×…随机矩阵或数组(5)Y=rand([mnp…])生成m×n×p×…随机矩阵或数组(6)Y=rand(size(A))生成与矩阵A相同大小的随机矩阵结果为:Y=0.57970.85300.51320.2399 0.54990.62210.40180.1233 0.14500.35100.07600.1839(3)normrnd()产生服从正态分布的随机数(1)Y=normrnd(mu,sigma)产生服从均值为mu,标准差为sigma的随机数,mu和sigma可以为向量、矩阵、或多维数组。
2011秋随机信号实验报告模板

实验一一、实验目的熟悉并练习使用Matlab 的函数,明确各个函数的功能说明和内部参数的意义二、实验内容和步骤实验代码:A = [1 2 3; 3 3 6; 4 6 8; 4 7 7];rand(3)randn(3)n3 = normrnd([1 2 3;4 5 6],0.1,2,3)mean(A)mean(A,2)var(A)%%%xcorr%%%%%ww = randn(1000,1);[c_ww,lags] = xcorr(ww,10,'coeff');figure(7);stem(lags,c_ww) %%%%%%%%%%%%%%%%%%%%%%%%% %常用的傅立叶变换是找到在嘈杂的域%信号下掩埋了信号的频率成分。
%考虑数据采样在1000赫兹。
现有一信号%由以下部分组成,50赫兹振幅%为0.7的正弦和120赫兹振幅为1的正弦%并且受到一些零均值的随机噪声的污染%%%%%%%%%%%%%%%%%%%%%%%%% Fs = 1000; % 采样频率T = 1/Fs; % 采样时间L = 1000; % 信号长度t = (0:L-1)*T; % 时间矢量% 50赫兹正弦波与120赫兹正弦波的和x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); y = x + 2*randn(size(t)); % 正弦波加噪声figure(6);plot(Fs*t(1:50),y(1:50)) %画此信号的时域图title('Signal Corrupted with Zero-Mean Random Noise')xlabel('time (milliseconds)')%这在寻找原始信号的频率成分上是很难%确定的。
转换到频域,噪音信号Y%的傅立叶变换采取快速傅立叶变换%(FFT):NFFT = 2^nextpow2(L); %y长度L附近%的幂级数Y = fft(y,NFFT)/L;f = Fs/2*linspace(0,1,NFFT/2+1); % 单边拉普拉斯变换plot(f,2*abs(Y(1:NFFT/2+1))) %画单边频谱图title('Single-Sided Amplitude Spectrum of y(t)')xlabel('Frequency (Hz)')ylabel('|Y(f)|') %%%%%%%%%%%%%%%%%%%%%%%%% mu = [0:0.1:2];[y i] = max(normpdf(1.5,mu,1));MLE = mu(i) %%%%%%%%%%%%%%%%%%%%%%%%% p = normcdf([-1 1]);p(2) - p(1) %%%%%%%%%%%%%%%%%%%%%%%%% x = 0.1:0.1:0.6;y = unifpdf(x) %%%%%%%%%%%%%%%%%%%%%%%%% probability = unifcdf(0.75) %%%%%%%%%%%%%%%%%%%%%%%%% x = 0:0.1:3;p = raylpdf(x,1);figure(5);plot(x,p) %%%%%%%%%%%%%%%%%%%%%%%%% x = 0:0.1:3;p = raylcdf(x,1);figure(4);plot(x,p) %%%%%%%%%%%%%%%%%%%%%%%%% y = exppdf(5,1:5) %%%%%%%%%%%%%%%%%%%%%%%%% mu = 10:10:60;p = expcdf(log(2)*mu,mu) %%%%%%%%%%%%%%%%%%%%%%%%% n = 5;X = pascal(n)R = chol(X)X(n,n) = X(n,n)-1 %%%%%%%%%%%%%%%%%%%%%%%%% x = [randn(30,1); 5+randn(30,1)];[f,xi] = ksdensity(x);figure(3);plot(xi,f); %%%%%%%%%%%%%%%%%%%%%%%%% x = -2.9:0.1:2.9;y = randn(10000,1);hist(y,x) %%%%%%%%%%%%%%%%%%%%%%%%% %求y=x*log(1+x)在[0 1]上的定积分,积分%变量为系统默认syms x;S=x.*log(1+x) Y=int(S,x,0,1) %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% 2 %%%%%% %%%%%%%%%%%%%%%%%%%%%%%%% %(1)产生数学期望为0,方差为1 的高斯随机变量SIGMA=sqrt(1);n2 = normrnd(0,SIGMA,[2 5]) %两行五列数学期望为0,方差为1 的高斯随机变量%产生数学期望为5,方差为10 的高斯随机变量SIGMA=sqrt(10);n2 = normrnd(5,SIGMA,[2 5])%利用计算机求上述随机变量的100个样本的数学期望和方差n1 = normrnd(0,1,[1 100]);SIGMA=sqrt(10);n2 = normrnd(5,SIGMA,[1 100]);M1 = mean(n1)M2 = mean(n2)V1 = var(n1)V2 = var(n2) %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% 3 %%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%% %产生自由度为2,数学期望为2,方差为 4 的具有中心2χ分布的随机变量SIGMA=sqrt(2);n1 = normrnd(2,SIGMA);n2 = normrnd(2,SIGMA);y=(n1).^2+(n2).^2%产生自由度为2,数学期望为4,方差为12 的具有中心2χ分布的随机变量SIGMA=sqrt(12);n1 = normrnd(4,SIGMA);n2 = normrnd(4,SIGMA);y=(n1).^2+(n2).^2%利用计算机求上述随机变量的100个样本的数学期望和方差,并与理论值比较SIGMA=sqrt(2);n1 = normrnd(2,SIGMA,[1 100]);n2 = normrnd(2,SIGMA,[1 100]);y=(n1).^2+(n2).^2M1 = mean(y)V1 = var(y)SIGMA=sqrt(12);n1 = normrnd(2,SIGMA,[1 100]);n2 = normrnd(2,SIGMA,[1 100]);y=(n1).^2+(n2).^2M1 = mean(y)V1 = var(y) %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% 4 %%%%%% %%%%%%%%%%%%%%%%%%%%%%%%% %利用Matlab 现有pdf 和cdf 函数,画出均值为零、方差为4 的%高斯随机变量的概率密度曲线和概率分布曲线x=-10:0.1:10;Y1 = normpdf(x,0,2);Y2=normcdf(x,0,2);figure(1);plot(x,Y1)figure(2);plot(x,Y2) %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% 5 %%%%%% %%%%%%%%%%%%%%%%%%%%%%%%% %产生长度为1000 数学期望为5,方差为10 的高斯随机序列,%并根据该序列值画出其概率密度曲线。
随机信号分析试验(4)

随机信号分析试验(4)1. 编写程序, 对均值为0方差为1的平稳高斯随机过程样本进行希尔伯特变换,绘制变换前后的概率密度直方图。
注:z=hilbert(x)返回解析信号x+jH(x), 所以imag(z)为x的希尔伯特变换clc;clear all;close all;N=20000;x=random('normal',0,1,1,N);xt=imag(hilbert(x));n=-4:0.1:4;subplot(2,1,1)hist(x,n)subplot(2,1,2)hist(xt,n)2. 编写Matlab函数, 产生一个采样频率为fs中心频率为f0带宽为的窄带随机信号样本。
注:函数Narrowbandsignal(N,f0,deltf,fs,M)产生窄带随机过程样本。
N: 长度, f0: 单边功率谱中心频率, delta: 带宽, fs: 采样频率,M: 产生窄带信号的滤波器阶数。
(M<<N)function X=Narrowbandsignal(N,f0,deltf,fs,M)N1=N-M;xt=random('normal',0,1,1,N1);f1=f0*2/fs;df1=deltf/fs;ht=fir1(M,[f1-df1,f1+df1]);X=conv(xt,ht);t=(1:N)/fs;plot(t,X)xlabel('时间(s)');ylabel('窄带随机信号样本X');运行结果:x=Narrowbandsignal(1000,2,0.5,10,20)3. 编写Matlab函数, 求采样频率为fs中心频率为f0的窄带随机过程X(t)的低频过程Ac(t)和As(t)的样本。
注:函数Lowfsignal(X,f0,fs)产生Ac和As样本function [Ac,As]=Lowfsignal(X,f0,fs)HX=imag(hilbert(X));[M,N]=size(X);for i=1:1:Mt(i,:)=(0:N-1)/fs;endAc=X.*cos(2*pi*f0*t)+HX.*sin(2*pi*f0*t);As=HX.*cos(2*pi*f0*t)-X.*sin(2*pi*f0*t);subplot(2,1,1);plot(t,Ac(1,:));xlabel('时间(s)');ylabel('窄带低频过程Ac');subplot(2,1,2);plot(t,As(1,:));xlabel('时间(s)');ylabel('窄带低频过程As');运行结果:[Ac,As]=Lowfsignal(rand(10,100),0.3,20)4. 编写Matlab程序, 对f0=10kHz, 带宽500Hz的窄带高斯过程X(t) 及低频过程Ac(t), As(t) 的功率谱密度进行估计, 其中fs=22kHz, 采样点数N=10000, 滤波器阶数M=200。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随机信号分析
编程作业
姓名:
学号:
学院:计算机与信息学院班级:通信工程14-1班
1.23编写一个产生均值为1、方差为4的高斯分布随机数程序,求其最大值、最小值、均值和方差,并与理论值比较。
解:分析:本题可用累加近似法产生标准正太分布随机数,首先产生12个相互独立的均匀分布随机数,计算这十二个数的和后减去六后就可以得到N(0,1)分布的随机数。
以下是代码及结果:
从运行结果可以看出,
产生的1024个随机
数,其均值为
0.9557,方差为
3.8582与理论均值1
方差值4较为接近,故
此程序比较理想的产生
了均值为1方差值为4
的高斯随机数。
2.26编写一个产生协方差函数为C(τ)=4e−2|τ|的平稳高斯过程的程序,产生若
干样本函数,估计所产生的时间自相关函数和功率谱密度,并统计自相关函数和功率谱密度,最后将结果和理论值比较。
解:本题可根据教材例题5.13差分方程得到自相关函数为b2
1−a2
a|m|的随机序列,代码如下:
N=10000;
Ts=0.001;
sigma=2;
beta=2;
a=exp(-beta*Ts);
b=sigma*sqrt(1-a*a);
w=normrnd(0,1,[1,N]);
x=zeros(1,N);
x(1)=sigma*w(1);
for i=2:N
x(i)=a*x(i-1)+b*w(i);
end;
Rxx=xcorr(x)/N;
m=[-N+1:N-1];
Rxx0=(sigma^2)*exp(-beta*abs(m*Ts));
plot(m*Ts,Rxx0,'b.',m*Ts,Rxx,'r');title(‘理论与实测自相关函数’);
用matlab运行后绘制的图如下:
例题3.6.4仿真一个平均功率为1的白噪声通过带通系统,白噪声为高斯分布,带通系统的俩个截至频率分别为3kHz 和4kHz,求输出的自相关函数和功率谱密度。
%准备工作N = 500;
xt = random('norm',0,1,1,N);
ht = fir1(101,[0.3 0.4]);
HW = fft(ht,2*N);
%仿真
Rxx = xcorr(xt,'biased');
Sxx = abs(fft(xt,2*N).^2)/(2*N);
HW2 = abs (HW).^2;
Syy = Sxx.*HW2;
Ryy = fftshift(ifft(Syy));
%画曲线
w = (1:N)/N;
t = (-N : N-1)/N * (N/20000);
subplot(4,1,1); plot(w,abs(Sxx(1:N)));
subplot(4,1,2); plot(w,abs(HW2(1:N)));
subplot(4,1,3); plot(w,abs(Syy(1:N)));
subplot(4,1,4); plot(Ryy);
M = 100;
N = 500;
xt= random('norm',0,1,M,N);
ht = fir1(101,[0.3 0.4]);
HW =fft (ht,2*N);
Sxx = abs(fft(xt,2*N,2).^2)/(2*N);
Sxxav = mean(Sxx);
HW2 =abs(HW).^2;
Syy = Sxxav .* HW2;
Ryy = fftshift(ifft(Syy));
运行结果见下图:
教材习题6.16编写MATLAB程序,模拟产生功率谱为
S(ω)=16
(ω+ω0)2
+64
+16
(ω−ω0)
2
+64
的高斯带通随机信号,其中ω0=400π,绘制带通信号相关函数与功率谱。
解:由傅里叶变换性质知
σ2e−β|τ|cosω0↔σ2β
(ω+ω0)2
+β2
+σ2β
(ω−ω0)
2
+β2
因此先产生俩个自相关函数同为R(τ)=σ2e−β|τ|的独立平稳过程i(t)和q(t),然后由x(t)=i(t)cos(w0t)-q(t)sinw0t就可得出要求的带通信号。
代码如下:
NFFT = 1024;
fs = 1000;
Ts = 1/fs;
B= 0.5 * fs;
df = fs/NFFT;
f = -B:df:B-df;
sigma = sqrt(2);
beta = 8;
a = exp(-beta*Ts);
b = sigma * sqrt(1 - a*a);
f0 = 200;
N = 10000;
wi = normrnd (0,1,[1,N]);
wq = normrnd (0,1,[1,N]);
xi = zeros(1,N);
xq = zeros(1,N);
xi(1) = sigma*wi(1);
xq(1) = sigma * wq(1);
for i = 2:N
xi(i)=a*xi(i-1) + b*wi(i); xq(i)=a*xq(i-1) + b*wq(i); end
t = 0:Ts:(N-1)*Ts;
x0=xi.*cos(2*pi*f0*t) -
xq.*sin(2*pi*f0*t);
x = x0(N-1000+1:N);
t = t(N-1000+1:N);
Rxx = xcorr(x)/1000;
t0=[-1000+1:1000-1];
Rxx0=(sigma^2)*exp(-
beta*abs(t0*Ts));
subplot(141);plot(t,x);title('样本x');
subplot(142);plot(t0,Rxx);title( '实测自相关函数');
subplot(143);periodogram(x,[],10 00,fs);
subplot(144);plot(t0,Rxx0,'r');t itle('理论自相关函数');
以下是运行结果:。