论坛风格切换切换到宽版
  • 62415阅读
  • 331回复

DIY一个养眼的PSK31,RTTY,CP16,JT65数据通信Modem [复制链接]

上一主题 下一主题
离线BG8NJW
 
发帖
189
只看楼主 倒序阅读 0楼 发表于: 2015-12-17
                   DIY一个养眼的PSK31,RTTY,CP16数据通信Modem


    生小孩后貌似没多少时间系统地DIY了,得找个东西来刺激一下自己的神经。
    一个月前这欲望特别强烈,也就有了这个想法。本来寻思着做个SDR收发信机,但有些技术还没在FPGA层面验证通过,就先做了这个小玩意,一是深入研究一些DSP算法,二是考验下自己所学,三是给自己一个新年礼物。DIY这货还是前前后后花了个把月时间,好在今天差不多完工了,发帖纪念一下。
    记得2年前在贵州HAM年会上,BG8OKU老师手把手教会了我利用logger32软件进行PSK31通联,当时觉得吊爆了,因为我在短波上从来没有喊到过国外的火腿,而PSK31一上手,就立马通了几个DX电台,那兴奋劲现在还记忆犹新。愈发不可收拾了,上瘾了,从那以后我在短波上基本就没进行过语音通信,取而代之的是敲键盘。
    因为爱出去玩,所以考虑做成便携式的,选了个450cd亮度的手机TFT屏,在电容屏与独立键盘之间纠结了半天,想到电容屏虚拟键盘一是耗费宝贵的显示区域,二是手机感太强了,最后还是决定使用独立键盘,直接找了个现成的硅胶键盘尺寸就定下来了。
CATIA画图,画了差不多2天,还真得感谢这软件,用CAD我头脑空间思维完全不够用。本地老大BG8NXA在外观设计中给予了大力支持,在此表示感谢。






    出3D图送厂家就直接CNC,喷砂氧化一条龙服务了,家里有小孩了,完全不可能在家用那小雕铣机慢慢加工。价格是小贵点但是效果还是比较满意的。唯一缺憾就是单件厂家不给俺做激光镭标,小尖刀雕的Logo真是画蛇添足,氧化后毛都看不见了。

6061-T6整板CNC










面子搞定了,开始弄瓤子。
硬件部分
便于扩展其它功能,元件选型和电路设计上都留了很大的余量。
MPUSTM32F407ZGT6 1MB FLASH 192KB RAM,这货猛,带浮点运算单元FPU,性能不输DSP28335,超频后更是秒杀。
SRAM1MB10nSs速度),做双缓冲显存,保证屏幕显示流畅无卡顿闪烁跳帧。
音频ADCDAC):WM8978HIFI级别的codecod芯片了,后期准备增加个无损播放机功能。
电源管理:全是同步整流高效率的IC,电池供电,不得不考虑效率。
电池:锂聚合物电池,3Ah4.2V
字库:16Mbflash做的装了4个字号的字库,基本够用了
外部存储:TF卡,存储升级文件,配置文件什么的。以后可以装歌曲用
接口:3.5mm双声道3芯接口,插耳机听侧音或者听歌
3.5mm4芯接口,接电台的ACC
MINIUSB接口,充电,电脑USB连接(读取TF卡),将来看有没有必要扩展个USB声卡或是支持外接键盘什么的。
电阻电容电感全是进口货,增加一次成功率,免得到时出了问题不晓得是硬件设计错误还是软件设计错误。插接件都用了日本苏樱的。
键盘方面,单独用一块小单片机来弄,省得主机上逻辑啰嗦。



值得一提的是,和电台的接口方面做得比较小心,PTT用继电器隔离,音频输入输出全部用1:1的音频隔离变压器隔离,4TVS管,PCB铜箔尖端放电间隙以及一堆磁珠来最大限度地隔离高频干扰和高压浪涌。








这没啥多说的了,画好直接发厂家打样,期间等了3天,正好可以把板子的硬件驱动和基本测试程序写完。
板子到了后直接开焊,不出所料,千检查万检查,总打破不了第一次打样会有硬件bug的情况。这次也不例外,大毛病没有,就是LED本来应该上拉的我接到地了。。。还好可以跳线修正。

焊好后,超声波洗干净,直接装机上电测试。






最不放心的就是那液晶屏的排线插座
40X0.2mm的密脚,还好通电测试一切顺利

这次没用上FPGA做“显卡”,单靠STM32F4的高速FSMC和片外显存双缓冲,就达到了平滑的动画显示效果。






后面就是软件了
    以现在的通信技术来看,PSKRTTY这些的调制解调技术可能不值一提,按照我的偶像-科创局BD8AAA(刘虎)所说,现在的SDR技术早在十年前就应用于手机里面了,只是现在才开始往业余界普及,听起来很新鲜而已。
网上找了个PSK的调制解调流程








PSK调制比较简单,就是普通的正交调制而已,而解调相对比较啰嗦,难点在于变长码和同步机制,好在老外网上有很多现成的码库,移植移植也就搞定了。不过老外不知道是笔误还是什么,给的代码总有很明显的错误或者漏洞,还好不是什么难事就搞定了。反而有点难度的是小键盘部分,没想到要实现类似电脑键盘的功能还真是费了点脑筋啊,其中得到了我好基友BG8NLO的鼎力协助,才得以高速完成。
目前软件支持如下通信方式:
BPSK31
BPSK63
QPSK31L
QPSK31U
QPSK63L
QPSK63U
RTTY45
RTTY45R
CP8(国人自创模式)
CP16(国人自创模式)
界面方面:
支持灰度瀑布图
支持彩色瀑布图
支持频谱图
星座图显示
32级亮度调节
信号条显示
10个宏

挺多的懒得写了,被GUI界面搞得挺烦,大部分时间都花这上面了,力求便于操作,尽量接近电脑软件功能。






特别说明的是。对于前段时间杂志上公布的CP16模式,虽然机制简单,但感觉现在静下心来研究点技术的越来越少了,个人觉得比较喜感,也把它添加进来了,而且做了一定的改进。如果CP16原作者觉得不妥或有版权问题,我立即删除(电话1518539829)。
顺便对CP16的原作者提一点小建议。原作者,对16NCO出来的键控信号,为避免键控瞬变造成的谐波,采用了我记得是3阶的巴特沃夫LPF来滤除,其实完全没必要,一是滤波器计算开销大,不适合移植到微处理器中运行,二是滤波器参数选择不好的话,输出达不到预想效果。
而我目前采用的是软开关算法,用一个正弦(或余弦)曲线对键控过程进行幅度包络,那么你键控信号实际的带宽就降到了(符号率*包络频率)Hz/通道,因为是简单的二值键控,假设符号中间无间隔的话,60Hz的包络就产生60Hz的带宽,和AM调制一个道理。我上个图看得明白些。

这是发送连续的10101010。。。基带的情况


注意看边缘不是突变,而是平滑过渡的

我将一个码元放大一点来看


符号变换瞬间特写


这样,就完全避免了滤波器的使用,出来的频谱干干净净
悲催的白天上班,晚上才能静下心来堆代码,效率低下。截止到2015121623时,才完成了大部分功能的整合,一激动,马上连起电台,通了几个DX台子。照了本猫的处女qso纪念一下。
















这是和本地HAM同城测试的CP16单芯片调制效果








GUI界面尚需完善,发现的小bug尚需修正。

完善了再来汇报情况。欢迎大家多提改进建议!


[ 此帖被BG8NJW在2015-12-24 10:38重新编辑 ]
让业余无线电数据通信在中国流行起来
离线bg8nxa
发帖
781
只看该作者 1楼 发表于: 2015-12-17
高端大气上档次,楼主牛逼!
离线李铁柱79
发帖
7254
只看该作者 2楼 发表于: 2015-12-17
真不错吧,学习学习!

内容来自Android手机客户端

离线BD1CM
发帖
3306
只看该作者 3楼 发表于: 2015-12-17
         好机好机
uH = 25330/ (MHZ x MHZ x pF).  pF = 25330/( MHZ x MHZ x uH).
严肃认真、周到细致、稳妥可靠、万无一失,虽然我们可能做不到万无一失,但是我们尽人事、听天命……

https://uk.groups.yahoo.com/neo/groups/S9-C_SDR/info


QQ:63545177
离线BD7MYM
发帖
565
只看该作者 4楼 发表于: 2015-12-17
学习了。高手在天朝啊。

内容来自Android手机客户端

离线BG3UBC
发帖
2471
只看该作者 5楼 发表于: 2015-12-17
牛逼啊!其实不带键盘更方便!接一个外接键盘

内容来自Android手机客户端

离线BA7CK
发帖
75985
只看该作者 6楼 发表于: 2015-12-17
CP16就是给爱好者折腾的

内容来自Android手机客户端

离线BA7CK
发帖
75985
只看该作者 7楼 发表于: 2015-12-17
离线BA7CK
发帖
75985
只看该作者 8楼 发表于: 2015-12-17
能加入AX.25吗
AX.25有HF和UHF

内容来自Android手机客户端

陈清澈
http://ba7ck.taobao.com
幺 8 勾拐 3 幺 5 2 洞6 幺
离线BD8CS
发帖
18621
只看该作者 9楼 发表于: 2015-12-17
大神厉害,每次出东西都牛,上次那个sdr也爽。
四川·南充 173 614 59973
离线爱不交租
发帖
12273
只看该作者 10楼 发表于: 2015-12-17
离线BA5DX
发帖
3797
只看该作者 11楼 发表于: 2015-12-17
楼主威武
离线BH1NGG
发帖
591
只看该作者 12楼 发表于: 2015-12-17
大神。。。。。。
BH1NGG
757665659@qq.com.
离线BG7KWM
发帖
886
只看该作者 13楼 发表于: 2015-12-17
学习了
呼号:BG7KWM
会员证号:2玖二03
姓名:陈国基
Email:BG7KWM % 126.com
(请把邮件地址中的 % 更换成 @ )
手机:零一三九2518叁301(欢迎短信)
QQ:51壹4柒7零32(如联系请说呼号)
离线BG6LQZ
发帖
2753
只看该作者 14楼 发表于: 2015-12-17
离线3da1
发帖
1701
只看该作者 15楼 发表于: 2015-12-17
野外数据通信的利器呀,继续跟踪套件消息
[ 此帖被3da1在2015-12-17 08:26重新编辑 ]
离线BH3NVN
发帖
325
只看该作者 16楼 发表于: 2015-12-17
这个好,把JT65也加上吧
BH3NVN
EPC # 24199
DMC # 07726
30MDG # 7104
企鹅 # 25139770
Blog:http://bh3nvn.github.io
离线BG6BFN
发帖
626
只看该作者 17楼 发表于: 2015-12-17
大神啊,膜拜
离线BA7CK
发帖
75985
只看该作者 18楼 发表于: 2015-12-17
如果AX.25编解码后能把APRS融入进去吗?
陈清澈
http://ba7ck.taobao.com
幺 8 勾拐 3 幺 5 2 洞6 幺
离线BH4rrg
发帖
2795
只看该作者 19楼 发表于: 2015-12-17
这个厉害
BH4RRG       CSKC#219

常用DX信息网站:
http://new.dxsummit.fi/
http://www.ng3k.com/Misc/adxo.html
http://www.425dxn.org/
http://www.425dxn.org/monthly/index.html
http://dx-world.net/