Software Defined Radio

Contents

PowerSDR Software For Software Defined Radio I.F. Stage Use

Here is my first pass at writing software for Softrock lite users who are using the kit as an I.F. stage with a radio that is capable of being (CAT) computer controlled. I have taken a version of the PowerSDR  (v1.9.0) software and modified the source code. The PowerSDR software now communicates with the Ham Radio Deluxe or LP Bridge software to control and keep in sync with the radio being used. As long as Ham Radio Deluxe supports your radio (and it supports most all) - you should be able to use this software.

Here are the current features I added to the PowerSDR software:

  • Full tuning control from the PowerSDR software. You can changes bands, modes, frequency, click to tune from the panadapter, etc. as usual from the PowerSDR software and the tuning updates will be tracked by your radio in real time
  • Full tuning control from your radio. You can spin the VFO, change modes, etc. and the tuning updates will be tracked by the PowerSDR software
  • PowerSDR automatically mutes audio output when the radio goes  into TX mode. This allows you to still see the panadapter while in TX mode - unlike using the mute line on the Softrock lite kit to mute when going into  TX mode. This feature can be disabled by clicking the "MON" button
  • New menus added to the PowerSDR setup menu for Softrock IF Stage use
    • You can select the IF frequency by mode
    • You can offset the radio's VFO frequency from the PowerSDR's VFO frequency by mode
    • You can enter the frequency range of the external radio
  • PowerSDR window title indicates the model of the radio its connected to (ex. "WU2X PowerSDR/TS-940S IF Stage")
  • Additional soundcard support - larger buffer size supported and I/Q sample offset correction

I chose to use Ham Radio Deluxe to control the radio because its a well written piece of software with an easy to use, well defined, high performance interface for third party software interfacing that already can control almost every rig that supports CAT commands. There are plenty of radios out there such as the Yaesu FT-1000D, Kenwood TS-950SDX  and the Elecraft K3 that have IF outputs and support CAT control that can easily and cheaply pickup some modern features and performance that Software Defined Radio and the PowerSDR software has to offer. 

Telepost has released a SDR I/Q board specifically for the Elecraft K3 called LP-PAN . This can be used instead of a the Softrock kit. He plans to build LP-PAN versions for other common IF Frequencies, so if building a kit isn't your thing, this is another option.

I  have personally been using my Softrock lite kit with a Kenwood TS-940S and its been a great combination. The TS-940S has a buffered 8.83 Mhz IF output and has the ability to switch the AGC circuit off in SSB and CW modes - both necessary for good performance.  Figure 1 shows my setup.

Figure 1 - Softrock kit configured for IF use on a Kenwood TS-940S.

 

Getting Started

  1. Select an external rig control program. The currently supported rig control programs are:

    Ham Radio Deluxe  - To get started, you need to get the latest version of Ham Radio Deluxe (HRD ) installed and controlling your radio (if you haven't already!). HRD has very good documentation and a good support forum.   Please ask any questions about HRD in the HRD support forums. Make sure you have HRD correctly controlling your radio before you continue. My software depends on HRD working properly!

    -OR-

    LP Bridge - Get the latest version of LP Bridge installed and controlling your radio.  Make sure you have LP Bridge correctly connected to your radio before you continue. My software depends on LP Bridge  working properly! This program is currently geared towards the Elecraft K3. Its provides more features for the K3 than HRD does and is recommended if you are using the K3.



  2. Download and unzip the PowerSDR.zip  - OR-   run the PowerSDR.exe file (self-extracting zip file)  and extract the setup files into the directory of your choice. Then run setup.exe.
     
    (Click here to download)
    (Click here to download)
    (Source code - not needed for installation)

    If you are not already familiar with the PowerSDR software, then please visit the FlexRadio website to read about the setup. Step 1, skip downloading the PowerSDR software from the FlexRadio website as you just downloaded it above from my website. The "SDR-1000 Operating Manual" contains detailed information on the PowerSDR software usage.
  3. After installing the PowerSDR software, but before running PowerSDR, ensure that the rig control program you are using (HRD or LP Bridge) is running and connected to the radio you wish PowerSDR to interface with.
  4. Start up PowerSDR and run through the wizard - you can go back into the setup menu after the wizard runs to make any changes afterwards (i.e. if you have already selected different hardware). Select the "Softrock 40" as your radio model.

  5. Once you have started the PowerSDR software - if you are successfully connected to Ham Radio Deluxe or LP Bridge, you will see the type of radio you are controlling in the window title - see figure 3 for an example. If you do not see the radio model, then PowerSDR is unable to establish a connection to the rig control program. You will receive a pop up warning message when PowerSDR/IF Stage cannot establish a connection to the rig control program.  
  6. Enter the Setup menu (top left hand menu on PowerSDR menu). Click on the "General" tab and ensure that "Softrock IF Stage"
     Radio Model is selected. Also note Softrock center frequency is grayed out because this information isn't needed for IF use.

     
  7. Next click on the "Softrock IF Stage" tab. 

    Enter the IF (center) frequency to be used for each mode. Some calculations and a little trial and error are needed to find the exact IF center frequency needed for each mode.  The values depend on the type of radio used, mode, IF output frequency of the radio and the Softrock center frequency.  Figure 2. shows the IF conversions involved for my TS-940S and will serve as the demonstration for calculating required values.  

    Figure 2 - Frequency conversion from the IF output of rig to baseband.

     

    The IF output of the TS-940S is 8.83 Mhz. The center frequency of the Softrock is ~8.817 Mhz..  Since the Softrock lite converts the IF output to baseband, we need to calculate the frequency where the center IF output of the TS-940S falls on the baseband (green line).  We take the TS-940S center IF output and subtract the Softrock's center frequency:


    8.83 Mhz  -  8.817 Mhz  =  0.013 Mhz



    This gives us the ball park baseband IF frequency we must enter into setup menu for the IF Frequency for each mode. The IF frequency is entered into the setup menu in Hz, so we must convert Mhz to Hz.: 

    0.013 Mhz X 10^6 = 13000 Hz



    After you have entered these values into the setup menu, you will then need to tune in a strong signal where the exact frequency is known. For instance a local AM broadcast station, WWV or a signal generator will work.  Use the panadapter to view the strong signal and make corrections to the IF center frequency  for each mode to perfectly align the signal with the PowerSDR's VFO display.  Figure 3 shows the peak of the carrier of WWV centered right at 15 Mhz.

    Figure 3 -  WWV carrier centered @ 15 Mhz, the result of tweaking the IF center frequency.

    If your external radio is also a transmitter, you can put the radio into transmit mode and view the panadapter to make corrections to the IF center frequency. Given my setup above, I ended up with a value of 13950 Hz for LSB and 17000 Hz for USB, for example. If the IF output frequency of the radio is less than the center frequency of the Softrock kit, you will end up with a negative number. You specify a negative IF center frequency in  this case:

    (8.804 Mhz  - 8.817 Mhz) X 10^6 =  -13000 Hz


    The above  alignment is useful if you intend to use the PowerSDR for receiving and the radio for transmitting  - your received and transmit frequency will be aligned this way (make sure XIT/RIT and split mode is off on your external radio!).  If you wish to use a certain baseband IF frequency and do not care if the external radio's VFO matches the PowerSDR VFO, then you can choose to offset the radio's VFO to align the target RX frequency with a particular baseband IF frequency.  Enter the desired IF center frequency (default is 11025 Hz) and then enter the desired VFO offset for each mode.  

    Enter the frequency limits in Mhz of the radio you are controlling through HRD. 

    Select the default modes appropriate for your external rig for CW and DIG modes. This is radio dependent. For example, the Elecraft K3 would used CW-LSB and DIG-USB. The Kenwood TS-940S would use CW-USB.

    Finally, select the rig control program you will use. EIther "Ham Radio Deluxe" or "LP Bridge"

  8. Setup any additional soundcard tweaks necessary for your soundcard hardware. A higher buffer size is provided in this version than is available in the stock version of PowerSDR. This can reduce pops/clicks in the audio, but increases audio latency . Enter any I/Q sample offset correction needed for your soundcard. Note this is rarely needed.

 

s

Current State of the Software (Version 0.92) 

(Updated 7/28/2008)

  1. This is alpha software.
  2. I have not tested this software with a FlexRadio SDR-1000. I don't have one. As such, I don't know if I have introduced any bugs when you select the Flexradio hardware. You should not install this software over your existing installation of the PoweSDR Software if you are already using a SDR-1000/5000.  I will correct any issues I find, but see #1 again.
  3. The playback of a wave file is currently not working - you can't tune around while playing it back.
  4. I have tested this on a few machines, both Intel and AMD processors. I have used several different soundcards including a M-Audio Audiophile Firewire and a Roland FA-66 with good results.
  5. I used PowerSDR v1.9.0 SVN 1175 as my base.
  6. If you select a mode that isn't in the Softrock IF Stage menu (LSB,USB,CW,AM,FM), then the IF center frequency and the VFO offset will stay be the last "supported" mode you had selected..
  7. Certain controls should not be used - "Spur Reduction", "BCI Rejection" do not serve any purpose for the Softrock IF stage. No attempt has been made to disable or remove controls that may cause adverse effects.
  8. There are problems where the PowerSDR can't communicate with HRD if you have setup Windows to use something other than an English-US codepage. I thought this might have been my code, but I couldn't get it to work with a unmodified version of the PowerSDR software either, so I think this is a limitation inherit in the PowerSDR software.
  9. Setting the Windows process priority of the PowerSDR software to a setting higher than HRD can cause the two programs to get out of sync. This allows PowerSDR to send more updates to HRD than it can process. If you only tune with the radio then this is not a problem. If you click and drag the panadapter with the mouse, you will likely get the VFOs out of sync. Keep the process priorities equal if you change them 
  10. Auto calibration of  "Frequency", "Level" and "RX Image Reject" do not work. They just hang when you try to use them.

 

Release Notes, PowerSDR/IF Stage v0.92

    Notes

  1. This is alpha  software.
  2. PowerSDR/IF Stage v0.91  is based on v1.9.0 SVN 1175 

   New Features   

  1. Rig control program now selectable. Can choose between HRD (default) or LP Bridge
  2. On the audio setup menu, a buffer setting up to 4096 is now selectable
  3. On the audio setup menu, there is a setting to correct I/Q offset values
  4. Global IF Offset correction, allows for a global correction of all IF offset values. This is useful to correct for small frequency drift between the IF SDR RX and the rig being controlled across all modes after the IF Frequency for each mode has been established.
  5. Default modes for CW and DIG are now selectable. This means if CW mode is selected on the external rig, you can have it default to either CWU or CWL mode in PowerSDR/IF Stage. Ditto for the DIG modess
  6. LP Bridge supports one additional feature beyond HRD - LP Bridge sends IF Frequency information to PowerSDR/IF Stage automatically. Any value entered in the softrocjkIF Frquency setup menu is added to the IF frquency sent by LP Bridge along with the global IF fresquency value!  See LP Bridge documention for the full set of additional function provided by LP Bridge
  7. PowerSDR/IF Stage will now synchronize its frequency  and mode to the external rig's frequency and mode when it initially connects - instead of the reverse where the external rig's frequency and mode would switch to PowerSDR frequency
  8. VFO frequency does not shift for the CW pitch when changing between SSB and CW modes. The default behavior of PowerSDR was to offset the VFO frequency readout by the CW pitch when toggling between SSB and CW modes

    Bug Fixes

  1. IF frequency values up to +/-96000 can now be entered in the setup menu (needed for the Elecraft K3 Softrock)
  2. PowerSDR/IF Stage doesn't attempt to connect to rig control program until power button is pressed and will only try to reconnect once every 5 seconds
  3. Toggling standby button will reconnect to rig control program.  Selecting a rig control program will also reinitialize the connection to the rig control program.
  4. Initial values for these settings have changed-  Default IF Frquencies are now zero - Default max frequency changed to 54Mhz.
  5. Miscellaneous performance improvements and fixes

Release Notes, PowerSDR/IF Stage v0.91

    Notes

  1. This is alpha  software.
  2. PowerSDR/IF Stage v0.91  is (still) based on v1.9.0 SVN 1175
  3. I have started support for radios that invert the IF output above a certain frequency (like the Elecraft K2). You will set a frequency that you wish the PowerSDR/IF Stage  to swap the I/Q Channels at. When you are greater than or equal to the specified frequency, it will automatically swap the I/Q Channels. This support is unfinished because I need to create another IF entry table on the setup menu for when the I/Q channels are swapped. I was hoping that I would just need to take the current IF settings entered by the user and switch the sign of the IF Frequency if the I/Q was swapped, but K2 user's are reporting the IF setting needs to be custom set when the IF inverts. The behavior now is that it will invert the sign on the specified IF frequency when it swaps the I/Q (i.e. if the IF is 13950, when it swap I/Q, it will then use -13950).  

   Bug Fixes

  1. Band buttons now work properly.
  2. You can now enter a negative value for the IF frequency in the setup menu.
  3. Frequency limits and IF frequency is now honored when you first start the problem. There was a bug where until you would alter a value in the menu with the program already running, the value didn't actually take effect.
  4. The "Display" window will now only show frequencies that are in your total passband, according to the current sample rate set. There was a bug where the display was showing frequencies outside of the passband. You could see signals at these frequencies, but these were actually phantom
    signals that were occurring at a higher frequency within the passband.
  5. Miscellaneous performance improvements and fixes

Bug Reporting

Please report any issues or bugs you find in version 0.92 here . Click here to email . Please include as much relavant information as you can in the email.

PLEASE DO NOT REPORT BUGS ON THIS SOFTWARE TO FLEXRADIO SYSTEMS. PLEASE DO NOT USE THE FLEXRADIO REFLECTOR TO DISCUSS ISSUES RELATED TO THIS SOFTWARE.  If a need arrises for a forum, I will create one, but it would not be fair to use the FlexRadio reflector with topics related to this software.

 

Future Versions

I am now tracking all bugs and feature requests on this website . You will need a Google userid to open a feature request or bug report. I intend to track all future work done to PowerSDR/IF Stage via the Google code project website.

Older Versions

Here are previous versions of the software. Please use the newest version of the software if you are just starting out.  

(Click here to download)
(Click here to download)
(Click here to download)

(Click here to download)
(Click here to download)
(Click here to download)

IAcknowledgements

First off, I would like to thank Tony Parks, KB9YIG, for developing and producing the Softrock line of SDR kits. Building the stand-alone RXTX and the lite kits to interface with my TS-940S has been one of the most rewarding projects I have done in ham radio. The Yahoo! forum is very active and a good place to get started.  Second, thanks to FlexRadio Systems for releasing the PowerSDR software source code under the GNU General Public License (GPL). Also thanks to Eric Wachsmann of FlexRadio Systems for practically instantaneous email responses to any question I could throw his way. Lastly, thanks to Simon Brown, HB9DRV, for producing Ham Radio Deluxe. I consider this to be the definitive logging and rig control program out there. His well designed third-party interface allowed quick interfacing of PowerSDR with any rig that supports CAT control. I think the true spirit of ham radio is alive and well! 

 


 

Welcome | Software Defined Radio | Photos 
Copyright © 2007 WU2X All rights reserved.