Software Defined Radio
A Software Defined Radio (SDR) system is a radio communication system where components that have typically been implemented in hardware (e.g. mixers, filters, amplifiers, modulators/demodulators, detectors. etc.) are instead implemented using software on a personal computer or other embedded computing devices. While the concept of SDR is not new, the rapidly evolving capabilities of digital electronics are making practical many processes that were once only theoretically possible.
The term "Software Defined Radio" was coined in 1991 by Joseph Mitola, who published the first paper on the topic in 1992. However software-defined radios have their origins in the defense sector since the late 1970s in both the U.S. and Europe.
A basic SDR may consist of a computer (PC) equipped with a sound card, or other
analog-to-digital converter, preceded by some form of RF front end. Significant
amounts of signal processing are handed over to the general purpose processor,
rather than done using special-purpose hardware. Such a design produces a radio
that can receive and transmit a different form of radio protocol (sometimes
referred to as a waveform) just by running different software.
Software radios have significant utility for the military and cell phone services, both of which must serve a wide variety of changing radio protocols in real time.
In the long term, software-defined radio is expected by its proponents to
become the dominant technology in radio communications.
Software Defined Radio and Amateur (Ham) Radio
A typical amateur software-defined radio of home made design uses a direct conversion receiver and low power transmitter. Unlike direct conversion receivers of the more distant past, the mixer technology are now based on the quadrature sampling detector and the quadrature sampling exciter. The receiver performance is directly related to the dynamic range of the analog to digital converters (ADCs). First generation SDRs used a standard PC sound card to provide ADC functionality. The newer software defined radios use embedded ultra-high performance ADCs that provide higher dynamic range and are more immune to noise and RF interference.
A fast PC performs the digital signal processing (DSP) operations using software which is usually amateur-written, specific for the radio hardware. The SDR software performs all of the demodulation, filtering - both radio frequency and audio frequency- signal enhancement. Uses include every common amateur modulation: morse code, single sideband modulation, and a variety of digital modes.
Statement
Everything on this page is tested only with SDR transceiver Avala-01, developed by Tasic Sinisa, YU1LM. This is true especially for GKGSDR and MixW setup. I did not try other SDR transceivers setup, so, do not ask me. Simply, when you make or buy some of YU1LM creations you will never need anything else! More info about Avala-01 and other YU1LM radios at http://yu1lm.qrpradio.com/index.htm or if you prefer KIT assembly visit GenesisRadio at http://www.genesisradio.com.au/ and check Genesis G40, improved Avala-01 SDR mono band transceiver.
Windows settings
Before installing any of SDR software it is necessary to change some settings in Windows OS. As primmer I will use sound card integrated into mother board. First you need to set audio mixer output and input (recording) parameters. Fastest way to setup mixer properties is to double click at speaker symbol in system tray.
After double click you will get mixer setting similar to this picture. Mute every signal source except Master Volume and Wave.
Next step is to set input (recording) mixer. In same window go to Options and then Properties. As a mixer device choose audio input. Mixer console will change into Recording Control. Mute every signal source except Recording and Line Volume.
This settings will be valid for all SDR software !
Utility Software Setup
Virtual Audio Cabel (VAC) Setup
Virtual Audio Cable (VAC) is a third-party software program that allows the rerouting and the emulation of a sound card in software rather than having to use a second sound card for audio analysis or use with digital mode programs such as MixW and Dream. There are some significant advantages to using VAC over a second sound card.
The entire audio stream is maintained in the digital domain - there is no multiple conversions of the signal from digital to analog and from analog to digital.
There are no external cables to degrade the sound quality or possibly pick up RFI.
A computer PCI, Firewire or USB slot is not used.
There are several steps involved in getting VAC installed and working properly with SDR transceiver software. Below is a summary of the steps required.
- Obtain and install VAC 4.0x on the same computer that is running SDR transceiver software
- Configure VAC "cables"
Step 1. Install VAC 4.0x as per the installation directions. If VAC was
previously loaded, you must first uninstall all versions before installing a
new version of VAC 4.0x
Step 2. Once installed, set up a pair of VAC audio "cables" for use with SDR
transceiver software by opening the VAC Control Panel.
By default only one audio cable is defined. You will need to create two cables by changing the driver parameters to 2 cables then click SET and Restart. Highlight the appropriate cable and change the values to match the figure above. In the "Ms per int" box enter a value between 1 and 20 ms. The lower the value, the smaller the VAC audio buffer. In the example above, 7 ms was selected. Depending on your computer setup you may have to adjust this value to prevent the audio from dropping out or "popping".
NOTE: After completing all of the
necessary changes, click on Set for each cable when completed.
NOTE: Repeat these changes for the
second audio cable as well.
NOTE: Do NOT check the Volume Control box in the VAC
control panel. This enables the Windows Mixer and can cause unpredictable
results.
This settings will be valid for all SDR software !
N8VB vCOM Virtual Serial Ports Driver Setup
This driver creates a "Virtual Null Modem Cable" in Windows 2000 and XP by pairing virtual com ports.Dowload and install Phil Covington, N8VB driver from hes site.
Add two cables by connecting COM6 to COM16, COM7 to COM17. Picture is self explanatory.
This settings will be valid for all SDR software !
KGKSDR by M0KGK Setup
KGKSDR is capable to work as transceiver with only one sound card. But before installing you mast be sure that you have proper ASIO drivers. ASIO drivers come with some better (read expensive) card, but in most cases free ASIO4ALL drivers will be good solution for any sound card. It is possible to download ASIO4ALL drivers from http://www.asio4all.com/ for free. Actual is version 2.9.
Next step is to download KGKSDR Transceiver (current in version 1.1) from http://www.m0kgk.co.uk/sdr/download.php and install it. After start KGKSDR main screen should look like this:
First, we need to set sound card and enable ASIO4ALL driver. In options menu select Transceiver.
Enable ASIO drivers In Control Panel for sound cards that you plan to use in KGKSDR (Realtek High Definition Audio on picture). Set COM port and parameters for remote control of transceiver. In this case it is COM port 1. Other parameters set as on picture. Below COM port parameters is transmitter RF output power. In case of Avala-01 set power to 5W.
In Hardware Options (second screen) check single card.
In section General is very important to turn off receiver during transmit. CW monitor style set to "RX mute during TX". Avala-01 comes with built in CW monitor. In case "RX on during TX, received signal will be transmitted again and will be very distorted. Other parameters at this section sets CW filter and CW VOX system.
Set spectrum Y axis margins. Sets the relative dB amount for the top and bottom of the spectrum display. Relative dB amount depends on frequency (band) and hum level.
Alters the purpose of the mouse wheel. It is best to set this control as 100Hz tune.
The colours options dialog allows you alter
the colours used for the display in KGKSDR:
Each item has an associated colour box next to it. You can click on the colour
box to change the colour of that item.
A series of buttons at the bottom of the dialog allow various preset colour
schemes to be selected.
Receive screen should look like this. For SSB operation set spectrum console to 10kHz and for CW operation to 3-5kHz.
KGKSDR and MultiPSK setup
Most popular combination of SDR and digmode software is KGKSDR and MultiPSK by F6CTE. MultiPSK is not freeware but it can be used as free software without some fancy options. If you like it, contact F6CTE and make a dill!
All you need is loop.dll. First, download, unzip,
loop.dll and copy in windows/system32 folder. To be sure, start KGKSDR and look
for notice "HB9TLK.dll" at KGKSDR panel. If it is there, everything is OK.
Download MultiPSK from http://f6cte.free.fr/MULTIPSK.ZIP,
install or just unzip archive to prefer location. If you first start KGKSDR and
then MultiPSK, you will get error message like this.
MultiPSK try to use same sound card that is already used by KGKSDR! You can solve this on two ways. First, click on OK and then choose "SdR interface (Loop.DLL)" from configuration menu, and then "RX/TX screen". Second, the better one, start MultiPSK first! I will continue assuming that you choose second solution.
So, start MultiPSK first. You will get MultiPSK configuration screen like on
picture. Make sure that serial port is set to "none".
Set any other parameter as usual (call sign, grid, QTH, name...) and then click on "SdR interface (Loop.DLL)" from configuration menu.
At last, click at "RX/TX screen" to open standard RX/TX console. You will
notice that receiving screen and waterfall is blank. This is because KGKSDR is
not started yet!
Minimize MultiPSK and start KGKSDR. After returning to MultiPSK screen you will see something like this.
All you need to do is to set your prefer mode and make some QSOs.
KGKSDR and WinPSK setup
It is very easy to exchange date between KGKSDR and WinPSK. All you need is
loop.dll and the modified
pskcore.dll
from HB9TLK. First, download, unzip, loop.dll and copy
in windows/system32 folder. When you start KGKSDR you will notice HB9TLK.dll
sign at faceplate.
HB9TLK.dll notice in KGKSDR
Download WinPSK v2.13 from http://www.moetronix.com/ae4jy/files/winpsk213.zip
or WinPSKse (special edition) v2.23 from http://www.hamsource.com/winpskse/winpskse223.exe.
Install WinPSK and open program folder (this is the folder, where you find
WinPSK.exe). Find PSKCore.dll and rename it to something else. I prefer
PSKCore_original.dll (see picture).
WinPSK folder - rename PSKCore.dll
Then, download, unzip and copy modified pskcore.dll to WinPSK program folder.
WinPSK folder - new PSKCore.dll
Start KGKSDR and set mode to USB and frequency to PSK portion of any band. At
last, start WinPSK, set your info and try to make some QSOs!
WinPSKse - two channel receive window
KGKSDR and PropNetPSK Client
Settings for PropNetPSK client and KGKSDR is not much different from WinPSK
settings. Download, unzip, loop.dll and copy in
windows/system32 folder. This procedure is just same as we did before. When
you start KGKSDR you will notice HB9TLK.dll sign at faceplate.
Download PropNetPSK client from PropNET.org and install it. At the
end of installation do not start program. You need to open /windows/system32
folder and find pskcore121.dll. Delete or better rename this file to something
else (I prefer pskcore121_original.dll). Then, download, unzip and copy modified pskcore.dll to PropNetPSK program folder
(should be C:\Program Files\PropNetPSK\). Rename just copied modified
pskcore.dll to pskcore121.dll.
Original pskcore was in version 1.21 and new one is in version 1.19 but i did not notice any difference during testing. Start PropNetPSK client, open configure dialog and set your personal data as usual. Keep sound card configuration as is and set com port to "none" (see picture).
Save configuratin and exit program. Start KGKSDR and after that PrtopNetSPK client. Final settings of PropNetPSK I leave to you. Very good starting point is PDF User Guide located in PropNetPSK program folder.
KGKSDR and MixW setup
This setup is not good for Genesis G40 because of different levels at PC connection port. In case that you need G40 solution, email me and I will try make new cable arrangement.
I spent many days trying to make KGKSDR working alongside with MixW.
MultiPSK is good but for contests MixW is without competition. Main
disadvantage of KGKSDR is lack of second serial port dedicated for CAT system
(unlike PowerSDR). I will try to explain as simple as it is possible (only try
:-)) how to attain a goal.
First of all, I must assume that you install and set Virtual Audio Cable like I
did. It is very important to set VAC exactly as I explain before. Start KGKSDR
and go to Options / Transceiver Menu. At first tab set sound card parameters
like on picture. Notice that you need to change "Speaker out" to "Virtual Cable 1" and "Mic input" to "Virtual Cable 2". Confirm changes, set KGSDR
frequency to PSK31 subband and start MixW.
At MixW Sound device Settings menu (see picture) set "Device" to "Sound card", "Input" to "Virtual Cable 2" and "Output" to "Virtual cable 1". Confirm changes and leave this menu.
At this point you will notice that MixW scope or waterfall start to show signals from KGKSDR
If you like to hear sound of digital signals you will need to start "Audio Repeater" from VAC package with parameters like on picture.
This was easy part. And now, something completely different! Worm up your
soldering tools! It is possible to setup KGKSDR to work fully alongside with
MixW digital multimode program. But, in this case, it is necessary to have PC
computer with two serial RS232 ports. In most new desktop configurations there
is only one serial port, but you can obtain one of cheap USB to RS232 adapters
and set it to act as second serial port. Second serial port is dedicated only
for RX/TX switching of Avala-01. Also, it is necessary to build one galvanic
isolated adapter for connection between this Mixw dedicated serial port and
Avala-01 back panel 3,5mm female jack.
There is two option for this cable. If you use my galvanic isolated interface, this cable will be easy
to build.
Audio cables from and to sound card will be omitted .
Second. and better option is to build simple optoisolated cable using this
schematics:
Using this cable we will connect second, Mixw dedicated serial port and Avala-01 back panel 3,5mm female jack. Do not make mistake. This is Mixw dedicated serial port and will be set and use only by Mixw, so, all settings of this port will be done in Mixw not in KGKSDR.
Install and start Mixw. In Mixw "PTT&CAT" menu set CAT to None (see picture). Be sure that you remove check sign in front of "PTT via CAT command" and "Disabled"! Click to "Details" switch and set Mixw dedicated serial port. In this case on picture it is COM5. If you not sure in number of your second serial port, you can check this in Windows "Device manager".
Now we can check this cable connection and response of Avala-01. At this moment, leave KGKSDR as we did before during initial settings. Connect Avala-01 and PC as usual over RS232 cable (first PC RS232 port). Start KGKSDR and make sure that everything works. Set KGKSDR to USB or LSB modulation. Connect second, Mixw dedicated serial port, over new galvanic isolated cable to Avala-01 back panel 3,5 mm stereo connector. It is very important to not change KGKSDR serial port parameters that we set before (see picture). Via this parameters we can set Avala-01 serial adapter and also set behave of back panel 3,5mm connector that we will use for RX/TX switching!
Turn on Avala-01. Start KGKSDR and MixW. Go to KGKSDR screen and try to switch Avala-01 to TX using "Tune" switch". If everything is OK, proceed to MixW and try to switch to TX position (from MixW). If everything is good, MixW will switch Avala-01 to transmit over new cable!
Maybe, you will need to play little with input and output levels in KGKSDR and MixW to "squeeze" all RF power from Avala and set best receive in MixW, but, it is up to you. Do not forget, make some QSOs (if you still have a nerves after this "simple" setup)!
PowerSDR SR40 Setup
There is many branches of Flexradio's open source PowerSDR. One of most suitable for xtal controlled simple SDR radio (like Avala-01) is PowerSDR-SR40 by PE1NNZ that can be download from http://powersdr-sr40.sourceforge.net/. After standard installation it will be necessary to setup some parameters. In setup menu choose audio settings and choose your sound card. If it is not on supported audio card list (as my Sound Blaster Audigy SE) set it as "Unsupported Card" and set other audio parameters per audio card technical specifications (see picture). In general setup choose Soft Rock and if you use fixed LO frequency, set central VFO to this frequency.
General/Options menu should look lie this:
If you plan to use PowerSDR for digital modes it is necessary to set Virtual Audio Cable support. In Audio/VAC menu enable VAC and set a pair of Virtual cables that you created as shown before. You can play with Sample rate to choose best audio. In my case it was 48000 but 22050 or 44100 should be good to. If you need VAC only for digital modes you can auto enable VAC for this modes and disable for others by setting this option. In my case, I use USB for digital modes so I leave this option unchecked. BTW, If I set DIGU or DIGL (at a main screen) for digital modes, I got a one or two seconds "delayed" RX/TX switching ?! Maybe someone know what I need to change to get non delayed RX/TX switching ?
In DSP/Keyer menu set "real" (NOT VIRTUAL!!) COM port for remote control of Avala-01 TRX and disable monitor operation. Set "Semi Break In" option for CW key and "Delay" according your CW skill and speed.
This part is essential for paring PowerSDR with other HAM radio software. If you install and set Virtal Com ports as I explain before, choose COM7 for CAT control and COM6 and RTS line for PTT control. Set CAT ID according your CAT software. I use Hamradio Deluxe/DM780 with native support for CAT control SDR-1000, so I just choose SDR-1000 from this menu.
Full working PowerSDR-SR40 should look like this:
PowerSDR SR40 and Ham Radio Deluxe (DM780) setup
Ham Radio Deluxe (HRD) is a suite of free Windows programs providing computer control for commonly used transceivers and receivers. HRD also includes mapping, logging, satellite tracking and the digital mode program Digital Master 780 (DM780). You can obtain a fresh instalation from http://www.ham-radio-deluxe.com/. It is a great suite. I use it for everyday operation. It is very handy to have all necessary software in one package. Many thanks to
PowerSDR SR40 and WSPNet setup
One of the things that makes communicating with amateur radio more fun than using the Internet or the phone is that you never know where your signals will be received. Short wave radio propagation is never completely predictable, and can often surprise you. If this is an aspect of radio that fascinates you, then you'll enjoy using WSPR.
WSPR is a piece of software that enables you to participate in a world-wide
network of low power propagation beacons. It enables your radio transceiver to
transmit beacon signals, and to receive beacon signals from similarly-equipped
stations in the same amateur band. Because participating stations usually
upload spots that they receive in real time to a web server, you can find out within
seconds of the end of each transmission exactly where and how strongly it was
received, and even view the propagation paths on a map.
It is vitally important that your computer clock is accurate, as this governs when WSPR starts each transmit or receive period, and nothing will be decoded if your clock is more than a couple of seconds out.
If you are using Windows XP, open the Date and Time window
in Control Panel and select the Internet Time tab. There, you
should see an option to synchronize the clock using an Internet time server,
time.windows.com. Select this option,
and do an immediate sync to see if it works.
Once you have your computer clock set it's time to install WSPR. You can download WSPR from
here. It installs in the usual way for a Windows application.
StartPpowerSDR SR40 as we set before and set frequency to 7.0386Mhz USB (valid
for G40 and Avala-01). If you need some other band choose one of the frequency
from table below.
| Band | Dial freq (MHz) | Tx freq (MHz) |
|---|---|---|
| 160m | 1.836600 | 1.838000 - 1.838200 |
| 80m |
3.592600 | 3.594000 - 3.594200 |
| 60m |
5.287200 | 5.288600 - 5.288800 |
| 40m |
7.038600 | 7.040000 - 7.040200 |
| 30m |
10.138700 | 10.140100 - 10.140300 |
| 20m |
14.095600 | 14.097000 - 14.097200 |
| 17m |
18.104600 | 18.106000 - 18.106200 |
| 15m |
21.094600 | 21.096000 - 21.096200 |
| 12m |
24.924600 |
24.926000 - 24.926200 |
| 10m |
28.124600 |
28.126000 - 28.126200 |
| 6m |
50.293000 |
50.294400 - 50.294600 |
| 2m |
144.488500 |
144.489900 - 144.490100 |
Once WSPR is installed, start it. Note that a console window will appear just
before the user interface window shows. This is normal. Don't close it! However, console will display
some vital information about installed audio devices at your PC. Among other,
notice our previously created Virtual Cable 1
and 2. One pair (audio device 4 and 5 in my case) for input, and second
pair (audio device 9 and 10 in my case) for output. Take a paper and make
notice with Audio device number for each cable. Now, you can minimize console
window.
In main window open Setup, Options. Enter
your callsign and full six-character locator. Enter the number of the serial
port that will be used to control PTT (for COM16, enter 16.)
Enter 0 to disable PTT control.
According your notice with Audio device numbers set Audio in and Audio out. For Audio in set Virtual cable 2 with inputs (in my
case no.5), and for Audio out set Virtual cable 1 with outputs (in my
case no.9).
Select the power you will be using, in dBm. The dBm values are encoded in the software, so you can only use the values listed, e.g. 30dBm (1W), 33dBm (2W), 37dBm (5W), 40dBm (10W). In case of G40 or Avala-01 use 37dBm. From Band menu choose 40m band.
Receiving
Now click the Rx radio button in the T/R cycle control, and wait. When the next even numbered minute starts, WSPR will display Receiving in the bottom right of the status bar. It will continue receiving for one minute and 54 seconds, during which nothing will appear in the waterfall display. After that, it will display Waiting to start, and a couple of seconds after that a chunk of waterfall will appear in the display. If you see any faint (or not-so-faint) horizontal traces, these are probably signals from other WSPR users, and if you are lucky, WSPR will have decoded them and will have displayed the details in the Band Map and in the log list in the lower half of the window. As the clock ticks over to 00 seconds, WSPR will start receiving again.
If nothing is received then look hard at the waterfall segment that was displayed. If it shows faint "noise" then it is probable that no stations were transmitting. If it is completely blank then there may be a problem with the VAC connection from your radio, or your mixer settings. Since using a waterfall that only updates once every two minutes to check the result of changes can test your patience. Important! Check "RX Noise" at bottom, status line of WSPRNet window. If it is red, and showing high dB numbers (20 - 30dB) , then audio level of incoming signal from PowerSDR is to high. You should reduce AF gain in PowerSDR to 10 or 15. That will solve a problem. Remeber, be patient, waterfall updates once every two minutes!
If you have more than one sound card you will probably need to specify the soundcard number in the setup options as well. The console window mentioned earlier will help you decide what number to put.
When you have verified that your receiver is working correctly, tick the
checkbox marked Upload spots. This will
cause details of the spots you receive to be uploaded to the WSPR Spots Database at WSPRnet.org.
This is what makes WSPR fun, interesting and useful. It enables transmitters to
know where their signals have been received, and at what strength. It also
helps you get a picture of what propagation is like.
Transmitting
Now you are almost ready to send your first MEPT transmission. Before you do, you must enter your transmit frequency in the Tx freq box of WSPR. The easiest way to do this is to double-click in the waterfall. Pick a spot that is not being used by any of the stations you have already received. This should result in a frequency somewhere between 7.040000 to 7.040200.
Now click the 20% button in the T/R cycle control and wait. Eventually, when a new 2 minute segment starts, WSPR will display something like Txing: YT1DL KN04 37. This means that it is sending the information specified - your call, locator and transmitter power, as you entered in the Setup window when you started.
After one minute and 54 seconds it will display Waiting to start again, and then go back to receiving. At each new 2 minute segment your station will transmit with a probability of 20%. If activity is low, you can increase the frequency of transmissions by selecting 25% or 33%.
After your transmission has finished, wait a few seconds and then open (or refresh, if it is already open) the WSPR Spots Map. With luck, your signal will have been received and decoded by other WSPR users, and will appear as spots in the database and map. Congratulations! You are now a fully fledged member of the WSPR Network!
PowerSDR SR40 and MultiPSK setup


