forked from stpaine/FERS
-
Notifications
You must be signed in to change notification settings - Fork 1
Multipath Surface Definition
David Young edited this page Apr 30, 2025
·
1 revision
FERS allows the definition of a single multipath propagation path via reflection off an infinite flat surface. This surface is defined in the XML configuration using standard plane equation coefficients (ax + by + cz + d = 0) and includes a scalar reflection factor (representing signal loss or gain upon reflection). This mechanism forms the basis for simulating single-bounce multipath using the image method.
- The defined surface is mathematically perfect: perfectly flat and infinite in extent.
- Reflection off the surface is purely specular (mirror-like), with no diffuse scattering components considered.
- The reflection
factorprovided in the XML is a simple, constant scalar multiplier applied to the reflected signal strength. It is independent of frequency, polarization, or angle of incidence. - The underlying geometric reflection logic implemented in
MultipathSurface::reflectPointcorrectly calculates the reflection of a 3D point or vector across the defined plane according to standard geometric principles.
- Single Surface Only: The simulation architecture currently supports only one multipath surface definition per run. Multiple distinct reflective surfaces or multi-bounce scenarios (beyond the single bounce modeled via the image method) cannot be handled.
- Idealized Geometry: The model cannot represent more complex or realistic surface geometries, such as curved surfaces (e.g., accounting for Earth's curvature), surfaces of finite size, or surface roughness effects which would introduce diffuse scattering.
-
Simplistic Reflection Factor: The reflection
factoris a basic scalar value. It does not model potentially complex physical effects like frequency-dependent reflectivity, polarization changes upon reflection, or variations based on the angle of incidence. - No Phase Shift on Reflection: The model does not introduce any phase shift upon the act of reflection itself. Any phase difference between the direct and multipath signal arises solely from the difference in their respective path lengths, consistent with basic wave propagation principles.
-
XML Parsing:
xml_parser.cpp(specifically theparseMultipathSurfacefunction) -
Core Logic & Storage:
multipath_surface.h,multipath_surface.cpp(implementation of theMultipathSurfaceclass and itsreflectPointmethod) -
Simulation Setup:
World::addMultipathSurfacemethod (integrates the defined surface into the simulation environment) - Conceptual Links: Multipath Image Object Generation, Reflection Factor Application
- Needs Verification: The basic implementation exists, but its correctness under various geometric configurations and the impact of its significant simplifications require verification.
-
Key Areas for Validation:
- Verify the geometric accuracy of the reflection calculation (
MultipathSurface::reflectPoint) for various plane orientations (e.g., axis-aligned, angled) and object positions (e.g., near, far, crossing the plane). - Confirm through simulation output analysis that the reflection
factoris correctly applied to the power or amplitude of the reflected signal path within the core simulation logic (likelysolveRe), and crucially, that it is applied only once for a single-bounce path involving dual objects. - Test edge cases, such as simulation objects located exactly on the reflection plane.
- Confirm that the system correctly handles (e.g., throws an error) attempts to define more than one multipath surface in the XML configuration.
- Verify the geometric accuracy of the reflection calculation (
- Priority: Medium (This is a fundamental component for any multipath simulation within FERS. Ensuring the simple model works as intended is important before relying on it or considering extensions.)