FPGA之MATLAB环境下的正弦信号及高斯白噪声
FPGA之MATLAB环境下的正弦信号及高斯白噪声一、信号的产生及时域观察
1、设定正选信号的频率为10HZ,抽样频率为100HZ;
2、设定N(0,0.25)高斯白噪声,及噪声功率为0.25W;
3、最后将噪声叠加到正弦信号上,观察其三者时域波形。
二、信号频谱及白噪声功率谱的求解与观察
1、对原正弦信号直接进行FFT,得出其频谱;
2、求白噪声的自相关函数,随机序列自相关函数的无偏估计公式为:
对所求自相关函数进行FFT变换,求的白噪声的功率谱函数。
源程序:
1.产生正弦信号
fs=100;
fc=10;
x=(0:1/fs:2);
n=201;
y1=sin(2*pi*fc*x);%原正弦信号,频率为10
a=0;b=0.5;%均值为a,方差为b^2
subplot(2,2,1);
plot(x,y1,'r');
title('y=sin(20pi*x)');
ylabel('y');
xlabel('x/20pi');
grid;
2.产生高斯白噪声
y2=a+b*randn(1,n);%高斯白噪声
subplot(2,2,2);
plot(x,y2,'r');
title('N(0,0.25)的高斯白噪声');
ylabel('y');
xlabel('x/20pi');
grid;
3.复合信号
y=y1+y2;%加入噪声之后的信号
subplot(2,2,3);
plot(x,y,'r');
title('混合信号');
ylabel('y');
xlabel('x/20pi');
grid;
4.复合信号功率谱密度
%求复合信号的自相关函数
m=50;
i=-0.49:1/fs:0.49;
for j=1:m
R(j)=sum(y(1:n-j-1).*y(j:199),2)/(n-j);%无偏自相关函数的估计
Rx(49+j)=R(j);
Rx(51-j)=R(j);
end
Fy2=fft(Rx);%傅里叶变换得出复合信号功率谱函数
Fy21=fftshift(Fy2);%功率谱校正
f=(0:98)*fs/99-fs/2;
subplot(2,2,4);
plot(f,abs(Fy21),'r');
axis([-50 50 -0.5 1]);
title('复合信号功率谱函数图');
ylabel('F(Rx)');
xlabel('w');
grid;
页:
[1]