Rhenen, 10 January 2014 Subject: SoundDoppler.exe 1.43 ------------------------------- Dear Pseudo-Doppler-RDF freaks, Good site: http://members.chello.nl/~w.hofman/pa8w/dopplerRDF.htm Forum English: http://www.eevblog.com/forum/projects-designs-and-technical-stuff/radio-direction-finding/ Forum Dutch: http://www.zendamateur.com/viewtopic.php?f=11&t=7271 http://www.zendamateur.com/viewtopic.php?f=14&t=9124 PCB layouts: SuperSimpleSoundDoppler in file 4013PCB.zip The 4017 SuperSimpleSoundDoppler in file 4017PCB.zip (recommended) -------------------------------------------------------------- Protocol -------- Agrelo = Bearing protocol from a radio direction finder through a comport %DDD\Q DDD = Heading in degrees (0 to 360) Q = Quality of heading varies from 1 to 9 Important --------- You need a PC with stereo-line-input! Many laptops have only a mono mic input. Many cheap USB sound-sticks have only a mono mic input. If you have a stereo mic input then you might need additional attenuator pot-meters to decrease the audio levels. Maybe even two 1:1 audio separation transformers to avoid ground loops between then PC earth and VHF-RX and Switcher Generator. I also like to use an external USB Sound-card UCA202 from Behringer (This one maybe needs an audio preamp for each channel with one transistor each) (Circuit in File 4017Circuit.zip bc547 USB Sound-card Pre amp.png) You need a stereo-line-input on the sound-card because it requires a sinus reference signal locked on the Doppler-antennas-switcher on the left-channel and demodulated FM-Rx-audio on the right-channel. Leave the two loudspeakers connected to the sound-card. (It's handy to hear the FM-Rx sound and reference tone through the PC speakers) Purpose ------- It is a radio direction finder for locating VHF and UHF transmitters, jammers, kerchunks, balloon/ weather fox hunts etc. Replaces the traditional Doppler-decode-equipment by the sound-card. This program can also be used stand alone on stationary Doppler monitoring. New --- With the improved SinCosDetector and new MaxTopDetector we have new ways of using this software with uni-directional antennas and AM detecting receiver. Get bearing from automatic switched uni-directional antennas New hardware can be designed and used with this method. In fact only 4-uni directional antennas pointing to NESW are required and a AM receiver connected to the same SuperSimpleSoundDoppler hardware. What is nice of the AM method it can detect pulses and noise to because it works on Amplitude detection. We are now trying to build a new mobile plate antenna construction So a very low profile antenna with a base-ground-plate (60 by 60cm) and a second antenna plate (22 by 22cm) about 5 cm height (Travelling Wave Antenna) and new switcher unit and pre-amps See the file: AMPlateantenna.zip for details. Note ---- You can easy make an interface to an existing Doppler by just adding an AF low pass filter connected to one of the antenna switch signals. It assume that the reference signal is between 200-3000 Hz. The antenna circuit contains 4x 1/4 wave monopoles or 4x 1/2 wave dipoles. The antennas are spaced with maximal .25 lambda x rx wavelength or diagonal maximal spaced .35 lambda x rx wavelength (4 antennas). Circuit examples are under menu Info in main screen Of course you can have more antennas as 4 if you adapt the hardware. The 4017 circuit can easy adapted to 3-9 antennas circuit. There is also a soft-switch 4017 circuit called: SuperSimpleSoundDoppler de Luxe (recommended). It has 4 extra transistors one for each control signal. This works better when a strong adjacent signal is next to the wanted signal. Hint Menu Info>Doppler antenna array Calc you find a tool to calculate dimensions for all kind of doppler antenna arrays Optimal doppler-rotation frequency hints ---------------------------------------- The optimal doppler rotation frequency (reference frequency) should fit in the samplerate of the soundcard You can easy see the optimal doppler rotate frequency if you leave the mouse on frequency label. The tooltiptext gives the three adjacent frequencies that are optimal for the soundcardsamplerate and current doppler rotation frequency. If you change the samplerate of the soundcard the doppler rotation frequency also should change Don't worry much about this deviation. This error is marginal. In the 4017 and 4013 doppler circuits the 2x transistor multivibrator runs on 4x the doppler rotation frequency. If the transmitter is modulated with exactly the same frequency as your doppler frequency you have to change the doppler frequency to get good bearings. So it can be handy to have something to change the multivib frequency a little bit. (switch a resister parallel to the basis resistor of one of the multivibrator resistors ?) Working ------- It simulates this Doppler Hardware blocks in software: 1: Two channel sound-card input extractor 2: Reference frequency counter 3: Squelch (audio or Doppler tone squelch-detector) 4: Low pass filter (switch able) 5: SCF (Switched Capacitor Filter) locked on reference signal 6; Zero Cross Detector 7: Sin/Cos Detector(Much improved Sin*Cos correlation) 8: Max-top Detector (Experimental) 9: Pelorus display with quality-bar and 3 digits and optional arrow point. 10: Large Pelorus display with quality-bar and 3 digits and optional arrow point. 11: Input-XY screen to monitor the 2 channel audio inputs. 12: SCF-XY screen (monitor the zero-cross tone decode line) Lin or Log X-scale 13: Waterfall screen with spectrum (5.625 degrees resolution) 14: Output direct heading label with DDE (Direct Data Exchange) 15: Output average heading label with DDE (Direct Data Exchange) and green bug around Pelorus. 16: Agrelo format output to a comport (%122/8) or complete packet APRS frame. 17: Calculates the Quality factor (1-9) 18: Shows Quality in progress-bar and can show red-arrow point modulated with Quality. 19: Audio logging in wav files with file names like 001DF122q 8.wav (time limited) 20: Logging/Playing both channels in a SoundDoppler.wav file 21: Logging in Packet.txt for the DopplerUploadClient.exe in APRS or UIV32 format 22: Logging in Packet.txt with GPS Latitude/Longitude and bearing with GPS compass 23: Logging in KML files for Google Earth 24: Adjust the KMLArrowLenght in decimal degrees 25: 2x Demo-modes to play with it without hardware connected. 26: Test generator "Adjust" Amplitude, Phase and Noise in Demo2-mode + second tone. 27: DL5DI PHP mode send through internet (Experimental) 28: Starting MyMapping Program (Works with UI-View32 Maps) Not 100% ready Yet. 29: Auto FM Input-scoop x basis adjust to about 8 periods. 30: FM/AM audio channel level VU meter can be averaged.(This works fine with Doppler tone squelch) 31: TCP-server to interface to APRSIS32.exe from KJ4ERJ 32: 4x Calibration tables possible in file SoundDopplerTable.cfg (Edit with notepad) 33: Doppler antenna array calculator 34: Elevation screen experimental for balloon hunts Doppler Adjustments ------------------- Audio squelch Slider Noise squelch Slider DopplerTone squelch Slider 0/180 degrees Check-box Calibration offset North Slider or North Calibration button ZeroCross/SinCos Recalibrate calibration offset if detector changes Other Adjustments ----------------- Sound-card Select sample rate 8000, 11025, 22050, 44100 and 88200 Hz Select sample time 0.063, 0.125, 0.25, 0.5, 1, 2, 3 or 4 seconds Doppler rotation frequency Initial reference frequency (default 500 Hz) can adjusted through menu. The software detects and adjust it further by itself. Doppler frequency range: 200-3000 Hz. Circuit details ---------------- See circuit under menu Info. 1:This circuit matches very good the antenna-switcher-unit of the PE0SSB DDF96. As you can see the hardware is reduced a lot compared to the original PE0SSB DDF96 decoder equipment. Of course you can build in the original DDF96 the reference low pass filter. So you have the led-pelorus and the PC-screen available. 2:Further there are two drawings of RamseyCircuit and RamseyAntennaCircuit These two drawings form a complete SoundDoppler system. 3:Circuit 4013 4001 shows a tested and build very cheap and simple Doppler circuit for the SoundDoppler system. It uses the same RamsyAntenna Circuit. This circuit can also easy be fed through a 9 V battery (about 16 mA) It might be possible to power it through a 5 V USB connector of the PC (I did not tried that yet). 4:Circuit 4017 shows a tested and build even more simple Doppler Circuit. This circuit can easy changed for use with 3 to 9 antennas. Just change the multi-vibrator frequency and put the reset line from the 4017 to the right pin and make some more antenna circuits. There is also a 4017 de Luxe with 4 extra transistors. This is a soft switcher circuit (recommended) 5:PA8W has made an AutoNomeDoppler with very cheap ordinary parts witch includes: PA3BNX Interface, 32 leds and soft-antenna-switching. Also drawed PCB layouts and he sells PCB boards. He also has the soft-switcher SuperSimpleSoundDopplerDeLuxe PCB for sale. http://members.chello.nl/~w.hofman/pa8w/dopplerRDF.htm It can work with other Doppler equipment too Just get some where the Doppler frequency from the clock-generator that drives the antenna switcher. Make sure the reference frequency is the same as the Doppler frequency. Convert that (block) signal to a sinus with a 18 dB 1 kHz low-pass filter and send that to the left-sound-card-line-input. Some additional Doppler-antenna hints. -------------------------------------- You can build the antenna circuit with four 1/4 wave monopoles maximal .25 wave length for the Rx freq from each other or .35 wave length diagonal spaced. The monopoles can be about .25 wave length long so 50 cm should be okay for VHF 2 meters. Do not use the Doppler at Rx frequencies higher then .25 wave length spaced monopoles from each other. Other wise you will introduce so called aliasing or ambiguity. The wider spaced the antennas are the higher is the Doppler tone amplitude. Place 4x 1/4 wave monopoles on a round conducting plate and do not place the 1/4 wave length monopoles on the edges of a square plate or you must use 8 radials (2 at each corner). You can also use cardboard with aluminium-foil as I did. for the ground-plate. Do not forget to ground the shield off the coax on the ground-plate where the monopoles are placed. Remember the monopoles are 4x ground-plane antennas and they must omni Rx so they need good earth otherwise the Doppler will not perform okay. I build my array for VHF on a 60 cm diameter ground-plate and the 4 monopoles are diagonal spaced about 30-40 cm. If using mobile magnetic based attached antenna remember that you never get such a good ground contact between the car roof and base plate of monopoles. (Try some aluminium-foil around/under the magnet mount cup to increase the coupling capacity to the car roof) Of course you can use 4x 1/2 wave dipoles without a ground-plane. Never use a dipole with gamma match always use a open dipoles. A 1/2 wave element takes energy from the near field and distorts the Rf wave front and resonates. Always disconnect not used dipoles because dipoles witch are terminated do take RF energy and distort the local RF front wave You can also kill the resonance by using some series resistors in the dipole antenna elements. If using 4x 1/2 wave dipoles you can put 3 to 5 ferrite cores around the coax and control line about 5-15 cm spaced from the switcher unit so the cables are more or less invisible for the Doppler antenna rxed field (Gives minimal distortion of the field near and in the Doppler vicinity) (Also take a 75cm PVC (non conducting) pole for the Doppler antenna assembly) You can also add a third (pin) diode in series at the dipole in the coax shield at the dipole connection. So 3 diodes now. 1 at begin of coax feeder 1 at end of coax feeder 1 at end in series with shield coax feeder Wil PA8W did find out that with 4x 1/2 wave dipoles the coax shield still has a lot of influence on the Doppler antennas. So this disconnects the shield with an extra series (PIN)diode. To get rid of static charge put a 1 M ohm resistor across this diode. When using 4x 1/2 wave dipoles it's very good to add some ferrite-clamps around the Coax and control line spaced about 10 cm from the switcher unit to the lower-site of the dipoles. This makes the coax and control line not resonate, reflect or absorb RF-energy in the vicinity of the antenna-array So you need about 8 pieces of RF-clamps. The pole of the antenna-array must be made of PVC pipe about 1 meter before it's attached to the mast. The height of the Doppler antennas is optimal 3 a 4 meters above ground if you want minimal ground reflections. If you use 4x 1/2 wave dipoles then it can be positive to bent them outwards so they take less signal from ground reflections. | / | / o o o o | \ | \ For the 4x 1/4 wave monopoles you could use a larger ground plane plate. Of course keep other antennas away from the Doppler antennas. So there is room for experimenting. If you have the Doppler antenna on the loft indoor then a ground-plate with 4 monopoles works best because you have less ground-reflections and less influence if you walk underneath it. Lightning strike protection ---------------------------- If you want to use 4x 1/2 wave dipoles and use a lightning rod make that rod invisible by putting many ferrite around the rod across the whole length. Calibrating ----------- If you want to calibrate the Doppler use a known station heading. Wait until you hear the station and adjust the calibration slider to the Pelorus degrees. If all installed in a car ask a person to transmit with low power right in front of car about 30 meters away to transmit and push the Cal(ibration) button or adjust the calibration slider to adjust the Pelorus to 0 degrees It can be good to transmit with the VHF/UHF handy very low above the ground to minimize ground reflections. Don't forget to check the turn direction when the transmitter moves the Pelorus must turn in the right direction. (0/180) Adjusting the Sound-card levels ------------------------------ Make sure you got the reference sinus from the Doppler on the left channel. It's okay if the frequency is displayed in Hz that's about 25% amplitude minimal needed. Do not set the audio volume too high about 60-90 % is enough. The turn-prompt colours red if to loud and orange if enough. Remember if you log the left audio channel it's just 8 bits mono and if to much volume level it sounds very bad.... If you don't want to hear the left reference audio all the time use the line balance slider in the sound-mixer so you hear only the right FM audio channel. Show Input Sound-card -------------------- If you check menu Edit>Show Input Scoop you have a left and right channel Scoop for direct input. It can trigger on the reference frequency upper left channel. Further you can adjust the samples showed. If triggered you can set a red and green-line vertical with a mouse left/right click with mouse move. New: You can click middle Knob or mouse-wheel to try to set the green and red-line at zero crossings of one period. Hint ---- Maybe you can connect the reference and FM-demodulated-Rx signal to a USB Sound card stick and integrate all hardware in one box. Maybe you want also an AC Adapter for the feeding of the SuperSimpleSoundDoppler PCB and a galvanic separation transformer might be handy if the LF Audio from set has a bridge amplifier. All to protect the laptop/audio-card. I did build in an alarm-beep to warn you if the reference frequency is missing So probably the audio-cable or power-supply has a problem. I added a check box Auto to start the Sound Doppler if the program is started. If this is checked then it switches always back to running after about 1 minute I assume you forgot to switch it to running.(It beeps when switched to running) The Detect Multipath + Quality menu shows the Doppler tone frequency amplitude and the symmetric error and calculates the quality factor 0-9 This also means that if its value is low that there probably is multipath/reflections etc. It shows in red if there is more then 1 zero-crossing from + to - on the X-line. Then there is certainly multipath and quality is set to 1. If this menu is not checked then the quality is depending more or less on the FM input level and Doppler tone deviation. Only if Detect Multipath + Quality the Doppler tone Sql check box is available. Averaged DDE link label --------------------------- If you check under menu Edit Average DDE Label you get a second greyed label that has the latest averaged heading/quality. If the background of label is yellow it means multipath and the /* is added and if the program is closed the label says 'Off' so the client application can find out it's SoundDoppler.exe status. The DDE link info can be found under menu Info DDE links. If you press F1 or click the greyed average label than the Pelorus shows the last average heading. New is the green bug around the Pelorus that shows the averaged heading. If the squelch is open longer than 15 seconds then every 15 seconds the average value is reset to the last heading. SCF XY Scoop (SCF = Switch Capacitor Filter) It shows a X/Y form with x axis 0 to 360 degrees with the SCF filter output so just one period averaged of the Doppler-tone. Where the tone goes from - to + the degrees can be read Antenna 1 position is left at 0 degrees. Cyan dot gives the calibration offset. Yellow dots are the zero crossings Green dots are the sincos values Beneath this screen is an amplitude progress bar. This shows the SCF filters max amplitude. The larger the better the quality of the heading. F2 can be used to switch SCF-XY / Waterfall and off. Upper-line looks like: Periods=56 @ Taps=8 @ 883 Hz ZeroCross (Log) 12:00:00 Periods = amount of times each antenna is switched Taps = amount off samples in one complete period Hz = Doppler tone frequency in Hertz ZeroCross = Detector type to extract the degrees (Log) = Only appears if the X-axis is logarithmic (Key 'L' to switch) 12:00:00 = Time stamp 1:Packet Logging --------------- Stand alone running as stationary Doppler monitoring station. It can create a file \packet.txt for MyMapping.exe and also output this as a DDE-link. You must input a Call sign and latitude/longitude F11 The comment string is there also for the monitored frequency. If Edit>Average DDE label is on it uses that for the heading in packet.txt If you are moving/driving then Gps.exe can give Gps latitude/longitude and bearing from a Gps Rx in packet.txt File \packet.txt can be read from MyMapping.exe and displayed on maps. Comport(rs232) Agrelo or Packet.txt output ------------------------------------------ You can get rs232 agrelo format output from this program %000/0 every time a new heading arrives it sends the latest heading. If you have average checked then it sends the averaged heading. %000/* * means multipath heading. If the SoundDoppler program exits then it sends: Off The receiving application knows that it's switched off. New it can also send the packet.txt through the rs232 out. New it can also kill old packet.txt objects through the rs232 out. Send data through the comport to other application on the same PC ------------------------------------------------------------------- Make a virtual comport pair with Virtual Serial Ports emulator (VSPE) VSPE http://www.eterlogic.com Hints for using APRSIS32.exe and SoundDoppler.exe ------------------------------------------------- For details look in APRSIS-SoundDoppler.txt file. I did also got it running on YAAC from KA2DDO New tapr APRS software. This YAAC software is still under development. Quality factor: Agrelo ---------------------- %BBB/Q If menu Detect Multipath + Quality is checked then 1:The max SCF value is Amplitude SCF 2:The symmetric value is averaged SCF values 3:If max positive < max negative then quality = (max positive/max negative) * 9 else quality =(max negative/max positive) * 9 end if 4:If it detects 2 or more zero crossings then quality = 1 If this menu is not checked then quality = Abs((Max SCF / Max Audio ) * 9) GPS related ----------- PacketLog --------- You can run a GPS on a comport with my GPS.exe program. The packetLogging label shows then the GPS Latitude / Longitude and adds GPSCompass + Doppler-degrees and if available from Gps the altitude in feet in Packet.txt KMLLog ------- Only if a GPS is connected it can creates KML Files. These can be read and displayed in Google Earth. You can adjust the length of the arrows with KMLArrowLength menu 1 decimal-degree is about 111 km It can keep older kml files by renaming them to SoundDopplerold001.kml The latest one is always called SoundDoppler.kml KML log needs acces to that directory to read write Maybe you need to put sounddoppler in the root of C:\ under Vista and win7 APRS© is a registered trademark of Bob Bruninga (WB4APR). File Packet.txt and Packet Label -------------------------------- If label is yellow it writes to packet.txt If label is white it sends only to the DDE links Under menu Edit PacketLog F11 is a check box APRS that switches between these two formats. There is a APRS check box in screen F11 to change the packet.txt UI-View32 Format ---------------- PA3BNX>APDF01 : ;BNX125138-*151251/5208.00N/00523.01E\334/200 %DF148°/1 0.50 Sec. SoundDoppler Gps On /A=000005 Format Explained: PA3BNX>APDF01 Call-sign and Aprs destination call APDF01 : means the second line is 67 chars long ; Object BNX125138 Object in Packet always 9 chars Contains suffix and time in hhmmss *151251/ * Month day 15 and time 12:51 5208.00N/00523.01E\ Latitude and Longitude with decimal fractions of minutes always 19 chars / Primary symbol table and E\ APRS DF-Icon 334/200 Degrees and length of direction arrow in APRS If GPS runs degrees are GPSCompas + Doppler degrees %DF148°/1 Degrees from Doppler and /1 Quality 1-9 0.50 Sec. SoundDoppler Gps On Comments and other data /A=000005 Altitude in feet from the GPS (1 feet = 0.3048 m) APRS Format With CSE/SPD/BRG/NRQ DF report ----------- PA3BNX>APDF01>:;BNX125138*151251/5208.00N/00523.01E\186/011/334/857 %DF148°/7 0.50 Sec. SoundDoppler Gps On /A=000005 Format Explained: PA3BNX>APDF01>: Call-sign and aprs destination call APDF01 ; Object BNX125138 Object data always 9 chars contains suffix and time hhmmss *151251/ * Month day 15 and time 12:51 5208.00N/00523.01E\ Latitude and Longitude with decimal fractions of minutes always 19 chars 186/011/334/857 CSE/SPD/BRG/NRQ %DF148/7 Doppler direction and quality 0.50 Sec. SoundDoppler Gps On Comments and Other data /A=000005 Altitude in feet from the GPS (1 feet = 0.3048 m) See also APRS101.PDF (APRS Protocol handbook) Other message that can appear in Packet.txt They give a clue whats going on or wrong "Gps On" "GPS doesn't run now" "Gps runs but no data" "No valid data from Gps now" "Driving too slow" "Demo Mode" "CALLSIGN<>" "CALLSIGN<>" "CALLSIGN<>" "CALLSIGN<>" "CALLSIGN<<12:00:00 145750 kHz>>" There will be a %DFxxx°/q Always if a heading is available so MyMapping can also always show the Pelorus and speak. If program closed there is always <> in the packet.txt file. Program does also give a Beacon packet.txt if you have a GPS running PA3BNX>APDF01:/005604h5157.98N/00539.00E\000/020<> /A=000006 If there is no signal for more then 2,4,6,8 minutes it sends a beacon packet.txt like above You can force this by pressing key-P So other users can find/see where you are on APRSIS32 program. It can be handy to use a different SSID(-9) for SoundDoppler then used for APRSIS32 Not quite ready yet ! --------------------- I am still working on this program The sound card input should work now ... Use SaveLogFile and PlayLogFile only as test mode. It can create a very large 2 channel wave file called .\AudioWaveLog\SoundDoppler.wav Also made a right channel audio logging function. With a time limit off 1 to 900 seconds 8 bits one channel wav files. Files are stored under \AudiowavLog\001DF120q8.wav Very nice for stationary Doppler monitoring applications. 001DF120q8.wav Meaning record 1, 120 degrees, quality factor 8 and date-time stamp. The heading and quality are averaged. You can add a comment after this file name by clicking the label or through menu Files > Filename Comment This 'SoundDoppler.exe' program works together with my GPS.exe and MyMapping.exe Keep SoundDoppler.exe it in the same map as Gps.exe and MyMapping.exe MyMapping.exe software written in VB2005 MyMapping.exe is Doppler map plot software using UI-View32 format maps. It uses ------- C:\WINDOWS\SYSTEM32\MSVBM60.DLL C:\WINDOWS\SYSTEM32\WINMM.DLL C:\WINDOWS\SYSTEM32\COMCTL.OCX C:\WINDOWS\SYSTEM32\MSCOMM32.OCX C:\WINDOWS\SYSTEM32\MSWINSCK.OCX C:\WINDOWS\SYSTEM32\SHDOCVW.dll ..\SoundDoppler.exe ''The executable ..\SoundDoppler.cfg ''Configuration file ..\SoundDopplerTables.cfg ''Calibration Tables ..\SoundDoppler.txt ''This help file ..\Gps.exe ''Gps Readout program ..\Gps.cfg ''Gps configuration file ..\Gps.txt ''GPS Help file ..\df.png ''Optional icon for KML files Logging output Files -------------------- ..\Packet.txt ''File for UploadDopplerClient.exe or MyMapping.exe ..\AudioWaveLog\tmp.wav ''Mono wave file with left audio channel ..\AudioWaveLog\SoundDoppler.wav ''Logged data 2 Channels can grow very big ..\AudioWaveLog\001DF122q8.wav ''Time limited mono 8 bit audio logs ..\KML\SoundDoppler.tmp ''Temp kml file not used for Google-Earth ..\KML\SoundDopplerOld.kml ''Older kml file with max 100 records for Google-Earth ..\KML\SoundDopplerOld001.kml ''Keep older kml files. ..\KML\SoundDoppler.kml ''Actual kml file with max 100 records file for Google-Earth ---------------------------------------------------------------------------- kml and AudioWaveLog directories can have problems under Windows7 because Windows 7 does not allow to create and write such maps. Run SoundDoppler as administrator or give it more rights Maybe a nice hint move the SoundDoppler map with all contents to the root of the hard-drive like: C:\SoundDoppler\ ---------------------------------------------------------------------------- Suk6 from, Call-sign PA3BNX Name Lodewijk Baars City Rhenen Country Netherlands