集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 624|回复: 0

FPGA之MATLAB环境下的正弦信号及高斯白噪声

[复制链接]
小舍YZ 发表于 2017-6-16 10:22:32 | 显示全部楼层 |阅读模式
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;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-7 00:46 , Processed in 0.058593 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表