频率f=2.4 GHz,收发天线增益Gt=Gr=1,发射功率Pt=1,只考虑地面和前后两面墙的反射,反射系数为0.7,总计考虑10条路径,求出接收功率随d(d=1 m — 30 m)的变化。用matlab设计程序并实现该功能
代码如下:
clc;
clear all;
%已知参数
f = 2.4e9;
Gt = 1;
Gr = 1;
c = 3e8;
Pt = 1;
F_S = 0.7;
lamda = c/f;
%建立坐标系
Tx = [0 0 10];%以Tx下平面建立三维坐标系
P_L = zeros(1,40);
i=1;
for d=1:0.5:30%d从1开始到30结束,每0.5取一个值
%1
Tx = [0 0 10];
Rx = [d -10 1];
R0 = norm(Tx - Rx);%第一次直射距离
p0 = sqrt(Gt*Gr)*lamda/(4*pi)*(exp(1i*2*pi*R0/lamda)/R0);
%2
Tx1 = [0 0 -10];%对地面进行第一次反射的镜像点
R1 = norm(Tx1 - Rx);
p1 = sqrt(Gt*Gr)*lamda*F_S/(4*pi)*(exp(1i*2*pi*R1/lamda)/R1);
%3
Tx2 = [0 -30 10];%对前面墙的第一次反射的镜像点
R2 = norm(Tx2 - Rx);
p2 = sqrt(Gt*Gr)*lamda*F_S/(4*pi)*(exp(1i*2*pi*R2/lamda)/R2);
%4
Tx3 = [0 10 10];%对后面墙的第一次反射的镜像点
R3 = norm(Tx3 - Rx);
p3 = sqrt(Gt*Gr)*lamda*F_S/(4*pi)*(exp(1i*2*pi*R3/lamda)/R3);
%5
Tx4 = [0 0 -10];%对地的镜像点
Rx4 = [d -20 1];%对前面墙的镜像点
R4 =norm(Tx4 - Rx4);
p4 = sqrt(Gt*Gr)*lamda*F_S^2/(4*pi)*(exp(1i*2*pi*R4/lamda)/R4);%经过两次反射,分别是地面+前墙反射共2次
%6
Tx5 = [0 0 -10];%对地的镜像点
Rx5 = [d 20 1];%对后面墙的镜像点
R5 = norm(Tx5 - Rx5);
p5 = sqrt(Gt*Gr)*lamda*F_S^2/(4*pi)*(exp(1i*2*pi*R5/lamda)/R5);%经过两次反射,分别是地面+后墙反射共2次
%7
Tx6 = [0 -30 10];%对前墙的镜像点
Rx6 = [d -10 -1];%对地的镜像点
R6 = norm(Tx6 - Rx6);
p6 = sqrt(Gt*Gr)*lamda*F_S^2/(4*pi)*(exp(1i*2*pi*R6/lamda)/R6);%经过两次反射,分别是前墙+地面反射共2次
%8
Tx7 = [0 10 10];%对后墙的镜像点
Rx7 = [d -10 -1];%对地的镜像点
R7 = norm(Tx7 - Rx7);
p7 = sqrt(Gt*Gr)*lamda*F_S^2/(4*pi)*(exp(1i*2*pi*R7/lamda)/R7);%经过两次反射,分别是后墙+地面反射共2次
%9
Tx8 = [0 -30 10];%对前墙的镜像点
Rx8 = [d 20 1];%对后墙的镜像点
R8 = norm(Tx8 - Rx8);
p8 = sqrt(Gt*Gr)*lamda*F_S^2/(4*pi)*(exp(1i*2*pi*R8/lamda)/R8);%经过两次反射,分别是前墙+后面反射共2次
%10
Tx9 = [0 -30 10];%对前墙的镜像点
Rx9 = [d 20 1];%对后墙的镜像点
%完成两次反射
R9 = norm(Tx9 - Rx9);
Tx10 = [d 20 -1];%后墙的镜像点再对地面面的镜像点
Rx10 = [d -5 1];%Rx的坐标
R10 = norm(Tx10 - Rx10);
R11 = R9 + R10;
p9 = sqrt(Gt*Gr)*lamda*F_S^3/(4*pi)*(exp(1i*2*pi*R11/lamda)/R11);%经过三次反射,分别是前墙+后墙+地面反射共3次
p = (p0+p1+p2+p3+p4+p5+p6+p7+p8+p9);
P_L(i)=20*log10(abs(p));
i=i+1;
end
d=1:0.5:30;
values=spcrv([[d(1) d d(end)];[P_L(1) P_L P_L(end)]],3);
plot(values(1,:),values(2,:),'b');
title('接收功率随d(d=1m~30m)的变化图');
xlabel('d(m)');
ylabel('P(dB)');
结果如下: