adding upside down scope stuff
This commit is contained in:
175
CLAUDE.md
175
CLAUDE.md
@@ -46,6 +46,13 @@ Use // for single line comments
|
||||
use /* */ for multiple block comments spanning multiple lines
|
||||
avoid using auto
|
||||
|
||||
Please use a settings.h file for defines and variables that I can
|
||||
change and do a simple re-compile instead of having the ai re write the
|
||||
code. This is for debugging. For example, I may want to disable the p7 persistance
|
||||
to troubleshoot the actual target processnig before it goes to persistance,
|
||||
disable the land and terrain so that I can see the targets alone. Things like
|
||||
that.
|
||||
|
||||
Summary of project:
|
||||
|
||||
This is a museum exhibit displaying and providing some interaction
|
||||
@@ -127,7 +134,40 @@ hardware; the same physical control can be used for multiple scopes.
|
||||
|
||||
Note that the range cursor is different from the maximum range. Maximum range is the maximum
|
||||
radar range setting and range cursor is the range portion of the ppi cursor.
|
||||
|
||||
=========================================================================
|
||||
RADAR EQUATION (for all radars; note that is different for chain home)
|
||||
|
||||
Lets start here by mentioning the radar equation that sets the perceived strength of any
|
||||
radar echoes, no matter what kind of radar (a scope and ppi scopes)
|
||||
|
||||
Summary of radar equation:
|
||||
|
||||
The fundamental radar equation describes how much power returns to a radar system
|
||||
after bouncing off a distant target.
|
||||
|
||||
Physically, it follows a "round-trip" journey
|
||||
of energy: the radar transmits a signal that spreads out as a sphere (losing strength
|
||||
by the square of the distance, $R^2$), hits a target that reflects a portion of that
|
||||
energy (the Radar Cross Section, $\sigma$), and that reflection then spreads out
|
||||
again as a second sphere on its way back (losing another factor of $R^2$).
|
||||
|
||||
Mathematically, this results in the received power being inversely proportional to the fourth
|
||||
power of the distance ($1/R^4$), meaning that if a target moves twice as far away,
|
||||
the returning signal becomes 16 times weaker. To calculate the final received power
|
||||
($P_r$), you multiply the transmitted power ($P_t$) by the antenna's ability to
|
||||
focus that energy (Gain, $G$) and its physical size (Aperture, $A$), then factor
|
||||
in the target's reflectivity ($\sigma$) and the wavelength of the signal ($\lambda$),
|
||||
all while dividing by the spreading losses $(4\pi)^3 R^4$.
|
||||
$$P_r = \frac{P_t G^2 \lambda^2 \sigma}{(4\pi)^3 R^4}$$
|
||||
|
||||
|
||||
Since we had four distinct radar types, and each one has it's own hardware loop gain
|
||||
that does not change, we can set that as a constant in each radar's target handling shader set.
|
||||
|
||||
========================================================
|
||||
|
||||
|
||||
Individual scope informations
|
||||
|
||||
1. Introduction to project. Just text. No scopes. Only one control for entering
|
||||
@@ -158,10 +198,57 @@ Individual scope informations
|
||||
is darker green at aboutu Hex #004400
|
||||
|
||||
PLease also note that there are no graticules on either the Chain Home a scope nor
|
||||
the marine a a scope.
|
||||
the marine a a scope. The only thing on the external plate is the base line (zero signal
|
||||
which the operator can refer to that is going on (grass, calibration, and signals). It
|
||||
is an important point of reference. That base line is illuminated on the sides with small
|
||||
incandescent lamps. It is a different color than the display itself. The incandescent
|
||||
color is that of the #47 pilot lamp hex #FFB347.
|
||||
|
||||
2-1 Chain Home A Scope
|
||||
|
||||
==========================================================
|
||||
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
|
||||
is at the top of the display and noise and distance pips and target blips will
|
||||
go down.
|
||||
|
||||
This is done so that the operator can look at the top of the scope for the
|
||||
base reference. The cone apearance of a target blip (ristime of a signal due
|
||||
due to non perfect bursts of radio frequency pulses from the transmitters)
|
||||
can be measured against the calibration pips.
|
||||
|
||||
Also note that the calibration pips, the noise floor, and the target pips
|
||||
are mixed together before being sent to the deflection plates of the tube.
|
||||
This is a hardware reality of any CRT A-scope: the deflection plates receive
|
||||
a single voltage, so all sources must be combined into that one signal.
|
||||
|
||||
That means that the three sources are summed together before you see them
|
||||
on the scope. Remember that zero signal is the reference line at the top.
|
||||
|
||||
Importantly, the calibration pips are generated by a crystal oscillator and
|
||||
injected into the video chain AFTER the receiver gain stage. This means
|
||||
turning the Sensitivity control up or down does NOT change the height of the
|
||||
calibration pips — only the noise floor and target echoes are scaled by the
|
||||
receiver gain. This is true for both Chain Home and the Marine A-scope.
|
||||
|
||||
For example, if one of the calibration pips is exactly the same distance as
|
||||
a target blip, that would look like it is extending the target blip. This was
|
||||
a known operational hazard; operators were trained to account for it.
|
||||
|
||||
For your reference, the work inside the shader may be something like:
|
||||
|
||||
/* Simulated Summing Amplifier Logic.
|
||||
Cal pips are outside the sensitivity multiply because they are injected
|
||||
after the receiver gain stage in the real hardware. */
|
||||
float receiver_signal = (noise_floor + target_echoes) * sensitivity;
|
||||
float total_deflection = receiver_signal + calibration_pips;
|
||||
|
||||
// Apply to your downward-hanging baseline
|
||||
float final_y = baseline_y - total_deflection;
|
||||
|
||||
==========================================================================
|
||||
|
||||
Because the receiving antennas are very large (about 100 feet), the
|
||||
operator cannot physically move them.
|
||||
|
||||
@@ -193,12 +280,36 @@ Individual scope informations
|
||||
|
||||
The range is 200 miles. That is the only range option for this scope.
|
||||
|
||||
There is no graticule. Photos only show crystal oscillator generated 'pips' for
|
||||
every 20 miles.
|
||||
|
||||
We do need to have those small pips every 20 miles.
|
||||
Note that the operator cannot change this. This is due to the limitations of
|
||||
the technology for that era.
|
||||
RADAR EQUATION STUFF FOR CHAIN HOME
|
||||
|
||||
For Chain Home:
|
||||
Transmitter Power : 500 KW
|
||||
Wavelength 12 Meters
|
||||
Antenna Gain 5 dB
|
||||
Pulse Width 20 microseconds
|
||||
Beam Width 150 degrees (floodlight
|
||||
PRF 25 HZ
|
||||
|
||||
Airplane acts as a half wave dipole
|
||||
|
||||
Sine based resonance Multiplier in target handling
|
||||
|
||||
// Pseudocode for Shader/Logic
|
||||
float resonance = (targetLength >= wavelength * 0.4 && targetLength <= wavelength * 0.6) ? 1.5 : 1.0;
|
||||
float final_sigma = base_sigma * resonance;
|
||||
|
||||
The 20-Mile Markers: Chain Home used crystal-controlled oscillators to create
|
||||
fixed reference "pips" every 20 miles. These should be rendered as thin,
|
||||
vertical spikes that never move, regardless of target sensitivity.
|
||||
|
||||
The "Floodlight" Effect: Because the beam is 150° wide, the A-Scope will
|
||||
show every aircraft in that massive sector simultaneously. The only way to
|
||||
tell them apart was the range (distance from left) and the Radiogoniometer nulling.
|
||||
|
||||
The Waveform Shape: For CH, the pips should be slightly "noisier" than
|
||||
marine radar. Use a random jitter function in your vertex shader to
|
||||
simulate the atmospheric noise floor common at 25 MHz.
|
||||
|
||||
2-2 Marine A Scope
|
||||
|
||||
@@ -229,6 +340,19 @@ Individual scope informations
|
||||
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.
|
||||
|
||||
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.
|
||||
The calibration pips are injected after the receiver gain stage, so they remain at constant
|
||||
height regardless of the Sensitivity control. The shader summing follows the same structure:
|
||||
|
||||
/* Simulated Summing Amplifier Logic — same pattern as Chain Home.
|
||||
Cal pips outside sensitivity multiply because they bypass the receiver gain stage. */
|
||||
float receiver_signal = (noise_floor + target_echoes) * sensitivity;
|
||||
float total_deflection = receiver_signal + calibration_pips;
|
||||
|
||||
// Apply to upward-deflecting baseline (Marine scope is right-side up)
|
||||
float final_y = baseline_y + total_deflection;
|
||||
|
||||
The maximum ranges for this scope are:
|
||||
1. 1.5 miles; marker pips every 0.25 miles
|
||||
2. 3.0 miles; marker pips every 0.5 miles
|
||||
@@ -307,12 +431,15 @@ radar echoes, no matter what kind of radar (a scope and ppi scopes)
|
||||
Summary of radar equation:
|
||||
|
||||
The fundamental radar equation describes how much power returns to a radar system
|
||||
after bouncing off a distant target. Physically, it follows a "round-trip" journey
|
||||
after bouncing off a distant target.
|
||||
|
||||
Physically, it follows a "round-trip" journey
|
||||
of energy: the radar transmits a signal that spreads out as a sphere (losing strength
|
||||
by the square of the distance, $R^2$), hits a target that reflects a portion of that
|
||||
energy (the Radar Cross Section, $\sigma$), and that reflection then spreads out
|
||||
again as a second sphere on its way back (losing another factor of $R^2$). Mathematically,
|
||||
this results in the received power being inversely proportional to the fourth
|
||||
again as a second sphere on its way back (losing another factor of $R^2$).
|
||||
|
||||
Mathematically, this results in the received power being inversely proportional to the fourth
|
||||
power of the distance ($1/R^4$), meaning that if a target moves twice as far away,
|
||||
the returning signal becomes 16 times weaker. To calculate the final received power
|
||||
($P_r$), you multiply the transmitted power ($P_t$) by the antenna's ability to
|
||||
@@ -325,5 +452,33 @@ $$P_r = \frac{P_t G^2 \lambda^2 \sigma}{(4\pi)^3 R^4}$$
|
||||
Since we had four distinct radar types, and each one has it's own hardware loop gain
|
||||
that does not change, we can set that as a constant in each radar's target handling shader set.
|
||||
|
||||
RADAR EQUATION STUFF FOR CHAIN HOME
|
||||
|
||||
For Chain Home:
|
||||
Transmitter Power : 500 KW
|
||||
Wavelength 12 Meters
|
||||
Antenna Gain 5 dB
|
||||
Pulse Width 20 microseconds
|
||||
Beam Width 150 degrees (floodlight
|
||||
PRF 25 HZ
|
||||
|
||||
Airplane acts as a half wave dipole
|
||||
|
||||
Sine based resonance Multiplier in target handling
|
||||
|
||||
// Pseudocode for Shader/Logic
|
||||
float resonance = (targetLength >= wavelength * 0.4 && targetLength <= wavelength * 0.6) ? 1.5 : 1.0;
|
||||
float final_sigma = base_sigma * resonance;
|
||||
|
||||
The 20-Mile Markers: Chain Home used crystal-controlled oscillators to create
|
||||
fixed reference "pips" every 20 miles. These should be rendered as thin,
|
||||
vertical spikes that never move, regardless of target sensitivity.
|
||||
|
||||
The "Floodlight" Effect: Because the beam is 150° wide, the A-Scope will
|
||||
show every aircraft in that massive sector simultaneously. The only way to
|
||||
tell them apart was the range (distance from left) and the Radiogoniometer nulling.
|
||||
|
||||
The Waveform Shape: For CH, the pips should be slightly "noisier" than
|
||||
marine radar. Use a random jitter function in your vertex shader to
|
||||
simulate the atmospheric noise floor common at 25 MHz.
|
||||
|
||||
======================================
|
||||
|
||||
Reference in New Issue
Block a user