How to ensure the power of transmitted signal and received signal using ray tracing?
12 views (last 30 days)
Show older comments
Hi,
Below is a MATLAB code for simulating a simple ray-tracing scenario.
I have one txsite and one rxsite and made sure to have only one path (LOS) between the tx and rxsites.
I have few questions in this context.
1) I set the tx.TransmitterPower to 10 W. But, how to make sure the transmit power of the signal is 10 W?
2) The power delay profile(PDP) shows exactly one path.
I have a transmit signal x passing through rtChan and output signal as y.
I only have one path, the output should be simple the multplication of x and sqrt(PDP).
However, y=rtchan(x) and sqrt(PDP)*x results are very different.
Can someone expalin, what am i missing here?
tx = txsite( ...
"Latitude",22.2789, ...
"Longitude",114.1625, ...
"AntennaHeight",20, ...
"TransmitterFrequency",1980e6);
rx = rxsite( ...
"Latitude",22.2799, ...
"Longitude",114.1617, ...
"AntennaHeight",1);
tx.TransmitterPower =10
pm = propagationModel("raytracing", ...
"Method","image", ...
"MaxNumReflections",0); % This ensures we have only line of sight path (LOS)
rays = raytrace(tx,rx,pm);
rtchan = comm.RayTracingChannel(rays{1},tx,rx);
rtchan.SampleRate = 15.36e6;
showProfile(rtchan); % we get a power delay profile with one tap
M = 16; % Modulation order
frmLen = 16; % Frame length
numTx = rtchan.info.NumTransmitElements;
x = qammod(randi([0,M-1],frmLen,numTx),M,'UnitAveragePower',true);
% x=ofdmmod(x1,frmLen-16,16)
y = rtchan(x);
P_X = (norm(x).^2)/length(x)
P_Y = (norm(y).^2)/length(y)
rays{1}.PathLoss
Also, As the power in X and power in Y both are identical though the pathloss is 81.3577.
I'm confused here. If the path loss is so high, how come power in x and y are same?
Can someone point me what is the mistake i'm making?
0 Comments
Answers (1)
vidyesh
on 3 Oct 2023
Hi sravanch,
I see that you want to know why the power in x (transmitted) and y (received) are same, even though 'PathLoss’ is high.
The ‘rtchan’ variable in your code is a ‘comm.RayTracingChannel’ object. It has a property named ‘NormalizeImpulseResponses’ which is relevant to our problem. You can find detailed information about it here.
When this property is set ‘true’, the gains of Channel Impulse Responses are normalized to 0dB.
You can set this property to ‘false’ to see the effects of 'PathLoss' on the received signal. For your code, you can add the following line for this purpose:
rtchan.NormalizeImpulseResponses = false ;
I hope this answer helps you.
0 Comments
See Also
Categories
Find more on Propagation and Channel Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!