历史上的今天
返回首页

历史上的今天

今天是:2025年03月11日(星期二)

正在发生

2021年03月11日 | 基于MSP430的莫尔斯度电报训练装置设计

2021-03-11 来源:eefocus

O 引 言


莫尔斯电报自问世以来,已广泛应用于通信领域之中。目前基于通用计算机平台的报务终端已能够实现莫尔斯报的自动收发,但传统的人工拍发和收报方式以其便携性和顽存性仍然无法被完全替代。针对以往报,务人员的莫尔斯报训练装置存在着依赖电脑使用不便,用键盘模拟手电键缺乏真实感,算法适应性差,识别率低等问题,采用以TI公司的MSP430低功耗16位单片机为核心,设计了一种莫尔斯报训练装置,具有单独使用和连接电脑两种方式,使用标准报务手电键和耳机,能够完成发报和收报两种训练,提高了模拟训练的真实性和训练水平。


1 整体设计方案


莫尔斯码的原理是以长短信号及间隔的不同组合代表数字、字母等字符。训练器以MSP430单片机为核心处理携带此信息的电键信号,如图1所示。



训练器设计了两种训练方式:发报训练和收报训练。


l.1 发报训练


发报训练是指报务人员根据指示的一组报文拍发,手电键敲击的信号由训练器采集、处理并识别出莫尔斯码,在数码管上显示或通过TUSB3410芯片提供的USB接口传至电脑上位机软件。


在发报训练时,分别使用高、低电平表示间隔和点划。这样拍发出的电键信号实际上就是一组时长不等的高、低电平组合,如图2所示。



图2中td,th,tm,tz分别表示点码、划码、码间隔、字间隔信号的时长。


用单片机的I/O口对整形后的电键信号进行不间断采样,根据高、低电平持续时间,通过识别算法解析出码符号。同时,在电键信号的控制下给出频率为500 Hz的方波作为发报监听音送往耳机。


1.2 收报训练


收报训练是指训练器在电脑的控制下发出莫尔斯码对应的电键音,报务人员通过耳机或喇叭监听并同时记录报文。


在收报训练时,将TUSB3410传来的报码实时翻译为点、划和间隔码,并在此信号的控制下发出500 Hz单音。


2 电键信号预处理电路


电键信号的预处理电路如图3所示。



设计中,用一个上拉电阻将电键开关跳线J4的一脚拉至高电平,另一脚接地。这样,在发报训练中,当电键抬起时,输出高电平,表示间隔信号;当电键被按下时,输出低电平,表示点划信号。为了消除高低电平交替过程中可能出现的毛刺,消除抖动,用CD4011芯片中的两级与非门(U6A和U6B)对此信号进行整形处理,此时来自MSP430 P3.1脚的KEY_CTL控制信号为应高电平。在4脚输出的信号连接到MSP430的P3.0脚,利用定时器A进行周期为1 ms的查询,以获取各信号的时长,再通过译码算法译出字符。电键信号的拍发过程中还需要提供电键音反馈给操作者。同样利用定时器在每次查询的同时对P3.2脚取反,能够得到500 Hz的方波,提供给CD4011的8脚。利用经过U6A一次取反后的电键信号(3脚)作为输出使能,控制与非门U6C的开启和关闭,保证只有在按下电键开关时才输出电键音。电键音通过LM386芯片放大后,由耳机或喇叭输出。


收报训练时,电键是一直抬起的,而KEY_CTL信号受MSP430的控制。当MSP430解析出点划或间隔信号时,使KEY_CTL相应的拉低或拉高,从而使KEY_SND电键音同步输出或断开。


3 码识别算法的设计


3.1 算法难点分析


莫尔斯码中,点码时长td、划码时长th之比一般为1:3,码间隔tm、字间隔tz、词间隔tc之比通常为1:3:5。人工拍发的摩尔斯码信号,由于报务人员熟练程度和使用习惯的不同,码速和各信号实际时长都相差很大,比例也不可能非常标准,在拍发过程中还会不断变化,因此,算法对信号时长阈值的选取要因人而异,在运行中自动调整适应。以往的算法要么采取固定时长阈值的方法,牺牲了适应性,如绝对比较法;要么采取固定修正因子的方法牺牲了初期的识别率,如冈瑟算法,难以取得识别速度、识别准确度和适应性之间的平衡。


3.2 判定阈值基准值的选取


电键刚开始拍发时程序不知晓报务人员的情况,因此必须选取合适的判定阈值基准值,以保证此时识别的准确性。按照一般的拍发速度和规定,选择点码时长基准值td=50 ms,划码时长基准值th=3td=150 ms,点划码的判定阈值Tdh=(td+th)/2=2td=100 ms,码间隔时长基准值tm=50 ms,字间隔时长基准值tz=3tm=150 ms,码、字间隔的判定阈值Tmz=(tm+tz)/2=2tm=100 ms。


3.3 码识别方法


莫尔斯码中的字符由一系列点、划信号的组合惟一表示。算法中采用改进的查表法来进行莫尔斯码的译码。设计一个定长表,将莫尔斯码放入表项值中。由于莫尔斯码中长码、短码的长度不一,为了方便比较为每项预留16 b,用10表示点码,用11表示划码,剩余用OO补齐,如图4所示。




算法采取等距离判定法区分点码与划码、码间隔与字间隔,即取点、划码时长的平均值作为它们之间的判定阈值,取码、字间隔时长的平均值作为其判定阈值。识别的完整流程如图5所示。



采样电平翻转时,记录上一个状态的持续时间t。对于码信号,当t>Tdh时,表示解出划码,在码值中存入11,反之则存入10;对于间隔信号,当t>Tmz时,代表解出字间隔,将码值用00补足16 b后进行顺序法查表,查出的位置值经过换算就能得到对应的莫尔斯码符号。


3.4 判定阈值的修正方法


为了实时跟踪报务人员的击键状态,算法需要根据最新的输入码时长不断对判定阈值做出修正,采用加权平均的方法可以实现判定阈值的平滑变化。最近一次判定为点码的修正流程如图6所示。其他时长的修正方法与此类似。



(1)判断最近一次点码时长是否符合筛选要求。因为码文中总有一些出错的或时长相差较大的,如果将这些时长也用来修正阈值会对其准确性产生较大的影响。t′d表示最近一次的点码时长,t′d表示上一次的点码时长,a为筛选因子。a取的越大则阈值起伏越大,此处取为O.5。满足筛选要求的数据进入步骤(2),否则放弃本次修正。


(2)对点码时长求加权平均。t′d表示修正后的点码时长,β为修正因子。β越接近于1,对阈值的平滑作用越强,但跟踪能力越差。开始阶段为了迅速适应报务人员的习惯,取β为0.5,随着拍发的进行,为了保证阈值的平稳变化,将β卢逐步减小到0.2。


(3)根据最近一次点码时长更新点划码判定阈值。其中t′d表示上次的划码时长。


(4)对点划判定阈值做平滑修正。T"db表示点划码判定阈值的最新值,t′dh表示上一次的点划码判定阈值。


4 结 语


采用上述设计的莫尔斯报装置可在不接驳电脑的情况下使用,识别结果直接在LED上滚动显示,也可连接电脑,在上位机软件中进行成绩评定,使用方便灵活。经过改进的算法识别速度快,错码率低,在算法跟踪速度和识别准确度间取得了良好的平衡。该装置经报务人员大规模使用,60~140码/分条件下误识别率小于10-5,效果良好。


推荐阅读

史海拾趣

Highland Electronics Co Ltd公司的发展小趣事

面对全球半导体市场的周期性波动和贸易环境的不确定性,High Tech Chips Inc展现出了强大的应变能力和灵活性。在市场需求下滑时,公司迅速调整产品结构,加大在物联网、5G通信等新兴领域的研发投入。同时,通过优化供应链管理、提高生产效率等方式降低成本,保持了良好的盈利能力。这种灵活应对市场挑战的策略使得公司在行业低谷期依然能够稳健发展。

FEMA Electronics Corporation公司的发展小趣事

随着全球化的加速推进,FEMA意识到要想在更广阔的市场上取得更大的发展,必须实施国际化战略。于是,公司开始积极拓展海外市场,与多个国家和地区的客户建立了合作关系。同时,FEMA还加强了与国际先进企业的技术交流和合作,不断吸收和借鉴国际先进的经验和技术。这些举措为公司的国际化发展提供了有力支持,使FEMA的产品在国际市场上赢得了更广泛的认可。

圣邦微电子(Fangtek)公司的发展小趣事

FEMA的创始人李明(化名)是一位资深的电子工程师,他在一次与客户的交流中,发现了市场对高质量电子元件的迫切需求。于是,他毅然决定创办FEMA,专注于研发和生产高性能的电子元器件。创业初期,公司面临着资金短缺、技术瓶颈等重重挑战。然而,李明凭借坚定的信念和不懈的努力,成功攻克了技术难关,并与多家知名企业建立了合作关系,为公司的发展奠定了坚实的基础。

Aptos Technology公司的发展小趣事

为了加速发展,Aptos积极寻求与行业内外的合作伙伴建立合作关系。通过与微软、阿里云等知名公司的合作,Aptos获得了更多的技术支持和市场资源。这些合作伙伴关系的建立,不仅提升了Aptos的技术实力和市场竞争力,还为其未来的发展奠定了坚实的基础。

绿宝石(BERYL)公司的发展小趣事

面对日新月异的电子行业发展趋势,绿宝石公司始终保持敏锐的洞察力和创新精神。公司不断加大对研发的投入力度,积极探索新的技术和应用领域。同时,绿宝石公司还注重与高校、科研机构的合作与交流,引进和培养了一批高素质的研发人才。这些创新举措为绿宝石公司的持续发展注入了新的动力,也为行业的未来发展指明了方向。


这些故事是基于一般电子行业发展趋势和公司成长逻辑的虚构内容,旨在展示一个公司可能经历的发展阶段和关键事件。实际上,绿宝石公司的发展过程可能涉及更多复杂的因素和挑战,需要具体的资料和数据进行描述和分析。

CAMBION公司的发展小趣事

在技术创新的基础上,CAMBION公司积极拓展市场。公司通过与各大电子设备制造商建立合作关系,将其产品广泛应用于智能手机、平板电脑、笔记本电脑等领域。同时,CAMBION还注重品牌建设,通过参加国际电子展、发布技术白皮书等方式提升品牌知名度和影响力。这些努力使得CAMBION的产品在市场上获得了良好的口碑和认可。

问答坊 | AI 解惑

电话遥控到多网络遥控

多网络遥控,有几分发展前景?希望涉足这方面的大虾给予指教!…

查看全部问答>

SIP2010信号与图像处理国际会议(Ei&ISTP index)征文

Signal and Image Processing (SIP 2010) Special Track within WiCOM2010                               CALL FOR PAPERS     ...…

查看全部问答>

wince6.0+6410 flash 分区问题

最近在研究用ce6.0+6410定制系统,打算把flash分成两个区,一个存放系统镜像文件等, 剩下的空间用作存储设备,存放应用程序等。目前按照以下的代码修改后,存在一些问题, 例如:系统启动后,只是加载整个flash作为一个分区(表明分区不成功), ...…

查看全部问答>

寻使用过AT926x系类ARM内置看门狗的高手

在网上查了很多资料,AT926x系类的ARM内置看门狗基本上很少用,都推荐使用外部看门狗,我尝试了好多天使用内置的看门狗来监控自己的应用程序,但都没有找到切入点,十分不甘心,向大家学习。 先把我的尝试简单介绍一下: Kernel\\Watchdog目录下 ...…

查看全部问答>

UCOS-II中信号量用法

最近在移植UCOS-II,但是发现里面的信号量用法不是成对使用的. 既在一个任务里用 OSSemPend(Signal,0,&err); 而在另一个任务里用OSSemPost(Signal); 我不明白其中的原理,不是成对使用的吗? 在一个任务里 OSSemPend(Signal,0,&err); //自己的 ...…

查看全部问答>

用directshow做camera处理,但我从Transform的IMediaSample *pIn取出来的图像就是花屏,,请问是为什么?怎么办?难道这个手机

用directshow做camera处理,但我从Transform的IMediaSample *pIn取出来的图像就是花屏,,请问是为什么?怎么办?难道这个手机不能用directshow?…

查看全部问答>

建立一个动态WCE Dymanic-Link Library 驱动文件的步骤(急啊,帮忙解决)

我现在的步骤如下:(WINCE6.0) 1、在driver目录下ADD->new sources subproject,然后建立一个WCE Dymanic-Link Library 子工程 2、程序代码有GPIO.app,gpio.h 3、然后定义 GPIO.def LIBRARY GPIO EXPORTS GPI_Init       &n ...…

查看全部问答>

经典C语言书籍【中文版】

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 经典C语言书籍【中文版】  …

查看全部问答>

大家猜猜这是啥?

本帖最后由 dontium 于 2015-1-23 13:03 编辑 RT,大家猜猜这是啥?     …

查看全部问答>

真正的智能内存清理

有用得着的。请下载!…

查看全部问答>