Monday, September 23, 2024

Gamma Dog - Rate-to-Tone conversion and Audio Frequency Modifier

One of Gamma Dog's unique features is the continuously variable tone representing the detected count rate by changing its frequency.

The approach is fairly straight forward - the detected count rate in CPS (Counts-per-second) coming out of the detector and into the MCU is converted into an audio tone with the same frequency - i.e. 200 CPS will produce 200Hz tone and 1000 CPS will produce 1 kHz tone. 

Due to a lucky coincidence, the detectors we use, especially the 63mm NaI(Tl) crystals produce around 180 - 230 CPS as a background level which is a really good starting point and the  overall detector sensitivity and rate response work pretty well with such direct conversion.

As the count rate increases though, the tone frequency will increase (as expected) and this could become a problem at some point when the count rate gets really high (above 7000 - 8000 CPS) - nobody likes these very high pitch audio frequencies (certainly not the dogs and the mine bats :-) - such high pitch is not the most pleasant thing to listen to. Not to mention it becomes quite difficult to hear small variations in the frequency within this high frequency range.

To combat this problem, the "classic" version of the Gamma Dog always starts the frequency generation at the set squelch level - this way if Squelch is set to 7000 CPS, and detected rate is around 7000 CPS the tone frequency will be low - less than a hundred Hertz (whatever difference is needed to break through the Squelch Threshold) , opposed to a 7 kHz tone.

In my Gamma Dog+, the system for rate-to-tone conversion is further improved and offers the user a toolset of numerous conversion options. These options afford greater control over how the Frequency Audio Response to the Count Rate conversion is taking place, customizing it for different applications and listening preferences. 

The "xL" indicates Logarithmic Scale conversion (selectable when in Continuously Open Squelch Mode / "#" by using the Soft Key) 

Changes in the conversion model are done via a user-selectable option that can be assigned to the Soft-Key button. It is called Audio Frequency Modifier or AFM for short. 

In a nutshell, AFM (in some of the options) is a Multiplication Factor that is applied to the count rate while converted to tone:

There is a total of 8 options: x0.5, x1 (default), x1.25, x1.5, x2, Auto, Exp and Log

The first few options are self-explanatory - if x0.5 is selected, the rate is divided by 2 before it determines the frequency of the tone - i.e. 200 CPS rate will produce 100Hz tone, 210 CPS will produce 105 Hz and so forth. It halves the base frequency but also the steps between changes. On the other end, with x2 selected, 200 CPS will produce a 400 Hz tone and 210 CPS will produce a 420 Hz tone. The default value of x1 is the direct 1:1 conversion.

The x0.5 option for example, is useful with very large detectors to keep the audio frequency output low against the natural high-count rate of the detector, while x2 is useful with smaller detectors which natively produce fewer counts, and the option allows to keep the tone frequency higher than a direct 1:1 conversion in this case.

In Auto mode the multiplication factor is based on the Detected Rate increase over the Squelch Threshold Level. The audio frequency modifier is dynamically adjusted in 4 steps based on the delta between the two rates.

If Current Rate exceeds Squelch Rate by more than 175% - Frequency Multiplier x2.5 is used.

If Current Rate exceeds Squelch Rate by more than 150% - Frequency Multiplier x2 is used.

If Current Rate exceeds Squelch Rate by more than 125% - Frequency Multiplier x1.5 is used.

If Current Rate exceeds Squelch Rate by less than 125% - Frequency Multiplier x1 .25 is used.

This feature will change automatically through different multiplier levels while using the squelch level as control of where the "step-ups" should take place.

This graph plots how the frequency conversion steps through the multiplication range using the difference between detected rate and the set squelch rate. As the squelch opens and the rate continues to climb, the multiplier will start stepping up, increasing the audio frequency.

There are also two non-linear conversion modes available - Exponential and Logarithmic.

Exponential Mode – The audio tone frequency will increase in an exponential manner, with a scale factor of 0.0033 and base frequency of 100Hz using (e) Euler's Number.

This feature is independent of the Squelch Level - the squelch just needs to open but otherwise has no effect on the conversion. 

It is usable with absolute rates up to 1400 CPS.  Beyond 1400 CPS the audio frequency will exceed 10kHz!

Exponential mode is useful to detect very small increases in the count rate when the absolute rate is also very low. For example, in very low activity areas where small rate changes need to be detected - the audio tone frequency is exponentially increased, exaggerating the tiny rate variations by using higher pitch tones.

Logarithmic Mode – The audio tone frequency will change on a Logarithmic scale – the range of 40 CPS to 10K CPS will be "compressed" and mapped by using a logarithmic curve to 40Hz – 3kHz audio range.

This feature, just like Exp Mode is independent of the Squelch Level from Rate-To-Frequency standpoint, and it provides very good audio resolution for lower count rates (<2000 CPS), while still capable of handling very high count-rates (2K to10K+ CPS) - all within a manageable 3kHz audio range.

 

The range between 2000 CPS and 10000 CPS is allocated within less than 1kHz audio frequency response (from ~2200 kHz to 3000 kHz) which is useful when the instrument is used with both, very low and very high-count rates. This comes at the expense of audio resolution in the high-count region of the curve and overall higher frequency tone at the mid-low count range.

In the Gamma Dog's menu system, there is a config item (#10) which allows the user to select a startup mode for the Audio Frequency Modifier, but the mode can always be changed later, during operation, if "Multiplier" is assigned to the Soft Key button in Menu Item #8.
(The other assignable function to the Soft Key button is control for the Audio Conversion Hysteresis Level responsible for how closely variations of the rate are followed before converted to audio tone)  

Wednesday, September 4, 2024

Efficient Common-Mode Current Choke for EFRW and other portable antennas (1:1 Guanella)

I was putting together SOTA/POTA portable antenna kit for my son, utilizing EFHW and EFRW antennas and I needed a Common-Mode Current Choke - something not very large and efficient that he can eventually use from QRP to 100W on 40m to 6m.

This is just a quick, easy, 15 min. build, and the result is an excellent and pretty efficient CMC Choke (see the measurements below) for only $25, that one can place in-line with the antenna feedline at the transceiver, at the antenna feed-point or both.
There is nothing new here - this is "Classic" 1:1 Guanella choke build, but I did some measurements to put things in perspective and show what is to be expected from such choke.

Note regarding using a CMC choke with portable wire antennas - if used with End-Fed Random Wire (EFRW) the choke can be placed at the antenna feed point (the 9:1 UnUn transformer) or at the radio. When used with End-Fed Half-Wave (EFHW) the choke should be placed at the radio only as the coax is part of the antenna system.

The bill of materials includes FT-240-43 toroid core (source: Amazon, $12) and 5 feet of RG-316 coaxial cable with pre-installed Male and Female BNC connectors (source: eBay, $13). Other materials - 6 small zip-ties and a piece of wide heat-shrink tubing which I had laying around.

The coax is winded on the core in 2x 11 turns with a crossover turn as shown. The total is 23 turns through the core.
 First, I secured one end of the coax with 2 crossed zip-ties, wound the first 11 turns, added zip-ties for the cross-over turn to fix each side of the windings and finished it with another 11 turns and 2 crossed zip-ties.
The core of this size can easily take more turns - around 14 on each side (for total of 29) but there is a performance trade-off - more turns improve low frequency attenuation but due to capacitive coupling between the tightly spaced turns, this will decrease the attenuation factor for higher frequencies. 
It seems that for FT-240 core and RG-316 the "sweet spot" is around 11-12 turns on each side. If 12 turns are to be used, one needs 6 feet piece of coax. 
The turns must be fairly tight around the core itself, so they don't slide around (PTE-insulated coax is very slippery!) but not too tight to cause coax damage. Turns should be separated from each-other as much as possible.
The direction of the windings doesn't matter. The purpose of the Reisert Crossover turn is to allow the coax to leave the core from opposing sides so there is no coupling between input and output and makes it mechanically better for in-line placement but electrically both sides are the same as one continuous winding.
The cores I got from Amazon had rounded edges so there was no need to wrap the cores with tape but should the core has sharp edges, fiberglass tape must be used before winding.

The complete CMC Choke.  With 5 feet of coax there are approximately 4" left as pigtails on each side.

Measurements

I built the CMC Choke Test fixture on a piece of FR4 material. Two SMA connectors are soldered on each side of a ground plane and a short Teflon-insulated wire with alligator-clips is soldered to the center conductor of each connector.
A piece of high-density foam glued at the front edge of the board prevents the wires from getting too close to the ground plane during calibration and measurements.

I added a 50 Ohm LOAD (2x 100Ohm 1206 SMD resistors in parallel) to be used at part of the VNA's OSLT calibration procedure.

OPEN calibration is done with the clips just laying far apart from each other. SHORT is done by clipping the S11 (Ch. 0) of the nanoVNA to the ground plane.

LOAD calibration on S11 is using the built-in LOAD standard.

For the THRU calibration, used for the S21 measurements both clips are attached together.

To measure the attenuation provided by the CMC Choke, the alligator clips are attached only to the outer shielding of the coax.

The CMC choke's performance is excellent for the entire intended range - 160m to 6m!
For reference - anything below -20dB is very good and below -30db is considered excellent!

Marker 1 (80m band @3.5 MHz) -44.7dB.
Marker 2 (20m band @14.2MHz) -38.9dB
Marker 3 (10m band @28.5MHz) -30.8dB
Marker 4 (6m band @54.1 MHz) -19.5dB
Performance on the 6m band while still very good is a bit lower than the lower HF range due to the coupling between multiple turns. As I mentioned, this an expected trade-off with the lower bands.

As the VNA shows, on 20m the impedance (|Z|) is over 8KOhms and even higher on lower frequencies. Not too shabby!

In an attempt to test and improve further the performance on 6m, I added a split-core mix 31 bead with 3 turns to one of the pigtails.

The 3-turn split-core bead definitely improved the 6m band attenuation by -7dB, down to -26.5dB.
This is a "good-to-know option" - I probably will keep the bead in my kit as an "add-on" for 6m. The improvement from this additional core on the lower frequencies is just a few dB over an already excellent performance so there is no need to be a permanent addition.

S21 measurement for insertion loss. Since the two SMA-to-BNC adapters are M and F on the BNC side, just coupling them together for the THRU S21 calibration then yields a pretty accurate measurement.

The insertion loss is mainly due to the 5 ft. of small diameter coax (RG-316) and it is absolutely acceptable with less than -0.2dB on 20m and -0.3dB on 6m.


The finished chokes looking like hockey pucks.
A piece of heatshrink tubing fixes the coax turns in place and adds a layer of protection.

Sunday, July 7, 2024

Moxtek X-Ray Tube Controller - Part 3 - Enclosure

Finally, I got around to make an enclosure for the Moxtek X-Ray Tube Controller with a proper control panel.

The complete "X-Ray Tube Commander 2000" Controller in all of its glory.
 This enclosure might be further improved with an angled front panel at some point if I get too bored but for now it serves the purpose.
The faceplate text is currently done "quick-n-dirty" style with a Label Maker but I'll print a nice colored laminated front decal for it to get the more refined "lab equipment" look, just the way I did with my N2PK VNA.

The front panel component mounts include large LCD display, 2 backlit control buttons, a rotary encoder /w button, a keylock and a small speaker grill.

I designed the enclosure with TinkerCAD - this application is excellent for simple projects such as this one, and it is very fast to work with.
Once the measurements are taken, it literally takes minutes to create the design and output the STL file for printing.

I made the bottom part of the enclosure a bit taller than necessary, just to have some spare room if I decide to change things around or add more connectors on the sides. Since it is a just a piece of benchtop equipment, the size is not critical.
 If I ever do another print of this, I will definitely make the box slimmer, round the corners and angle the front panel. 

The X-Ray Tube Controller PCB and components, installed in the enclosure. 


A "Window" on the side exposes the edge of the PCB where all tube interface connectors are located - a DB-9 for connecting to the tube's HV module, supplemental power connector for tubes working at higher power levels (>4W), terminal strip with all interface signals to external devices (test enclosure interlock switch, illuminated warning sign, etc.)
I used this window to feed thru temperature sensor cable, but I will drill and mount a proper 4-pin connector at some point.

The keylock is part of the X-Ray safety protocol and prevents from engaging the beam without a key. These types of X-Ray tubes create an incredibly high flux right at the aperture and when setting up a sample for XRF the user should turn and remove the key to prevent any accidents.
 In addition, the XRF enclosure door interlock switch is in-series with the keylock so the control key must be turned to "ON" AND enclosure door closed for the beam to engage. A very serious X-Ray hazard is not only the direct exposure to the beam but also from scattering. Even air scatters and reflects X-Rays so no tube operation should be done without proper shielding. 

The yellow MODE Button serves multiple functions depending on the context.
Single-press is RESET (for Timers, errors, time logging and also acts as an "Emergency Stop" while the X-Ray beam is ON).
 Long-press changes beam operating modes and a double-click switches between the 2 memory presets. 
This button also acts as a "SHIFT" while tube operating parameters are dialed in with the rotary encoder (for Timer and Min High Voltage). Holding the MODE button down while pressing the Encoder button will toggle ON/OFF the Tube Error Check feature.
The yellow LED in the MODE button is a "READY" indicator showing that the x-ray beam can be engaged - it turns off if the current conditions disable the x-ray tube - during parameter entry, filament cooling stage or errors for example.

The push-button on the Rotary encoder is used to enter Parameter Setup mode and scroll thru the different digit positions while entering the value. 
Tube and Controller Parameters are then dialed in with the rotary encoder at the position of a blinking cursor. 
This button also serves as an "Emergency STOP" button in Timer or Toggle modes, instantly and unconditionally terminating the X-Ray beam.
When the beam is ON and operating in Timer mode, the rotary encoder can be used to add or remove time from the currently running timer by simply spinning the knob.
The BLUE button is exclusively used to operate the X-Ray beam (according to the selected mode).
The blue LED in this button indicates if the beam is ON and it also flashes with 1 Hz period while the Timer is running.
The status line on the display will show the status of the "Filament heated" signal returned by the tube with a message "X-RAY ON!"

On this picture, the status line displays "Tube ERR!" with Error Code E-111 due to operation with disconnected X-Ray tube.
I also added an option to temporary disable the Tube Error Check.

The 3-digit error code is very easy to read:

First digit on the left shows the state of the "Filament Ready" signal, returned by the tube when the tube is turned ON: 0 - signal present, 1 - signal is missing. 

Second digit shows the state of the High Voltage return: 0 means that the tube returns the same voltage as the one requested (Set) by the controller, 1 - returned voltage is lower than requested, 2 - return voltage is higher than requested. 

The third (right) digit has the same functionality as the second digit but reflects the return of the Emission Current.

Tube Return voltages are monitored within a specific preset tolerance. Emission current is only checked for Set current >5uA - at very low currents, below 5uA the tube return for Emission Current might fluctuate more than the established tolerance and could generate an error otherwise.

Sunday, February 18, 2024

Lightwave portable magnetic stand for Elecraft KX3 and PX3

Elecraft KX3 is a fantastic portable transceiver but one thing I thought could be improved on is the front panel presentation by using a better stand to the stock, foldable legs. 
The built-in foldable legs of the radio are a bit annoying to deal with as they require the user to manipulate the thumbscrews used also for holding the radio together. Because the thumb screws are opposing, this needs to be done in different directions when standing in front of the radio, not to mention that the front panel sits at too low of an angle for my taste.
I decided to design a lightweight stand that has small footprint, easily carried in the field and it can be assembled or taken apart in seconds. The goal is to give a good support for the radio without the need to completely unfold the stock legs.

The stand turned out to be a quick and fun half-day project.
Anyone who wants to play with this project can get it from TinkerCard


The two legs of the stand were designed with TinkerCad and then 3D printed.

All of the components for the stand - the 3 spacer rods (made from carbon-fiber arrow shafts) and the 2 3D-prineted legs. 
The weight is exactly 2oz. but there is a room to shave off some of the weight (in the next version).

Inside the blind holes of the legs used for the carbon-fiber spacer rods, I glued small neodymium magnets (source eBay - 1/4" x 1/8" N42 type). I made a "bed" for friction-fit of each magnet which has a slightly smaller diameter than the main hole, matching the inside diameter of the rod. All magnets are pressed into the "bed", glued in the same orientation (polarity) by adding a drop of Super Glue before pressing the magnet in place.
The tricky part is to get right the size of the main opening of the arrow-shaft receptacle. Arrow shafts come in different "spine" level (amount of flexing). This is controlled by the manufacturer with the thickness of the arrow-shaft wall or more specifically, the outside diameter - stiffer shaft (lower spine number like 350) will have a larger outside diameter than a 600 spine. Furthermore, when 3D printing, the plastic also shrinks as it cools so it takes some experimentation to get the size just right for a snug fit that will also afford smooth and effortless assembly / disassembly.  

For the spacer rods I used scrap cut-offs from carbon fiber arrow shafts. These are very strong and lightweight tubes and as bonus they have quite nice smooth finish. 
I have a whole bunch of these pieces in varying lengths leftover from sizing my kid's archery arrows.
 Inside each of the arrow shafts I glued the same size neodymium magnets, making sure that the polarity is the opposite of the ones in the legs. The glue was applied on the perimeter of the magnet and then inserted into the arrow shaft, on a flat surface, making sure it is perfectly flush with the end of the tube.


The stand can be assembled together literally in seconds. The spacer rods just snap firmly in place and hold the entire stand together. Disassembling is just as easy by pulling everything apart. 
The magnet-to-magnet attraction provides just the right amount of holding force without making it difficult to pull apart. 


The original foldable legs of the KX3 can be unfolded ever so-slightly to lock the stand in place so the radio cannot move sideways. This is not really necessary as the stand's legs fit between the stock legs rubber booths, but it can provide additional support if needed.


The angle of the front panel with the radio on the stand is not as low as with the original foldable KX3 legs.
The radio sits angled at exactly 45 degrees which I find to be more ergonomic - both, for viewing the display and operating the controls.


Short video of one-handed assembly of my KX3 stand.
 A set of shorter rods can turn this stand into a PX3 stand (the KX3's Panadapter). This stand also works great as a portable cell phone stand, and I'll be making another one for use during my air travels or when using the cell phone for logging in the field.

Wednesday, December 6, 2023

13 Years later ...

 Today, 13 years after this post, FCC issued my son's first callsign - KC1TVB. Congratulations to Vichren for passing the exam and joining the lines of the Amateur Radio Operators!

Update: Vichren applied for and got a vanity callsign - N1VAS. His very first DX on HF was a KH6 station in Hawaii on 10 meters using only 10W from an Elecraft KX3 into a portable Buddipole dipole, slicing thru a pileup with a 5/9 on his first call!



Inside the W1VCM Club Station at the Vintage Radio and Communications Museum, Windsor, Connecticut.

Vichren, N1VAS discussing radios and repeater operations with Bob Allison, WB1GCM who was the Chief ARRL Test Engineer. 

Friday, November 3, 2023

Gamma Dog - Assisted Squelch Auto-Set (ASAS) / "Smart Squelch" System

One of the main features of the Gamma Dog project is the unique Squelch System controlling the audio output.
Anyone familiar with two-way radios will be familiar with the Squelch System used in FM Hand-Held Transceivers.
In a nutshell, Gamma Dog's Squelch System mutes the audio output of the instrument if the currently detected rate is at or around the natural radiation background level. If the rate goes up, above the background level (in the presence of a radioactive specimen for example), the Squelch System enables the audio output of the instrument and a tone with variable pitch is produced. Once the rate drops back to background level or below, the squelch closes and the audio is again silenced.

This post will delve deeper into the inner workings of the Squelch algorithm and the Assisted Squelch Auto-Set (ASAS) System.

Before we get to the boring plots, here is something more amusing - here is AI's idea of what "Gamma Dog" is.

The Gamma Dog's Squelch System works by detecting a differential between the Natural Radiation Background (NRB) and the current detected rate coming from the scintillating detector. The Squelch System evaluates the Natural Background, mutes the audio and sets a threshold level at almost the same rate as the NRB. When the currently detected rate exceeds this threshold level, the audio output is enabled.

In other words, the current rate is treated as a relative rate to a pre-set reference point (the Squelch Level) and the absolute value is insignificant for the Squelch System.

I am saying "almost the same as the NRB" because establishing the optimal level (rate) for the Squelch system at any given moment is a bit tricky due to the randomness of radioactive decay and the constantly changing conditions during prospecting.

Gamma Dog will sample the NRB rate on startup or any time when the Assisted Squelch System or the user activates an "Auto-Set" action (by pressing and holding the blue Squelch button or using one the Pose-detection triggers).

The term "Auto-Set" comes from the fact that the Squelch Level (rate) is established automatically, based on sampling of the current rate. This is always done on startup, but later a Manual Set can be done by the user, overriding the established level and setting it to a different value.
 
When "Auto-Set" is activated, Gamma Dog will use one of 3 available methods to determine the Squelch Level (the method used is selected by Menu Item #1):

    1. SS (Single Sample) - Squelch Level will be set to the currently detected rate, using a single sample at the moment when Auto-Set action is triggered.

    2. SD5 (default) - The Gamma Dog will average the rate over the last 5 seconds, calculate the Standard Deviation in the rate and then use the upper bound of the 1-sigma threshold to compute and set the Squelch Level.

    3. SD10 - same exact method as SD5 but the rate is evaluated over the last 10 seconds before Standard Deviation is calculated.
 
The 1-Sigma Upper Threshold is calculated simply by summing the mean rate over 5 or 10 seconds and the Standard Deviation of all samples taken in the data set. 

The horizontal purple line is the Squelch Level as result of a Single Sample (S-S Mode).
The orange line shows the actual current rate, and the blue line shows the smoothed rate.
It is obvious that the Squelch level is set too close to the mean rate and the current rate deviates too often above it, opening the Squelch System.
 Another problem that can arise from this method - in some cases (purely random), it can cause the Squelch to be set too low or too high as it relies on a single rate sample in time and if this sample happens to be a random peak in the rate or a deep valley, the squelch level will be off.

In SD5 mode, the Squelch Level is set to the upper bound of 1-Sigma of the Standard Deviation, evaluated for the past 5 seconds (data set includes a history of 5 samples done at 1 sample per second).
 This is the Gamma Dog's default method. It does a much better job at finding the correct Squelch Level while the system responds better to quick rate changes due to the short rate history being evaluated.

The last available option - SD10, is the same as SD5 but the evaluation of the Standard Deviation is done for the count rate over the last 10 seconds. 
It is the most precise way to find the correct Squelch level and results in very minimal number of excursions of the Current Rate above the Squelch Level but due to the longer history of rate samples in the data set, it is less "dynamic."

Note: The plots above were made using the Gamma Dog's Bluetooth functionality - all of the data displayed on these plots was sent in real-time via BT to a companion Android App and plotted there. 
The yellow line at the bottom of each plot shows the current battery capacity in percent.

As discussed above, critical aspect to the operation of the instrument is a properly set Squelch Level - the audio is used to alert the user of an anomaly in the detected rate.  When the level is correctly set, it will make the squelch system responsive to small fluctuations detected just above the background level. The level should exclude or rather - "minimize" the effect of fluctuations of the rate due to the randomness of radioactive decay.

Why I calculate Standard Deviation and not just "pad" the mean rate with a fixed value? 
The answer is simple - "padding" or offsetting the level from the mean rate can cause inaccuracies because the deviation from the mean rate varies with the isotopic content, distribution of radioactive material, detector sensitivity, etc.

For U and Th isotopes with extremely long half-lives as well as other decay-chain products, which makeup good part of the Natural Background, the distribution of decay events over a very short period of time (5-10 sec) can be reasonably approximated by a normal distribution, although the actual distribution is still governed by the exponential decay law.

In my testing, assuming normal distribution of the decay events and using 1-sigma of the Standard deviation works very well for figuring out a good and reliable Squelch Level.

From a practical point, the "sweet spot" of the squelch level is when the current natural background rate (NRB) only occasionally opens up the Squelch System but not too often - up to 3-4 times per minute or less is a good level. 
These Squelch opening events indicate to the user that the level is very close to the optimal one by the occasional breaks in the silence.

The Squelch level can be Auto-Set (by sampling the Natural Radiation Background rate) or adjusted Manually, when the user is modifying the already set level with the GD Squelch Level +/- controls.
In either case, if the Squelch Level is incorrectly set against the NRB level, this could result in missing possible specimen finds or less-than-optimal Squelch performance. 

Let's make it Intelligent!

One of the problems Charles and I encountered in the field while surveying and prospecting different areas is the Squelch response to highly localized Natural Radiation Background Levels.

For example, when surveying a REE deposit in Southern New Mexico we realized that the NRB is extremely localized to the terrain - there are very well-defined areas of the pegmatite exhibiting very high Natural Radiation Background ("hot zones") and just a few yards away, other areas with comparatively very low NRB ("cold zones"). Some of these "cold zones" exhibit natural background even lower than what is considered "normal" for the general area! 
Such contrast and localization posed a unique challenge - it meant that we had to constantly sample the NRB rate and activate "Auto-Set" of the Squelch system manually, every time we crossed over from one zone type to another. 
On the other hand, to know that you have crossed over to a different zone you had to monitor constantly the displayed rate - something I didn't want to do all the time. With Charles's version of the Gamma Dog, it was even more difficult due to the lack of display.
It is also worth noting that both zones in this pegmatite produced very nice Euxenite crystals which can be easily missed if the squelch level is not correctly set. 

In a situation of such mineral deposits, if we focus only on moving through the terrain without paying attention at the current Squelch Level, we can enter an area where the NRB rate is much lower than Squelch Level and any small peaks or fluctuations, possibly indicating the presence of a specimen, will be masked and hidden by the rate gap in the Squelch System (that is if the rate is not promptly re-adjusted by the user). 
It even could be some time, before one realizes that the instrument has been silent for too long due to a Squelch rate set too high for the current NRB Level.

The opposite is also true - crossing from an area with low background rate to an area with high NRB will cause the Squelch system to stay constantly open which defeats the purpose of having it in first place and it will require the user to activate the "Auto-Set" manually.

To resolve this issue, we came up with the "Smart Squelch" or Assisted Squelch Auto-Set (ASAS) System.

Assisted Squelch Auto-Set System

The purpose of ASAS is to constantly monitor the current rate, compare it to the state of the Squelch System and detect conditions which can indicate that the Squelch rate might be incorrectly set for the current background. 
Once ASAS determines that the Squelch Level needs an adjustment, it will trigger an Auto-Set action, same as if the user pressed the Auto-Set button and it will re-sample and evaluate the NRB.
This allows for very easy, smooth and worry-free operation - ASAS does all of the monitoring and performs the necessary adjustments as they are needed, allowing the user can focus on the terrain and not on the instrument. 

Note: The implementation of ASAS is different between the one I designed, and the one Charles is using in his GD version. The main difference is the algorithm and the fact that in my version, due to the availability of display, menu system and persistent configuration parameters, I can configure many internal aspects of the ASAS behavior and make it more flexible and more customizable for a particular situation.

These plots show how ASAS monitors the state of the Squelch System.
Out of the 21 Configuration Menu Items, there are 4 menu items dedicated exclusively to the ASAS system.

In my algorithm design, there are 2 separate timers configured with a single menu item, setting the period for a squelch condition to be present continuously, before an Auto-Set is triggered.
One timer is reset every time the Squelch opens, while the other timer is reset every time the Squelch closes. 
Basically, I continuously monitor the state of the Squelch System over time while constantly cross-reference the state with the currently detected rate and if a discrepancy is present for longer than the configured "time window", an action is taken.
The timers can be set for 15, 30, 45 or 60 seconds.

One additional functionality I implemented in ASAS is the ability to "decide" if Squelch Auto-Set is needed while the squelch has been open for a long time.
When the user needs to pinpoint the location of a specimen, it helps for the squelch to stay open so variations in the pitch of the audio tone can be closely monitored. In such case Auto-Set should not be triggered.

In my implementation of ASAS, I have a menu item which specifies a second, higher virtual threshold level which, when exceeded, it will prevent the Auto-Set from activating due to continuously open squelch event. This is done internally by resetting the Open Squelch Timer.

The logic behind this is that if a specimen is found and the user is now trying to localize it, the overall detected rate will be vastly higher than the NRB / Squelch Rate and not just slightly above it as expected - the ASAS system will identify this large difference in rates and it will not trigger an Auto-Set if the rate is sustained above the second threshold, thus allowing the user to listen to the audio tone without an interruption by a Squelch Set event.

The "ASAS Reset Lvl" Menu Item, determines the height of the virtual "localization rate" as a percent of the current rate above the squelch rate. This value can be configured as 37%, 50%, 62%, 75%, 100% and 150%.

For example - if ASAS Reset Lvl is set to 100%, the Squelch Rate is set to 200 CPS and the detector reports a current rate of >400 CPS (or exceeding the Squelch rate by more than 100%), ASAS will not trigger an Auto-Set assuming the user has found a specimen and just tries to pinpoint it. If the rate drops below 400CPS then the continuously open squelch condition will trigger an Auto-Set when the timer for it expires.

Another functionality in my ASAS System is the ability to add a "padding" (called ASAS Tolerance) between Squelch level and Current Detected Rate, while the squelch is monitored for continuously closed condition. The amount of padding or tolerance is adjustable with a menu item ("ASql Toler") and specifies in CPS how low the current detected rate must drop below the Squelch Level before the timer of the continuously closed squelch activates an Auto-Set action.
This differential can be set from just below the current Squelch Level to a few hundred CPS lower and it is intended to add "adjustable damper" for the response to constantly closed squelch.
The options are "Minimum", 100 CPS, 150 CPS, 200 CPS, 250 CPS and 500 CPS

By default, when the Gamma Dog starts, the ASAS is deactivated and can be toggled ON/OFF by double-clicking the GREEN Button.
The last menu item of the ASAS System configures whether the system is activated automatically at the startup of the instrument, or the user will activate it at a later time.

The ASAS System in action. 
In this video, I simulate "wrong squelch setting" by manually overriding the established Squelch Level while ASAS is active, and the level is set too low and then too high. ASAS responds by issuing a corrective action.

When the ASAS is active, the "Sql" indicator above the Squelch Level is replaced with "(A)".
The ASAS timeout is set to 15 seconds in this demonstration.

The two separator bars on the display (above and below the rate readout) shrink, showing when one of the timers is about to expire. The top bar is for Open Squelch conditions and the bottom bar is for Closed Squelch conditions. 
A full width bar represents the maximum duration the timer is set to, and the bar will shrink to a dot in the center (the trigger point, if conditions for adjustments are still present). 
At the moment of the Auto-Set event, a short beep is produced to indicate that ASAS has taken an action.
If a condition (a change in the detected rate) changes the state of the Squelch System, the bars reset back to full width and will start the timers again. 


Charles searching for REE in Petaca, NM while using the "Smart Squelch" System.
The Gamma Dog produces distinctive beeps every time when the Automatic Squelch System is triggered to re-sample the Squelch level ("Auto-Set").

UPDATE:
A more extreme rockhounding in Petaca, NM by Charles in March, 2024

Tuesday, September 5, 2023

Pulse Height Analyzer (PHA) option for Eberline ASP-1

When it comes to those big, beige, analog metering systems, heavy metal and clunky radiation detection istruments from the 80s... I am a huge fan of ... not Ludlum Model X but the Eberline ASP-1.  I have 3 such units and they are really cool and versatile "blast from the past"! 

For anyone interested I made a brief review and comparison between Ludlum Model 3 and ASP-1.

Eberline ASP-1 was and still is a fantastic meter for its time! In the name "Analog Smart Portable" (ASP), the "Smart" stands for "Microcontroller" - an 8-bit Intel 80C31 is in the heart of the meter, driving an 8-bit DAC (AD7524) which on the other hand drives the Analog Metering System. Two old-school 74HC157 multiplexers read the state of various config DIP-switches and the main rotary Range switch.

Reviewing the Service Manual for the meter years ago, I noticed that Eberline designed a Pulse Height Analyzer (PHA) module for it but for all these years I was never able to find, or even see a picture of one in existence. I am not even sure if this option was ever manufactured / sold for ASP-1 but I have seen dozens of ASP-1 units and not a single one had this module installed.

The Pulse Height Analyzer allows the meter to count pulses only when they have a specific energy range (of course, when the meter is equipped with an energy discriminating detector (scintillator)).

The PHA creates a "window" which has an adjustable width and can also be moved up and down the energy range so the counter can count only pulses produced due to gamma rays from a specific isotope - for example it can count only Cs-137 gamma at 662keV while ignoring any other energies, making it very selective at what activity is measured.

From a practical point, I can set it up for a specific U or Th decay chain isotope and being able to differentiate in the field if I am dealing with U or Th for example (that is if I don't have my Raysid with me)

The PHA module is interfaced via a "PHA Option" socket on the main board of ASP-1. This socket must be populated with a special shorting connector when the PHA Option is not installed and so was the case with all of my 3 ASP-1 units, until now...

After I was unable to procure the ASP-1 PHA Option for years, I got tired of looking for it and decided to make my own modules.

The PHA Option socket with the Shorting Connector removed.

The same PHA Option but for a different meter - the Eberline ESP-2. 
The schematics are virtually identical - only board outline and component topology appear to be different from the one, specific to ASP-1.

Fortunately, the Service Manual includes full documentation and schematics for this board.

This is the schematics for the PHA board published in the Eberline ASP-1 technical manual.
There are no exotic components and everything for this circuit is readily available on DigiKey. 
The circuit itself is fairly simple, using comparators and voltage dividers for reference to determine the energy "window". There is also a Dual BCD up-counter alongside a bunch of other passive components. 
The board outline is very specific as this board needs to fit between existing connectors and components located on the top side of the main board. 
The R32 Trimmer-potentiometer controls the width of the energy "window", and the slide switch allows to turn off PHA counting mode and to GROSS count all pulses. 

I started by re-creating the schematics in AutoCAD Eagle.

 I decided to keep the old-school DIP-14/DIP-16 versions for the ICs but replaced all other components with their SMD versions, using 1206 footprint for quick and easy soldering. 

Since it is a fixed size board there was no gain of going SMD for the ICs and their SMD versions were actually more expensive. 

I kept the original component names as listed in the technical manual - this makes component installation and troubleshooting very easy.

The PCB Layout created in AutoCAD Eagle.
Because of the location of the board, right behind the analog metering system, I realized that this board can also conveniently host LED backlighting for the metering system (the stock backlighting uses 2 incandescent light bulbs). 
I utilized the unused pin 2 on the Option header to provide the switched ground to the LED lighting and a small modification of the main board ties Pin 2 to the light switch. The LED Anodes are connected by jumper wire to the +VBAT

Top Layer of the completed PHA Option Board. Some additional milling of the board outline was needed to make it fit between the components.

Bottom PCB layer with the male DIP-16 header for interface with ASP-1

The PHA Board installed in the Option socket. The Blue Pot is the "Window" trimmer, and the red slide switch changes the mode between "GROSS" and "PHA" counting.

The PHA Option board sits nicely behind the Analog Metering System.

I have 3 completed PHA Option for ASP-1 modules left, available for purchase at $50/each + shipping.