论坛风格切换切换到宽版
  • 5825阅读
  • 23回复

有对单片机作CW音频译码感兴趣的么 [复制链接]

上一主题 下一主题
离线BG1TRP
 
发帖
18100
只看楼主 倒序阅读 0楼 发表于: 2016-01-31
编程试验中,头晕中
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线bg3nde
发帖
1100
只看该作者 1楼 发表于: 2016-02-01
请求共享,共同研究

内容来自Android手机客户端

离线BG2RKH
发帖
346
只看该作者 2楼 发表于: 2016-02-01
记得mfj有相关产品。

内容来自Android手机客户端

离线bg9dpy
发帖
458
只看该作者 3楼 发表于: 2016-02-01
bg9dpy    电话13325380568
离线BG1TRP
发帖
18100
只看该作者 4楼 发表于: 2016-02-01
主要是自己搞着玩儿,万一能用就自己做一个,搞不出来就当是深入学习单片机。

我现在的思路如下:

0. 按照Dot = 0、Dash = 1 的原则将每个字符转换为8位二进制数,如字符A,莫尔斯码为 • —,转换后为 0000 0001,以此类推做成一张CW字符表。

1. 通过中断读取按键的时长,并记入数组。时长小于最小Dot 或大于最大Dash 则忽略不计。

2. 当按键停顿的时间超过字符间隔或者点划数大于字符的最大点划数时,对数组中的时长记录进行分析。

3. 找出数组中最小的时长作为Dot的时长,并记入变量Dot,数组其余的时长数据均与这个变量做比较。

4. 循环认定,当时长大于或等于3 x Dot时,认定为 Dash(1),否则认定为Dot(0)。认定结果记入数组。

5. 以认定结果查CW字符表,找到相应的字符,如未查到则为拍发错误。

6. 返回第1步继续循环。
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线爱不交租
发帖
12241
只看该作者 5楼 发表于: 2016-02-01
印象中git有cwdecode的可以参考

内容来自Android手机客户端

离线BG1TRP
发帖
18100
只看该作者 6楼 发表于: 2016-02-01
回 爱不交租 的帖子
爱不交租:印象中git有cwdecode的可以参考 (2016-02-01 16:24)

到今天为止,编程实验已经证明用查表的方式没问题,让程序自动随机选取脉冲时长,模拟不稳定的拍发,然后按照我的思路进行识别,到目前为还没出现错误。
对于包含点和划的字符可以做到拍发速度的自适应,条件是发点的差别不要太大,只要Dot < 2Dot min就行。
对于只有点或者只有划得字符还得继续想辙。
[ 此帖被BG1TRP在2016-02-01 21:32重新编辑 ]
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线BG1TRP
发帖
18100
只看该作者 7楼 发表于: 2016-02-01
关于都是Dot 或都是Dash 的字符,我想这样处理:

1. 先预设一个常用的拍发速度,如20WPM

2. 以这个速度来判断 Dot、Dash

3. 当接收信号的拍发速度计算出来后代换预设的速度

4. 以新的速度校验所接收的信号

这样可能开始有字符识别不准确,但往后就应该大幅提高识别率。
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线BG4FQD
发帖
3405
只看该作者 8楼 发表于: 2016-02-02
干干静静的声音还是很好识别的,但是天空大部分都是几个信号混一起的。
PC上有很多识别的软件,能区分出混在一起的CW信号,但是再好的软件目前也不如人的耳朵。
这个难度肯定不如围棋,google 可以搞个软件,pk一下人类。
别人吃饭我看着,别人睡觉我站着。
离线BG1TRP
发帖
18100
只看该作者 9楼 发表于: 2016-02-02
回 BG4FQD 的帖子
BG4FQD:干干静静的声音还是很好识别的,但是天空大部分都是几个信号混一起的。
PC上有很多识别的软件,能区分出混在一起的CW信号,但是再好的软件目前也不如人的耳朵。
这个难度肯定不如围棋,goog .. (2016-02-02 09:31) 

的确如此,混在一起的信号单靠软件或硬件可能无法准确识别,估计软硬件结合能看到一丝光亮。
现在干净信号还没过关,等过了眼前这一关再说。反正是搞着玩。
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线BG4FQD
发帖
3405
只看该作者 10楼 发表于: 2016-02-02
回 BG1TRP 的帖子
BG1TRP:的确如此,混在一起的信号单靠软件或硬件可能无法准确识别,估计软硬件结合能看到一丝光亮。
现在干净信号还没过关,等过了眼前这一关再说。反正是搞着玩。 (2016-02-02 10:59) 

我感觉对于这种混杂的信号,
首先根据频率区分一下,
然后还要根据点划得节奏有倾向性的分割,
最重要我觉得要理解信号的内容,根据上下文,很多缺失或者模糊部分就可以智能补全了。
这个绝对涉及到AI了。
别人吃饭我看着,别人睡觉我站着。
离线bi7onn
发帖
205
只看该作者 11楼 发表于: 2016-02-02
关注成果早日出来。

内容来自Android手机客户端

离线BG1TRP
发帖
18100
只看该作者 12楼 发表于: 2016-02-02
回 BG4FQD 的帖子
BG4FQD:我感觉对于这种混杂的信号,
首先根据频率区分一下,
然后还要根据点划得节奏有倾向性的分割,
最重要我觉得要理解信号的内容,根据上下文,很多缺失或者模糊部分就可以智能补全了。
..... .. (2016-02-02 12:56) 

以频率区分信号,我想硬件用LM567之类的解码芯片,软件用频率计之类的单片机代码。
不知是否可行。
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线BG1TRP
发帖
18100
只看该作者 13楼 发表于: 2016-02-02
想用点划间隔检测来拍发速度自适应,并以此区分 E  I  S 5  T M O 0 这样的单一点划字符。

实验板的按键不好用,加了防抖会出现错误,防抖延时又不能太长,想辙中
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线BG1TRP
发帖
18100
只看该作者 14楼 发表于: 2016-02-03
以间隔时长为主,脉冲时长为辅的方法进行识别,准确率高。
对于I S H 5 M O 0 这样的字符可以准确识别。
当遇到E或T这样的字符,就得依靠预设时长或前一次记忆的时长来识别了。
各位有啥高招?
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线bg9ezn
发帖
174
只看该作者 15楼 发表于: 2016-02-05
回 BG1TRP 的帖子
BG1TRP:以频率区分信号,我想硬件用LM567之类的解码芯片,软件用频率计之类的单片机代码。
不知是否可行。 (2016-02-02 15:14)

完全没有问题, 我前年做个一个, arduino+567
没有问题,
解码原理其实很简单, 区分好点划时长和间隔就行了, 过程中对时间进行修正即可

[ 此帖被bg9ezn在2016-02-05 20:40重新编辑 ]
离线BG1TRP
发帖
18100
只看该作者 16楼 发表于: 2016-02-05
回 bg9ezn 的帖子
bg9ezn:完全没有问题, 我前年做个一个, arduino+567
没有问题,
解码原理其实很简单, 区分好点划时长和间隔就行了, 过程中对时间进行修正即可
....... (2016-02-05 20:30)

我现在的做法就是边识别边修正,基本上做到了对不同拍发速度的自适应识别。总算看到一丝亮光了。

做完了回过头来看,识别率的高低关键看如何区分点、划、间隔。

试验中发现,代码太复杂了影响识别速度,用手键拍发的时候有一种发黏的感觉。


[ 此帖被BG1TRP在2016-02-05 21:41重新编辑 ]
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线BG1TRP
发帖
18100
只看该作者 17楼 发表于: 2016-02-06
基本上完成了,不管能否上电台操作,做成CW练习器是没有问题的。

现在看来,能否正确识别的难点转移到前级,即如何从一片噪声中摘出CW信号,应该是 分频(或滤波) -- 整形放大(数字化) -- 识别 这个路子吧?

录了段视频,有45M,太大放不上来。
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线BD2RWR
发帖
1971
只看该作者 18楼 发表于: 2016-08-23
软件识别完全可以把53以上信号解析出来,现在普通单片机运算速度可以解析出耳朵勉强可以分辨的信号。
CALLSIGN BD2RWR  EX BG2RWR
QQ:763419437
E_mail:v58-AT-tom.com
QTH:大连
离线BI7NK
发帖
121
只看该作者 19楼 发表于: 2016-10-29
有兴趣!
BI7NK
QQ     :1018554883
E-MAIL:BI7NK@msn.com
QTH    :Shenzhen/Shanghai
Weibo.com/vsiken