How does the ReceiverVirtualVelocity command for comm.RayTracingChannel work?

9 次查看(过去 30 天)
I am using comm.RayTracingChannel to simulate a channel and I am succesfully able to call rtChan() in my below code to get the output complex values representing the Channel Impulse Response (CIR). However, I want to get these CIR values for different scenarios of the receiver moving in a certain direction with a constant velocity. I have tried using ReceiverVirutalVelocity function but it does not impact the CIR values I read. Additionally, I never specify a start and end time for the receiver to be moving so maybe this could be the issue?
Any help would be greatly appreciated. Below is my current code:
%--------------------------------------------------------------------------
viewer = siteviewer("Buildings","canarywharf.osm","Basemap","topographic");
tx = txsite("Name","Small cell transmitter", ...
"Latitude",51.50375, ...
"Longitude",-0.01843, ...
"AntennaHeight",10, ...
"TransmitterPower",5, ...
"TransmitterFrequency",28e9);
show(tx)
rtpm = propagationModel("raytracing", ...
"Method","sbr", ...
"MaxNumReflections",2, ...
"BuildingsMaterial","perfect-reflector", ...
"TerrainMaterial","perfect-reflector");
rx = rxsite("Name","Small cell receiver", ...
"Latitude",51.50276, ...
"Longitude",-0.0178, ...
"AntennaHeight",1);
los(tx,rx)
raytrace(tx,rx,rtpm)
rays = raytrace(tx,rx,rtpm);
rays = rays{1,1};
rtChan = comm.RayTracingChannel(rays,tx,rx);
rtChan.ChannelFiltering = 0;
rtChan.ReceiverVirtualVelocity = [1; 1; 1];
rtChan.SampleRate = 300e6;
cir = rtChan() % This is what prints the CIR values (in this case there are 10 paths)

回答(1 个)

Rishi
Rishi 2024-2-27
Hi Rayan,
I understand that you're trying to figure out why the output of 'rtChan()' displays the same value, even for scenarios where the receiver is moving in a certain direction.
The usage of 'ReceiverVirtualVelocity' parameter is correct in your case. I ran the code that you have provided, and found out that the values of the variable 'cir' indeed change for different positions of the receiver. The issue you are facing is due to the fact that MATLAB Command Window, by default, only shows 4 digits after the decimal point. You can change this behaviour by using the following command:
format long
This will allow you to view the answer upto 15 digits after the decimal point. You can learn more about the command from the given documentation:
Hope this helps!

类别

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