赞
踩
产生无线信道中的小尺度衰落系数h(t),其模服从瑞利分布:y(t) = h(t)*s(t) + n(t)
① 什么是瑞利分布?
复高斯随机变量的模服从瑞利分布,即两个高斯随机变量的平方和开根号服从瑞利分布。
② 如何产生服从高斯分布的随机变量?
根据中心极限定理,N个独立同分布随机变量的和服从高斯分布。
③ 如何用Matlab产生服从高斯分布的随机变量?
采用正弦叠加法进行Matlab仿真,利用N个服从均匀入射的正弦波作为基础信号,产生服从高斯分布的信号。基本原理如下:
其中, fd为最大多普勒频移。
观察接收信号的功率谱是否符合经典谱的形状。
采用Simulink结合.m文件的形式实现
【注:】本文采用的是MATLAB R2020b 版本
打开Simulik 做出如下仿真图
其中MATLAB Function中需要写入自己写好的代码,代码的原理参考前文描述。
function y=srch(x) L=length(x);%输入信号长度 N=1024; %累加个数 ts=1e-4; %采样时间 fc=1e9; %载波频率 c=3e8; %光速 v=120/3.6; %移动速度米/秒 fd=(v/c)*fc;%最大多普勒频移 persistent theta; %设置入射角为全局变量 if isempty(theta) theta=2*pi*rand(1,N); %返回2*pi*(1 x N维向量) end persistent t0; %设置采样时刻为全局变量 if isempty(t0) t0=0; end t=t0:ts:(t0+(L-1)*ts); %L个输入数据对应的采样时刻 t0=t(end); %为下一组输入信号的起始采样时刻赋初值 h=complex(zeros(N,L)); %初始化矩阵h or %h=complex(h(:,:)); %h矩阵的第i列代表N个入射信号 for i=1:L h(:,i)=exp(1i*(2*pi*fd*cos((2*pi*(1:N))/N)*t(i)+theta))/sqrt(N); end h=sum(h,1); %按列求和,hi代表第i个输入信号对应的信道衰落值 y=h.'.*x; %输入信号和信道衰落相乘 end
仿真结果
运行matlab得到如下仿真结果:
分析函数波形知接收信号的功率谱是符合经典谱的形状。
可以用matlab给的Rayleigh库进行比较
在原有的simulink仿真图上稍作修改得到如下仿真图
运行matlab得到如下仿真结果:
分析函数波形知接收信号的功率谱是符合经典谱的形状。
比较两者可看出结果是一致的。
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。