MATLAB经典功率谱估计法

2019-08-31 14:14

一、作业内容:

对两个正弦信号做叠加后,计算离散随机过程信号的功率谱函数,由功率谱,估计信号的频率。

在matlab上实现之,并观察波形进行验证。 二、实现步骤:

(一)、构造环境:

1、两个正弦波分别为A*sin(2*pi*f1*n+a)、B*sin(2*pi*f2*n+a),规定取样点范围n=1~128;构造函数x1=A*sin(2*pi*f1*n+a)+B*sin(2*pi*f2*n+a); 2、在x1基础上加入加性高斯白噪声,取定信噪比为+3,来定义x2的函数为x2=x1+W(噪声);

3、对离散信号x2做非参数化谱估计,以傅里叶变换为基础,先对x2做傅里叶变换,求出其频谱;

4、求x2的功率谱p(w),用周期图法;用间接法;分别估计做出功率谱,并输出其功率谱波形。

5、更改采样点数,验证功率谱波形的主瓣函数图形什么情况下有重叠程度、什么情况下能够很好的区分开来。

(二)、在matlab中编写相应程序:

clear all; %清除工作空间所有之前的变量 close all; %关闭之前的所有的figure clc; %清除命令行之前所有的文字 n=1:1:128; %设定采样点n=1-128 f1=0.2; %设定f1频率的值0.2 f2=0.213; %设定f2频率的值0.213 A=1; %取定第一个正弦函数的振幅 B=1; %取定第一个正弦函数的振幅 a=0;

%设定相位为0

x1=A*sin(2*pi*f1*n+a)+B*sin(2*pi*f2*n+a); %定义x1函数,不添加高斯白噪声

x2=awgn(x1,3); %在x1基础上添加加性高斯白噪声,信噪比为3,定义x2函数 temp=0; %定义临时值,并规定初始值为0 temp=fft(x2,128); %对x2做快速傅里叶变换 pw1=abs(temp).^2/128; %对temp做经典功率估计 k=0:length(temp)-1; w=2*pi*k/128;

figure(1); %输出x1函数图像

plot(w/pi/2,pw1) %输出功率谱函数pw1图像 xlabel('信号频率/Hz');

ylabel('PSD/傅立叶功率谱估计');

title('正弦信号x1添加高斯白噪声后的,周期图法功率频谱分析'); grid;

%------------------------------------------------------------------------- pw2=temp.*conj(temp)/128; %对temp做向量的共轭乘积 k=0:length(temp)-1; w=2*pi*k/128; figure(2);

plot(w/pi/2,pw2); %输出功率谱函数pw2图像 xlabel('信号频率/Hz');

ylabel('PSD/傅立叶功率谱估计'); title('正弦信号x1自相关法功率谱估计'); grid;

三、在matlab中,输出的功率谱图像。

1、用直接法,功率谱图像。

2、用间接法(自相关函数)做出功率谱图像。

由上面的图像发现,峰值主瓣有重合,不能区分开来,峰值点处的坐标只有一个峰值点x=0.2109。所以,不能有效的估计出f1,f2。

3、更改采样点n=512后。

clear all; %清除工作空间所有之前的变量 close all; %关闭之前的所有的figure

clc; %清除命令行之前所有的文字 n=1:1:512; %设定采样点n=1-128 f1=0.2; %设定f1频率的值0.2 f2=0.213; %设定f2频率的值0.213 A=1; %取定第一个正弦函数的振幅 B=1; %取定第一个正弦函数的振幅 a=0;

%设定相位为0

x1=A*sin(2*pi*f1*n+a)+B*sin(2*pi*f2*n+a); %定义x1函数,不添加高斯白噪声

x2=awgn(x1,3); %在x1基础上添加加性高斯白噪声,信噪比为3,定义x2函数 temp=0; %定义临时值,并规定初始值为0 temp=fft(x2,512); %对x2做快速傅里叶变换 pw1=abs(temp).^2/512; %对temp做经典功率估计 k=0:length(temp)-1; w=2*pi*k/512;

figure(1); %输出x1函数图像

plot(w/pi/2,pw1) %输出功率谱函数pw1图像 xlabel('信号频率/Hz');

ylabel('PSD/傅立叶功率谱估计');

title('正弦信号x1添加高斯白噪声后的,周期图法功率频谱分析'); grid;

%------------------------------------------------------------------------- pw2=temp.*conj(temp)/512; %对temp做向量的共轭乘积 k=0:length(temp)-1; w=2*pi*k/512; figure(2);

plot(w/pi/2,pw2); %输出功率谱函数pw2图像

xlabel('信号频率/Hz');

ylabel('PSD/傅立叶功率谱估计'); title('正弦信号x1自相关法功率谱估计'); grid;

(1)、采点为n=512时,功率谱图像

由图像坐标可以清楚的得到峰值点的坐标,X1=0.1992,X2=0.2129,这样不会出现峰值的重合现象,能够清楚的估计信号的频率。

4、更改采样点n=1024后。

clear all; %清除工作空间所有之前的变量 close all; %关闭之前的所有的figure clc; %清除命令行之前所有的文字 n=1:1:1024; %设定采样点n=1-128 f1=0.2; %设定f1频率的值0.2 f2=0.213; %设定f2频率的值0.213 A=1; %取定第一个正弦函数的振幅 B=1; %取定第一个正弦函数的振幅 a=0;

%设定相位为0


MATLAB经典功率谱估计法.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:规培出科小结(各科)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: