基于MATLAB的噪声仿真程序.docx
《基于MATLAB的噪声仿真程序.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的噪声仿真程序.docx(4页珍藏版)》请在冰点文库上搜索。
![基于MATLAB的噪声仿真程序.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/c4d3761e-9dcf-4e51-ab29-6063eb3ccf89/c4d3761e-9dcf-4e51-ab29-6063eb3ccf891.gif)
clearall;closeall;clc;%清除变量
T=100e-6;%采样时间
fs=300e6;%采样频率
N=T*fs;%采样点数
detlf=20e6;%滤波器截止频率
f1=100e6;%调制信号中心频率
m=0.5;%调制度
kfm=5e6;%调频斜率
kpm=5;%调相斜率
M=100;%积累次数
p=fft(fir1(N-1,detlf/fs*2));%滤波器频谱
s=0;
fori=1:
100
xn=ifft(fft(random('Normal',0,1,1,N)).*p);%高斯白噪声通过滤波器
j=abs(fft(xn));
end
s=s/M;
j=s;
figure
(1)
t=0:
1/fs:
T-1/fs;
plot(t*1e6,xn);
xlabel('us');
title('视频噪声时域波形');
figure
(2)
plot(f*1e-6,20*log10(j.^2/max(j.^2)));%视频噪声功率谱
axis([-122-80]);
xlabel('MHZ');
title('视频噪声功率谱')
n=1:
N;
zn=(1+m*cos(2*pi*xn)).*cos(2*pi*f1/fs*n);%噪声调幅干扰表达式
figure(3)
plot(t*1e6,zn);
title('噪声调幅干扰时域波形');
xlabel('us');
s=0;
fori=1:
100
zn=(1+m*cos(2*pi*xn)).*cos(2*pi*f1/fs*n);
j=abs(fft(zn));
s=s+j;
end
s=s/M;
j=s;
figure(4)
plot(f*1e-6,20*log10(j.^2/max(j.^2)));%噪声调幅干扰功率谱
title('噪声调幅干扰功率谱');
xlabel('MHZ');
axis([90110-2000]);
sum
(1)=0;
fori=1:
N-1
sum(i+1)=xn(i)+sum(i);
end
wn=cos((2*pi*f1*t+2*pi*kfm*xn));%噪声调频干扰表达式
figure(5)
plot(t*1e6,wn);
title('噪声调频干扰时域波形');
xlabel('us');
s=0;
fori=1:
100
xn=ifft(fft(random('Normal',0,1,1,N)).*p);
sum
(1)=0;
fori=1:
N-1;
sum(i+1)=xn(i)+sum(i);
wn=cos((2*pi*f1*t+2*pi*kfm*xn));
j=abs(fft(wn));
s=s+j;
s=s/M;
j=s;
figure(6)
plot(f*1e-6,20*log10(j.^2/max(j.^2)));%噪声调频干扰功率谱
axis([50150-1500])
xlabel('MHZ');
title('噪声调频干扰功率谱');