forked from stpaine/FERS
-
Notifications
You must be signed in to change notification settings - Fork 1
World Multipath Initialization
David Young edited this page Apr 30, 2025
·
1 revision
This process, typically executed once during simulation setup via the World::processMultipath() method, uses the previously defined MultipathSurface to automatically generate "dual" simulation entities. Specifically, it creates mirrored copies (duals) of existing Platform, Transmitter, and Receiver objects. These dual objects represent the geometric positions and orientations corresponding to a single specular reflection off the defined surface, enabling the simulation of single-bounce multipath phenomena using the image method.
- Assumes the
World::processMultipath()function is called at the correct point in the simulation setup sequence: after all primary entities (Platforms, Transmitters, Receivers, Targets) and the singleMultipathSurfacehave been added to theWorld, but before the main simulation time loop begins. - Assumes the external helper functions responsible for creating the dual entities (
createMultipathDualvariants) correctly instantiate the mirrored objects with appropriate geometric transformations (position, orientation) based on the surface definition. - Assumes these external
createMultipathDualfunctions also correctly copy or link necessary properties (like associated Antenna, Timing, Signal objects) from the original entity to its dual. - Assumes the
MultipathSurfaceobject itself is no longer needed for subsequent simulation calculations once the dual entities have been created.
-
In-Place Entity List Modification: The process modifies the
World's internal lists of platforms, transmitters, and receivers by adding the newly created dual objects directly to them. This can potentially double the number of active platforms/radars, increasing simulation complexity and runtime. -
Surface Object Discarded: After successfully creating the dual entities, the original
MultipathSurfaceobject held by theWorldis typically destroyed or released (reset()). This prevents dynamic changes to the multipath surface during a simulation run. -
Dependency on External Logic: The correctness of the entire multipath simulation via the image method heavily relies on the accurate implementation of the external
createMultipathDualfunctions (for Platforms, Transmitters, and Receivers), whose specific geometric transformation and property copying logic are not detailed within theWorld::processMultipathmethod itself. Errors in that external logic will lead to incorrect multipath simulation. -
Target Multipath Exclusion: This specific initialization process does not explicitly create dual
Targetobjects. Multipath involving targets is handled implicitly later during the simulation loop by considering paths likeRealTx -> Target -> DualRxorDualTx -> Target -> RealRx.
-
Worldclass (processMultipathmethod) -
MultipathSurfaceclass (provides the reflection definition) -
Platform,Transmitter,Receiverclasses (objects that are duplicated) - External
createMultipathDualfunctions (responsible for the actual duplication logic) - Multipath Dual Object Creation (Describes the dual creation mechanism)
- Multipath Model (Overall category)
- World Entity Management (Lists managed by the World)
- Simulation of Reflected Paths via Duals (How duals are used later)
- Needs Verification: The correct instantiation and property assignment of the dual objects created by this process needs thorough verification, as it underpins the entire image-method multipath simulation.
-
Key Areas for Validation:
- Verify
processMultipathis called at the correct stage during setup. - Verify the geometric positions and orientations of dual
Platformobjects are correctly reflected according to theMultipathSurfacedefinition. - Verify that dual
TransmitterandReceiverobjects correctly inherit or link to necessary components (Antenna, Timing, Signal, PRF settings, etc.) from their originals. - Verify correct handling of attached objects (e.g., ensuring a monostatic radar's dual Tx and Rx remain correctly associated).
- Confirm memory management: ensure the original
MultipathSurfaceis properly released and dual objects are managed correctly within theWorld. - Confirm that
Targetobjects are not duplicated by this process.
- Verify
- Priority: Medium-High (Crucial for enabling multipath simulation; relies on complex external logic)