How to ensure the power of transmitted signal and received signal using ray tracing?

12 次查看(过去 30 天)
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
tx =
txsite with properties: Name: 'Site 1' CoordinateSystem: 'geographic' Latitude: 22.2789 Longitude: 114.1625 Antenna: 'isotropic' AntennaAngle: 0 AntennaHeight: 20 SystemLoss: 0 TransmitterFrequency: 1.9800e+09 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_X = 0.9500
P_Y = (norm(y).^2)/length(y)
P_Y = 0.9500
rays{1}.PathLoss
ans = 81.3577
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?

回答(1 个)

vidyesh
vidyesh 2023-10-3
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.RayTracingChannelobject. 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.

类别

Help CenterFile Exchange 中查找有关 Propagation and Channel Models 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by