recv_power.m
来自「A wireless channel implemenatation in MA」· M 代码 · 共 33 行
M
33 行
function [Pr] = recv_power(tx, rv, rmodel)
% send packet at PHY layer
global node Gt Gr freq L ht hr pathLossExp std_db d0;
global cs_threshold;
lambda = 3e8 / freq;
Pt = node(tx, 3);
if Pt <= 0
disp(['In function recv_power: the transmission power of node ' num2str(tx) ' is zero']);
end
% Pt
% Update the position before calculating distance and received power
position_update;
d = sqrt((node(tx, 1)-node(rv, 1))^2+(node(tx, 2)-node(rv, 2))^2);
switch rmodel
case 'friis'
Pr = friis(Pt, Gt, Gr, lambda, L, d);
case 'tworay'
[Pr, crossover_dist] = tworay(Pt, Gt, Gr, lambda, L, ht, hr, d);
case 'shadowing'
Pr = log_normal_shadowing(Pt, Gt, Gr, lambda, L, pathLossExp, std_db, d0, d);
end
% if Pr <= cs_threshold
% Pr = 0;
% end
return;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?