Good day im trying to plot a graph of the effect of distance of separation between the TX/RX and the receive signal strength, using Friis's free space equation. I am having an issue with the graph when my pr is in db unit.
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
My code:
clc;
close all;
clear all;
d=1:0.1:20 ;
f=2100000000;
Wavelength=(3*10^8/f).^2;
PT=50.12;
PR=(Wavelength./(4*pi*d).^2)*PT ;
PR1=10*log(PR/(10*10.^-3)) ;
subplot(2,1,1);
plot(d,PR);
xlabel('x--> D (distance in Km)');
ylabel('y--> PR (path loss)');
title('Distance of separation between the TX/RX and the receive signal strength');
grid on
subplot(2,1,2);
plot(d,PR1);
xlabel('x--> D (distance in Meter)');
ylabel('y--> PR (Path loss in dB)');
title('Distance of separation between the TX/RX and the receive signal strength');
grid on;
2 commentaires
Réponses (2)
Wick
le 1 Mai 2018
Modifié(e) : Wick
le 1 Mai 2018
You're plotting exactly what you're asking for. However, I don't think you're asking what you think you're asking. Your definition of PR1 doesn't appear to reference P0. It's a fixed scalar of 0.01;
PR1=10*log(PR/(10*10.^-3)) ;
did you intend to divide by 0.01? That's what 10*10.^-3 evaluates to. I would have expected PT there. Perhaps you intended 0.001? That's just '1e-3' in MATLAB notation (without the quotes).
Edit: Also, in MATLAB, log is the natural log (base e) usually written as ln. If you want the base 10 log the command is log10. dB is usually defined in base 10.
0 commentaires
John Barber
le 10 Déc 2022
You probably already have an answer but try this....
Power Transmitted Vs. Distance
clc; clear; close all;
%%%%%% Pt(dBm) Vs Distance (m) MATLAB Code %%%%%
%%% desined By Braden Gustitis & John Barber %%%
%%%%%%%%% Senior Design Project ENGR 402 %%%%%%%
%%%%%% Used PTx Vs Distance calculator to validate MATLAB results %%%%%%
%%%%%% https://www.radiolabs.com/stations/wifi_calc.html %%%%%%
C=3.0e8; % Speed of light
f0 = 2.4e9; % Frequency
Lambda = C/f0; % Wavelength
Gr = 2; % Receiver gain (estimated)
Gt = 2; % Transmitter gain (estimated)
Pt = 80:-5:0; % Tx power from 80 dBm to 0 dBm
i = 1:length(Pt);
%%%%%%%%%%%%%%% Per ScreenBeam %%%%%%%%%%%%%%
%%%%%%%%%%%% Power Received levels %%%%%%%%%%%%
PrR = -67; % P Rx Reliable -67 dBm
PrG = -60; % P Rx Good -60 dBm
PrE = -50; % P Rx Excellent -50 dBm
%%%%%%%%%%% Pt -
LfsR = Pt-PrR; % difference between PTx & PRx ==> Pt - PrR Reliable
LfsG = Pt-PrG; % difference between PTx & PRx ==> Pt - PrG Good
LfsE = Pt-PrE; % difference between PTx & PRx ==> Pt - PrE Exellent
% XR, XG, XE to simplify exponent in below equation
XR = LfsR + Gr + Gt;
XG = LfsG + Gr + Gt;
XE = LfsE + Gr + Gt;
% Freespace Pathloss equation modified to output distance
RR = (Lambda .* 10 .^ ((XR)/20)) ./ (4 .* pi); % Reliable ~ -67 dBm
RG = (Lambda .* 10 .^ ((XG)/20)) ./ (4 .* pi); % Good ~ -60 dBm
RE = (Lambda .* 10 .^ ((XE)/20)) ./ (4 .* pi); % Excellent ~ -50 dBm
figure
plot(RR,Pt(i), 'DisplayName', 'Pr = -67dBm "Reliable"')
title('R(Pt) of 2.4 GHz')
xlabel('Distance in meters')
ylabel('Pt in dBm')
xlim([0 5000]); % change to adjust distance
grid on
hold on
plot(RG, Pt(i), 'DisplayName', 'Pr = -60dBm "Good"')
plot(RE, Pt(i), 'DisplayName', 'Pr = -50dBm "Exellent"')
legend(Location="northwest")
legend(fontsize=14)
legend show
hold off
0 commentaires
Voir également
Catégories
En savoir plus sur Measurements and Spatial Audio dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!