上机作业:

1、假设一平稳随机信号为()()()0.81x n x n w n =?+,其中 是均值为0,方差为1的白噪声,数据长度为1024。

(1)、产生符合要求的)(n w 和)(n x ;

(2)、给出信号)(n x 的理想功率谱;

(3)、编写周期图谱估计函数,估计数据长度N=1024及256时信号功率谱,分析估计效果。

(4)、编写Bartlett 平均周期图函数,估计当数据长度N=1024及256时,分段数L 分别为2和8时信号 的功率谱,分析估计效果。

一、解题思路

w(n)可以通过随机序列randn(1,N)来产生,x(n)可以通过对w(n)滤波产生(由递推式可

得系统的传递函数),也可以直接由递推式迭代产生。

由于线性系统的输出功率谱等于输入功率谱乘以传递函数模的平方,X(n)可以看做w(n)通过一线性系统的输出,H(z)=1/(1-0.8z)。所以x(n)的理想功率谱P(e jw )=σw 2|H(e jw )|2。

周期图方法:直接对观测数据做FFT 变换,变换的结果取模的平方再除以数据长度,作为估计的功率谱。256个观测点时可以对原观测数据以4为间隔提取得到。

Bartlett 法:将L 组独立的观测数据分别求周期图,再将L 个周期图求平均作为信号的功率谱估计。L 组数据可以通过对原观测数据以L 为间隔提取得到。 二、MATLAB 实现程序及注解 clc;

clear;close all;

Fs=500; %采样率

N=1024; %观测数据

w=sqrt(1)+randn(1,N); %0均值,方差为1的白噪声,长度1024

x=[w(1) zeros(1,N-1)]; %初始化x(n),长度1024,x(1)=w(1)

for i=2:N

x(i)=0.8*x(i-1)+w(i); %迭代产生观测数据x(n)

end

%% 理想功率谱

[h,w1]=freqz(x);

figure,plot(w1*500/(2*pi),10*log10(abs(h).^2));grid on;

title('理想功率谱');

xlabel('频率'); ylabel('功率db');

%% 周期图法

%1024个观测点

Pxx=abs(fft(x)).^2/N; %周期图公式

Pxx=10*log10(Pxx(index+1)); %化为db

figure;plot(k,Pxx);grid on;

title('周期图1024点');

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐