m基于matlab的WLAN室内无线信道建模与仿真

355 阅读3分钟

1.算法仿真效果

matlab2022a仿真结果如下:

1.png

2.png

3.png

2.算法涉及理论知识概要

      室内无线信道是指室内对无线通信中发送端和接收端之间通路。室内无线信道与传统的无线信道相比,具有两个显著的特点:其一,室内覆盖面积小得多;其次,收发机间的传播环境变化更大。研究表明,影响室内传播的因素主要是建筑物的布局、建筑材料和建筑类型等。

 

      室内的无线传播同样的受到反射、绕射、散射3种主要传播方式的影响,但是与室外传播环境相比,条件却大大不同。实验研究表明建筑物内部接收到的信号强度随楼层高度增加,在建筑物的较低层,由于都市群的原因有较大的衰减,使穿透进入建筑物的信号电平很小,在较高楼层,若存在LOS路径,会产生较强的直射到建筑物外墙处的信号。因而对室内传播特性的预测,需要使用针对性更强的模型。

 

        两个用于描述平坦衰落信道的基本模型为Clarke信道模型和Suzuki信道模型。Clarke信道模型用瑞利衰落信道来描述平坦小尺度衰落的统计模型,它的信号接收场强的统计特性是基于散射的,适合于市区无直射通路的环境。Suzuki信道模型将小尺度衰落模型和大尺度传播模型相结合,得到的一个混合模型,即在瑞利信道的基础上考虑了阴影效应。用它来仿真平坦衰落信道,意义更为重要。先对平坦衰落信道进行建模,然后对多个平坦衰落信道做延时叠加,得到频率选择性信道。所有的信道模型仿真都基于多个不相关的有色高斯随机过程。产生有色高斯随机过程的方法有两类:正弦波叠加法(SOS:Sum-Of-Sinusoid)和成形滤波器法。正弦波叠加法是基于无穷个加权谐波的叠加,即:

4.png  

 

       这里在整个仿真过程中是确定的,因此称为“确定型仿真模型”。那么,当同时存在大尺度和小尺度信道的时候,总信道可以通过如下模型表示:

  83fdb2f5002049dae1019bfddb3effaa_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

 

3.MATLAB核心程序 `figure;

subplot(221);

semilogy(sendpower,Rp,'-b',...

    'LineWidth',2);

xlabel('发送功率(mW)');

grid on

Rp=[];

 

%发送功率

sendpower          = 900;%mW

%传输距离m

d_                 = 10;     

%穿过的墙壁损耗列向量db

w_                 = [-5]  ;           

%穿过的地板损耗列向量db

f_                 = [-10] ;  

%距离分析

dist = [0.1:0.1:20];

for i = 1:length(dist)

    Rp(i) = func_largefade(sendpower,dist(i),w_,f_);

end

subplot(222);

semilogy(dist,Rp,'-b',...

    'LineWidth',2);

xlabel('距离');

grid on

Rp=[];

 

%发送功率

sendpower          = 900;%mW

%传输距离m

d_                 = 10;     

%穿过的墙壁损耗列向量db

w_                 = [-20:1:10]  ;           

%穿过的地板损耗列向量db

f_                 = [-10] ;  

%距离分析

dist = 10;

for i = 1:length(w_)

    Rp(i) = func_largefade(sendpower,dist,w_(i),f_);

end

subplot(223);

semilogy(w_,Rp,'-b',...

    'LineWidth',2);

xlabel('穿过的墙壁损耗');

grid on

Rp=[];

 

%发送功率

sendpower          = 900;%mW

%传输距离m

d_                 = 10;     

%穿过的墙壁损耗列向量db

w_                 = [0]  ;           

%穿过的地板损耗列向量db

f_                 = [-20:1:10] ;  

%距离分析

dist = 10;

for i = 1:length(f_)

    Rp(i) = func_largefade(sendpower,dist,w_,f_(i));

end

subplot(224);

semilogy(f_,Rp,'-b',...

    'LineWidth',2);

xlabel('穿过的地板损耗');

grid on

Rp=[];`