Portapack应用开发教程(八)pocsag收发改进

pocsag信号就是bb机。其实havoc固件已经实现了pocsag信号的接收和发射了。但是我发现一个问题,无法使用一个portapack来发pocsag给另一个portapack。

当我调整到同一个中心频率的时候,可以看到当发射机在发的时候,接收机的信号强度会增加。但是没有数据出来。

我本来以为是地址的问题,但是咨询了几个朋友后知道,portapack接收机是支持任意地址接收的,只要不勾选ignore address,就是不管什么地址的消息,它都会显示出来。

后来经过几个朋友的测试,发现portapack接收只能支持反相的模式,而发射只支持正相模式。两种模式不能互相通信,导致无法用portapack发给另一个portapack。

我看了看pocsag的发射接收代码,其实就是fm做的。发射的时候根据01010这样的bit来决定相位,所以我打算把下面图里第62行的cur_bit前加一个感叹号试试,后来就成功了。

但是这样还有几个问题,一个是proc_fsk是几个app共享的,我这样一改别的程序可能没法正常使用。

还有另一个问题是其实正相反相我都要的,否则的话我这么改了也只是能让portapack互相发信息,但是不能支持所有bb机。

所以我要做的是在界面上实现正相反相的切换,不只是发射机,接收机也要实现正反相切换。

后来我在pocsag的编码过程中做了处理,维持调制部分与原来代码不变,主要改的是ui_pocsag_tx。

接收部分我是在解调里做的,因为先解调才解码,如果解码才做处理,就没法检测到preamble了。但是选择模式还是在界面上,所以我还做了界面传参数给解调部分,这个稍微有点麻烦的。

代码设计了好几个文件,我都传到我的github的repo里了。

演示视频:

https://www.bilibili.com/video/BV1nf4y1m7dn

猜你喜欢

转载自blog.csdn.net/shukebeta008/article/details/105764084