Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR, Power Genius, Tuner Genius and Antenna Genius Software?
SmartSDR v3.8.19 and the SmartSDR v3.8.19 Release Notes | SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
SmartSDR v1.12.1 and the SmartSDR v1.12.1 Release Notes
Power Genius XL Utility v3.8.8 and the Power Genius XL Release Notes v3.8.8
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
SmartSDR v3.8.19 and the SmartSDR v3.8.19 Release Notes | SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
SmartSDR v1.12.1 and the SmartSDR v1.12.1 Release Notes
Power Genius XL Utility v3.8.8 and the Power Genius XL Release Notes v3.8.8
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
ARRL FMT -- getting the most accurate frequency
Steve-N5AC
Community Manager admin
Tonight is the ARRL Frequency Measuring Test (FMT) where you can test your skills, and the capabilities of your radio, measuring an on-air signal with the best accuracy you can muster:
http://www.arrl.org/frequency-measuring-test
The FLEX-6000 radios are well suited to perform in the challenge, but there's some important information you should know before having a go at it. I apologize in advance that this will not be a complete "how to" guide and I hope that some others may be able to answer questions on what I've written as they arise. I've been meaning to post this for several weeks and just haven't had the time.
In a direct sampling radio like the FLEX-6000, there is an Direct Digital Synthesizer (DDS) or Numerically Controlled Oscillator (NCO) performing the tuning of receivers in the digital domain. In the FLEX-6000, there is a complex set of DDSs and mixers that control the final output frequency of the radio. We've not previously exposed how all this works in the radio and so the opaqueness of this part of the radio makes competing in the FMT hard. So this post will provide enough information to get a much more accurate measurement for those that are interested. The capabilities here were developed for a government customer of ours and have been shown to get frequency results within a few hundred microHertz (yes, microHertz). It is important to point out that doppler shift in the ionosphere and other considerations will affect your on-air accuracy, but the FLEX-6000 should get you closer that any other amateur radio I know of.
Note that for best results, you will need to have a FLEX-6500 or FLEX-6700 with either the on-board GPS option or a 10MHz reference that is derived from a GPS locked oscillator (or cesium, rubidium, hydrogen maser, etc). A FLEX-6300 will simply not have the same level of accuracy, but you can have a go after using the WWV calibration built into the radio. Incidentally, if you are using a FLEX-6500 or 6700 that is locked to a reference, ensure that you have your frequency offset setting set to ZERO.
THEORY
When a DDS is tuned, it is supplied with a frequency tuning word (FTW). The frequency tuning word is limited to a set number of bits and most of ours in the radio are 30-32 bits. Every frequency cannot be represented with 32 bits, of course, and the error in any given DDS can be calculated by taking the sampling radio divided by 2^<# of bits>. In our case, this would be 245,760,000 / 2^32 = 57.22mHz (millihertz). This means that the radio can be off as much as 57mHz at any time. Some changes were made a few months ago that limit this to +/- 28.61mHz (SmartSDR v1.10.9 and later). In addition, a new API command was added that will actually report the error for both the receiver and transmitter:
http://wiki.flexradio.com/index.php?title=TCP/IP_slice#GET_ERROR
So you can tune a receiver and then connect to the radio using the API and request the error. Then you can use available software to measure the audio frequency of a tone in your passband and make the adjustment provided by the get_error command. Details on using the API are beyond the scope of this quick posting so you'll have to look around to get that information. The short version is that you find your radio's IP address, use a telnet client to telnet to it and then issue the get_error command after you've tuned your slice receiver.
I hope this helps someone use the FLEX-6000 in the FMT and I'd be glad to answer questions as I have time. Again, our military customers use this to get within a couple hundred microHertz so you should be able to do very well in the FMT by applying this information.
http://www.arrl.org/frequency-measuring-test
The FLEX-6000 radios are well suited to perform in the challenge, but there's some important information you should know before having a go at it. I apologize in advance that this will not be a complete "how to" guide and I hope that some others may be able to answer questions on what I've written as they arise. I've been meaning to post this for several weeks and just haven't had the time.
In a direct sampling radio like the FLEX-6000, there is an Direct Digital Synthesizer (DDS) or Numerically Controlled Oscillator (NCO) performing the tuning of receivers in the digital domain. In the FLEX-6000, there is a complex set of DDSs and mixers that control the final output frequency of the radio. We've not previously exposed how all this works in the radio and so the opaqueness of this part of the radio makes competing in the FMT hard. So this post will provide enough information to get a much more accurate measurement for those that are interested. The capabilities here were developed for a government customer of ours and have been shown to get frequency results within a few hundred microHertz (yes, microHertz). It is important to point out that doppler shift in the ionosphere and other considerations will affect your on-air accuracy, but the FLEX-6000 should get you closer that any other amateur radio I know of.
Note that for best results, you will need to have a FLEX-6500 or FLEX-6700 with either the on-board GPS option or a 10MHz reference that is derived from a GPS locked oscillator (or cesium, rubidium, hydrogen maser, etc). A FLEX-6300 will simply not have the same level of accuracy, but you can have a go after using the WWV calibration built into the radio. Incidentally, if you are using a FLEX-6500 or 6700 that is locked to a reference, ensure that you have your frequency offset setting set to ZERO.
THEORY
When a DDS is tuned, it is supplied with a frequency tuning word (FTW). The frequency tuning word is limited to a set number of bits and most of ours in the radio are 30-32 bits. Every frequency cannot be represented with 32 bits, of course, and the error in any given DDS can be calculated by taking the sampling radio divided by 2^<# of bits>. In our case, this would be 245,760,000 / 2^32 = 57.22mHz (millihertz). This means that the radio can be off as much as 57mHz at any time. Some changes were made a few months ago that limit this to +/- 28.61mHz (SmartSDR v1.10.9 and later). In addition, a new API command was added that will actually report the error for both the receiver and transmitter:
http://wiki.flexradio.com/index.php?title=TCP/IP_slice#GET_ERROR
So you can tune a receiver and then connect to the radio using the API and request the error. Then you can use available software to measure the audio frequency of a tone in your passband and make the adjustment provided by the get_error command. Details on using the API are beyond the scope of this quick posting so you'll have to look around to get that information. The short version is that you find your radio's IP address, use a telnet client to telnet to it and then issue the get_error command after you've tuned your slice receiver.
I hope this helps someone use the FLEX-6000 in the FMT and I'd be glad to answer questions as I have time. Again, our military customers use this to get within a couple hundred microHertz so you should be able to do very well in the FMT by applying this information.
8
Comments
-
Thanks Steve. Man, this is making me regret not getting the GPSDO option, but the good news is I can always acquire one later on. This is my first FMT, as I didn't have a rig capable enough. Now I do.0
-
I can't even get to the ARRL site currently... anyone else having an issue or is it just me?
Thanks0 -
Looks like arrl.org is down right now.0
-
3
-
Thanks I just got in... I have plenty of time does not start till 8:00 pm EDT or 00:00 UTC0
-
Ria, thanks for posting isup.me You are a gift that just keeps giving!
1 -
So, since I am new to this and excited to give it a shot, what exactly am I listening for? is this a simple CW tone, a SSB transmission tone, a beacon, what?
Like just now there was some weird looking pulsing signal at about 14.097.900
Thanks0 -
Ria, you can do it with a 6300 and be darn close. It just means you'll have to work at it a bit, while the others will just **** another ****!
I'm doing it the old fashion way with the FMT code that comes with WSPR.
730 -
ARRL is back up, but there is a call on each frequency in succession followed by a 2-minute CW tone. Then they switch frequencies. Details on the ARRL site since it's now back up.0
-
Hi Ria thanks for the link Does it do more than just ping the site?
roger
0 -
I believe it uses servers in different part of the country (may be AWS, I'm not sure) and tries to curl the site. PING is unreliable as many sites block ICMP traffic for security reasons.
There are a few many others
http://downdetector.com
http://www.isitdownrightnow.com/
http://currentlydown.com/
etc etc
Basically a lot of bored/creative programmers etc who like creating useful things for public consumption.
AND it's not limited to websites. There are toolbars, browser extensions, and even access via REST APIs.
Ever wondered what your favorite website is running? This is an oldie but goldie:
http://toolbar.netcraft.com/site_report
Since I run a large website as my day job I spend half my day looking for tools to make my life easier (or I write my own when I don't find them).0 -
Steve,
I am assuming that all 6700 will have the same offset when tuned to the same frequency. I tried to use TELNET to use the get_error command; but have been unsuccessful so far. This is my first time trying to use the API. Just out of curiosity, I used the following frequencies:
14.120 USB
7.063 USB
3.597 USB.
I used those as the base frequency and measured the frequency of the tone with a frequency counter locked to the GPS 10 MHz.
Chances are very good that others may have used the same frequencies. If you get a chance, could you please post the error for those frequencies if you have the time.
Thanks,
Tim K8XS0 -
You have to telnet to the command channel which is port tcp/49920
-
Tim,
I got that far. At the telnet prompt, I issue the command o 192.168.1.10 4992
(where 192.168.1.10 is the IP of my 6700) . This opens a connection with the 6700 and the responds with a boatload of status information. It appears that each item of status is separated by a LF character and not a CRLF because the data just scrolls across my telnet window and drops to the next line (without a return to column 1) for each new status item. After that and with the 6700 being tuned to the frequency of interest, I issue the command c21|slice get_error 0 CRLF to get the error for slice 0 and the terminal just hangs there. It appears that I get no response. At this point, I am stuck. Over.0 -
What version of SmartSDR is in your radio? Also no one can provide you with the information because it will vary based on the path that you got to your current configuration.0
-
I am running V 1.10.15.43 labeled as Beta 1.10.15. I just noticed that 1.10.16 is available.
Interesting that the value changes based on how you got there. I noticed something else that was interesting. I thought that even if I could not use get_error, I could measure the error. I used two different signal generators ( a Rhodes and Schwarz and a PTS) that were locked to the same GPS 10 MHz reference as the radio and frequency counter. I set the 6700 to a frequency that I used in the FMT. I then set a sig gen to a frequency 1kHz higher than the radio. That should get me a 1kHz tone when the radio is set to USB. I ran the test and I was getting what seemed to be reasonable results. I measured something like 18.6mHz on one frequency and 23.4 mHz on another , etc. The thing that seemed to give the values credibility was that I got the same answer regardless of the signal generator I used. Then for some reason, I resized the SmartSDR window. Well I was quite surprised to see that the value on the frequency counter changed. I had not changed the radio tuning or the sig gen setting but the 1kHz tone changed in value. Not by a lot. Maybe on the order of a couple of mHz or 10s of mHz. So, there must be something else going on that I do not understand.
Steve, thank you for your time.0 -
Yes there's a whole set of sliding windows that set the frequency and the get_error checks all of these and reports the exact offset. And change in the panadapter or receiver may invalidate the data and you'll have to ask again. Did you get the get_error to work? I believe it's in everything after v1.10.90
-
Running 1.10.16. This is what I get
C:> telnet
Welcome to Microsoft Telnet Client
Escape Character is 'CTRL+]'
Microsoft Telnet> o 192.168.1.10 4992
Connecting To 192.168.1.10...
V1.2.0.0HA07786D6
M10000001|Client connected from IP 192.168.1.11
SA07786D6|radio slices=7 panadapters=7 lineout_gain=66 lineout_mute=0 headphone_gain=47 headphone_mute=0 remote_on_enabled=0 pll_done=0 freq_error_ppb=0 cal_freq=10.000000 tnf_enabled=1 snap_tune_enabled=1 nickname=FLEX-6700 callsign=K8XS binaural_rx=0 full_duplex_enabled=0 band_persistence_enabled=1 rtty_mark_default=2125 enforce_private_ip_connections=1
SA07786D6|radio filter_sharpness VOICE level=3 auto_level=0
SA07786D6|radio filter_sharpness CW level=3 auto_level=0 SA07786D6|radio filter_sharpness DIGITAL level=3 auto_level=0 SA07786D6|radio static_net_params ip= gateway=nettmask= SA07786D6|interlock timeout=0 acc_txreq_enable=0 rca_txreq_enable=0 acc_txreq_polarity=0 rca_txreq_polarity=0 tx1_enabled=1 tx1_delay=0 tx2_enabled=1 tx2_delay=0 tx3_enabled=1 tx3_delay=0 acc_tx_enabled=0 acc_tx_delay=0 tx_delay=5 SA07786D6|client 0xA07786D6 connected c21|slice get_error 0
I get no response0 -
Can you download PuTTY and try using it? You should always get a response back -- if for no other reason that to tell you that your command was received and doesn't mean anything to the radio. I used this command on my mac to access the radio:
screen telnet 192.168.1.58 4992
Here's my output:Trying 192.168.30.58...Connected to 192.168.1.58.
Even the last command that is gibberish gets a response. If you get nothing back, there's a problem with what the radio is (isn't) seeing from your client. There's also a setting in PuTTY that allows you to specify how <LF> or <CR><LF> are handled that will make everything appear in a single line.
Escape character is '^]'.
V1.3.0.0
H86C07A9A
M10000001|Client connected from IP 192.168.1.67
S86C07A9A|radio slices=7 panadapters=7 lineout_gain=46 lineout_mute=0 headphone_gain=50 headphone_mute=0 remote_on_enabled=0 pll_done=0 freq_error_ppb=0 cal_freq=15.000000 tnf_enabled=1 snap_tune_enabled=1 nickname=N5AC_Dev callsign=N5AC binaural_rx=0 full_duplex_enabled=1 band_persistence_enabled=1 rtty_mark_default=2125 enforce_private_ip_connections=1
S86C07A9A|radio filter_sharpness VOICE level=2 auto_level=1
S86C07A9A|radio filter_sharpness CW level=2 auto_level=1
S86C07A9A|radio filter_sharpness DIGITAL level=3 auto_level=0
S86C07A9A|radio static_net_params ip= gateway= netmask=
S86C07A9A|interlock timeout=0 acc_txreq_enable=0 rca_txreq_enable=0 acc_txreq_polarity=0 rca_txreq_polarity=0 tx1_enabled=1 tx1_delay=0 tx2_enabled=0 tx2_delay=0 tx3_enabled=0 tx3_delay=0 acc_tx_enabled=0 acc_tx_delay=0 tx_delay=0
S86C07A9A|eq rx mode=1 63Hz=10 125Hz=10 250Hz=10 500Hz=10 1000Hz=10 2000Hz=10 4000Hz=10 8000Hz=10
S86C07A9A|eq rxsc mode=1 63Hz=0 125Hz=0 250Hz=0 500Hz=0 1000Hz=0 2000Hz=0 4000Hz=0 8000Hz=0
S86C07A9A|client 0x86C07A9A connected
c1|slice get_error 0
R1|0|+19.073483,+9.536743
c1|jkdhsf sdkhf ksldf
R1|50000015|
0 -
Steve,
I used my MAC and it worked perfectly. Thank you very much.
73,
Tim K8XS
0 -
Also used PuTTY and it worked fine. There must be something I am not setting in the Microsoft version. Thanks Steve. Another satisfied customer!!0
-
Thanks for the hint, Steve.
I had never thought about "puttying around" the 6500!
I tested a few simple commands with success.
I didn't realize exactly how easy it was to send TCP/IP commands via Telnet.
I have programmed information exchanges for the MIDI Control project that got stalled, but This has convinced me even more that all I need to do is learn enough to open up and read a serial port and a TCP port and I should be able to write a basic MIDI controller interface in C#. Perhaps a summer vacation project.....0 -
Any opinions re recommended/favorite windows programs for measuring the audio frequency of the tone in the passband? Thanks.
And, thanks to Steve for posting the FMT info. Looking forward to the next FMT.
73, Tom
K1FR0 -
Steve,
I had some trouble with no response to c21|slice get_error 0 in telnet and PuTTY on
win7
Even after connecting to the radio on its local address and the correct port.
Just now tried PuTTY on win10 64bit.
Connected OK but no response on slice 0.
Though running on Slice A in one panadapter on the Maestro the initial screen reported 3 panadapters and 3 slices.
After bit of lateral thought I tried slices 1-4.
Got a response on slices 2 and 3 of R1|0| +0.000000, +8.010864
Slice A 1.8366 MHz running WSPR.
No response for slices 0, 1 or 4 (know that for the 6500 there is no 4)
However c21|slice list (not l) returns R21|0|0
So no response if the slice numbers are wrong.
My radio must be a bit confused!
Why are RX and TX different?
Is there a simple math way of mapping any decimal frequency to an integer binary FTW?
Andrew VK5CV0 -
Congratulations to the Flex community for a good showing, overall. Many who used 6500/6700 radios achieved < 1 Hz accuracy with many under 0.1 Hz. Results are available by Googling "ARRL FMT Results"0
-
0
-
I wasn't able to make it. Was it possible to test 2 meters as well? My 6700 is WAY WAY off on 2 meters.
0 -
I used my 6300 and DM 780. Before the contest I tuned WWV on 2.5, 5.0, 10.0 and 15.0 and offset my USB tuning by 500 hz to watch the beat tone on DM 780. That worked pretty good but I found that the calibration setting required varied a great deal from band to band. Can you explain why that would be?
Below is the chart I used to set my calibration in the FLEX S/W before each part of the FMT. I got pretty good results, under 1 HZ on 40 and a little over 1 HZ on the other bands.
The ppb numbers for the WWV freqs are exact numbers I discovered for those freqs and the other numbers are interpreted.
Freq ppb
2.5 9000
3.8 6750 80 mtrs
5.0 4500
7.5 3400 40 mtrs
10.0 2300
12.5 1950
15.0 1600 20 mtrs0 -
This is my first FMT and by dumb luck was within 0,38, 0.02 and 0.09. I had the 20 meter freq but due to Operror overwrote it, otherwise had a shot at the "green box". With Steve's information about the milli-hertz read_error API and this experience hope to do better in Nov.
k3Tim/6
0 -
The test was on 20, 40 and 80m only.0
Leave a Comment
Categories
- All Categories
- 289 Community Topics
- 2.1K New Ideas
- 536 The Flea Market
- 7.5K Software
- 6K SmartSDR for Windows
- 146 SmartSDR for Maestro and M models
- 360 SmartSDR for Mac
- 250 SmartSDR for iOS
- 231 SmartSDR CAT
- 172 DAX
- 353 SmartSDR API
- 8.8K Radios and Accessories
- 7K FLEX-6000 Signature Series
- 30 FLEX-8000 Signature Series
- 851 Maestro
- 44 FlexControl
- 847 FLEX Series (Legacy) Radios
- 799 Genius Products
- 417 Power Genius XL Amplifier
- 279 Tuner Genius XL
- 103 Antenna Genius
- 243 Shack Infrastructure
- 166 Networking
- 404 Remote Operation (SmartLink)
- 130 Contesting
- 632 Peripherals & Station Integration
- 125 Amateur Radio Interests
- 873 Third-Party Software