The The documentation is here.
The The default configuration is here.
This is the Help file for Quisk, a Software Defined Radio (SDR).
This
Help appears
in Quisk when you press the Help button. Quisk is written by Jim
Ahlstrom, N2ADR,
www.james.ahlstrom.name. Mail to jahlstr at gmail.com. Quisk
has been
greatly improved and extended by Leigh L. Klotz Jr. WA5ZNU,
and by Andrew Nilsson VK6JBL.
Thanks to Terry Fox WB4JFI for code improvements, and for adding
support
for the Charleston hardware.
Thanks to Sid Boyce, G3VBV, for sending me SoftRock hardware to work
with. Thanks to Christof, DJ4CM, for many improvements to the GUI
and for Dx cluster display.
Thanks to Philip G. Lee for adding native support for pulseaudio.
Depending on how you have configured it, Quisk can be used as a radio receiver, a transceiver, or a panadapter. When you use Quisk as a receiver or panadapter, you supply an antenna, a complex (I/Q) mixer to convert radio spectrum to a low IF, and send that IF to the left and right inputs of the sound card in your computer. The Quisk software will read the sound card data, tune it, filter it, demodulate it, and send the audio to the same sound card for output to external headphones or speakers. For most efficient use, you may wish to configure some form of rig control in the your configuration file and hardware file.
Quisk can also accept I/Q data from the SDR-IQ from RfSpace. The selection of SDR-IQ or soundcard is made in your configuration file.
Quisk rhymes with "brisk", and is QSK plus a few letters to make it
easier to pronounce. QSK is a Q signal meaning full break in CW
operation,
and Quisk has been designed for low latency. Quisk includes an input
keying signal that can mute the audio and substitute a side tone.
To install and configure Quisk, please see the docs.html file in the
Quisk directory.
Quisk is designed for QSK CW operation. It is written in Python, an easy to learn but powerful language; see www.python.org. Source is provided because your own hardware is probably different from mine, and you will need to change something. Changing Python is easy.
There are lots of other SDR projects; see the list at http://f4dan.free.fr/sdr_eng.html. I particularly recommend Linrad by SM5BSZ, PowerSDR, and SDRadio by I2PHD. Reading the Linrad pages is a great introduction to SDR.
The configuration file also imports your hardware control file. This is quisk_hardware_model by default. To use a different hardware file add "import quisk_hardware_fixed as quisk_hardware" (for SoftRock, or another quisk_hardware_* file) to your configuration file. You can control your own hardware either by writing a custom hardware file, or by defining a "class Hardware" in your config file. See docs.html for details, and read the various hardware files.
If you need to add custom controls to Quisk, add "import quisk_widgets_mywidgets as quisk_widgets" to your configuration file, and see quisk_widgets_n2adr.py. This is an advanced feature, and you will need to understand wxPython.
Look at the bottom row of buttons to the right. I guess you found the Help button, since this is the help screen. Press the Config (configuration) button, have a look, and then return to Help. If sound is running you should see the Interrupts count increasing steadily. Some sound card information is shown, and some error counts. If anything prints in red, something is wrong. You must edit the configuration file to change the soundcard name or rate. There will be different sound card parameters for each name. See docs.html for more information, or if you can't get sound to run. If Interrupts are increasing, the Graph and Waterfall screen should work too.
Next press Graph to look at the graph screen, and then Help to return.
You may need to run the "Ys" (Y scale) slide control on the right up or
down
to see the graph line. You should see a noise trace that changes
randomly (without sound input). Then press Test1. This generates a test
signal at 10 kHz, and you should see the spike on the graph. To tune
to that signal, click the mouse on the graph near the spike. Hold the
mouse button down and drag the red tuning line back and forth across
the test signal. You should head a pure audio tone in your speakers.
Use the "Vol" (Volume) slider on the left to change the volume.
If you press Graph again, you will activate the peak hold functions
labeled "GraphP1" and "GraphP2". These will cause the graph to
follow the peak signal, and decay back down at a slow rate. To
control the rate, use the graph_peak_hold item in the config file.
Some buttons, like the Graph button, can be pressed repeatedly to select different
settings. These buttons have a circular arrow on the right. Other button can be
right-clicked. For example, if you right-click the AGC button, you can set the
level. These buttons are marked with a control symbol.
Next press WFall to see the Waterfall screen, then Help to return. You can resize the Quisk window to get see more waterfall history. You will need to adjust "Ys" (Y scale) and "Yz" (Y zero) to get a colored display. You should see a strong 10 kHz signal. Press Test1 to turn the signal on and off. Watch it appear and disappear from the waterfall.
The top of the waterfall shows a small graph screen. You can grab the bar between the screens with your mouse and move it up and down to adjust the relative sizes. To adjust the scale and zero of this graph, hold down the Shift key while using the "Ys" and "Yz" sliders.
Next press Scope to see an oscilloscope screen. This is mainly useful for debugging.
Last press Filter and wait a few seconds. The response of the current filter is shown. Try changing filters by using the middle row of buttons on the right.
On the Graph or Waterfall screens, you tune in a CW signal by clicking above the X axis directly on the signal. You tune in an SSB signal by clicking on the upper edge (lower sideband) or the lower edge (upper sideband). That is, you always click where the carrier goes. Make sure the proper mode is selected with the first row of buttons on the right. You can also click, hold down the mouse button and drag the tuning line. The speed of tuning is lowest close to the X axis, and increases as you move up. Try it.
If you click below the X axis, tuning will not jump to that frequency, but you can still hold the button and drag. That is useful for small adjustments. The mouse wheel will move the frequency up and down and round the frequency to multiples of 50 Hertz.
If you right-click a signal, Quisk tunes to the signal as before, and also changes the VFO (if that is possible with your hardware) to move the signal to the center of the screen.
You can type a frequency into the entry box to the right of the frequency display, and hit Enter to jump to it. The frequency is in Hertz unless it has a decimal point, and then it is megahertz. The band Up and Down buttons do not change the tuning, but will move the display up and down the band. Hold these buttons down to keep moving.
You can left-click the digits in the frequency display to increase
(click the top) or decrease (click the bottom) the digit and round the
frequency. You can also roll the mouse wheel up and down to change
the digit. Try it.
To really perform tuning, you need a VFO controlled by Quisk. I use a DDS VFO controlled by Ethernet. This DDS has a transmit and receive frequency, and a key signal to choose which to generate. Quisk (currently) assumes a single conversion to audio, as in the SoftRock-40 and FlexRadio 1000 receivers. If you have a fixed (crystal controlled) first conversion, use quisk_hardware_fixed.py and change self.vfo to the frequency in Hertz.
The frequency shown by the red tuning line and the frequency display window is always the transmit frequency. This equals the receive frequency unless Split is used (see below). The frequency display window will turn red to indicate sound capture (input ADC) overrun (clipping).
The RIT (receiver incremental tuning) button and slider can add a small offset to the receive frequency. Leave RIT off for SSB unless a station is off frequency a bit; then use RIT to tune him in while leaving your transmit frequency unchanged. When you select CW, the RIT must be turned on to provide an audio output, so Quisk automatically turns on RIT and sets it to plus or minus cwTone. The audio side tone (if a hardware key line is used) is set to the same. Just click CWL or CWU, tune the frequency by clicking exactly on the signal, and everything will work. The value of cwTone can be changed in your configuration file.
If the split button "Splt" is pressed, a second green tuning line is shown to indicate the receive frequency, and the receive frequency can be independently adjusted. The mouse controls the closest tuning line. To receive on the transmit frequency again, just turn split off. The Split feature is used to work a DX station operating split, or it can be used to easily switch between two arbitrary receive frequencies. There are options in quisk_conf_defaults.py to control split. If you click the split button with the right mouse button, the Tx frequency is locked, and all tuning operations change the Rx frequency. If you click the "Rev" button, the Tx and Rx frequencies are reversed.
The sliders on the left control the main volume (Vol) and side tone volume (STo). Side tone is only active if you configure Quisk to operate as a transceiver, and change is_key_down.c to provide a key signal.
The first row of buttons on the left selects the band. The "Audio" band is meant to set the VFO frequency to zero for use with a sound card and no hardware control. The "Time" band selects standard time signals. Pressing this button repeatedly selects different frequencies. The remaining buttons select the amateur bands. The 60 meter button can be pressed repeatedly to select the channels. Adding bands requires more band plans in your configuration file.
The second row of buttons on the left has the controls for audio mute, AGC or Squelch, noise blanker and the automatic notch filter. If your hardware supports it, there are controls for preamplifier gain and antenna selection. The third row has the controls for spot tuning, split Rx/Tx operation, full duplex, push to talk, VOX and sound record and playback.
The AGC button can be right-clicked to pop up an adjustment slider. There are separate settings for AGC off or on. The settings control how much gain variation is allowed. When the slider is at maximum (all the way up), all signals, even band noise, will have the same maximum amplitude. For lower settings, loud signals will have the maximum amplitude, but weaker signals will have less amplitude. A medium setting allows you to hear the relative amplitude of signals and any QSB while still protecting your ears. I set the AGC On setting to a high value, and the AGC Off setting to a lower value that allows band noise to be faintly heard.
When you switch the mode to FM, the AGC button changes to a squelch button. Right click it to adjust the squelch level.
When the Spot button is pressed, a carrier replaces the SSB
signal. This is used for tuning. Right click the Spot
button to adjust the level.
The first row of buttons on the right selects the mode. The FDV mode is for FreeDV digital voice. The IMD mode transmits a two-tone test signal which is used to test amplifiers. Right click the IMD button to adjust the level. The next row selects the filter to use. The filter bandwidths can be set in your config file. The right-most filter button bandwidth is adjustable; right-click it to adjust. The third row selects the screen to display: Graph, Waterfall, Scope, Config, Filter, or Help.
If you use the sound card for input, you may need to correct for small errors in the I and Q amplitude and phase. First change to the correct band, because corrections are saved for each band. Press the button on the config screen to bring up a correction screen. Then feed a test signal to your hardware (or use a strong available signal) and look at the signal image. Adjust the slider controls to reduce the image. The upper slider is the fine adjustment, and the lower is the coarse. You will need to adjust both amplitude and phase and they will interact. The amount of available adjustment range is controlled by your config file. When you have a final correction, it is a good idea to write it down. The correction point is saved based on the VFO frequency, and you will probably need two or three correction points per band.
These modes are for digital signals, and require an external program such as Fldigi or FreeDV to decode the signals. Press the "DGT-" button repeatedly to select a digital mode. To use Fldigi, first start Quisk; then start Fldigi and change "Rig Control" to "Use XML-RPC". Now changing the frequency in either program should change the other. Now you need to connect the audio. Read the file quisk_conf_defaults.py (as usual) and look for items starting with "digital_" that are available for controlling digital modes. Quisk has an additional audio input and output that you connect to Fldigi (or other program). Quisk sends its audio to Fldigi to decode signals, and Fldigi sends audio to Quisk for transmission. See the documentation for more information.
Have fun with Quisk.