User:Duggabe: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
(64 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= DRAFT 3rd REVISION Guided_Tutorial_Hardware_Considerations =
Barry Duggan is a graduate of Georgia Tech in Electrical Engineering and is a career computer programmer specializing in real-time control, data communication systems, and email security. He has been an amateur radio operator since 1953, and now devotes most of his time to the GNU Radio project. He is a member of the GNU Radio General Assembly, the GRCon21 Organizing Committee, and is currently the Documentation Lead for GNURadio.
<!-- "Using GNU Radio with Hardware" -->
<!-- 16 May 2020 -->
== Introduction ==
 
One of the more basic (and also incredibly useful) things you can do in GNU Radio with a receiver is to create a software radio spectrum analyzer. This is also a great first step because it will verify that your hardware has basic functionality.
 
== Prerequisites ==
 
* Tutorials:
** [[Guided_Tutorial_Introduction|'''A brief introduction to GNU Radio, SDR, and DSP''']]
** [[Guided_Tutorial_GRC|'''Intro to GR usage: GRC and flowgraphs''']]
** [[Sample_Rate_Tutorial|'''Understanding sample rate''']]
 
== What Will I Need? ==
 
There is a large and growing number of SDRs that have GNU Radio support.  They span from very cheap ($20) receivers like the RTL-SDR to very high-performance tens-of-thousands-of-dollars systems. Parameters for four popular devices are presented below. Other devices are listed in [[Hardware]].
 
== Creating a Software Radio Spectrum Analyzer ==
 
This example uses an [[USRP Source]] block, so it should work for almost all USRP SDRs, such as the [https://kb.ettus.com/B200/B210/B200mini/B205mini USRP B series]. The B200 provides a fully integrated platform with continuous frequency coverage from 70 MHz to 6 GHz.
 
In order to use UHD blocks, you must have UHD installed. See [https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux Installing the USRP].
 
Using gnuradio-companion (GRC) and the following Block descriptions, build this flowgraph.<br>
 
[[File:HW_tutorial_fg.png]]
 
=== Setting Parameters ===
 
The parameters are set as shown:
 
[[File:HW_tutorial_p1.png|400px]] &nbsp;&nbsp;&nbsp;&nbsp; [[File:HW_tutorial_p2.png|400px]]
 
=== Tuning and Using the Spectrum Analyzer ===
 
Set the following parameters in the [[QT_GUI_Sink|QT GUI Sink block]]:
* Center Frequency (Hz): tuning
* Bandwidth (Hz): samp_rate
* Show RF Freq: Yes
 
The analyzer can be tuned with the Frequency control widget. If you check the "Display RF Frequencies" box in the run-time GUI window, then the scale on the 'Frequency Display' and 'Waterfall Display' tabs will show the actual frequencies with the tuned frequency in the center.
 
With the message output of the QT GUI Sink block (freq) connected to the message input (command) of the USRP Source, you can double click the display on the Frequency or Waterfall screens and it also will tune to the selected frequency.  Before you click, the frequency will be displayed with the cursor.
 
You can adjust the Sample Rate to see the effects on the received spectrum. This trace shows four FM stations.
 
[[File:HW_tutorial_freq.png|800px]]
 
== Hardware Considerations ==
 
Setting the sample rate involves several factors to consider.
* The various hardware devices have limits on what sample rates they can deliver. Some, such as the FunCube Pro+, have a fixed sample rate of 192kHz. Setting the flowgraph sample rate must be within the limitations of the device.
* The computer hardware and operating system you are using will set limitations on the data throughput, such as:
** USB2 vs USB3
** processor speed
** number of CPU cores
* Data overruns are indicated by the letter 'O' displayed on the terminal screen. These are because the input data stream is producing data faster than the flowgraph can consume it. Adjusting the sample rate and/or the input buffer size (where available) should alleviate the problem.
 
== Building an FM Receiver ==
 
Now that you have a tested input device, you can build an FM Receiver with it. See the following examples and use your hardware.
 
* [[WBFM_Receive|Wide Band FM Receive Block]]
* [[NBFM_Receive|Narrow Band FM Receive Block]]
* [https://wiki.gnuradio.org/index.php/File:RTLSDR_receive_fg.png RTL-SDR FM Receiver]
 
For audio considerations, see [[Audio_Sink]].

Revision as of 19:10, 22 July 2021

Barry Duggan is a graduate of Georgia Tech in Electrical Engineering and is a career computer programmer specializing in real-time control, data communication systems, and email security. He has been an amateur radio operator since 1953, and now devotes most of his time to the GNU Radio project. He is a member of the GNU Radio General Assembly, the GRCon21 Organizing Committee, and is currently the Documentation Lead for GNURadio.