CN111800360A - 一种基于频率识别的fsk软件解码方法 - Google Patents
一种基于频率识别的fsk软件解码方法 Download PDFInfo
- Publication number
- CN111800360A CN111800360A CN202010631980.0A CN202010631980A CN111800360A CN 111800360 A CN111800360 A CN 111800360A CN 202010631980 A CN202010631980 A CN 202010631980A CN 111800360 A CN111800360 A CN 111800360A
- Authority
- CN
- China
- Prior art keywords
- data
- frequency
- bit
- code element
- fsk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/10—Frequency-modulated carrier systems, i.e. using frequency-shift keying
- H04L27/14—Demodulator circuits; Receiver circuits
- H04L27/156—Demodulator circuits; Receiver circuits with demodulation using temporal properties of the received signal, e.g. detecting pulse width
- H04L27/1563—Demodulator circuits; Receiver circuits with demodulation using temporal properties of the received signal, e.g. detecting pulse width using transition or level detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/10—Frequency-modulated carrier systems, i.e. using frequency-shift keying
- H04L27/14—Demodulator circuits; Receiver circuits
- H04L27/156—Demodulator circuits; Receiver circuits with demodulation using temporal properties of the received signal, e.g. detecting pulse width
- H04L27/1566—Demodulator circuits; Receiver circuits with demodulation using temporal properties of the received signal, e.g. detecting pulse width using synchronous sampling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
本发明提供了一种基于频率识别的FSK软件解码方法,将FSK信号输入微处理器内,微处理器对FSK的频率进行解析,得到FSK信号中的有效信息,最终实现对FSK信号的解码,其解码成本低。首先通过数据格式来约束数据发送方与数据接收方的数据格式一致,从而完成通信,其中单字节传输包括起始位、数据位、校验位及停止位,数据的起始位设置为码元0、结束位为码元1、校验位使用奇校验;之后使用微处理器IO口的输入捕捉功能,识别FSK输入频率,系统识别来自IO口的下降沿中断信号,将第一次识别到下降沿时计数器的计数值记为t1。在识别到紧接着的第二次下降沿后,将此时计数器的计数值记为t2。根据相邻两次下降沿计数值t1与t2,计算得出当前信号的频率值。
Description
技术领域
本发明涉及FSK软件解码的技术领域,具体为一种基于频率识别的FSK 软件解码方法。
背景技术
频移键控(Frequency-shift keying,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 等于20KHZ。
第二步,将输入信号频率f输入码元鉴别流程,根据码元鉴别流程, 20KHZ>=19.9KHZ并且20KHZ<=20.1KHZ,因此码元鉴别流程将输出码元值 0,表示接收到了码元值为0的信号;30KHZ>=29.9KHZ并且30KHZ<=30.1KHZ,因此码元鉴别流程将输出码元值1,表示接收到了码元值为1的信号。
第三步,数据解码流程处于空闲状态,判断来自于码元鉴别的输入值是否为起始位对应的码元值0。在空闲态接收到起始位码元值0时,开始转为接收数据位状态,依次将码元鉴别流程的有效码元值保存至数据缓存A中并将 CNT减1,直至接收到完整的8位数据位,即CNT等于0,保存的数据为 10100101。接着将接收校验位,在本例中接收校验位为1,通过校验位计算方法,判断数据位与校验位中1的个数是否为奇数来判断数据位是否正确。最后接收结束位码元1。整个数据解码流程结束,解码模块将向上层提供接收到的数据0xA5。
通过数据格式来约束数据发送方与数据接收方的数据格式一致,从而完成通信,之后使用微处理器IO口的输入捕捉功能,识别FSK输入频率,然后设定码元0对应的频率值F0、码元1对应的频率值F1、频率容差值Fe,通过码元鉴别流程分别获得是码元0、码元1以及干扰频率,最后进行解码主流程,最终得出FSK输入数据;其将FSK信号输入微处理器内,微处理器对FSK的频率进行解析,得到FSK信号中的有效信息,最终实现对FSK信号的解码,其仅需要微处理器即可进行FSK软件解码,其解码成本低。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (4)
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)
根据码元鉴别流程,最终返回三种结果,分别是码元0,码元1以及干扰频率;
最后进行解码主流程,定义变量CNT表示数据位接收位数,变量A表示解码得出的单字节数据,将码元鉴别流程得出的码元值记为B。首先,识别起始位即码元0,直至获取到起始位再进入后面的流程;在识别到起始位后,开始进行数据位接收处理,依次将识别出的码元B存入数据A中。当数据位接收完成后,接收奇偶校验位,并根据奇偶校验方法,校验数据接收是否正确,最后接收结束位码元1,最终得出FSK输入数据A。
2.如权利要求1所述的一种基于频率识别的FSK软件解码方法,其特征在于:所述校验位的奇校验方法具体为,使传输的数据位以及校验位中1的个数为奇数,即当数据位中1的个数为奇数时,校验位为0,当数据位中1的个数为偶数时,校验位为1。
3.如权利要求1所述的一种基于频率识别的FSK软件解码方法,其特征在于:若在数据接收过程中,接收到了无效码元值,则退出此次数据接收流程,开始下一次数据接收。
4.如权利要求1所述的一种基于频率识别的FSK软件解码方法,其特征在于:设定的数据格式中的数据位为8为,LSB格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631980.0A CN111800360B (zh) | 2020-07-03 | 2020-07-03 | 一种基于频率识别的fsk软件解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631980.0A CN111800360B (zh) | 2020-07-03 | 2020-07-03 | 一种基于频率识别的fsk软件解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111800360A true CN111800360A (zh) | 2020-10-20 |
CN111800360B CN111800360B (zh) | 2022-07-26 |
Family
ID=72811069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010631980.0A Active CN111800360B (zh) | 2020-07-03 | 2020-07-03 | 一种基于频率识别的fsk软件解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111800360B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117279042A (zh) * | 2023-11-22 | 2023-12-22 | 武汉理工大学 | 一种实现fsk芯片与无线路由器双向通信的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6778112B1 (en) * | 2003-05-27 | 2004-08-17 | Winbond Electronics Corp. | Adaptive decoding method and apparatus for frequency shift key signals |
CN2886930Y (zh) * | 2006-04-18 | 2007-04-04 | 无锡雷华网络技术有限公司 | 可编程控制的频移键控调制电路结构 |
CN1946069A (zh) * | 2006-10-27 | 2007-04-11 | 清华大学 | 一种多进制频移键控信号的检测和分析方法 |
CN103414819A (zh) * | 2013-07-02 | 2013-11-27 | 长城信息产业股份有限公司 | 基于移动智能设备音频接口的数据通信方法 |
-
2020
- 2020-07-03 CN CN202010631980.0A patent/CN111800360B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6778112B1 (en) * | 2003-05-27 | 2004-08-17 | Winbond Electronics Corp. | Adaptive decoding method and apparatus for frequency shift key signals |
CN2886930Y (zh) * | 2006-04-18 | 2007-04-04 | 无锡雷华网络技术有限公司 | 可编程控制的频移键控调制电路结构 |
CN1946069A (zh) * | 2006-10-27 | 2007-04-11 | 清华大学 | 一种多进制频移键控信号的检测和分析方法 |
CN103414819A (zh) * | 2013-07-02 | 2013-11-27 | 长城信息产业股份有限公司 | 基于移动智能设备音频接口的数据通信方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117279042A (zh) * | 2023-11-22 | 2023-12-22 | 武汉理工大学 | 一种实现fsk芯片与无线路由器双向通信的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111800360B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5767462B2 (ja) | 近距離通信のための受信装置による通信モード検出方法 | |
CN110073696B (zh) | 一种唤醒无线电单元及其方法和计算机可读介质 | |
CN102160315A (zh) | 通过循环冗余校验的块的迭代解码 | |
CN101201970A (zh) | 用于无线遥控接收芯片的自适应解码方法 | |
CN108141318B (zh) | 通过噪声信道进行异步数据传输的方法和收发器 | |
CN111800360B (zh) | 一种基于频率识别的fsk软件解码方法 | |
CN102480341A (zh) | 发送设备及方法、接收设备及方法、程序、以及传输系统 | |
CN110324094B (zh) | 声波通信方法和装置、存储介质及电子装置 | |
JP3504119B2 (ja) | 復調装置、クロック再生装置、復調方法及びクロック再生方法 | |
EP1694016B1 (en) | Device and method for correcting a data error in communication path | |
CN114449500B (zh) | 近场通信的方法、装置和芯片 | |
CN109347605B (zh) | 一种编码方法、解码方法及装置、计算机可读存储介质 | |
CN117200923A (zh) | 一种异步通信方法及装置 | |
CN111615187A (zh) | 一种无线信号的同步方法 | |
JP4277607B2 (ja) | デジタル通信における送受信同期方法及び装置 | |
JP3454271B2 (ja) | 受信装置および受信方法 | |
CN112054980A (zh) | 基于msk调制的解调方法、装置及电子设备 | |
CN114079539A (zh) | 一种无线信息交流方法及无线通信设备 | |
CN116192998B (zh) | 一种解码功率传输协议信息包的方法、装置及设备 | |
EP3549268A1 (en) | Clear channel assessment | |
CN108702224B (zh) | 用于数字通信系统中的分组开始检测的方法和装置 | |
US20070189422A1 (en) | Radio demodulation circuit | |
CN118826987A (zh) | 一种信号处理方法、设备及介质 | |
CN118214634A (zh) | Fsk解码器、fsk解包方法和无线充电接收装置 | |
CN115348141A (zh) | 一种dsc信号的解调方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |