portapack应用开发教程(十八)navtex接收_老邵的开源世界的博客-爱代码爱编程
GNURadio实现NavTex(航行警告电传系统)解调_哔哩哔哩_bilibili
上面视频是我目前实现的效果。
NavTex是一种航行警告电传系统。工作频率是500kHz左右或者4.2MHz,后者可以用PortaPack直接接收。
更多介绍:
NAVTEX(航行警告电传系统)接收、粗认识指南 - 哔哩哔哩
我之前就知道它可以认为是SSB+AFSK的调制方式。问题是这么解太难。往简单来说SSB其实就是一种AM,而AM又可以被看作是频率搬移或混频,这部分工作本身SDR就有硬件在承担了。因此可以直接忽略这部分,剩下的就是FSK了。而FSK就可以看作FM。这个就跟以前做NRF或者BTLE解调一样。
所以我一开始用NRF的流图尝试。能看到效果,但是效果不好,后来我在网上找了fsk-demod这个第三方gnuradio模块。并且把我查到的navtex调制频率变化freq_deviation 170Hz填入到模块中,还把我根据音频频谱图上的中心频率1500Hz作为选频滤波器的中心频率填入。就可以看到类似安卓的navtex软件上类似的方波波型了。
我数了一下0.1秒内有10个UI,和我查询到的navtex的波特率100正好对应。
后来我又仔细比较了一下每一瞬间的波形长短,发现都能和安卓软件对得上,说明gnuradio解调就做好了。
再后来我还要简化一下流图,把第三方模块里有用的部分直接拿到我自己的流图里来,也能用,这也就是视频里用到的程序了。
但目前解调只是音频基带的。后面还要做portapack发射后,用hackrf+gnuradio来接收并解调。然后再一步步实现HackRF直接用c++解调和解码。最终搬进portapack。