Skip to content

Instantly share code, notes, and snippets.

@csete
Created April 7, 2012 16:39
Show Gist options
  • Save csete/2330211 to your computer and use it in GitHub Desktop.
Save csete/2330211 to your computer and use it in GitHub Desktop.
APT FM receiver using the RTL2832 source
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
<timestamp>Fri Apr 6 11:11:01 2012</timestamp>
<block>
<key>options</key>
<param>
<key>id</key>
<value>fcd_apt_rx</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>title</key>
<value>NOAA APT Receiver</value>
</param>
<param>
<key>author</key>
<value>Alexandru Csete OZ9AEC</value>
</param>
<param>
<key>description</key>
<value></value>
</param>
<param>
<key>window_size</key>
<value>1280, 1024</value>
</param>
<param>
<key>generate_options</key>
<value>wx_gui</value>
</param>
<param>
<key>category</key>
<value>Custom</value>
</param>
<param>
<key>run_options</key>
<value>prompt</value>
</param>
<param>
<key>run</key>
<value>True</value>
</param>
<param>
<key>realtime_scheduling</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(10, 10)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable_static_text</key>
<param>
<key>id</key>
<value>rec_info</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>label</key>
<value>Recording to</value>
</param>
<param>
<key>value</key>
<value>wav_file</value>
</param>
<param>
<key>converver</key>
<value>str_converter</value>
</param>
<param>
<key>formatter</key>
<value>None</value>
</param>
<param>
<key>grid_pos</key>
<value>1,1,1,1</value>
</param>
<param>
<key>notebook</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(641, 14)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>960000</value>
</param>
<param>
<key>_coordinate</key>
<value>(14, 111)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>max_dev</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>17000</value>
</param>
<param>
<key>_coordinate</key>
<value>(113, 112)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>blks2_fm_demod_cf</key>
<param>
<key>id</key>
<value>blks2_fm_demod_cf</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>chan_rate</key>
<value>samp_rate/10</value>
</param>
<param>
<key>audio_decim</key>
<value>2</value>
</param>
<param>
<key>deviation</key>
<value>max_dev</value>
</param>
<param>
<key>audio_pass</key>
<value>5000</value>
</param>
<param>
<key>audio_stop</key>
<value>7000</value>
</param>
<param>
<key>gain</key>
<value>1.0</value>
</param>
<param>
<key>tau</key>
<value>75e-6</value>
</param>
<param>
<key>_coordinate</key>
<value>(576, 232)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>audio_sink</key>
<param>
<key>id</key>
<value>audio_sink</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>samp_rate</key>
<value>48000</value>
</param>
<param>
<key>device_name</key>
<value></value>
</param>
<param>
<key>ok_to_block</key>
<value>True</value>
</param>
<param>
<key>num_inputs</key>
<value>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(802, 280)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>blks2_rational_resampler_xxx</key>
<param>
<key>id</key>
<value>blks2_rational_resampler_xxx_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>fff</value>
</param>
<param>
<key>decim</key>
<value>48000</value>
</param>
<param>
<key>interp</key>
<value>11025</value>
</param>
<param>
<key>taps</key>
<value>[]</value>
</param>
<param>
<key>fractional_bw</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(524, 447)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>wav_file</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>prefix + datetime.now().strftime("%Y.%m.%d.%H.%M.%S") + ".wav"</value>
</param>
<param>
<key>_coordinate</key>
<value>(770, 577)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>prefix</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>"FCD_APT_REC-"</value>
</param>
<param>
<key>_coordinate</key>
<value>(633, 578)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>import</key>
<param>
<key>id</key>
<value>import_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>import</key>
<value>from datetime import datetime</value>
</param>
<param>
<key>_coordinate</key>
<value>(516, 578)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>gr_wavfile_sink</key>
<param>
<key>id</key>
<value>wavfile_sink</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>file</key>
<value>wav_file</value>
</param>
<param>
<key>nchan</key>
<value>1</value>
</param>
<param>
<key>samp_rate</key>
<value>11025</value>
</param>
<param>
<key>bits_per_sample</key>
<value>16</value>
</param>
<param>
<key>_coordinate</key>
<value>(813, 455)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>low_pass_filter</key>
<param>
<key>id</key>
<value>low_pass_filter</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>fir_filter_ccf</value>
</param>
<param>
<key>decim</key>
<value>10</value>
</param>
<param>
<key>interp</key>
<value>1</value>
</param>
<param>
<key>gain</key>
<value>1</value>
</param>
<param>
<key>samp_rate</key>
<value>samp_rate</value>
</param>
<param>
<key>cutoff_freq</key>
<value>25000</value>
</param>
<param>
<key>width</key>
<value>5000</value>
</param>
<param>
<key>win</key>
<value>firdes.WIN_HAMMING</value>
</param>
<param>
<key>beta</key>
<value>6.76</value>
</param>
<param>
<key>_coordinate</key>
<value>(342, 232)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable_chooser</key>
<param>
<key>id</key>
<value>lna_gain</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>label</key>
<value>LNA gain</value>
</param>
<param>
<key>value</key>
<value>0.5</value>
</param>
<param>
<key>choices</key>
<value>[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]</value>
</param>
<param>
<key>labels</key>
<value>[]</value>
</param>
<param>
<key>type</key>
<value>drop_down</value>
</param>
<param>
<key>style</key>
<value>wx.RA_HORIZONTAL</value>
</param>
<param>
<key>grid_pos</key>
<value>2,0,1,1</value>
</param>
<param>
<key>notebook</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(215, 406)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable_chooser</key>
<param>
<key>id</key>
<value>sat_freq</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>label</key>
<value>Satellite</value>
</param>
<param>
<key>value</key>
<value>137500000</value>
</param>
<param>
<key>choices</key>
<value>[137620000,137500000,137912500,137100000]</value>
</param>
<param>
<key>labels</key>
<value>["NOAA-15","NOAA-17","NOAA-18","NOAA-19"]</value>
</param>
<param>
<key>type</key>
<value>drop_down</value>
</param>
<param>
<key>style</key>
<value>wx.RA_HORIZONTAL</value>
</param>
<param>
<key>grid_pos</key>
<value>1,0,1,1</value>
</param>
<param>
<key>notebook</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(32, 404)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>wxgui_fftsink2</key>
<param>
<key>id</key>
<value>fftsink</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>complex</value>
</param>
<param>
<key>title</key>
<value>RF Spectrum</value>
</param>
<param>
<key>samp_rate</key>
<value>samp_rate</value>
</param>
<param>
<key>baseband_freq</key>
<value>sat_freq</value>
</param>
<param>
<key>y_per_div</key>
<value>10</value>
</param>
<param>
<key>y_divs</key>
<value>10</value>
</param>
<param>
<key>ref_level</key>
<value>0.0</value>
</param>
<param>
<key>ref_scale</key>
<value>1.0</value>
</param>
<param>
<key>fft_size</key>
<value>760</value>
</param>
<param>
<key>fft_rate</key>
<value>15</value>
</param>
<param>
<key>peak_hold</key>
<value>False</value>
</param>
<param>
<key>average</key>
<value>True</value>
</param>
<param>
<key>avg_alpha</key>
<value>0.5</value>
</param>
<param>
<key>win</key>
<value>None</value>
</param>
<param>
<key>win_size</key>
<value></value>
</param>
<param>
<key>grid_pos</key>
<value>0,0,1,2</value>
</param>
<param>
<key>notebook</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(341, 17)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>rtl2832_source</key>
<param>
<key>id</key>
<value>rtl2832_source_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>verbose</key>
<value>True</value>
</param>
<param>
<key>sample_rate</key>
<value>samp_rate</value>
</param>
<param>
<key>frequency</key>
<value>sat_freq</value>
</param>
<param>
<key>bandwidth</key>
<value>1000000</value>
</param>
<param>
<key>relative_gain</key>
<value>True</value>
</param>
<param>
<key>gain</key>
<value>lna_gain</value>
</param>
<param>
<key>gain_mode</key>
<value></value>
</param>
<param>
<key>auto_gain_mode</key>
<value>False</value>
</param>
<param>
<key>usb_vid</key>
<value>0x1d19</value>
</param>
<param>
<key>usb_pid</key>
<value>0x1103</value>
</param>
<param>
<key>tuner_name</key>
<value></value>
</param>
<param>
<key>read_length</key>
<value>0</value>
</param>
<param>
<key>xfer_timeout</key>
<value>0</value>
</param>
<param>
<key>use_buffer</key>
<value>True</value>
</param>
<param>
<key>buf_mul</key>
<value>0</value>
</param>
<param>
<key>buf_level</key>
<value>0</value>
</param>
<param>
<key>fir_coeffs</key>
<value>[]</value>
</param>
<param>
<key>xtal_freq</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(51, 220)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<connection>
<source_block_id>low_pass_filter</source_block_id>
<sink_block_id>blks2_fm_demod_cf</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blks2_fm_demod_cf</source_block_id>
<sink_block_id>audio_sink</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blks2_rational_resampler_xxx_0</source_block_id>
<sink_block_id>wavfile_sink</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blks2_fm_demod_cf</source_block_id>
<sink_block_id>blks2_rational_resampler_xxx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>rtl2832_source_0</source_block_id>
<sink_block_id>fftsink</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>rtl2832_source_0</source_block_id>
<sink_block_id>low_pass_filter</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
</flow_graph>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment