Showing posts with label SDR. Show all posts
Showing posts with label SDR. Show all posts
Thursday, August 15, 2019
Casing the Environment
We have completed our move to Evergreen Woods, at least to the point of unpacking many of our boxes of "stuff". Time to check out the Electromagnetic Environment.
It's not all good or all bad. The fact is that we're inside a fairly large complex of 249 apartments and commons buildings. We are in a rural/suburban setting, but the buildings have complex systems for HVAC, data networks, and power distribution. So we expect a somewhat challenging RFI situation for HF. You see one example above. All the peaks (separation ~106 kHz) seem to come from one source that probably gets here via the AC power line.
I am using a Flex 6500 SDR as an RFI receiver with an EMCO 6502 active loop antenna. The antenna sits at my new second-floor operating position, not far from some metal objects that probably affect the measurements. The proposed antenna site is on the roof above the third floor, which is probably (hopefully) a somewhat better location!
Zooming in to get some finer detail, we see three of these peaks in the 40 M band:
A working hypothesis is that these may come from the building elevator system, with the glitches occurring during elevator motion.
This 106 kHz frequency comb is not quite fatal for ham radio, because in most cases you can choose an operating frequency away from the RFI.
There seem to be several sorts of RFI that become visible at various operating frequencies and various times of day. Some of them are quite broad (no narrow spectral peaks), and some are impulsive, like ignition interference or PLC-type digital signaling. The Flex 6500 has several noise blanking options that are at least partially effective.
The antenna is probably going to be placed above the flat roof shown below:
A diagonal run of about 100 ft looks possible, using 20 ft masts.
Stay tuned for further developments!
Monday, April 09, 2018
Frequency Measurement Test
![]() |
| The old way: BC-221 meter |
This time, we've upped the ante, using the FlexRadio Systems 6500 transceiver (an SDR radio) with its GPS Disciplined Oscillator as a master frequency reference. The reference is said to be accurate to some parts in 1012, though we have no way to verify that number at this time. If the receiver is tuned to a known frequency just below the test signal in upper sideband mode, so that the received signal shows up as an "audio" tone. (In this SDR receiver, there is no "audio", since everything is digital. That bypasses various audio measurement problems that might otherwise have cropped up.) The fldigi software package is used in its "spectral analysis" mode to accurately measure the offset, combined with the known local oscillator tuning, to yield a good measurement of the unknown RF frequency. The software outputs an Excel CSV file that records time and best-fit frequency each second.
Here in Branford, CT the antenna for 20 M is a 3-element SteppIR at 40 ft pointed west. For 40 M and 80 M the antennas were dipoles oriented NW-SE, more or less.
This exercise involved transmissions on the 20, 40, and 80 Meter amateur bands from K5CM in eastern Oklahoma.
RESULTS
The actual numbers as transmitted are reported on the FMT results page for 2018.
| Band | F Measured (Hz) | F Actual (Hz) | Error (Hz) |
| 20M | 14,121,963.42 +/- .08* | 14,121,963.34 | +0.08 |
| 40M | 7,064,257.09 +/- .20* | 7,064,257.06 | +0.03 |
| 80M | 3,598,169.5** | 3,598,169.73 | -0.23 |
* Error bar quoted is 1/2 the total peak-to-peak frequency excursion in the 2 minute test transmission.
** 80M results were compromised by a data handling problem. Precision is reduced, and an error bar could not be estimated.
WWV reported geomagnetic conditions Kp=2 and Ap=9 during the test.
The graphs at the right show the (almost) raw data measured on the 20 and 40 M bands. The 20 M signal strength was quite good, touching S9+10 dB, and the measurements appear largely free of statistical noise. The major feature is an sine-like variation that presumably reflects true changes in the signal data path. I believe that the "glitch" at the left is an artifact of an initial mis-adjustment of the radio. It was left out of the average calculation. (Ignore the "even samples" tag.)The 40 M signal was about S8, i.e. up to 16 dB weaker than on 20 M. This probably produced much of the short-period noise on the graph. However, we might also expect the ionosphere to produce more variability on the lower frequency.
For 20 and 40, we calculate a simple average frequency, after eliminating the initial points on 20 M. Note that we might have done better of we could weight the samples according to instantaneous signal strength. There are two sharp dips in the 40 M data that may well have arisen from deep signal fades. If they were eliminated, we would have a slightly higher frequency estimate, which would have increased our final error value.
Because of the problems with the 80 M data, there is no meaningful graph to plot for that band.
DISCUSSION
The final error (Measured - Actual) is under 0.1 Hz for the two fully analyzed bands, while the 80 M error is -0.23 Hz based on fewer data points. These are surprisingly good, leaving relatively little room for improvement given the "noisiness" of ionospheric propagation conditions. Presumably, we might get a somewhat better measurement if we had a longer test run, perhaps 5 or 10 minutes or more, or if we got lucky and had a period of super-stability in the ionosphere.
Sunday, July 02, 2017
Sad day at AA6E
My FlexRadio Systems model 6500 transceiver has gotten a serious bug, dropping frequency lock periodically. It may arise from operating with the GPS Disciplined Oscillator -- and summertime high ambient operating temperatures. Back to factory it will go.
The following crude video shows how this looks when listening to WWV (15 MHz). Problem tends to develop after high duty-cycle transmission (JT65 - 50 W) for a few minutes. It sometimes goes away if the radio is left in receive for a long while (10+ minutes).
Tuesday, August 18, 2015
First FreeDV on Flex 6500!
I'm giving an "SDR" talk in a few weeks, and I thought I should try out some new (to me) stuff. My Flex-6500 supports FreeDV as a built-in "waveform" app with some help from the Windows PC.
Nothing was happening on the magic frequency, 14.236 MHz, so on a lark I gave a call. To my surprise, I got a quick answer from Walter, K5WH, in Houston TX. The band was up and down, but he was 90% copy at least, and I seemed to make the grade myself!
FreeDV (FreeDV.org) is an open-source digital voice system, designed especially for minimal bandwidth communications on the HF bands. Voice fidelity isn't perfect, depending a little on current signal levels, but it's remarkably good for ~1.5 kHz (less than normal analog SSB).
Wednesday, June 03, 2015
Flex 6500: 11 M band opening
I thought I had seen band openings before, but this is what I saw with the new Flex 6500 this morning:
Tuesday, March 26, 2013
KX3 IQ & Python SDR
It's a work in progress, but here's a shot of my Python / wxPython / Numpy "panadapter" display for the Electraft KX3. The KX3 provides a very nice IQ output (wideband, quadrature audio), covering +/- 24 kHz around the VFO tuning frequency.
I have long been interested in building an SDR software backend using Python et al. Two principles: (1) You don't understand it if you haven't coded it, and (2) Python is the quickest and often best way to put together complicated software. It's most at home on Linux systems, but it is not hard to port most applications to Windows. (Not quite so easy to port: hardware-oriented stuff like audio and Ethernet.)
Like most "friendly" apps, you find that 95% of the work goes into the display and user interface. The numerical part is almost trivial, using Numpy:
The total code size is about 590 lines at this point.
I have long been interested in building an SDR software backend using Python et al. Two principles: (1) You don't understand it if you haven't coded it, and (2) Python is the quickest and often best way to put together complicated software. It's most at home on Linux systems, but it is not hard to port most applications to Windows. (Not quite so easy to port: hardware-oriented stuff like audio and Ethernet.)
Like most "friendly" apps, you find that 95% of the work goes into the display and user interface. The numerical part is almost trivial, using Numpy:
data = np.array(iqdata[::2] + iqdata[1::2]*1j)
z = np.roll( fft.fft(data), SIZEC/2) # place center freq in center
pwrwork = pwrwork + np.square( np.absolute(z) )
The total code size is about 590 lines at this point.
This application (kx3iq.py) is really a remote control app. I "beam" the IQ data from the KX3 via my Beagleboard XM and a UDP Ethernet stream to the Python app across the room, with Hamlib rigctld provide rig control. Using 16 bit 48 kHz sampling, that's a data rate of ~200 kB/s without any compression -- doable over most ISP's these days, if you want a long distance remote.
Friday, July 06, 2012
Software Defined Radio for Every Purpose
"Right now, most people probably couldn't imagine why they'd want software-defined radio hardware in their homes. But people said the same thing about microcomputers in the 1970s."Interesting overview of SDR vs the communications world at Ars Technica, featuring USRP and Phi.
Subscribe to:
Posts (Atom)









