How does the ReceiverVirtualVelocity command for comm.RayTracingChannel work?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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)
0 commentaires
Réponses (1)
Rishi
le 27 Fév 2024
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!
0 commentaires
Voir également
Catégories
En savoir plus sur Propagation and Channel Models dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!