GNURadio+HackRF小实验(FM发射与接收)

引言:初次接触HackRF,做了些小实验,记录一下。

运行环境:Ubuntu 16.04,HackRF One


1 运行环境搭建

百度上说虚拟机不好用,为了方便我直接做了个U盘系统(不是U盘启动盘),方法如下:

(1)准备两个U盘,一个性能差点没关系,另一个U盘需要性能好一点(用来装Ubuntu系统);

(2)先用差点的U盘做一个Ubuntu启动盘;

(3)从U盘启动时会提示Try Ubuntu和Install Ubuntu,选择后一个,将系统安装在好一点的U盘上,这里一定要注意,不要误选了电脑的硬盘,否则后果很严重,楼主花了300大洋恢复硬盘数据(引以为戒)。


GNURadio配置:

《HackRF与GNURadio入门指南》上有配置方法,网址如下:

http://www.hackrf.net/hackrf%E4%B8%8Egnuradio%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/

不过我用这个方法没有成功,不知到是不是我的网速不行,有些东西没安装好。

我是用下面网站的方法安装的:

http://bobao.360.cn/learning/detail/405.html

这里贴一下关键命令:

sudo apt-get install hackrf libhackrf-dev libhackrf0

sudo  apt-get  install  gnuradio gnuradio-dev gr-osmosdr gr-osmosdr gqrx-sdr wireshark

2 FM接收机
参考的哪个视频已经不记得了,大家可以自己百度一个看看,代码如下,保存成grc文件,就可以用GNURadio打开。
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.9'?>
<flow_graph>
  <timestamp>Sat Oct 15 11:19:45 2016</timestamp>
  <block>
    <key>options</key>
    <param>
      <key>author</key>
      <value></value>
    </param>
    <param>
      <key>window_size</key>
      <value></value>
    </param>
    <param>
      <key>category</key>
      <value>Custom</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>description</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(0, 6)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>generate_options</key>
      <value>wx_gui</value>
    </param>
    <param>
      <key>hier_block_src_path</key>
      <value>.:</value>
    </param>
    <param>
      <key>id</key>
      <value>top_block</value>
    </param>
    <param>
      <key>max_nouts</key>
      <value>0</value>
    </param>
    <param>
      <key>qt_qss_theme</key>
      <value></value>
    </param>
    <param>
      <key>realtime_scheduling</key>
      <value></value>
    </param>
    <param>
      <key>run_command</key>
      <value>{python} -u {filename}</value>
    </param>
    <param>
      <key>run_options</key>
      <value>prompt</value>
    </param>
    <param>
      <key>run</key>
      <value>True</value>
    </param>
    <param>
      <key>thread_safe_setters</key>
      <value></value>
    </param>
    <param>
      <key>title</key>
      <value></value>
    </param>
  </block>
  <block>
    <key>variable_slider</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>converver</key>
      <value>float_converter</value>
    </param>
    <param>
      <key>value</key>
      <value>1</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(272, 369)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>grid_pos</key>
      <value></value>
    </param>
    <param>
      <key>id</key>
      <value>audio_gain</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>max</key>
      <value>10</value>
    </param>
    <param>
      <key>min</key>
      <value>0</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>num_steps</key>
      <value>100</value>
    </param>
    <param>
      <key>style</key>
      <value>wx.SL_HORIZONTAL</value>
    </param>
  </block>
  <block>
    <key>variable_slider</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>converver</key>
      <value>float_converter</value>
    </param>
    <param>
      <key>value</key>
      <value>93.6e6</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(856, 377)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>grid_pos</key>
      <value></value>
    </param>
    <param>
      <key>id</key>
      <value>channel_freq</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>max</key>
      <value>110e6</value>
    </param>
    <param>
      <key>min</key>
      <value>80e6</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>num_steps</key>
      <value>1000</value>
    </param>
    <param>
      <key>style</key>
      <value>wx.SL_HORIZONTAL</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(0, 78)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>value</key>
      <value>10e6</value>
    </param>
  </block>
  <block>
    <key>blocks_multiply_const_vxx</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>const</key>
      <value>audio_gain</value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(696, 343)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>aaa</value>
    </param>
    <param>
      <key>type</key>
      <value>float</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>vlen</key>
      <value>1</value>
    </param>
  </block>
  <block>
    <key>analog_sig_source_x</key>
    <param>
      <key>amp</key>
      <value>1</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>freq</key>
      <value>center_freq - channel_freq</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(104, 297)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>analog_sig_source_x_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>offset</key>
      <value>0</value>
    </param>
    <param>
      <key>type</key>
      <value>complex</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>waveform</key>
      <value>analog.GR_COS_WAVE</value>
    </param>
  </block>
  <block>
    <key>analog_wfm_rcv</key>
    <param>
      <key>audio_decimation</key>
      <value>10</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(696, 246)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>analog_wfm_rcv_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>quad_rate</key>
      <value>480e3</value>
    </param>
  </block>
  <block>
    <key>audio_sink</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>device_name</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(696, 415)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>audio_sink_0</value>
    </param>
    <param>
      <key>num_inputs</key>
      <value>1</value>
    </param>
    <param>
      <key>ok_to_block</key>
      <value>True</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>48000</value>
    </param>
  </block>
  <block>
    <key>blocks_file_sink</key>
    <param>
      <key>append</key>
      <value>False</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>file</key>
      <value>test</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(104, 444)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>blocks_file_sink_0</value>
    </param>
    <param>
      <key>type</key>
      <value>complex</value>
    </param>
    <param>
      <key>unbuffered</key>
      <value>False</value>
    </param>
    <param>
      <key>vlen</key>
      <value>1</value>
    </param>
  </block>
  <block>
    <key>blocks_multiply_xx</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(328, 283)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>blocks_multiply_xx_0</value>
    </param>
    <param>
      <key>type</key>
      <value>complex</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>num_inputs</key>
      <value>2</value>
    </param>
    <param>
      <key>vlen</key>
      <value>1</value>
    </param>
  </block>
  <block>
    <key>parameter</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(0, 150)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>center_freq</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>short_id</key>
      <value></value>
    </param>
    <param>
      <key>type</key>
      <value></value>
    </param>
    <param>
      <key>value</key>
      <value>90e6</value>
    </param>
  </block>
  <block>
    <key>parameter</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(0, 222)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>channel_width</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>short_id</key>
      <value></value>
    </param>
    <param>
      <key>type</key>
      <value></value>
    </param>
    <param>
      <key>value</key>
      <value>200e3</value>
    </param>
  </block>
  <block>
    <key>low_pass_filter</key>
    <param>
      <key>beta</key>
      <value>6.76</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>cutoff_freq</key>
      <value>75e3</value>
    </param>
    <param>
      <key>decim</key>
      <value>int(samp_rate/channel_width)</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>type</key>
      <value>fir_filter_ccf</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(576, 14)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>gain</key>
      <value>1</value>
    </param>
    <param>
      <key>id</key>
      <value>low_pass_filter_0</value>
    </param>
    <param>
      <key>interp</key>
      <value>1</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>width</key>
      <value>25e3</value>
    </param>
    <param>
      <key>win</key>
      <value>firdes.WIN_HAMMING</value>
    </param>
  </block>
  <block>
    <key>osmosdr_source</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>ant0</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain0</key>
      <value>20</value>
    </param>
    <param>
      <key>bw0</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode0</key>
      <value>0</value>
    </param>
    <param>
      <key>corr0</key>
      <value>0</value>
    </param>
    <param>
      <key>freq0</key>
      <value>center_freq</value>
    </param>
    <param>
      <key>gain_mode0</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain0</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode0</key>
      <value>0</value>
    </param>
    <param>
      <key>gain0</key>
      <value>0</value>
    </param>
    <param>
      <key>ant10</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain10</key>
      <value>20</value>
    </param>
    <param>
      <key>bw10</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode10</key>
      <value>0</value>
    </param>
    <param>
      <key>corr10</key>
      <value>0</value>
    </param>
    <param>
      <key>freq10</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode10</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain10</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode10</key>
      <value>0</value>
    </param>
    <param>
      <key>gain10</key>
      <value>10</value>
    </param>
    <param>
      <key>ant11</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain11</key>
      <value>20</value>
    </param>
    <param>
      <key>bw11</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode11</key>
      <value>0</value>
    </param>
    <param>
      <key>corr11</key>
      <value>0</value>
    </param>
    <param>
      <key>freq11</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode11</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain11</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode11</key>
      <value>0</value>
    </param>
    <param>
      <key>gain11</key>
      <value>10</value>
    </param>
    <param>
      <key>ant12</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain12</key>
      <value>20</value>
    </param>
    <param>
      <key>bw12</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode12</key>
      <value>0</value>
    </param>
    <param>
      <key>corr12</key>
      <value>0</value>
    </param>
    <param>
      <key>freq12</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode12</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain12</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode12</key>
      <value>0</value>
    </param>
    <param>
      <key>gain12</key>
      <value>10</value>
    </param>
    <param>
      <key>ant13</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain13</key>
      <value>20</value>
    </param>
    <param>
      <key>bw13</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode13</key>
      <value>0</value>
    </param>
    <param>
      <key>corr13</key>
      <value>0</value>
    </param>
    <param>
      <key>freq13</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode13</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain13</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode13</key>
      <value>0</value>
    </param>
    <param>
      <key>gain13</key>
      <value>10</value>
    </param>
    <param>
      <key>ant14</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain14</key>
      <value>20</value>
    </param>
    <param>
      <key>bw14</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode14</key>
      <value>0</value>
    </param>
    <param>
      <key>corr14</key>
      <value>0</value>
    </param>
    <param>
      <key>freq14</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode14</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain14</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode14</key>
      <value>0</value>
    </param>
    <param>
      <key>gain14</key>
      <value>10</value>
    </param>
    <param>
      <key>ant15</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain15</key>
      <value>20</value>
    </param>
    <param>
      <key>bw15</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode15</key>
      <value>0</value>
    </param>
    <param>
      <key>corr15</key>
      <value>0</value>
    </param>
    <param>
      <key>freq15</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode15</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain15</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode15</key>
      <value>0</value>
    </param>
    <param>
      <key>gain15</key>
      <value>10</value>
    </param>
    <param>
      <key>ant16</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain16</key>
      <value>20</value>
    </param>
    <param>
      <key>bw16</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode16</key>
      <value>0</value>
    </param>
    <param>
      <key>corr16</key>
      <value>0</value>
    </param>
    <param>
      <key>freq16</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode16</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain16</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode16</key>
      <value>0</value>
    </param>
    <param>
      <key>gain16</key>
      <value>10</value>
    </param>
    <param>
      <key>ant17</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain17</key>
      <value>20</value>
    </param>
    <param>
      <key>bw17</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode17</key>
      <value>0</value>
    </param>
    <param>
      <key>corr17</key>
      <value>0</value>
    </param>
    <param>
      <key>freq17</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode17</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain17</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode17</key>
      <value>0</value>
    </param>
    <param>
      <key>gain17</key>
      <value>10</value>
    </param>
    <param>
      <key>ant18</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain18</key>
      <value>20</value>
    </param>
    <param>
      <key>bw18</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode18</key>
      <value>0</value>
    </param>
    <param>
      <key>corr18</key>
      <value>0</value>
    </param>
    <param>
      <key>freq18</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode18</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain18</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode18</key>
      <value>0</value>
    </param>
    <param>
      <key>gain18</key>
      <value>10</value>
    </param>
    <param>
      <key>ant19</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain19</key>
      <value>20</value>
    </param>
    <param>
      <key>bw19</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode19</key>
      <value>0</value>
    </param>
    <param>
      <key>corr19</key>
      <value>0</value>
    </param>
    <param>
      <key>freq19</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode19</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain19</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode19</key>
      <value>0</value>
    </param>
    <param>
      <key>gain19</key>
      <value>10</value>
    </param>
    <param>
      <key>ant1</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain1</key>
      <value>20</value>
    </param>
    <param>
      <key>bw1</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode1</key>
      <value>0</value>
    </param>
    <param>
      <key>corr1</key>
      <value>0</value>
    </param>
    <param>
      <key>freq1</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode1</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain1</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode1</key>
      <value>0</value>
    </param>
    <param>
      <key>gain1</key>
      <value>10</value>
    </param>
    <param>
      <key>ant20</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain20</key>
      <value>20</value>
    </param>
    <param>
      <key>bw20</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode20</key>
      <value>0</value>
    </param>
    <param>
      <key>corr20</key>
      <value>0</value>
    </param>
    <param>
      <key>freq20</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode20</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain20</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode20</key>
      <value>0</value>
    </param>
    <param>
      <key>gain20</key>
      <value>10</value>
    </param>
    <param>
      <key>ant21</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain21</key>
      <value>20</value>
    </param>
    <param>
      <key>bw21</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode21</key>
      <value>0</value>
    </param>
    <param>
      <key>corr21</key>
      <value>0</value>
    </param>
    <param>
      <key>freq21</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode21</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain21</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode21</key>
      <value>0</value>
    </param>
    <param>
      <key>gain21</key>
      <value>10</value>
    </param>
    <param>
      <key>ant22</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain22</key>
      <value>20</value>
    </param>
    <param>
      <key>bw22</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode22</key>
      <value>0</value>
    </param>
    <param>
      <key>corr22</key>
      <value>0</value>
    </param>
    <param>
      <key>freq22</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode22</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain22</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode22</key>
      <value>0</value>
    </param>
    <param>
      <key>gain22</key>
      <value>10</value>
    </param>
    <param>
      <key>ant23</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain23</key>
      <value>20</value>
    </param>
    <param>
      <key>bw23</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode23</key>
      <value>0</value>
    </param>
    <param>
      <key>corr23</key>
      <value>0</value>
    </param>
    <param>
      <key>freq23</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode23</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain23</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode23</key>
      <value>0</value>
    </param>
    <param>
      <key>gain23</key>
      <value>10</value>
    </param>
    <param>
      <key>ant24</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain24</key>
      <value>20</value>
    </param>
    <param>
      <key>bw24</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode24</key>
      <value>0</value>
    </param>
    <param>
      <key>corr24</key>
      <value>0</value>
    </param>
    <param>
      <key>freq24</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode24</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain24</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode24</key>
      <value>0</value>
    </param>
    <param>
      <key>gain24</key>
      <value>10</value>
    </param>
    <param>
      <key>ant25</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain25</key>
      <value>20</value>
    </param>
    <param>
      <key>bw25</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode25</key>
      <value>0</value>
    </param>
    <param>
      <key>corr25</key>
      <value>0</value>
    </param>
    <param>
      <key>freq25</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode25</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain25</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode25</key>
      <value>0</value>
    </param>
    <param>
      <key>gain25</key>
      <value>10</value>
    </param>
    <param>
      <key>ant26</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain26</key>
      <value>20</value>
    </param>
    <param>
      <key>bw26</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode26</key>
      <value>0</value>
    </param>
    <param>
      <key>corr26</key>
      <value>0</value>
    </param>
    <param>
      <key>freq26</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode26</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain26</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode26</key>
      <value>0</value>
    </param>
    <param>
      <key>gain26</key>
      <value>10</value>
    </param>
    <param>
      <key>ant27</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain27</key>
      <value>20</value>
    </param>
    <param>
      <key>bw27</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode27</key>
      <value>0</value>
    </param>
    <param>
      <key>corr27</key>
      <value>0</value>
    </param>
    <param>
      <key>freq27</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode27</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain27</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode27</key>
      <value>0</value>
    </param>
    <param>
      <key>gain27</key>
      <value>10</value>
    </param>
    <param>
      <key>ant28</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain28</key>
      <value>20</value>
    </param>
    <param>
      <key>bw28</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode28</key>
      <value>0</value>
    </param>
    <param>
      <key>corr28</key>
      <value>0</value>
    </param>
    <param>
      <key>freq28</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode28</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain28</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode28</key>
      <value>0</value>
    </param>
    <param>
      <key>gain28</key>
      <value>10</value>
    </param>
    <param>
      <key>ant29</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain29</key>
      <value>20</value>
    </param>
    <param>
      <key>bw29</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode29</key>
      <value>0</value>
    </param>
    <param>
      <key>corr29</key>
      <value>0</value>
    </param>
    <param>
      <key>freq29</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode29</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain29</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode29</key>
      <value>0</value>
    </param>
    <param>
      <key>gain29</key>
      <value>10</value>
    </param>
    <param>
      <key>ant2</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain2</key>
      <value>20</value>
    </param>
    <param>
      <key>bw2</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode2</key>
      <value>0</value>
    </param>
    <param>
      <key>corr2</key>
      <value>0</value>
    </param>
    <param>
      <key>freq2</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode2</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain2</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode2</key>
      <value>0</value>
    </param>
    <param>
      <key>gain2</key>
      <value>10</value>
    </param>
    <param>
      <key>ant30</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain30</key>
      <value>20</value>
    </param>
    <param>
      <key>bw30</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode30</key>
      <value>0</value>
    </param>
    <param>
      <key>corr30</key>
      <value>0</value>
    </param>
    <param>
      <key>freq30</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode30</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain30</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode30</key>
      <value>0</value>
    </param>
    <param>
      <key>gain30</key>
      <value>10</value>
    </param>
    <param>
      <key>ant31</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain31</key>
      <value>20</value>
    </param>
    <param>
      <key>bw31</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode31</key>
      <value>0</value>
    </param>
    <param>
      <key>corr31</key>
      <value>0</value>
    </param>
    <param>
      <key>freq31</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode31</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain31</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode31</key>
      <value>0</value>
    </param>
    <param>
      <key>gain31</key>
      <value>10</value>
    </param>
    <param>
      <key>ant3</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain3</key>
      <value>20</value>
    </param>
    <param>
      <key>bw3</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode3</key>
      <value>0</value>
    </param>
    <param>
      <key>corr3</key>
      <value>0</value>
    </param>
    <param>
      <key>freq3</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode3</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain3</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode3</key>
      <value>0</value>
    </param>
    <param>
      <key>gain3</key>
      <value>10</value>
    </param>
    <param>
      <key>ant4</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain4</key>
      <value>20</value>
    </param>
    <param>
      <key>bw4</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode4</key>
      <value>0</value>
    </param>
    <param>
      <key>corr4</key>
      <value>0</value>
    </param>
    <param>
      <key>freq4</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode4</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain4</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode4</key>
      <value>0</value>
    </param>
    <param>
      <key>gain4</key>
      <value>10</value>
    </param>
    <param>
      <key>ant5</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain5</key>
      <value>20</value>
    </param>
    <param>
      <key>bw5</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode5</key>
      <value>0</value>
    </param>
    <param>
      <key>corr5</key>
      <value>0</value>
    </param>
    <param>
      <key>freq5</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode5</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain5</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode5</key>
      <value>0</value>
    </param>
    <param>
      <key>gain5</key>
      <value>10</value>
    </param>
    <param>
      <key>ant6</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain6</key>
      <value>20</value>
    </param>
    <param>
      <key>bw6</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode6</key>
      <value>0</value>
    </param>
    <param>
      <key>corr6</key>
      <value>0</value>
    </param>
    <param>
      <key>freq6</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode6</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain6</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode6</key>
      <value>0</value>
    </param>
    <param>
      <key>gain6</key>
      <value>10</value>
    </param>
    <param>
      <key>ant7</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain7</key>
      <value>20</value>
    </param>
    <param>
      <key>bw7</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode7</key>
      <value>0</value>
    </param>
    <param>
      <key>corr7</key>
      <value>0</value>
    </param>
    <param>
      <key>freq7</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode7</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain7</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode7</key>
      <value>0</value>
    </param>
    <param>
      <key>gain7</key>
      <value>10</value>
    </param>
    <param>
      <key>ant8</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain8</key>
      <value>20</value>
    </param>
    <param>
      <key>bw8</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode8</key>
      <value>0</value>
    </param>
    <param>
      <key>corr8</key>
      <value>0</value>
    </param>
    <param>
      <key>freq8</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode8</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain8</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode8</key>
      <value>0</value>
    </param>
    <param>
      <key>gain8</key>
      <value>10</value>
    </param>
    <param>
      <key>ant9</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain9</key>
      <value>20</value>
    </param>
    <param>
      <key>bw9</key>
      <value>0</value>
    </param>
    <param>
      <key>dc_offset_mode9</key>
      <value>0</value>
    </param>
    <param>
      <key>corr9</key>
      <value>0</value>
    </param>
    <param>
      <key>freq9</key>
      <value>100e6</value>
    </param>
    <param>
      <key>gain_mode9</key>
      <value>False</value>
    </param>
    <param>
      <key>if_gain9</key>
      <value>20</value>
    </param>
    <param>
      <key>iq_balance_mode9</key>
      <value>0</value>
    </param>
    <param>
      <key>gain9</key>
      <value>10</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>args</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(104, 91)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>osmosdr_source_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>clock_source0</key>
      <value></value>
    </param>
    <param>
      <key>time_source0</key>
      <value></value>
    </param>
    <param>
      <key>clock_source1</key>
      <value></value>
    </param>
    <param>
      <key>time_source1</key>
      <value></value>
    </param>
    <param>
      <key>clock_source2</key>
      <value></value>
    </param>
    <param>
      <key>time_source2</key>
      <value></value>
    </param>
    <param>
      <key>clock_source3</key>
      <value></value>
    </param>
    <param>
      <key>time_source3</key>
      <value></value>
    </param>
    <param>
      <key>clock_source4</key>
      <value></value>
    </param>
    <param>
      <key>time_source4</key>
      <value></value>
    </param>
    <param>
      <key>clock_source5</key>
      <value></value>
    </param>
    <param>
      <key>time_source5</key>
      <value></value>
    </param>
    <param>
      <key>clock_source6</key>
      <value></value>
    </param>
    <param>
      <key>time_source6</key>
      <value></value>
    </param>
    <param>
      <key>clock_source7</key>
      <value></value>
    </param>
    <param>
      <key>time_source7</key>
      <value></value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>nchan</key>
      <value>1</value>
    </param>
    <param>
      <key>num_mboards</key>
      <value>1</value>
    </param>
    <param>
      <key>type</key>
      <value>fc32</value>
    </param>
    <param>
      <key>sample_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>sync</key>
      <value></value>
    </param>
  </block>
  <block>
    <key>rational_resampler_xxx</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>decim</key>
      <value>5</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>fbw</key>
      <value>0</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(760, 43)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>rational_resampler_xxx_0</value>
    </param>
    <param>
      <key>interp</key>
      <value>12</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>taps</key>
      <value></value>
    </param>
    <param>
      <key>type</key>
      <value>ccc</value>
    </param>
  </block>
  <block>
    <key>wxgui_fftsink2</key>
    <param>
      <key>avg_alpha</key>
      <value>0</value>
    </param>
    <param>
      <key>average</key>
      <value>True</value>
    </param>
    <param>
      <key>baseband_freq</key>
      <value>center_freq</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>fft_size</key>
      <value>1024</value>
    </param>
    <param>
      <key>freqvar</key>
      <value>None</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(328, 0)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>grid_pos</key>
      <value></value>
    </param>
    <param>
      <key>id</key>
      <value>wxgui_fftsink2_0</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>peak_hold</key>
      <value>False</value>
    </param>
    <param>
      <key>ref_level</key>
      <value>0</value>
    </param>
    <param>
      <key>ref_scale</key>
      <value>2.0</value>
    </param>
    <param>
      <key>fft_rate</key>
      <value>15</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>title</key>
      <value>FFT Plot</value>
    </param>
    <param>
      <key>type</key>
      <value>complex</value>
    </param>
    <param>
      <key>win_size</key>
      <value></value>
    </param>
    <param>
      <key>win</key>
      <value>None</value>
    </param>
    <param>
      <key>y_divs</key>
      <value>10</value>
    </param>
    <param>
      <key>y_per_div</key>
      <value>10</value>
    </param>
  </block>
  <block>
    <key>wxgui_fftsink2</key>
    <param>
      <key>avg_alpha</key>
      <value>0</value>
    </param>
    <param>
      <key>average</key>
      <value>True</value>
    </param>
    <param>
      <key>baseband_freq</key>
      <value>channel_freq</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>fft_size</key>
      <value>1024</value>
    </param>
    <param>
      <key>freqvar</key>
      <value>None</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(488, 256)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>grid_pos</key>
      <value></value>
    </param>
    <param>
      <key>id</key>
      <value>wxgui_fftsink2_0_0</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>peak_hold</key>
      <value>False</value>
    </param>
    <param>
      <key>ref_level</key>
      <value>0</value>
    </param>
    <param>
      <key>ref_scale</key>
      <value>2.0</value>
    </param>
    <param>
      <key>fft_rate</key>
      <value>15</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>title</key>
      <value>FFT Plot</value>
    </param>
    <param>
      <key>type</key>
      <value>complex</value>
    </param>
    <param>
      <key>win_size</key>
      <value></value>
    </param>
    <param>
      <key>win</key>
      <value>None</value>
    </param>
    <param>
      <key>y_divs</key>
      <value>10</value>
    </param>
    <param>
      <key>y_per_div</key>
      <value>10</value>
    </param>
  </block>
  <block>
    <key>wxgui_scopesink2</key>
    <param>
      <key>ac_couple</key>
      <value>False</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>0</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(928, 195)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>grid_pos</key>
      <value></value>
    </param>
    <param>
      <key>id</key>
      <value>wxgui_scopesink2_0</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>num_inputs</key>
      <value>1</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>t_scale</key>
      <value>0</value>
    </param>
    <param>
      <key>title</key>
      <value>Scope Plot</value>
    </param>
    <param>
      <key>trig_mode</key>
      <value>wxgui.TRIG_MODE_AUTO</value>
    </param>
    <param>
      <key>type</key>
      <value>float</value>
    </param>
    <param>
      <key>v_offset</key>
      <value>0</value>
    </param>
    <param>
      <key>v_scale</key>
      <value>0</value>
    </param>
    <param>
      <key>win_size</key>
      <value></value>
    </param>
    <param>
      <key>xy_mode</key>
      <value>False</value>
    </param>
    <param>
      <key>y_axis_label</key>
      <value>Counts</value>
    </param>
  </block>
  <connection>
    <source_block_id>aaa</source_block_id>
    <sink_block_id>audio_sink_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>aaa</source_block_id>
    <sink_block_id>wxgui_scopesink2_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>analog_sig_source_x_0</source_block_id>
    <sink_block_id>blocks_multiply_xx_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>1</sink_key>
  </connection>
  <connection>
    <source_block_id>analog_wfm_rcv_0</source_block_id>
    <sink_block_id>aaa</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>blocks_multiply_xx_0</source_block_id>
    <sink_block_id>low_pass_filter_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>blocks_multiply_xx_0</source_block_id>
    <sink_block_id>wxgui_fftsink2_0_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>low_pass_filter_0</source_block_id>
    <sink_block_id>rational_resampler_xxx_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>osmosdr_source_0</source_block_id>
    <sink_block_id>blocks_file_sink_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>osmosdr_source_0</source_block_id>
    <sink_block_id>blocks_multiply_xx_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>osmosdr_source_0</source_block_id>
    <sink_block_id>wxgui_fftsink2_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>rational_resampler_xxx_0</source_block_id>
    <sink_block_id>analog_wfm_rcv_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
</flow_graph>
这里都是按视频做的,没什么参考,就不详细介绍了。

3 FM电台
代码如下,保存成grc文件,然后用GNURadio打开。
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.9'?>
<flow_graph>
  <timestamp>Mon Oct 17 14:46:32 2016</timestamp>
  <block>
    <key>options</key>
    <param>
      <key>author</key>
      <value></value>
    </param>
    <param>
      <key>window_size</key>
      <value></value>
    </param>
    <param>
      <key>category</key>
      <value>Custom</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>description</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(8, 8)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>generate_options</key>
      <value>wx_gui</value>
    </param>
    <param>
      <key>hier_block_src_path</key>
      <value>.:</value>
    </param>
    <param>
      <key>id</key>
      <value>top_block</value>
    </param>
    <param>
      <key>max_nouts</key>
      <value>0</value>
    </param>
    <param>
      <key>qt_qss_theme</key>
      <value></value>
    </param>
    <param>
      <key>realtime_scheduling</key>
      <value></value>
    </param>
    <param>
      <key>run_command</key>
      <value>{python} -u {filename}</value>
    </param>
    <param>
      <key>run_options</key>
      <value>prompt</value>
    </param>
    <param>
      <key>run</key>
      <value>True</value>
    </param>
    <param>
      <key>thread_safe_setters</key>
      <value></value>
    </param>
    <param>
      <key>title</key>
      <value></value>
    </param>
  </block>
  <block>
    <key>variable_slider</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>converver</key>
      <value>float_converter</value>
    </param>
    <param>
      <key>value</key>
      <value>4.388e6</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(856, 113)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>grid_pos</key>
      <value></value>
    </param>
    <param>
      <key>id</key>
      <value>FM_samp_rate</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>max</key>
      <value>5e6</value>
    </param>
    <param>
      <key>min</key>
      <value>3e6</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>num_steps</key>
      <value>1000</value>
    </param>
    <param>
      <key>style</key>
      <value>wx.SL_HORIZONTAL</value>
    </param>
  </block>
  <block>
    <key>variable_slider</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>converver</key>
      <value>float_converter</value>
    </param>
    <param>
      <key>value</key>
      <value>104e6</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(264, 8)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>grid_pos</key>
      <value></value>
    </param>
    <param>
      <key>id</key>
      <value>freq</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>max</key>
      <value>110e6</value>
    </param>
    <param>
      <key>min</key>
      <value>80e6</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>num_steps</key>
      <value>1000</value>
    </param>
    <param>
      <key>style</key>
      <value>wx.SL_HORIZONTAL</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(168, 6)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>value</key>
      <value>48000</value>
    </param>
  </block>
  <block>
    <key>analog_wfm_tx</key>
    <param>
      <key>audio_rate</key>
      <value>48000</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(536, 3)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>analog_wfm_tx_0</value>
    </param>
    <param>
      <key>max_dev</key>
      <value>75e3</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>quad_rate</key>
      <value>480000</value>
    </param>
    <param>
      <key>tau</key>
      <value>300e-6</value>
    </param>
  </block>
  <block>
    <key>audio_source</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>device_name</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(0, 159)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>audio_source_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>num_outputs</key>
      <value>1</value>
    </param>
    <param>
      <key>ok_to_block</key>
      <value>True</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
  </block>
  <block>
    <key>blocks_multiply_const_vxx</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>const</key>
      <value>20</value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(168, 159)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>blocks_multiply_const_vxx_0</value>
    </param>
    <param>
      <key>type</key>
      <value>float</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>vlen</key>
      <value>1</value>
    </param>
  </block>
  <block>
    <key>fractional_interpolator_xx</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(320, 150)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>fractional_interpolator_xx_0</value>
    </param>
    <param>
      <key>interp_ratio</key>
      <value>875e-3</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>phase_shift</key>
      <value>1</value>
    </param>
    <param>
      <key>type</key>
      <value>float</value>
    </param>
  </block>
  <block>
    <key>osmosdr_sink</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>ant0</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain0</key>
      <value>20</value>
    </param>
    <param>
      <key>bw0</key>
      <value>250e3</value>
    </param>
    <param>
      <key>corr0</key>
      <value>0</value>
    </param>
    <param>
      <key>freq0</key>
      <value>freq</value>
    </param>
    <param>
      <key>if_gain0</key>
      <value>40</value>
    </param>
    <param>
      <key>gain0</key>
      <value>10</value>
    </param>
    <param>
      <key>ant10</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain10</key>
      <value>20</value>
    </param>
    <param>
      <key>bw10</key>
      <value>0</value>
    </param>
    <param>
      <key>corr10</key>
      <value>0</value>
    </param>
    <param>
      <key>freq10</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain10</key>
      <value>20</value>
    </param>
    <param>
      <key>gain10</key>
      <value>10</value>
    </param>
    <param>
      <key>ant11</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain11</key>
      <value>20</value>
    </param>
    <param>
      <key>bw11</key>
      <value>0</value>
    </param>
    <param>
      <key>corr11</key>
      <value>0</value>
    </param>
    <param>
      <key>freq11</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain11</key>
      <value>20</value>
    </param>
    <param>
      <key>gain11</key>
      <value>10</value>
    </param>
    <param>
      <key>ant12</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain12</key>
      <value>20</value>
    </param>
    <param>
      <key>bw12</key>
      <value>0</value>
    </param>
    <param>
      <key>corr12</key>
      <value>0</value>
    </param>
    <param>
      <key>freq12</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain12</key>
      <value>20</value>
    </param>
    <param>
      <key>gain12</key>
      <value>10</value>
    </param>
    <param>
      <key>ant13</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain13</key>
      <value>20</value>
    </param>
    <param>
      <key>bw13</key>
      <value>0</value>
    </param>
    <param>
      <key>corr13</key>
      <value>0</value>
    </param>
    <param>
      <key>freq13</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain13</key>
      <value>20</value>
    </param>
    <param>
      <key>gain13</key>
      <value>10</value>
    </param>
    <param>
      <key>ant14</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain14</key>
      <value>20</value>
    </param>
    <param>
      <key>bw14</key>
      <value>0</value>
    </param>
    <param>
      <key>corr14</key>
      <value>0</value>
    </param>
    <param>
      <key>freq14</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain14</key>
      <value>20</value>
    </param>
    <param>
      <key>gain14</key>
      <value>10</value>
    </param>
    <param>
      <key>ant15</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain15</key>
      <value>20</value>
    </param>
    <param>
      <key>bw15</key>
      <value>0</value>
    </param>
    <param>
      <key>corr15</key>
      <value>0</value>
    </param>
    <param>
      <key>freq15</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain15</key>
      <value>20</value>
    </param>
    <param>
      <key>gain15</key>
      <value>10</value>
    </param>
    <param>
      <key>ant16</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain16</key>
      <value>20</value>
    </param>
    <param>
      <key>bw16</key>
      <value>0</value>
    </param>
    <param>
      <key>corr16</key>
      <value>0</value>
    </param>
    <param>
      <key>freq16</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain16</key>
      <value>20</value>
    </param>
    <param>
      <key>gain16</key>
      <value>10</value>
    </param>
    <param>
      <key>ant17</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain17</key>
      <value>20</value>
    </param>
    <param>
      <key>bw17</key>
      <value>0</value>
    </param>
    <param>
      <key>corr17</key>
      <value>0</value>
    </param>
    <param>
      <key>freq17</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain17</key>
      <value>20</value>
    </param>
    <param>
      <key>gain17</key>
      <value>10</value>
    </param>
    <param>
      <key>ant18</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain18</key>
      <value>20</value>
    </param>
    <param>
      <key>bw18</key>
      <value>0</value>
    </param>
    <param>
      <key>corr18</key>
      <value>0</value>
    </param>
    <param>
      <key>freq18</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain18</key>
      <value>20</value>
    </param>
    <param>
      <key>gain18</key>
      <value>10</value>
    </param>
    <param>
      <key>ant19</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain19</key>
      <value>20</value>
    </param>
    <param>
      <key>bw19</key>
      <value>0</value>
    </param>
    <param>
      <key>corr19</key>
      <value>0</value>
    </param>
    <param>
      <key>freq19</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain19</key>
      <value>20</value>
    </param>
    <param>
      <key>gain19</key>
      <value>10</value>
    </param>
    <param>
      <key>ant1</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain1</key>
      <value>20</value>
    </param>
    <param>
      <key>bw1</key>
      <value>0</value>
    </param>
    <param>
      <key>corr1</key>
      <value>0</value>
    </param>
    <param>
      <key>freq1</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain1</key>
      <value>20</value>
    </param>
    <param>
      <key>gain1</key>
      <value>10</value>
    </param>
    <param>
      <key>ant20</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain20</key>
      <value>20</value>
    </param>
    <param>
      <key>bw20</key>
      <value>0</value>
    </param>
    <param>
      <key>corr20</key>
      <value>0</value>
    </param>
    <param>
      <key>freq20</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain20</key>
      <value>20</value>
    </param>
    <param>
      <key>gain20</key>
      <value>10</value>
    </param>
    <param>
      <key>ant21</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain21</key>
      <value>20</value>
    </param>
    <param>
      <key>bw21</key>
      <value>0</value>
    </param>
    <param>
      <key>corr21</key>
      <value>0</value>
    </param>
    <param>
      <key>freq21</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain21</key>
      <value>20</value>
    </param>
    <param>
      <key>gain21</key>
      <value>10</value>
    </param>
    <param>
      <key>ant22</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain22</key>
      <value>20</value>
    </param>
    <param>
      <key>bw22</key>
      <value>0</value>
    </param>
    <param>
      <key>corr22</key>
      <value>0</value>
    </param>
    <param>
      <key>freq22</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain22</key>
      <value>20</value>
    </param>
    <param>
      <key>gain22</key>
      <value>10</value>
    </param>
    <param>
      <key>ant23</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain23</key>
      <value>20</value>
    </param>
    <param>
      <key>bw23</key>
      <value>0</value>
    </param>
    <param>
      <key>corr23</key>
      <value>0</value>
    </param>
    <param>
      <key>freq23</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain23</key>
      <value>20</value>
    </param>
    <param>
      <key>gain23</key>
      <value>10</value>
    </param>
    <param>
      <key>ant24</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain24</key>
      <value>20</value>
    </param>
    <param>
      <key>bw24</key>
      <value>0</value>
    </param>
    <param>
      <key>corr24</key>
      <value>0</value>
    </param>
    <param>
      <key>freq24</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain24</key>
      <value>20</value>
    </param>
    <param>
      <key>gain24</key>
      <value>10</value>
    </param>
    <param>
      <key>ant25</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain25</key>
      <value>20</value>
    </param>
    <param>
      <key>bw25</key>
      <value>0</value>
    </param>
    <param>
      <key>corr25</key>
      <value>0</value>
    </param>
    <param>
      <key>freq25</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain25</key>
      <value>20</value>
    </param>
    <param>
      <key>gain25</key>
      <value>10</value>
    </param>
    <param>
      <key>ant26</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain26</key>
      <value>20</value>
    </param>
    <param>
      <key>bw26</key>
      <value>0</value>
    </param>
    <param>
      <key>corr26</key>
      <value>0</value>
    </param>
    <param>
      <key>freq26</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain26</key>
      <value>20</value>
    </param>
    <param>
      <key>gain26</key>
      <value>10</value>
    </param>
    <param>
      <key>ant27</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain27</key>
      <value>20</value>
    </param>
    <param>
      <key>bw27</key>
      <value>0</value>
    </param>
    <param>
      <key>corr27</key>
      <value>0</value>
    </param>
    <param>
      <key>freq27</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain27</key>
      <value>20</value>
    </param>
    <param>
      <key>gain27</key>
      <value>10</value>
    </param>
    <param>
      <key>ant28</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain28</key>
      <value>20</value>
    </param>
    <param>
      <key>bw28</key>
      <value>0</value>
    </param>
    <param>
      <key>corr28</key>
      <value>0</value>
    </param>
    <param>
      <key>freq28</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain28</key>
      <value>20</value>
    </param>
    <param>
      <key>gain28</key>
      <value>10</value>
    </param>
    <param>
      <key>ant29</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain29</key>
      <value>20</value>
    </param>
    <param>
      <key>bw29</key>
      <value>0</value>
    </param>
    <param>
      <key>corr29</key>
      <value>0</value>
    </param>
    <param>
      <key>freq29</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain29</key>
      <value>20</value>
    </param>
    <param>
      <key>gain29</key>
      <value>10</value>
    </param>
    <param>
      <key>ant2</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain2</key>
      <value>20</value>
    </param>
    <param>
      <key>bw2</key>
      <value>0</value>
    </param>
    <param>
      <key>corr2</key>
      <value>0</value>
    </param>
    <param>
      <key>freq2</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain2</key>
      <value>20</value>
    </param>
    <param>
      <key>gain2</key>
      <value>10</value>
    </param>
    <param>
      <key>ant30</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain30</key>
      <value>20</value>
    </param>
    <param>
      <key>bw30</key>
      <value>0</value>
    </param>
    <param>
      <key>corr30</key>
      <value>0</value>
    </param>
    <param>
      <key>freq30</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain30</key>
      <value>20</value>
    </param>
    <param>
      <key>gain30</key>
      <value>10</value>
    </param>
    <param>
      <key>ant31</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain31</key>
      <value>20</value>
    </param>
    <param>
      <key>bw31</key>
      <value>0</value>
    </param>
    <param>
      <key>corr31</key>
      <value>0</value>
    </param>
    <param>
      <key>freq31</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain31</key>
      <value>20</value>
    </param>
    <param>
      <key>gain31</key>
      <value>10</value>
    </param>
    <param>
      <key>ant3</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain3</key>
      <value>20</value>
    </param>
    <param>
      <key>bw3</key>
      <value>0</value>
    </param>
    <param>
      <key>corr3</key>
      <value>0</value>
    </param>
    <param>
      <key>freq3</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain3</key>
      <value>20</value>
    </param>
    <param>
      <key>gain3</key>
      <value>10</value>
    </param>
    <param>
      <key>ant4</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain4</key>
      <value>20</value>
    </param>
    <param>
      <key>bw4</key>
      <value>0</value>
    </param>
    <param>
      <key>corr4</key>
      <value>0</value>
    </param>
    <param>
      <key>freq4</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain4</key>
      <value>20</value>
    </param>
    <param>
      <key>gain4</key>
      <value>10</value>
    </param>
    <param>
      <key>ant5</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain5</key>
      <value>20</value>
    </param>
    <param>
      <key>bw5</key>
      <value>0</value>
    </param>
    <param>
      <key>corr5</key>
      <value>0</value>
    </param>
    <param>
      <key>freq5</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain5</key>
      <value>20</value>
    </param>
    <param>
      <key>gain5</key>
      <value>10</value>
    </param>
    <param>
      <key>ant6</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain6</key>
      <value>20</value>
    </param>
    <param>
      <key>bw6</key>
      <value>0</value>
    </param>
    <param>
      <key>corr6</key>
      <value>0</value>
    </param>
    <param>
      <key>freq6</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain6</key>
      <value>20</value>
    </param>
    <param>
      <key>gain6</key>
      <value>10</value>
    </param>
    <param>
      <key>ant7</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain7</key>
      <value>20</value>
    </param>
    <param>
      <key>bw7</key>
      <value>0</value>
    </param>
    <param>
      <key>corr7</key>
      <value>0</value>
    </param>
    <param>
      <key>freq7</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain7</key>
      <value>20</value>
    </param>
    <param>
      <key>gain7</key>
      <value>10</value>
    </param>
    <param>
      <key>ant8</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain8</key>
      <value>20</value>
    </param>
    <param>
      <key>bw8</key>
      <value>0</value>
    </param>
    <param>
      <key>corr8</key>
      <value>0</value>
    </param>
    <param>
      <key>freq8</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain8</key>
      <value>20</value>
    </param>
    <param>
      <key>gain8</key>
      <value>10</value>
    </param>
    <param>
      <key>ant9</key>
      <value></value>
    </param>
    <param>
      <key>bb_gain9</key>
      <value>20</value>
    </param>
    <param>
      <key>bw9</key>
      <value>0</value>
    </param>
    <param>
      <key>corr9</key>
      <value>0</value>
    </param>
    <param>
      <key>freq9</key>
      <value>100e6</value>
    </param>
    <param>
      <key>if_gain9</key>
      <value>20</value>
    </param>
    <param>
      <key>gain9</key>
      <value>10</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>args</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(704, 110)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>osmosdr_sink_0</value>
    </param>
    <param>
      <key>type</key>
      <value>fc32</value>
    </param>
    <param>
      <key>clock_source0</key>
      <value></value>
    </param>
    <param>
      <key>time_source0</key>
      <value></value>
    </param>
    <param>
      <key>clock_source1</key>
      <value></value>
    </param>
    <param>
      <key>time_source1</key>
      <value></value>
    </param>
    <param>
      <key>clock_source2</key>
      <value></value>
    </param>
    <param>
      <key>time_source2</key>
      <value></value>
    </param>
    <param>
      <key>clock_source3</key>
      <value></value>
    </param>
    <param>
      <key>time_source3</key>
      <value></value>
    </param>
    <param>
      <key>clock_source4</key>
      <value></value>
    </param>
    <param>
      <key>time_source4</key>
      <value></value>
    </param>
    <param>
      <key>clock_source5</key>
      <value></value>
    </param>
    <param>
      <key>time_source5</key>
      <value></value>
    </param>
    <param>
      <key>clock_source6</key>
      <value></value>
    </param>
    <param>
      <key>time_source6</key>
      <value></value>
    </param>
    <param>
      <key>clock_source7</key>
      <value></value>
    </param>
    <param>
      <key>time_source7</key>
      <value></value>
    </param>
    <param>
      <key>nchan</key>
      <value>1</value>
    </param>
    <param>
      <key>num_mboards</key>
      <value>1</value>
    </param>
    <param>
      <key>sample_rate</key>
      <value>FM_samp_rate</value>
    </param>
    <param>
      <key>sync</key>
      <value></value>
    </param>
  </block>
  <block>
    <key>rational_resampler_xxx</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>decim</key>
      <value>1</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>fbw</key>
      <value>0</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(536, 139)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>rational_resampler_xxx_0</value>
    </param>
    <param>
      <key>interp</key>
      <value>8</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>taps</key>
      <value></value>
    </param>
    <param>
      <key>type</key>
      <value>ccc</value>
    </param>
  </block>
  <block>
    <key>wxgui_scopesink2</key>
    <param>
      <key>ac_couple</key>
      <value>False</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>0</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(320, 243)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>grid_pos</key>
      <value></value>
    </param>
    <param>
      <key>id</key>
      <value>wxgui_scopesink2_0</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>num_inputs</key>
      <value>1</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>t_scale</key>
      <value>0</value>
    </param>
    <param>
      <key>title</key>
      <value>Scope Plot</value>
    </param>
    <param>
      <key>trig_mode</key>
      <value>wxgui.TRIG_MODE_AUTO</value>
    </param>
    <param>
      <key>type</key>
      <value>float</value>
    </param>
    <param>
      <key>v_offset</key>
      <value>0</value>
    </param>
    <param>
      <key>v_scale</key>
      <value>0</value>
    </param>
    <param>
      <key>win_size</key>
      <value></value>
    </param>
    <param>
      <key>xy_mode</key>
      <value>False</value>
    </param>
    <param>
      <key>y_axis_label</key>
      <value>Counts</value>
    </param>
  </block>
  <connection>
    <source_block_id>analog_wfm_tx_0</source_block_id>
    <sink_block_id>rational_resampler_xxx_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>audio_source_0</source_block_id>
    <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>blocks_multiply_const_vxx_0</source_block_id>
    <sink_block_id>fractional_interpolator_xx_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>blocks_multiply_const_vxx_0</source_block_id>
    <sink_block_id>wxgui_scopesink2_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>fractional_interpolator_xx_0</source_block_id>
    <sink_block_id>analog_wfm_tx_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>rational_resampler_xxx_0</source_block_id>
    <sink_block_id>osmosdr_sink_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
</flow_graph>
这里做一个简单介绍,很多模块我也不清楚,如有错误,望大神指出。
(1)Audio Source模块:
这个模块是从话筒采集信号,Sample Rate参数可以自己设置,一般音乐的采样率为44.1k,这里的设置为48k。
(2)Multiply模块
对话筒接收的信号进行线性放大,保证信号的清晰度。
(3)Fractionnal Interpolator模块
这个我也不懂,不过需要注意的是,模块上的875m表示875e-3,我当时只看到截图,花了点时间才知道的。
(4)WBFM Transmit模块
300u表示300e-6。
(5)osmocom Sink模块
Sample Rate(sps):决定了音频输出的快慢,我用了一个滑块来调整到合适值。
Ch0:Frequency(Hz):载波频率,决定了你能在哪个频道上收到信号 (注意:注意使用无线电请遵守法律,不要干扰其他无线电设备)
Ch0:RF Gain(dB):修改这个值可以改变发射信号覆盖的范围。
(6)最后,你可以用你的手机FM接收HackRF电台的信号了。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页