A signal generator and weak signal source for microwave projects is a very useful addition to the microwave workshop.  This SDR project illustrates how a relatively simple GNU Radio DSP, when coupled with advanced SDR hardware, can implement a useful signal generator.  The signal generator can output RF at any frequency in the range of the SDR hardware being used.  For example, the Ettus B200 will output any frequency in the 50 MHz to 6 GHz range.  Harmonics of the output signal can extend the range of usable signals to the mm-Wave spectrum. The output signal frequency accuracy, and phase noise characteristics are determined by the combination of the native performance specifications of the SDR RFIC synthesizer and the SDR master clock oscillator.  The uncalibrated signal output is adjustable via the flow graph GUI.  This project links to a DSP Project for an elemental SDR transmitter here:

The DSP for a signal generator is a simple GNU Radio flow graph.  The minimal flow graph requirements for this project is to send the digital data from Constant Source block to a SDR Sink block (SDR transmitter hardware).  Once that simple flow graph is executed, the SDR Sink block will turn on and output RF determined by the frequency parameters entered in the Sink block Frequency field.

A next step in complexity is to control the signal generator output level from the Operating GUI.  To do so, it is only necessary to add a Variable GUI block that points to the Constant Source block output level field.  In this manner the output level of the signal generator can be varied directly from the operating GUI.

To use the Operating GUI to turn the Signal generator output ‘on’ or ‘off’, insert a Selector block between the Constant Source block and the SDR Sink block.  The valve is controlled by a Variable block, ‘on’ and ‘off’ that points to the Selector block control fields.

An additional refinement is to include a list of pre-set output frequencies that can be selected from the Operating GUI.  A list of pre-set frequencies are added to a variable Selector block.  That block points to the Frequency field of the SDR Sink block.  Any pre-set frequency will be displayed to be selected from the Operating GUI and output by the SDR hardware..

The provision for variable adjustment of the output frequency from the Operating GUI is included in this project.  This feature is added with a Variable Slider block that points to the Frequency parameters field of the Sink block.  This is the same approach used with the pre-set frequency choices.

The flow graph for the signal generator is depicted below.

Signal Generator flow graph

The signal generator Operating GUI is very simple but contains the controls for real time control of the operating characteristics.

Signal Generator Operating GUI

The .grc file for the signal generator project is here: Signal generator