信号叠加一个均值为0.2,方差为0.5的高斯噪声后进行信号和噪声功率谱密度分析
信道噪声
Matlab含有高斯白噪声的函数库,可以直接调用:
u = normrnd(0.2,sqrt(0.5),[1,N]); %均值为0.2,方差为0.5的高斯白噪声
normrnd函数说明
信道仿真
效果图:
代码如下:
clc;clear;t = 0:0.001:6;% 时域信号的时间范围x = 4*sin(5*pi*t);% 正弦信号N=size(t,2);n = N - 1;u = normrnd(0.2,sqrt(0.5),[1,N]); %均值为0.2,方差为0.5的高斯白噪声y = x + u; %信号叠加%原信号subplot(511)plot(x(1:n));grid on;title(' 4*sin(5*pi*t)');%噪声概率密度分布subplot(512)hist(u,n/2);grid on; title('概率密度分布');%噪声subplot(513)plot(u(1:n));grid on;title('均值为 0.2,方差为 0.5的高斯噪声');%加噪声后信号subplot(514)plot(y(1:n));grid on;title('信号叠加');%功率谱密度Y = fft(y,N);% 求有限长信号的傅里叶变换Pyy=abs(Y).^2/N;%求傅里叶变换模平方的均值f = 1000*(0:(N-1)/2)/N;% 得到频率轴,频率区间长度%只画出了正半轴,注意区间长度subplot(515);plot(f,Pyy(1:((N-1)/2+1)));%注意区间长度title('信号的功率谱密度');