Pathsolver for a lot of different receivers. #893
Replies: 3 comments
-
|
Hi @MSchueller362,
|
Beta Was this translation helpful? Give feedback.
-
|
I observed an unexpected behavior regarding the results for the same receiver, depending on whether I process receivers individually or in batches. I have a scenario with 1 TX and 129 RX |
Beta Was this translation helpful? Give feedback.
-
|
Hi @souhila98 , Yes, this behavior can occur due to how paths are computed. As described in the Sionna RT Technical Report (Section 3.1.3), path candidates are stored for each transmitter in a hash array of size |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everybody,
I have three questions related to the Pathsolver:
We looked at the Api Documentation of the path_solver there is written:
-max_num_paths_per_src (int) – Maximum number of paths per source
-samples_per_src (int) – Number of samples per source
We weren´t sure from this documentation what the difference between the two is.
We have a very complicated mesh with a lot of different faces. We have one transmitter and a lot of receivers.
If we use the pathsolver function for a lot of receivers the number of paths we find at the first receiver decreases.
We implemented a loop to show the effect for a different number of receivers. We always start at the same receiver.
Is this happening because of a division of memory in number of paths for different receivers?
How can the loss of paths with more receivers be avoided?
We want to implement a function that iterates over a path_solver with different receivers.
We have over 1000 different receivers.
We have the positions of the receivers saved in a json file named receivers.
This is how the code would look:
If we do this we get the warning:
RuntimeWarning: The AST-transforming decorator @drjit.syntax was called more than 1000 times by your program. Since transforming and recompiling Python code is a relatively expensive operation, it should not be used within loops or subroutines. Please move the function to be transformed to the top program level and decorate it there.
warnings.warn(
Is there a better solution than doing this?
All the best,
Mark
Beta Was this translation helpful? Give feedback.
All reactions