【杂波仿真】基于matlab实现瑞利杂波仿真
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
⛄ 内容介绍
瑞利杂波(Rayleigh fading)是无线通信中常见的信道衰落模型,其特点是信号经过多径传播引起的幅度衰落呈瑞利分布。下面将介绍瑞利杂波的仿真方法。
- 生成复高斯随机信道:首先生成复高斯随机变量,表示信道的复数增益,它包括实部和虚部。复高斯随机变量服从零均值、单位方差的高斯分布。
- 生成瑞利幅度:根据生成的复高斯随机变量,计算其幅度,即信道增益的模值。
- 生成瑞利相位:根据生成的复高斯随机变量,计算其相位,即信道增益的辐角。
- 模拟多径传播:通过引入多个独立且服从高斯分布的复高斯随机变量,模拟多径传播效应,每个复高斯随机变量代表一个路径上的衰落。
- 合并多径信号:将各个路径上的信号进行叠加,得到最终的瑞利衰落信号。
- 分析和评估:对生成的瑞利衰落信号进行分析和评估,如计算信号的均值、方差、功率谱密度等指标,以了解瑞利衰落对信号的影响。
⛄ 部分代码
clear all;close all;
azi_num=2000; %取2000个点
fr=1000; %雷达重复频率
lamda0=0.05; %杂波波长
sigmav=1.0; %杂波方差
sigmaf=2*sigmav/lamda0;
rand('state',sum(100*clock)); %产生服从U(0,1)分布的随机序列
d1=rand(1,azi_num);
rand('state',7*sum(100*clock)+3);
d2=rand(1,azi_num);
xi=2*sqrt(-2*log(d1)).*cos(2*pi*d2); %正交且独立的高斯序列N(0,1)
xq=2*sqrt(-2*log(d1)).*sin(2*pi*d2);
%形成滤波器频率响应
coe_num=12; %求滤波器系数,用傅里叶级数展开法
for n=0:coe_num
coeff(n+1)=2*sigmaf*sqrt(pi)*exp(-4*sigmaf^2*pi^2*n^2/fr^2)/fr;
end
xlabel('幅度');ylabel('概率密度');
signal=ydata;
signal=signal-mean(signal); %求功率谱密度,先去掉直流分量
figure;M=256; %用burg法估计功率谱密度
psd_dat=pburg(real(signal),32,M,fr);
psd_dat=psd_dat/(max(psd_dat)); %归一化处理
freqx=0:0.5*M;
freqx=freqx*fr/M;
plot(freqx,psd_dat);title('杂波频谱');
xlabel('频率/HZ');ylabel('功率谱密度');
%做出理想高斯谱曲线
powerf=exp(-freqx.^2/(2*sigmaf.^2));
hold on;plot(freqx,powerf,'r:');
⛄ 运行结果
⛄ 参考文献
[1] 王思思,王立军.基于Matlab的航海雷达噪声与杂波仿真研究[J].科技信息, 2008(6):2.DOI:10.3969/j.issn.1001-9960.2008.06.055.