Add detail of radar equation for marine a scope
This commit is contained in:
45
CLAUDE.md
45
CLAUDE.md
@@ -65,6 +65,8 @@ is compiled, which in this case would be the build subdirectory of the project
|
|||||||
directory, you would type ./radar_simulator, or use a full path name
|
directory, you would type ./radar_simulator, or use a full path name
|
||||||
of {PROJECT_DIR}/build/radar_simulator.
|
of {PROJECT_DIR}/build/radar_simulator.
|
||||||
|
|
||||||
|
In the CMakeLists.txt, plese use the name radar_simulator for the add_executable call.
|
||||||
|
|
||||||
There will be three main areas of the screen. On the right hand side will be the radar
|
There will be three main areas of the screen. On the right hand side will be the radar
|
||||||
scope.
|
scope.
|
||||||
|
|
||||||
@@ -259,6 +261,7 @@ Individual scope informations
|
|||||||
2-1 Chain Home A Scope
|
2-1 Chain Home A Scope
|
||||||
|
|
||||||
==========================================================
|
==========================================================
|
||||||
|
|
||||||
Downward PIP and mixing calibration pips with target pips and noise grass
|
Downward PIP and mixing calibration pips with target pips and noise grass
|
||||||
|
|
||||||
Very important. The Chain Home A Scope is upside down. That is, the baseline
|
Very important. The Chain Home A Scope is upside down. That is, the baseline
|
||||||
@@ -390,7 +393,8 @@ Individual scope informations
|
|||||||
creates a curved waveform; not just a line.
|
creates a curved waveform; not just a line.
|
||||||
|
|
||||||
A photograph for this display show no graticule at all. Only range pips formed by an oscillator.
|
A photograph for this display show no graticule at all. Only range pips formed by an oscillator.
|
||||||
Those oscillator pips are fixed. Range settings do not affect them.
|
Those oscillator pips are fixed. Range settings do not affect them. There is a baseline at the
|
||||||
|
bottom, etched in glass, that is side illuminated by incandescent lamps.
|
||||||
|
|
||||||
Like Chain Home, the Marine A-scope sums noise, calibration pips, and target echoes into a
|
Like Chain Home, the Marine A-scope sums noise, calibration pips, and target echoes into a
|
||||||
single signal before the deflection plates — this is a hardware reality of any CRT A-scope.
|
single signal before the deflection plates — this is a hardware reality of any CRT A-scope.
|
||||||
@@ -411,6 +415,45 @@ Individual scope informations
|
|||||||
3. 6.0 miles; marker pips every 1.0 miles
|
3. 6.0 miles; marker pips every 1.0 miles
|
||||||
4. 12.0 miles; marker pips every 2.0 miles
|
4. 12.0 miles; marker pips every 2.0 miles
|
||||||
|
|
||||||
|
RADAR EQUATION FOR MARINE A SCOPE
|
||||||
|
|
||||||
|
Here are the fixed values (those values that can be declared as
|
||||||
|
uniforms) for the marine a scope radar. I suggest these for the uniform names
|
||||||
|
|
||||||
|
peak_power = 500 KW
|
||||||
|
wavelength = 10 centimeters
|
||||||
|
antenna_gain = 30 db
|
||||||
|
pulse_rep_frequency = 500 hz
|
||||||
|
horizontal_beamwidth = 2.5 degrees
|
||||||
|
|
||||||
|
Now we have some stuff for the settings file:
|
||||||
|
|
||||||
|
SYSTEM_TEMPERATURE ($T_s$): Usually 290K; used to calculate the noise floor
|
||||||
|
NOISE_FIGURE ($F$): A value in dB that determines how much "grass" your
|
||||||
|
specific receiver adds to the signal.
|
||||||
|
BOLTZMANN_CONSTANT ($k$): $1.38 \times 10^{-23}$, essential for the thermal
|
||||||
|
noise part of your simulation.
|
||||||
|
|
||||||
|
Now, here is a snippet of pseudo code:
|
||||||
|
|
||||||
|
/* Uniform Variables provided by CPU */
|
||||||
|
uniform float u_AntennaBearing; // Current rotation of knob/motor
|
||||||
|
uniform float horizontal_beamwidth; // Fixed for the scope (e.g., 2.5 degrees)
|
||||||
|
|
||||||
|
/* Logic for each Target (calculated on CPU or in Geometry Shader) */
|
||||||
|
float angle_diff = abs(target.bearing - u_AntennaBearing);
|
||||||
|
|
||||||
|
// Handle the 359 to 0 degree wrap-around
|
||||||
|
if (angle_diff > 180.0) angle_diff = 360.0 - angle_diff;
|
||||||
|
|
||||||
|
// BeamFactor: 1.0 at center, drops to 0.5 at horizontal_beamwidth/2
|
||||||
|
// This creates the "fade in / fade out" effect as you turn the knob
|
||||||
|
float beam_factor = exp(-2.77 * pow(angle_diff / horizontal_beamwidth, 2.0));
|
||||||
|
|
||||||
|
// Final received power Pr
|
||||||
|
float Pr = (peak_power * pow(antenna_gain, 2) * pow(wavelength, 2) * target.rcs * beam_factor) /
|
||||||
|
(pow(4.0 * PI, 3.0) * pow(target.range, 4.0));
|
||||||
|
|
||||||
2. PPI Scope
|
2. PPI Scope
|
||||||
|
|
||||||
PPI stands for Plan Position Indicator
|
PPI stands for Plan Position Indicator
|
||||||
|
|||||||
Reference in New Issue
Block a user