Showing posts with label Flex. Show all posts
Showing posts with label Flex. Show all posts

Monday, April 09, 2018

Frequency Measurement Test

The old way: BC-221 meter
April 6, 2018 was my second attempt at the ARRL Frequency Measurement Test in which amateurs are invited to measure the exact frequency of a test signal transmitted from a central site. The first time, years ago, I came out OK with a manual procedure using my old TenTec Orion radio, carefully calibrated against the US NIST Time and Frequency Station WWV. Measurement accuracy depended on an imprecise estimate of the WWV calibration compounded by an imprecise measurement of the W1AW test signal.

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.

Friday, February 23, 2018

GPS is Looking Up

GPSDO unit in Flex 6500, cover removed

Flex 6500 GPSDO attachment area
This is a bad news, good news story.  Last year, I purchased the GPS Disciplined Oscillator (GPSDO) option for my Flex 6500 transceiver. This is meant to be a user-installable device that receives the GPS signal (1.2 - 1.5 GHz), derives very accurate time (UTC) and frequency (10 MHz) for use by the transceiver.  And, of course, it reports your geographical position (latitude, longitude, and height above sea level) and speed.

As you can see from the photo, the GPSDO appears to be based on custom version of a Jackson Labs GPSOCXO (Oven Stabilized Crystal Oscillator) module.  It's the green board that attaches to a blue Flex-produced interface board. The GPSOCXO specifications are available as a PDF, while general information is here.

I am now on my third GPS unit.  The first was a "reconditioned" unit, because new units were then in short supply.  It never worked for me -- it would not detect satellites.  Flex then supplied another unit, which worked well.  It detected satellites, locked up, and appeared to deliver good frequency stability. But, over time, it grew hard of hearing.  It dropped out of lock more and more and finally would not lock at all, though it continued to supply 10 MHz in "holdover" mode.

GPS Status, SSDR software
Fortunately, my unit failed just before the warranty period expired, so I was able to get a replacement without (financial) trouble.  Now my third (and hopefully last) unit is perking along. The good news!

Currently, I use the Flex-supplied simple "patch" active antenna attached to a nearby west-facing window.  Typically, I track 7-8 satellites out of 10-11 "visible".  We might be able to squeeze out more performance by installing a larger outdoor antenna.


Why use GPS?

The standard Flex TCXO is fine for nearly any application in the HF/6 bands.  So why go for GPS?  Because it's there.  Because, as an erstwhile VLBI radio astronomer, I am interested in time and frequency standards.  (See time-nuts.)

There's a good case to use GPS stabilization for VHF/UHF/microwave work, where oscillators are typically locked to a high harmonic of a 10 MHz standard.  A portable GPS time standard is also useful for operating modes like JT65 or FT8 that require it.  (Although, with care, WWV's HF time signals are also good enough.) Unfortunately, Flex does not yet offer time synchronization services for the radio shack.  Maybe in the future.

Note added: So after 24 hours of operation, we lose lock.  Of course there's a light cold rain and heavy overcast.  Hoping it's the weather.  (But my cell phone GPS is working fine...)

More: It's looking like this was a connector problem.  (Electronics troubles often are.) If you look at the attachment area photo (here enlarged), you will notice the 10 golden spring terminals.  These touch gold-plated tabs on the GPSDO PC board.  They provide all the power and computer signalling. It's not apparent in this photo, but if you look edge-on with a magnifier, you might notice that the tiny springs are not all in perfect alignment vertically.  It seems that one or more of them were not making good contact.  (The PC board screws down on the alignment posts, and the contact pressure has to be "sufficient" -- whatever that may be.) After a little fiddling with a tiny screwdriver, along with an alcohol cleaning, the GPSDO seems to be back in operation.  For good measure, I also replaced the RF input cable.

We will see if things are now stable. It  has been OK for 12 hours! I have to say that the GPSDO-to-mainboard connection system is not the most robust.  It looks like we had a marginally OK connection at first, which degraded after some temperature cycling or minor vibration. A traditional connector (with pins and sockets) would have been much more reliable, though a bit more expensive and less elegant.

It's possible that all this last year's GPS travails came down to that connector, but I can't be sure.

Yet more: After the connector fix, the GPSDO seems to be much healthier, but we were still experiencing occasional drop-outs (loss of sync).  Moving the antenna outdoors seems to make a big improvement.   The view is much less obstructed.  I've made a stab at a weather-tight case for the little biscuit antenna using a large size prescription container and taped the whole thing to a nearby mast at about 5 ft elevation.  We seem to be getting good sync about 10 minutes after a warm start, which is a lot better than before. 

Sadly, the Flex module does not give any direct indication of GPS signal strength.  There is also no way to log loss of sync events.  Maybe this is a good time to start writing Python code to access GPS status from the radio via TCP/IP. I would like to log performance for a few days as a final system check.

Monday, October 02, 2017

A little NUC on my desk


When my 8 year old computer, home built with a Core i7-920 processor, began freezing up randomly, a new generation computer was in order.  The only application I normally use that takes significant computing power is FlexRadio's Smart SDR for Windows that needs to control the Flex 6500 SDR transceiver.

Recent SSDR versions are much less demanding than they used to be, so maybe I could make do with a "downgrade" to a Core i5 system.  Intel processors divide broadly between "i3" (dual core), "i5 (dual core, with hypterthreading yielding 4 threads), and "i7" (quad core, 8 threads).  Of course, the later chips ("generations") in each category will be a lot more powerful than the earlier ones.

After some debate, I selected a Intel NUC (next unit of computing) tiny computer configuration in "kit" form.  You need to supply your own SSD (solid state disk) or hard drive and your own DDR4 RAM.  The NUC is available in quite a few versions, but I ended up with the Intel BOXNUC7I5BNH kit, which is a "7th generation" i5 box with room to add a 2.5 in. SSD or HD.

I installed a Samsung 960 EVO Series - 250GB PCIe NVMe internal SSD, which uses the (relatively) new M.2 interface and leaves the 2.5 in. bay free for the future.  Two 4GB DDR4 RAM chips complete the kit.  Assembly is trivial, if you're at all familiar with computer innards. Installing Windows 10 Home from a USB memory stick was quick. Transferring data and software from the old system was simplified by staging files onto an external USB hard drive.

After all that, we have a very fast little computer.  The Passmark benchmark comes out at 3,644, which is roughly 60% of the score of the old i7-920 with GT640 graphics -- but with half the cores and only on-chip graphics.  The NUC is happy to drive my two HDMI displays, although the second display requires a Thunderbolt/USB-C to HDMI adapter cable.  SSD I/O performance is blazing!

But what about Flex SSDR?  That's the primary app for this computer -- when I'm not using the Flex Maestro controller.  Here are some results:

Panadaptors |
window size |
CPU utilization |
Network Mb/s
1
1/4
15%
2.4
1
full
20%
2.7
4
full
33%
6.0
4*
full
44%
9.4
4*
1/4
36%
7.2
(* maximize spectrum frames per second and waterfall rate)

The worst case CPU load (44% across the 4 i5 threads) seems to be a comfortable number.  The Flex 6700, on the other hand, with its maximum 8 panadapters might have trouble, if that's your operating style.

The NUC handles the required load with capacity to spare.  It uses much less power to run and has only about 1/60 the volume of the old system, fitting easily on the desk.

Thursday, August 24, 2017

Flex Remote @ ARRL HQ


After a false start or two, we finally have Flex Radio's Version 2 SSDR software running.  It enables easy internet remote operation from wherever, using my Flex 6500 radio installation at home and the Maestro controller.

My first successful test was using an "outside" test internet connection via my Nexus 5X cell phone in "tethering" mode, while I was still at home.  It was convenient to have both local and remote sides of the connection on my operating desk.  (With my data plan, I estimate the hourly running cost for remote service is about $6/hour with standard settings and not minimizing bandwidth.)

Today, we are set up in the ARRL headquarters site in Newington CT, about 40 miles from home as the crow flies.  Everything seems to be working well.  "59" reports from Switzerland and Spain.

At home, I have the Flex 6500 controlling the tuning of my SteppIR 3-element beam (fixed on Europe), so I can remotely operate from 20 meters down to 6 meters.  Unfortunately, there is no remote pointing control -- yet.  Also, no integration with digital modes or my logging system.  One step at a time.

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).


Saturday, August 06, 2016

Windows 10 "Anniversary Update" & Ham Radio

There are 3 Windows 10 systems in the house.  I chose the least important one (a Toshiba laptop) to be the first sacrifice for the latest Microsoft update.  These updates are big deals.  This one took nearly 2 hours start to finish, and it had me go through the new installation checklist to decide what data gets shared with Redmond.  (I generally minimize that, hoping to keep a smidgen of privacy.)

The good news, apart from the long waiting for things to complete, is that my laptop is back to what it was before. Supposedly, there are benefits in the user interface -- more Cortana, etc., but they can be ignored fir the time being.

The truly worrying part of Windows evolution is that MS is asserting ownership of my data and my computing life in more and more ways.  In the name of "convergence", my PC is morphing into a cell phone, and I find myself slipping into the MS walled garden.  Why, it's enough to keep me on Linux for most of my work!

Unfortunately, I do need to keep Windows around for my Amateur Radio operations -- running the Flex 6500.  That is my "big" computer.  It will be the last one to be updated, given that the Flex software may need special TLC when there's a major Windows update.

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:



Wednesday, January 14, 2015

FlexControl for Linux+ #hamr

Lately I've been on the air with a FLEX-6700 from FlexRadio Systems.  It's a great rig, but that's a story for another day.

Today's subject is the beautiful FlexControl, which is a "USB Knob" ($99.99).  It is designed as an adjunct input device for the Flex software defined radios, for users who need something more traditional than mouse-based pointing and clicking for tuning and managing a radio.

The product is provided for SmartSDR for Windows, the principal interface program for the Flex 6000 series.  It has a great feel, and it has 3 nice buttons and status lights. SmartSDR provides a Windows driver to work with the FlexControl.

So that's fine, but I'm mainly a Linux guy.  For unfortunate but understandable reasons, Flex only provides Windows control software.  What does the FlexControl look like when plugged into a Linux system?  I could not find any documentation.

With help from Wireshark and VirtualBox, we can do some reverse engineering.

The FlexControl is recognized by Linux (Ubuntu 14.04, but probably most other versions, too).  It appears as /dev/ttyACM0 on my machine. "ACM" signifies that this is a CDC_ACM device.  That category is loosely based on ancient Hayes modem interfaces, but don't worry about that!  Really, it just emulates an old-fashioned serial I/O connection at 115 Kbps.

You can set up minicom or any other Linux program to talk to this device.  The only remaining question is the protocol.  It turns out to be simple.  No surprise, this is a simple device.  The scoop:

Sending from FlexControl to host:
All commands terminate with ';' (no returns or line feeds)
U; - knob CW (single tick) -- U02; U03; U04; etc - multiticks
D; - knob CCW (single tick) -- D02; D03; D04; etc - multiticks
S; - short press, main knob
L; - long press, main knob
C; - fast double click, main knob


The fast knob codes reflect multiple encoder ticks between USB polling times, so the knob should be able to keep track of fast spinning.  (Alas, SmartSDR will not always keep up so well.)

XnS; - normal press, key n=1,2,3
XnL; - long press
XnC; - fast double click

e.g. 
   U; (frequency up one tick)
   X2S; (normal press, button 2)

Sending from host to FlexControl:


Ixyz;  where x,y,z = 1 or 0 for LED 0, 1, 2 on or off
e.g.
   I001; set right hand LED on
   I000; set all LEDs off

   I111; set all LEDs on

Note that SmartSDR for Windows only uses a fraction of the FlexControl's button capability.

See a simple Python program to illustrate how to communicate at http://aa6e.net/wiki/FlexControl. 

[Added 4/24/2023: That link has gone dead.  A copy of the old file can be found at http://web.archive.org/web/20150226074911/http://aa6e.net/wiki/FlexControl. Note that the code is written in version 2 Python.  It will need updating for version 3.]

The FlexControl should be very useful for all kinds of DIY software projects.  Connect it to your Raspberry Pi, your Arduino, your Linux PC for any kind of control project! (There are cheaper USB based controllers available -- for games, etc., but few have the right "ham" esthetics IMO.)

Maybe FlexRadio or one of the designers (K6TD or K6TU) would have divulged the same data if they were asked nicely, but it was more fun to work it out on my bench.