Imported Upstream version 3.0
[debian/gnuradio] / gnuradio-examples / python / apps / hf_radio / README.TXT
1 The files in this directory implement a fairly simple HF radio that works
2 with the basic rx daughter board on the USRP.
3
4 Many thanks to the Gnu Radio folks for a great new way to waste large blocks 
5 of time in infinitely tweaking a huge number of free parameters.
6
7 Start the receiver by running the radio.py in this directory. Or from the 
8 Python prompt type "from radio import *" and you'll get the prompt back
9 with the receiver running. You can then poke around to see what's going on.
10
11 There are two spectrum displays. One is the output of the USRP and displays
12 about 300KHz of bandwidth centered at the current tuning freq. The other
13 displays the output spectrum of the demodulator.
14
15 The demodulator does AM demod using the complex modulus block from gr. It 
16 does SSB demod using the frequency translating fir filter as a complex
17 hilbert transformer. The taps for this filter were generated using a program
18 called Scilab and the Scilab program in the file hfir.sci. More details in
19 the associated files.
20
21 Tune the receiver using the spin buttons under the big frequency display.
22
23 The agc block is a roll your own. The standard agc in the newer CVS updates
24 seems to work but doesn't seem to have adjustable time constants or provide
25 access to internal signal nodes which are used for the RSSI.
26
27 The AGC authority (a sort of gain parameter) and the reference level used
28 in the power to dB computagion can be adjusted using the spin buttons.
29
30 The audio bandwidth can be similarly adjusted from about 50Hz to 10KHz.
31
32 The GUI layout was produced using wxGlade. The file radio.xml is the GUI
33 specification. It will produce a file called ui.py which is subclassed
34 by classes defined in radio.py. The ui.py is purely generated by wxGlade
35 all app specific code for the GUI is in radio.py. 
36
37 Most of the actual signal processing code is built up in the other included
38 files using the hierarchical block facilities. This organization should
39 make it easier to tweak to your heart's content.
40
41 Known bugs weakness and other
42
43 wxPython and wxGlade seem to conspire to insure that the layout can never
44 be exactly what you have in mind.
45
46 Some of the controls don't behave as one might like. wx spin controls 
47 and spin boxes only support integers so it is rather a nuisance to make
48 units come out nice. In the process of development I came up with a reasonable
49 kluge so there is a mixture of approaches.
50
51 Enjoy.
52
53 M. Revnell 2006-Jan-06