一种基于频率识别的FSK软件解码方法技术

技术编号:25995696 阅读:15 留言:0更新日期:2020-10-20 19:05
本发明专利技术提供了一种基于频率识别的FSK软件解码方法,将FSK信号输入微处理器内,微处理器对FSK的频率进行解析,得到FSK信号中的有效信息,最终实现对FSK信号的解码,其解码成本低。首先通过数据格式来约束数据发送方与数据接收方的数据格式一致,从而完成通信,其中单字节传输包括起始位、数据位、校验位及停止位,数据的起始位设置为码元0、结束位为码元1、校验位使用奇校验;之后使用微处理器IO口的输入捕捉功能,识别FSK输入频率,系统识别来自IO口的下降沿中断信号,将第一次识别到下降沿时计数器的计数值记为t1。在识别到紧接着的第二次下降沿后,将此时计数器的计数值记为t2。根据相邻两次下降沿计数值t1与t2,计算得出当前信号的频率值。

【技术实现步骤摘要】
一种基于频率识别的FSK软件解码方法
本专利技术涉及FSK软件解码的
,具体为一种基于频率识别的FSK软件解码方法。
技术介绍
频移键控(Frequency-shiftkeying,FSK)是有线通信
的信息传输过程中常用的调制方式,而且FSK的优点是实现起来较容易,抗噪声与抗衰减的性能较好。在现有技术中,通常利用FSK专用解码芯片对FSK信号进行解码,但是,以电路结构实现的FSK专用解码芯片成本较高,增加了FSK信号的解码成本。
技术实现思路
针对上述问题,本专利技术提供了一种基于频率识别的FSK软件解码方法,其将FSK信号输入微处理器内,微处理器对FSK的频率进行解析,得到FSK信号中的有效信息,最终实现对FSK信号的解码,其解码成本低。一种基于频率识别的FSK软件解码方法,其特征在于:首先通过数据格式来约束数据发送方与数据接收方的数据格式一致,从而完成通信,其中单字节传输包括起始位、数据位、校验位及停止位,数据的起始位设置为码元0、结束位为码元1、校验位使用奇校验;之后使用微处理器IO口的输入捕捉功能,识别FSK输入频率,系统识别来自IO口的下降沿中断信号,将第一次识别到下降沿时计数器的计数值记为t1。在识别到紧接着的第二次下降沿后,将此时计数器的计数值记为t2。根据相邻两次下降沿计数值t1与t2,计算得出当前信号的频率值,频率计算方法如下:f=clk/(t2–t1)*2其中,f为信号频率值,clk为计数器时钟频率;通过频率鉴别子流程,得出FSK输入信号的频率值f:在程序中定义三个数值,分别为码元0对应的频率值F0、码元1对应的频率值F1、频率容差值Fe;根据码元值对应的频率,识别输入频率的对应码元值,码元0计算方法如下:(f>=F0–Fe)&&(f<=F0+Fe)码元1计算方法如下:(f>=F1–Fe)&&(f<=F1+Fe)根据码元鉴别流程,最终返回三种结果,分别是码元0,码元1以及干扰频率;最后进行解码主流程,定义变量CNT表示数据位接收位数,变量A表示解码得出的单字节数据,将码元鉴别流程得出的码元值记为B。首先,识别起始位即码元0,直至获取到起始位再进入后面的流程;在识别到起始位后,开始进行数据位接收处理,依次将识别出的码元B存入数据A中。当数据位接收完成后,接收奇偶校验位,并根据奇偶校验方法,校验数据接收是否正确,最后接收结束位码元1,最终得出FSK输入数据A。其进一步特征在于:所述校验位的奇校验方法具体为,使传输的数据位以及校验位中1的个数为奇数,即当数据位中1的个数为奇数时,校验位为0,当数据位中1的个数为偶数时,校验位为1;若在数据接收过程中,接收到了无效码元值,则退出此次数据接收流程,开始下一次数据接收;优选地,设定的数据格式中的数据位为8为,LSB格式。采用本专利技术后,通过数据格式来约束数据发送方与数据接收方的数据格式一致,从而完成通信,之后使用微处理器IO口的输入捕捉功能,识别FSK输入频率,然后设定码元0对应的频率值F0、码元1对应的频率值F1、频率容差值Fe,通过码元鉴别流程分别获得是码元0、码元1以及干扰频率,最后进行解码主流程,最终得出FSK输入数据;其将FSK信号输入微处理器内,微处理器对FSK的频率进行解析,得到FSK信号中的有效信息,最终实现对FSK信号的解码,其解码成本低。附图说明图1为频率鉴别流程图;图2为码元鉴别流程图;图3为解码主流程图。具体实施方式一种基于频率识别的FSK软件解码方法,见图1-图3:首先通过数据格式来约束数据发送方与数据接收方的数据格式一致,从而完成通信,其中单字节传输包括起始位、数据位、校验位及停止位,数据的起始位设置为码元0、结束位为码元1、校验位使用奇校验;之后使用微处理器IO口的输入捕捉功能,识别FSK输入频率,系统识别来自IO口的下降沿中断信号,将第一次识别到下降沿时计数器的计数值记为t1。在识别到紧接着的第二次下降沿后,将此时计数器的计数值记为t2。根据相邻两次下降沿计数值t1与t2,计算得出当前信号的频率值。频率计算方法如下:f=clk/(t2–t1)*2其中,f为信号频率值,clk为计数器时钟频率;通过频率鉴别子流程,得出FSK输入信号的频率值f:在程序中定义三个数值,分别为码元0对应的频率值F0、码元1对应的频率值F1、频率容差值Fe;根据码元值对应的频率,识别输入频率的对应码元值,码元0计算方法如下:(f>=F0–Fe)&&(f<=F0+Fe)码元1计算方法如下:(f>=F1–Fe)&&(f<=F1+Fe)根据码元鉴别流程,最终根据数据的频率返回三种结果,分别是码元0,码元1以及干扰频率。最后进行解码主流程,定义变量CNT表示数据位接收位数,变量A表示解码得出的单字节数据,将码元鉴别流程得出的码元值记为B。首先,识别起始位即码元0,直至获取到起始位再进入后面的流程;在识别到起始位后,开始进行数据位接收处理,依次将识别出的码元B存入数据A中。当数据位接收完成后,接收奇偶校验位,并根据奇偶校验方法,校验数据接收是否正确,最后接收结束位码元1,最终得出FSK输入数据A。所述校验位的奇校验方法具体为,使传输的数据位以及校验位中1的个数为奇数,即当数据位中1的个数为奇数时,校验位为0,当数据位中1的个数为偶数时,校验位为1;若在数据接收过程中,接收到了无效码元值,则退出此次数据接收流程,开始下一次数据接收。具体实施例:数据格式用来约束数据发送方与数据接收方的数据格式一致,以完成通信。使用的数据帧格式如表1所示。单字节传输包括起始位,数据位,校验位以及停止位,共11位,其中数据位为8位,LSB格式。具体的,起始位为码元0,结束位为码元1。表1设定无线数据发送器发送的数据为0xA5,根据本协议的数据格式约定,无线数据发送器所发出的二进制码元序列应为0-10100101-1-1,其中校验位为1。设定码元0所对应的频率值F0为20KHZ,码元1所对应的频率值F1为30KHZ,频率容差值Fe为100HZ。则无线数据发送器发出的FSK频率信号应为20-30_20_30_20_20_30_20_30-30-30(KHZ)。无线数据接收器将依次接收到无线数据发送器所发出的频率信号,微控制器计算所接收信号的相邻两次下降沿之间的计数值t1和t2的差值,并根据差值与微处理器的计数器频率clk,计算得出输入信号的频率值。即频率鉴别流程(见图1)。第一步,微处理器检测到相邻两次下降沿计数器计数值t1与t2的差值为600,计数器工作频率值为6000KHZ,根据频率鉴定流程,计算得出频率f等于20KH本文档来自技高网...

【技术保护点】
1.一种基于频率识别的FSK软件解码方法,其特征在于:首先通过数据格式来约束数据发送方与数据接收方的数据格式一致,从而完成通信,其中单字节传输包括起始位、数据位、校验位及停止位,数据的起始位设置为码元0、结束位为码元1、校验位使用奇校验;/n之后使用微处理器IO口的输入捕捉功能,识别FSK输入频率,系统识别来自IO口的下降沿中断信号,将第一次识别到下降沿时计数器的计数值记为t1。在识别到紧接着的第二次下降沿后,将此时计数器的计数值记为t2。根据相邻两次下降沿计数值t1与t2,计算得出当前信号的频率值,频率计算方法如下:/nf=clk/(t2–t1)*2/n其中,f为信号频率值,clk为计数器时钟频率;/n通过频率鉴别子流程,得出FSK输入信号的频率值f:在程序中定义三个数值,分别为码元0对应的频率值F0、码元1对应的频率值F1、频率容差值Fe;/n根据码元值对应的频率,识别输入频率的对应码元值,码元0计算方法如下:/n(f>=F0–Fe)&&(f<=F0+Fe)/n码元1计算方法如下:/n(f>=F1–Fe)&&(f<=F1+Fe)/n根据码元鉴别流程,最终返回三种结果,分别是码元0,码元1以及干扰频率;/n最后进行解码主流程,定义变量CNT表示数据位接收位数,变量A表示解码得出的单字节数据,将码元鉴别流程得出的码元值记为B。首先,识别起始位即码元0,直至获取到起始位再进入后面的流程;在识别到起始位后,开始进行数据位接收处理,依次将识别出的码元B存入数据A中。当数据位接收完成后,接收奇偶校验位,并根据奇偶校验方法,校验数据接收是否正确,最后接收结束位码元1,最终得出FSK输入数据A。/n...

【技术特征摘要】
1.一种基于频率识别的FSK软件解码方法,其特征在于:首先通过数据格式来约束数据发送方与数据接收方的数据格式一致,从而完成通信,其中单字节传输包括起始位、数据位、校验位及停止位,数据的起始位设置为码元0、结束位为码元1、校验位使用奇校验;
之后使用微处理器IO口的输入捕捉功能,识别FSK输入频率,系统识别来自IO口的下降沿中断信号,将第一次识别到下降沿时计数器的计数值记为t1。在识别到紧接着的第二次下降沿后,将此时计数器的计数值记为t2。根据相邻两次下降沿计数值t1与t2,计算得出当前信号的频率值,频率计算方法如下:
f=clk/(t2–t1)*2
其中,f为信号频率值,clk为计数器时钟频率;
通过频率鉴别子流程,得出FSK输入信号的频率值f:在程序中定义三个数值,分别为码元0对应的频率值F0、码元1对应的频率值F1、频率容差值Fe;
根据码元值对应的频率,识别输入频率的对应码元值,码元0计算方法如下:
(f>=F0–Fe)&&(f<=F0+Fe)
码元1计算方法如下:
(f>=F1–Fe)&&(f<=F1+Fe)<...

【专利技术属性】
技术研发人员:杨焜冯泽东耿标贺羽
申请(专利权)人:国仪量子无锡技术有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利