本文系嵌入式Linux中文站志愿者Aric Wang 原创投递,感谢志愿者们的辛勤付出,希望更多的朋友加入嵌入式Linux中文站志愿者团队。
GMSK调制技术是从MSK(Minimum Shift Keying)调制的基础上发展起来的一种数字调制方式,其特点是在数据流送交频率调制器前先通过一个Gauss滤波器(预调制滤波器)进行预调制滤波,以减小两个不同频率的载波切换时的跳变能量,使得在相同的数据传输速率时频道间距可以变得更紧密。由于数字信号在调制前进行了Gauss预调制滤波,调制信号在交越零点不但相位连续,而且平滑过滤,因此GSMK调制的信号频谱紧凑、误码特性好,在数字移动通信中得到了广泛使用,如广泛使用的GSM(Global System for Mobile communication)移动通信体制就是使用GMSK调制方式。
本文向大家介绍一种Software Define Radio的方法来实现GMSK传输文本。此demo使用了两台计算机,一台是ubuntu使用hackrf发送,另一台是windows下跑的lubuntu的虚拟机使用rtl-sdr来接收,由于rtl-sdr的带宽比较窄,所以此demo只使用了2M采样。
本文向大家介绍一种Software Define Radio的方法来实现GMSK传输文本。此demo使用了两台计算机,一台是ubuntu使用hackrf发送,另一台是windows下跑的lubuntu的虚拟机使用rtl-sdr来接收,由于rtl-sdr的带宽比较窄,所以此demo只使用了2M采样。
1,下载GNURadio grc 文件,或手工画如下流图
从github上clone我调试好的grc
$ git clone https://gith ub.com/aricw ang88/hackrf _GMSK_Transm it_Text.git
(如果无法下载,可以按下图手工画出流图)
发射流图

接收流图:

2,生成并配置发送源文本文件和接收另存的文本文件
#touch /home/aric/GMSK_Tx.txt
在发射图中双击流图中的File Source

在接收的机器上双击流图的File Sink

3,打开接收让rtl-sdr开始接收, 打开发射让hackrf同时也发射
发射开始后,会弹出虚拟的示波器,这里我关注的是星座图,取消掉Autorange, 把X,Y坐标改成0-2之间。

此时发射机红灯亮起,代表正在发射...
接收机启动后,会弹出虚拟示波器,切到我关注的星座图:

打开一个新的terminal,输入,
#tailf /home/esp8266/GMSK_RX_demo.txt
此时应该可以看到源源不断的数据从hackrf发过来。
可以调整一下参数,继续观察星座图:

Home Work: 此demo只是展示了GMSK,同时可以换个BPSK, PSK,ASK等其它的调制方式。