MATLAB环境下的正弦信号及高斯白噪声仿真程序说明
![MATLAB环境下的正弦信号及高斯白噪声仿真程序说明](https://img.360docs.net/img38/16nfg4sckfw27f80301xit1qdryo6hd3-81.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
姓名:朱奇峰 专业:电子与通信工程
方向:数字广播电视技术 学号:103320430109033
MATLAB 环境下的正弦信号及高斯白噪声仿真程序说明
一、信号的产生及时域观察
1、设定正选信号的频率为10HZ ,抽样频率为100HZ ;
2、设定N(0,0.25)高斯白噪声,及噪声功率为0.25W ;
3、最后将噪声叠加到正弦信号上,观察其三者时域波形。
二、信号频谱及白噪声功率谱的求解与观察
1、对原正弦信号直接进行FFT ,得出其频谱;
2、求白噪声的自相关函数,随机序列自相关函数的无偏估计公式为:
1
^
01()()()N m xx n r m x n x n m N m --==+-∑ 01m N ≤≤- ^^
()()xx xx r m r m =- 01m N <<-
对所求自相关函数进行FFT 变换,求的白噪声的功率谱函数。 三、仿真结果:
附源程序代码:
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(3,2,1);
plot(x,y1,'r');
title('y=sin(20pi*x)');
ylabel('y');
xlabel('x/20pi');
grid;
y2=a+b*randn(1,n); %高斯白噪声
subplot(3,2,2);
plot(x,y2,'r');
title('N(0,0.25)的高斯白噪声');
ylabel('y');
xlabel('x/20pi');
grid;
y=y1+y2; %加入噪声之后的信号
subplot(3,2,3);
plot(x,y,'r');
title('叠加了高斯白噪声的sinx');
ylabel('y');
xlabel('x/20pi');
grid;
FY=fft(y); %傅里叶变换得出频谱函数
FY1=fftshift(FY); %频谱校正
f=(0:200)*fs/n-fs/2;
subplot(3,2,4);
plot(f,abs(FY1),'r');
title('函数频谱图');
ylabel('F(jw)');
xlabel('w');
grid;
%求高斯白噪声的自相关函数
m=50;
i=-0.49:1/fs:0.49;
for j=1:m
R(j)=sum(y2(1:n-j-1).*y2(j:199),2)/(n-j);%无偏自相关函数的估计
Rx(49+j)=R(j);
Rx(51-j)=R(j);
end
subplot(3,2,5);
plot(i,Rx,'r');
%plot(leg*1/fs,Rx,'r');
title('白噪声自相关函数图');
ylabel('Rx');
xlabel('x');
grid;
Fy2=fft(Rx); %傅里叶变换得出白噪声功率谱函数
Fy21=fftshift(Fy2); %功率谱校正
f=(0:98)*fs/99-fs/2;
subplot(3,2,6);
plot(f,abs(Fy21),'r');
axis([-50 50 -0.5 1]);
title('白噪声功率谱函数图');
ylabel('F(Rx)');
xlabel('w');
grid;
(本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您的好评与关注!)