目标
产生无线信道中的小尺度衰落系数h(t),其模服从瑞利分布:y(t) = h(t)*s(t) + n(t)
Steps:
(1)瑞利信道建模
① 什么是瑞利分布?
复高斯随机变量的模服从瑞利分布,即两个高斯随机变量的平方和开根号服从瑞利分布。
② 如何产生服从高斯分布的随机变量?
根据中心极限定理,N个独立同分布随机变量的和服从高斯分布。
(2)Matlab 仿真
③ 如何用Matlab产生服从高斯分布的随机变量?
采用正弦叠加法进行Matlab仿真,利用N个服从均匀入射的正弦波作为基础信号,产生服从高斯分布的信号。基本原理如下:
其中, fd为最大多普勒频移。
度量
观察接收信号的功率谱是否符合经典谱的形状。
采用Simulink结合.m文件的形式实现
【注:】本文采用的是MATLAB R2020b 版本
打开Simulik 做出如下仿真图
其中MATLAB Function中需要写入自己写好的代码,代码的原理参考前文描述。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40function 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得到如下仿真结果:
分析函数波形知接收信号的功率谱是符合经典谱的形状。
比较两者可看出结果是一致的。
最后
以上就是拼搏鸵鸟最近收集整理的关于瑞利信道建模 matlab程序原理到实现目标Steps:(1)瑞利信道建模(2)Matlab 仿真度量的全部内容,更多相关瑞利信道建模内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复