CDV Counter User's Guide

Vers 0.83 (HTML)

(c) 2004 David Honig
13 May 04
 

Download the ZIP Now


Contents

WHAT IS IT?             -a data logger for your analog Geiger Counter
REQUIREMENTS     -any PC with a soundcard
INSTALLATION       -unzip to a directory
USAGE                      -cable it up and start logging
GRAPHING              -self-updating graph of activity over time
SETTINGS                 -integration time, number of measurements, pulse-detection threshold
OPTIONS                  -bells and whistles and webservers and more
CALIBRATION         -getting instruments to agree
LIMITS                       -this is, after all, a hack
EXPERIMENTS         -ability to see K40, Am241, granite, radon daughters' decay
CABLING                  -a 1962 CDV-700 physical link to a PC's soundcard requires a little ingenuity...
MISC
TERMS                       -free for educational or personal use
ACKNOWLEDGEMENTS
VERSION HISTORY, NEW FEATURES
   0.3  Added built-in webserver
           choosing a port, getting around firewalls
    0.4 internal version
    0.5 Added reads .wav, saves configuration INI file
    0.6 Added mode for muon library demo, graphics, "forever" changes
        How to make this a one-click tool for a library: "autostart"
    0.7 Added Webserver displays graph of activity as bitmap
    0.74 Added Webserver displays JPEG
    0.76 Added JPEG can be written even if Web server is not running
    0.77 Added "fill under the graph" display option
    0.80 Added Coincidence Detection for Cosmic Ray logging
    0.81 Added 95% confidence interval to log
    0.82 Fixed a bug involving miscomputed running averages.
   0.83 Immediately clear averages when zeroing them.

WHAT IS IT?

CDV Counter turns a PC into a "scalar" for the CDV-700 Geiger Counter or other pulse-source. That is, it detects, counts, and logs pulses (clicks) in a PC's audio line input.  So with a cheap CDV-700 and any Win95 or later PC plus soundcard, you can integrate counts over any length of time.  This combination is capable of much finer low-rate measurements than the analog CDV-700 meter can provide.  And try to get your bare CDV-700 to graph activity over time!

CDV Counter displays total counts, Counts Per Minute (CPM), and milliRoentgens/hour (mR/hr) integrated over a user-selectable time period.

By repeating measurements CDV Counter can graph activity over time.

Measurements can be displayed over the Internet in a Web Browser.

Cosmic rays can be detected by feeding 2 CDV700's into both audio channels.
 

REQUIREMENTS

INSTALLATION

  1. Create a new directory
  2. Unzip all these files there
  3. Run cdvcounter.exe
Besides CDVCounter.exe, you should see:
cjpeg.exe            -convert bitmaps to jpeg files
help.html            -this help file
*.GIFs               -screenshots for the Help file
cdvcounter.ini    -sample configuration file
*.txt                   -misc. text files
CDVCounter does not mess with your Windows Registry, does not put .DLLs anywhere (or use them), is statically linked, does not put random files in any other location.  You can have multiple independent installations of CDVCounter on your computer.
 

UNINSTALLATION

  1. Delete the directory you created

USAGE

You can use this program with Geiger Counters (or whatever) besides CDV 700s which produce a pulse.
 
 

SETTINGS

You can specify the pulse-detection threshold, the sampling (integration) time in seconds, and the C.P.M. to mR/hr conversion factor (600 CPM/mR/hr for a CDV700).  Mostly you will only change the sampling time.

Note that the counts recorded from a given audio stream will vary with the pulse-detection threshold.  Thus you should keep the threshold constant so that you can compare your measurements.  A threshold of 100 works well at low count rates.  See below on Calibration.  You must also keep the soundcard's line-input mixer gain constant if you want to compare measurements.

You can specify a number of times to repeat a measurement, e.g., for measuring decay curves over time.  After more than one point has been measured, you can graph the resulting values.  Each graph point represents the CPM rate for one interval of the specified amount of sampling time.
 
 

GRAPHING


If you have made repeated measurements, you can raise a resizable graph of CPM over time.  Their current average is also displayed. You can change the type of graph from the Options dialog.  If the graphing window is narrower than the number of data points, the data are averaged.

To save the graph, use Windows' Control + PrintScreen keyboard combination to capture the screen to the Clipboard, then paste into any application (eg Paint).


One graph style


Another graph style


Yet another

If you have told CDVCounter to sample "forever", this graph will show a finite number of previous samples.  You can adjust the number of samples in the "Scroll Width" Option.
 
 

OPTIONS

The "Options..." button in the main CDVCounter window raises a dialog where you can set CDVCounter options.
Most of these settings are remembered between CDVCounter runs.  (Thanks to an .INI file kept in the local directory.)

See the Version History for extra details on these features.

Saving Data

Other Options

Graphing

Autostart

Coincidence Detection


CDVCounter Options Window
 

CALIBRATION


CDV Counter samples the audio input at 11Khz, monoaural, 8 bits per sample.  It detects pulses when it sees sufficiently steep rising edges.  The threshold setting is the difference between successive samples which counts as a pulse.  We don't need sophisticated algorithms to detect monster CDV 700 pulses.

Again, the program's threshold settings and soundcard mixer's line-input gain must be left alone if you plan to compare CDV Counter measurements.  E.g., background vs. some source.  Both the threshold and gain affect the number of pulses counted.

Ok, how should we set these parameters?   Maybe the CDVCounter program output should agree with the analog meter?  And/or with other instruments?

The CDV Counter threshold can be adjusted to give counts that agree with the '700's analog measurement or other calibration.
Its up to you to check that your readings are consistent with what your instrument(s) otherwise report.  For instance, a fellow hobbyist reports that CDV Counter is consistently .05 mR/hr below the instrument supplying pulses (a Belvar), using the default CDV Counter threshold of 100.  Another reports that CDVCounter works with a Digilert with threshold 125.  Another reports seeing accurate results with counts to 100K CPM.

This project has caused me to think about why and how you come to trust instruments and the measurements they make.  And repeatability, transferability, etc.
A good scientist validates his tools as well as his techniques.  Skepticism is a good thing.  Damn, this sounds like an argument for the NIST (aka NBS) folks!

Thoughts on Calibration

Here's some random thoughts about how one could calibrate meters.

Absolute Comparison With A Steady CDV700 Analog Meter

You might use a radiation level where you get a steady CDV700 analog reading and adjust the CDV Counter's threshold to match that.    But that threshold might not be fixed.

In fact, it seems high rates need high thresholds.  See this document for my experimental notes on this.
For best absolute agreement with the 700's analog needle, larger fluxes needs larger threshold.  For instance, when the CDV700 saw 9 mR/hr the CDVCounter program agreed best when the threshold=145 vs. threshold=110 at 1 mR/hr.  I use the default of threshold=100 for low fluxes, where the program is the most useful.

I have yet to do comparisons between my CDV 700 (with or without the CDV Counter program) against other GCs.  Different GCs will usually give different readings due to geometry and tube-sensitivity anyway.
 
 

Using Distance To Generate Known Radiation Fields

You could measure linearity if you had a point source and separated the source and probe, using 1/R^2 attentuation.  But your source may not be an ideal point source.  And the Geiger tube samples a volume of a certain shape, not a point.  A plate source (while not infinite, a Fiestaware dish might suffice.. :-) might give a more uniform field, or a field with more uniform regions.
 

Using Sheilding To Generate Known Radiation Fields

You might be able to generate a priori known fields using a number of (otherwise-calibrated e.g., uniform) filters.  You could then measure linearity curves using these.  Assuming that their attenuation is linear, ignoring scatter.  This sounds like the best procedure.
 
 
 

LIMITS

 

Measurement Dead Time


After an ionization, a Geiger-Muller tube will not respond.  This "dead time" causes the response to be significantly sub-linear at high count rates.  (It also happens at low count rates, but infrequently.) This is normal and a property of the tube and its voltage.

The way that interaction frequency varies with energy also affects measurements.  GM tubes are more sensitive to lower energy gammas, since high energy gammas don't interact with matter as much.

I haven't measured the linearity of the CDV Counter program with a '700.  Or the linearity of the '700 by itself.

I found that for best agreement with the analog meter, larger fluxes need higher thresholds.
 
 

Memory Buffering


Audio samples are stored in a RAM memory buffer before processing.  This buffer occupies 11 KBytes of memory per second sampled.  So if you want to measure for a day, you're better off sampling for a few minutes and having CDV Counter automatically repeat the measurement.  Their average will be the same.
 

Tested

1       sec measurement,  10,000 times.
3600 sec  measurement, 10 times.
 
 

EXPERIMENTS

CDVCounter lets you use your analog CDV 700 with a much larger integration time.  This makes it suitable for reliable low-flux measurements.

With this tool and a CDV 700, I've been able to measure betas from K-40 in 3 oz. of KCl (salt substitute), which is only 50% greater than background, and basically impossible with a CDV 700 by itself.

I've also measured 1uCi Am-241 ~60keV gammas at 3 x background.  With the beta shield open it records 15 x background.  Background is 0.01 mR/hr here, beta shield open.

Others have used a CDV 700 & this tool to measure activity of granite tabletops.

I've also been able to graph the decay of Radon daughters.  One sees an apparent half-life of just under an hour, from beta emitters Pb-214 (27min) and Bi-214 (20min).

Others have used this tool with a Belvar GC, and it was thought that CDVCounter needed to remove periodic timing ticks from the input. It turned out that the timing ticks aren't detected with the default threshold because they are lower amplitude and less steeply rising.

John Boyle reports using this with a homebrew cosmic ray muon detector!  (He uses 2 detectors and an AND gate correlator.)  This may run in a library.  The "autostart" option was added to make this a "one-click" tool for the librarian.
 
 

CABLING


I was able to use a male "PL-259" RF plug, attached to some coax cable, by snipping off the long center conductor so that it resembled the little nub of the original.  A little bit of aluminium foil can help maintain the central conductor conductivity.

The original is an "Amphenol Microphone Connector 75-MCIF".

Reportedly this is still made as a "Switchcraft 2501" series, "Mouser Electronics part no. 502-2501F."

You can also find a kludge at http://www.ans.org/pi/teachers/reactions/2001-04-02.html which involves modifying the plastic cover for the Phone plug to make your CDV-to-soundcard cable.
 
 

MISC


Make sure that your PC doesn't try to go to sleep (power conservation) if you leave it alone while you're recording.

You can "mute" the line-input so that you can still play music on your PC while taking measurements.  Without listening to the clicks.


 
 
 
 
 

TERMS & ACKNOWLEDGEMENTS

Free for noncommercial or educational use.  Credit must be given if you publish.

Comments to: revtkatt @ yahoo.com
If you find this useful or have suggestions I'd like to hear about it.

Thanks to the Yahoo CDV 700 Club group.
 
 

Version History, New Features

 

NEW FOR V 0.3  Web Server


Your Geiger Counter can be a webserver!  NOTE: This now includes image of activity graph!

In the CDV Counter Options window, you can start a web server that displays your counter's activity.

You can choose the TCP port to run the web server on.  This avoids conflicts and ISP blocks.

If you have a static IP address (some Cable, DSL users) your CDV 700 can be seen world-wide with any browser.

Pick a Port

Since incoming port 80 is frequently blocked by ISPs, or used by conventional HTTP servers which you may already be running, you can pick an alternate port. I suggest port 700.

You can test this by opening http://127.0.0.1:700
"127.0.0.1" means "the local machine".  The ":700" is part of a URL; it defaults to 80.  You should get a page generated by the CDV Counter's web server.

If you're using port 80 your URL could be simply http://127.0.0.1 because 80 is the default.

If you have a Cable or DSL modem and know your IP address (run "winipcfg") is 12.34.56.78 then the world can use http://12.34.56.78:700  to see your results.  Or again, if using port 80, simply use http://12.34.56.78 These world-wide (vs. local) IP addresses won't work if you have a firewall blocking incoming connections; See below if you run one.
 
 

Firewalls


If you run a firewall, poke a hole in it, otherwise it will block incoming connections to CDVCounter.  In your firewall's configuration, find something called "forwarding".  Allow TCP incoming connections for the port number that you chose (e.g., 700).

If you have more than 1 PC in your LAN, you may have to tell the firewall which of your LAN machines to forward a request on that port.  Your local machine addresses will probably be something like 192.168.1.100.

Try a repeated short-duration measurement, graph it, and watch the webpage get updated.
 

NEW For 0.4

Improved layout, graphics, help file
Date, text graphing, notes in data output file

NEW for 0.5

You can read a .wav audio file and process it.  The .wav must have been recorded monoaural, 8 bits, and 11,025 kHz.
 

NEW for 0.52

CDVCounter remembers settings between invocations.  In "cdvcounter.ini"
 

New for 0.6

Added "Muon Detector Mode" for John Boyle who wants to use CDVCounter in a library display.  This will be the first public release of the INI feature -I didn't release 0.52.
 

Added:

To make this a "one-click" tool for a library:

One Time:
  1. In the Options window, Edit the Graph Window Text .
  2. In Options, select Autostart.  (Note: This will open the Graphing window automatically.)
  3. In the main window, Press the Forever button.
  4. Exit the tool to save your settings.
The next time you start CDV Counter, it will start graphing counts immediately.

      To Start Automatically Upon Windows Login, Create a shortcut in the Taskbar's Programs | Startup menu.

     You might also create a desktop icon so that if the program is stopped, you can run it again easily.
 

0.62 HTMLized This Help file.  Added figures.

0.70 Web server can display dynamic activity graph


If the Web server is running, and the Graphing window is open, then the Graph is written as a Windows Bitmap .BMP file ("cdvcounter.bmp") after each new sample.  And the Web server will display the Graph in its self-refreshing web page.  (Works with IE 4.0) Note that sample times that are too brief  will keep the CDVCounter PC and remote browsers quite busy; in part because Bitmaps are inefficient.  Note that the graph displayed on the web page is the same size as the local PC's graph.

If you want only to look at the graph, its URL would be http://127.0.0.1:700/cdvcounter.bmp


CDVCounter's Web Page viewed with a Web Browser
 
 

0.71 JPEG generated from BMP and used in web page instead of BMP

-The CDVCounter distribution file must include "cjpeg.exe" utility to perform the conversion.
 

0.72 A crash-causing memory leak was fixed, also a fix when changing the scrolling width.

D'oh.

Used "cjpeg.exe" utility to create JPEG from BMP in web page; this saves bandwidth.
 

0.73 Forgot to include cjpeg in 0.72

D'oh.
 

0.74 Improved generation of JPEG from BMP.

This might be the first usable Web-JPEG version :-)
The image file URL is http://127.0.0.1:700/cdvcounter.jpg and the BMP isn't served now.
(Again, "127.0.0.1" has to be replaced with your world IP address for others to see you., similarly with the port)
 

0.76 Added option to write JPG File whenever Graph Window is updated.  When built-in Webserver not used.

This is for folks who want activity graphs written as a graphics file that is automatically updated, but don't want to run the built-in Web (HTTP) Server.  Some other method will be used to upload the graphics file to some website.

If you check this box in the Options dialog, a new JPG file is written after every measurement.  (Without checking the box, JPGs are written only if the Webserver needs them.)

Recall that CDVCounter writes cdvcounter.jpg to the same directory containing the CDVCounter.exe program.
 

0.77 Added "fill under the graph" display option

Note that this only works if "Connect Points" option is on.  It also overrules "Draw Vertical Bars".

0.80 Added Coincidence Detection for Cosmic Ray logging

To detect Cosmic Ray debris you need 2 Geiger counters.  Feed each of them into a separate audio channel.  Then count coincidental detections.
You can now do this with CDVCounter.

A "Coincidence Detect" checkbox was added to the Options dialog.  Enabling Coincidence Detection causes CDVCounter to look in both Left and Right audio channels looking for pulses.  A pulse detected in both channels simultaneously counts as a detection event.

Notes:

You should see more coincidence counts with the Geiger probes stacked vertically compared to horizontally, since Galactic Cosmic Rays are shielded by the Earth & atmosphere.  You might also see daily rhythms or variations in activity due to the sun.

Thanks to k0ff for suggesting this.  As usual, I'd like to hear about anyone's experiences with this feature.

[Note added May 2004: Justin of the CDV700Club has been testing this and it seems to work.]
 

.81 Added 95% confidence interval to log


The interval is from C-1.96*sqrt(C) to C+1.96*sqrt(C) where C is the counts and 1.96 comes from the Gaussian distribution.
Also fixed an extra character at the end of the date-string that was showing up as an unprintable char.
 
 

.82 Fixed a bug involving miscomputed running averages.

Added a "Zero" button for resetting the running averages.
 

.83 Immediately clear averages when zeroing them.

Added constraints about graphing "Fill" mode to this help file.
Checked that Sensitivity (ie CPM per mr/hr) is ok.
Made those "95% confidence intervals" an option.