一、简介
利用GNU Radio与Pluto实现简单的FM收音机功能。GNU Radio是一款适于软件无线电(SDR)的软件平台,利用它能够通过图形化编程快速实现所需功能。而Pluto是一款软件无线电主动学习硬件平台,能够收发一定频率。
二、用到的资源
1、软件:GNU Radio3.8 、Putty(系统Ubuntu20.04)
2、硬件:ADALM PLUTO主动学习模块
三、开发流程
1、安装Ubuntu的USB驱动和软件Putty,通过串口或者ip地址连接上Pluto;
2、更新Pluto固件版本;
3、将AD9363频带扩展为AD9364的70M~6GHz;
4、安装GNU Radio及其libiio、libad9361-iio、gr-iio等依赖包;
5、在GNU Radio上搭建PlutoSDR、LPF、WBFM Receiver、Audio Sink等组成的FM播放器流程图;
6、接入Pluto,调试、运行流程图;
7、当电脑声卡发出收音机一般的噪声、GNU Radio显示频率波形时,说明流程图运行正常;
8、利用自制天线(1米左右电线)接入Pluto,成功收听到FM电台;
9、更改中心频率,实现FM播放器的调频功能。
四、流程(代码)说明
流程:信号接收-->低通滤波-->信号解调为音频信号-->音频通过声卡输出
由于是图形化界面,无需写代码,主要设置参数,如下:
1、PlutoSDR Source:
LO Frequency(中心频率)即当前电台频率,比如98.3M;
URI为“ip:pluto.local”或者“ip:192.168.2.1”,是Pluto的ip地址;
采样率2.8M;
RF Bandwidth为20M;
其余默认即可。
2、Low Pass Filter:
Decimation(抽取因子)为7;
Cutoff Freq(截止频率)为40k,可以根据需要调整;
带宽与截止频率相同,为40k;
3、WBFM Receive:
Quadrature rate为384k;
Audio Decimation为8;
4、Audio Sink:
name不填,让程序自动选择;
采样率用48kHz即可;
5、QT GUI Waterfall Sink与QT GUI Frequency Sink:根据当前中心频率与采样率设置即可。
五、心得体会
对软件无线电的概念了解更深入,利用Pluto自己做出FM播放器的喜悦吸引了我,我对无线电领域更加感兴趣了,感谢硬禾学堂提供的活动讲座与资料支持!
六、资料链接