嵌入式Linux中文站

HACKRF初级教程之:GMSK(GSM)传输文本


本文系嵌入式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采样。
 
1,下载GNURadio grc 文件,或手工画如下流图
从github上clone我调试好的grc
$ git clone https://github.com/aricwang88/hackrf_GMSK_Transmit_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等其它的调制方式。

本文永久更新链接:http://embeddedlinux.org.cn/emb-linux/entry-level/201703/18-6295.html



分享:

评论