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,1024); %对x2做快速傅里叶变换 pw1=abs(temp).^2/1024; %对temp做经典功率估计 k=0:length(temp)-1; w=2*pi*k/1024;
figure(1); %输出x1函数图像
plot(w/pi/2,pw1) %输出功率谱函数pw1图像 xlabel('信号频率/Hz');
ylabel('PSD/傅立叶功率谱估计');
title('正弦信号x1添加高斯白噪声后的,周期图法功率频谱分析'); grid;
%------------------------------------------------------------------------- pw2=temp.*conj(temp)/1024; %对temp做向量的共轭乘积 k=0:length(temp)-1; w=2*pi*k/1024; figure(2);
plot(w/pi/2,pw2); %输出功率谱函数pw2图像 xlabel('信号频率/Hz');
ylabel('PSD/傅立叶功率谱估计'); title('正弦信号x1自相关法功率谱估计'); grid;
(3)、采点为n=1024时,功率谱图像。
由放大后的图像可以清楚的得到峰值点的坐标,X1=0.2002,X2=0.2129,这样也不会出现峰值的重合现象,能够清楚的估计信号的频率。 5、分析原因
当采样的点数为N=128时,此时采样的得到的图像分辨力很低,并且分辨率也比较低,这就导致了功率谱图像只能看到一个峰值点。采样点数为N=512时,此时,分辨力和分辨率比较高,可以清楚的区分到两个峰值点的横坐标,此时的横坐标就是信号的频率。采样点数N=1024时,分辨力和分辨率更高,得到的信号频率更接近真实的频率,但是这是以牺牲效率为代价的,采样的点数越多,所花的时间越长,这在实际的工程中是不切合实际的,因此,在我们估计随机信号的频率的时候,要合理的采取样本点数,尽可能的采取多的样点,来接近真实的信号频率,也要考虑实际的效率问题。 四、总结
通过这次作业,我加强了对傅里叶变换、离散随机过程求非参数化功率谱估计的认识,并初步学会了如何在matlab上对数学问题进行仿真实验,提高了动手能力。由仿真结果知道须知万事需实践,才能有发言权。感谢陈老师对我们的严格要求和期望,万分感谢!今后一定要严格要求自己,培养严谨的学术态度、求真的学习热情,以期在学术道路上能够走得更远。