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