From 547de7cd62df656dd968026daa1d4f62bfd0f553 Mon Sep 17 00:00:00 2001 From: Mark Allyn Date: Thu, 14 May 2026 07:49:10 -0700 Subject: [PATCH] adding upside down scope stuff --- CLAUDE.md | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 165 insertions(+), 10 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 1d332cb..7cd006b 100644 --- a/CLAUDE.md +++ b/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. -======================================