Gnuradio之AM电台接收机

实验目的

学习 GNU Radio 流程图编程。 了解 AM 信号的接收处理流程, 找到自己需要的模块, 修改模块的参数,设计 AM 电台信号接收流程图, 并收听电台内容。


打开 GRC,并连接如图所示

数据速率(sample rate)设置为 256K,这是因为保存的文件数据也是 256K。File source 模块中选择已经下载好的文件。选择模块端口输出类型为 complex

为什么在软件无线电中选择复数数据类型?

在信号处理时用复信号,可以节省一半的带宽

保存并执行上述 FLOW GRAPH,可以观测到该信号的 FFT 频谱,如图所示

点击右下角的 Autoscale 按钮可以将波形调整到合适的位置。观测频谱并注意以下几点:

(1)因为该信号记录的频点为 710KHz,所以信号的中心频率实际为 710KHz,也就是说图中的 80KHz 的位置实际上是 710K+80K=790KHz。

(2)信号频率展宽范围是-128KHz 到 128KHz。也就是实际的展宽为 256KHz,这与所设置的 Sample Rate 一致。

为了得到分辨率更高的 FFT 频谱,将上图中的频谱展宽

如何展宽频谱?

将 Rational Resampler 模块的加到流程图中,如图 3 所示方法连接,并设置参数Decimation 为 4,其他默认。这样信号的频谱宽度就变为256K/4=64K,如图 所示。

33

(1) 增加一个 Variable 模块,该模块的作用是灵活的改变参数的设置。例如该步骤中 Sampler Rate需要改为 64K。这里不需要逐一的改编 Throttle、FFT sink中的 Sample Rate 的设置,而只需要将 Variable 的 ID 改为 resamp_factor,然后参数设置为 4,接着在 Throttle 和 FFT 中将参数 Sample Rate 设置为:samp_rate/resamp_factor,这样结果自动计算为 64K。

为了选择中心频率为 710KHz 波段的 AM 电台,需要增加一个低通滤波器去过滤其他信号,参数的设置如图所示

接下来需要做的就是信号解调

AM 信号由于是振幅调制信号,即时域波形就是信号的包络。GNU Radio 中包含一个可以将复数信号转为实数信号的模块(Complex to Mag)。流程图如下图所示,执行该流程图就可以观察到 AM 基带信号。尽管 FFT Sink 输入信号类型为 Float 型,但信号频谱只有正频率部分。

(1) 流程图中增加 Throttle 是为了仿真的需要,否则在观察频谱的时候电脑有可能死机。如果信号输入 USRP 设备或者声卡等设备时,则不需要这个模块

接下来就可以收听解调后的 AM 信号了

加入 audio sink 和 WX GUI scopesink 模块,流程图如下图所示。
(1)目前声卡的采样率大部分为 48K,因此改变 audio sink 中的设置参数。同时,由于 Complex to Mag模块输出的信号采样率为 64K,所以需要通过RationalResampler 模块改变它的输出信号采样率。设置参数 decimate 为 4, interpolate 为3,即采样率为 64K/4*3=48K。

(2)执行该流程图并不能听到真正的 AM 信号,只有”滋滋”的电流声,这是因为输入扬声器的信号功率太大。

加入衰减器 Multiply Const,同时为了能够灵活地调整输入扬声器信号功率,加入 WX GUI Slider模块

这个模块的功能像一个滑块,可以灵活地调整变量的值,以便能够调试到合适的参数并收听到 AM 信号, 如图 9 所示。(1)执行该流程,并调整 volume 到 30m 左右,可以听到不是很清楚的声音。这是因为该波段的信号混有噪音,后续会继续进行处理得到清晰的声音。

观察图中的信号可以看到在 80KHz+710KHz 的波段有很强的信号,因此去解调此处的信号

为了解调 790KHz 处的信号,需要将其频移至 0 频附近。要想得到该信号,可以通过乘以一个余弦信号进行频谱的搬移。修改频谱后如图 10 所示:

(1)时域信号相乘相当于频域的相加。因此乘以-80KHz 的余弦波可以将信号往左搬移 80KHz。

为什么可以这样操作?

原理为三角函数里面的和差化积公式

(2)可以增加一个 WX GUI Slider 去调节所加信号的频率,实现的对电台(频率)的可选择性。

(3)执行该流程图可以听到比较清新的声音,但仍有很多杂音,这是由于电噪声的影响。可以通过增益自动调节模块(AGC)来进行调节。

增加自动增益控制模块(AGC2)及调节频率的 slider 模块,得到如图所示的结果

(1) AGC2 模块加到 Low pass filter 和 Complex to Mag 模块之间

(2) AGC2 模块参数设置: Attack=6.25e-4, Decay=1e-5。其他默认

(3)声卡可接收的功率范围是-1.0 到 1.0

(4)执行流程图,调整余弦信号频率到-80KHz,可以听到比较清晰的声音,然后调节 volume,可以增大音量。这时听到的声音比前面的要清新多了。

(5)当所观测的 FFT GUI 界面有两个以上时,可以用 WX GUI Notebook 模块。该模块可以产生如图中所示的 tab1 tab2 tab3 标签样式。

可以很清晰的听出原文是一段英文

电台文件下载