CN104270155B - 一种曼彻斯特码流接收抗干扰比特解析方法 - Google Patents
一种曼彻斯特码流接收抗干扰比特解析方法 Download PDFInfo
- Publication number
- CN104270155B CN104270155B CN201410583650.3A CN201410583650A CN104270155B CN 104270155 B CN104270155 B CN 104270155B CN 201410583650 A CN201410583650 A CN 201410583650A CN 104270155 B CN104270155 B CN 104270155B
- Authority
- CN
- China
- Prior art keywords
- bit
- data
- sequence
- sampled value
- code stream
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000005070 sampling Methods 0.000 claims abstract description 21
- 238000000605 extraction Methods 0.000 claims abstract description 9
- 238000012937 correction Methods 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Dc Digital Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明涉及一种曼彻斯特码流接收抗干扰比特解析方法。本发明方法分为电平采样、数据纠错、比特定位和比特提取四个步骤,其中数据纠错步骤包括至少一个数据纠错环节,每个数据纠错环节并行读取采样值序列中的数据片段,将其与预设的错误模式序列进行比较,若符合,则将其纠正为正确的数据片段后并行写回原采样值序列中相同的位置;若不符合,则将原数据片段并行写回原采样值序列中相同的位置。本发明在接收端对曼彻斯特码流进行比特解析前,通过数据纠错步骤对接收的采样值序列进行错误识别,将其中的错误数据修改为正确的数据后再进行比特解析,避免了因信源、信道缺陷导致的数据错误对解析过程造成干扰,提高了曼彻斯特码流接收解析的准确性。
Description
技术领域
本发明涉及一种曼彻斯特码流接收抗干扰比特解析方法,属于数字信号处理领域。
背景技术
曼彻斯特码是一种同步时钟编码技术,广泛应用于数字通信系统中。在曼彻斯特码中,每一位的中间有一个跳变,既作时钟信号,又作数据信号。实际使用中存在两种编码模式:一种是信号电平从低到高跳变表示"1",从高到低跳变表示"0";另一种是从低到高跳变表示"0",从高到低跳变表示"1"。接收曼彻斯特码流时,需要从接收电平序列中解析出各个比特,承担此任务的模块就是比特解析模块。目前实现这一功能的技术方案大多数是基于FPGA实现。由于信源、信道缺陷的影响,FPGA收到的电平信号序列中会存在毛刺、跳变边沿位置偏移的现象,如果不加以处理,将导致接收比特解析错误,进而导致在链路层无法通过校验、丢失数据,如果错误数量太多,则可能超出后续模块的补偿能力,导致整个装置不能达到预定的性能要求。
发明内容
针对上述问题,本发明设计了一种抗干扰比特解析方法,确保在过采样倍率m(以曼彻斯特码流波特率的峰值为基数)不低于8的情况下,且干扰程度在每2比特不超过1个毛刺、边沿偏移导致的波特周期变化量不超过0.25倍比特周期的情况下,能够正确解析出比特流。
为实现上述目的,本发明采用的技术方案为:
一种曼彻斯特码流接收抗干扰比特解析方法,包括以下步骤:
S1电平采样:对输入电平信号进行过采样,获得串行二进制采样值序列;
S2数据纠错:包括至少一个前后衔接的结构相同、预设错误模式各异的数据纠错环节,每个数据纠错环节的步骤是:并行读取采样值序列中的数据片段,将其与预设的错误模式序列进行比较,若符合,则将其纠正为正确的数据片段后并行写回原采样值序列中相同的位置;若不符合,则将原数据片段并行写回原采样值序列中相同的位置;
S3比特定位:根据采样值序列中“0”“1”的变化规律确定采样值序列中每比特中间的跳变边沿;
S4比特提取:根据每比特中间的跳变边沿确定每个比特的实际值。
本发明的数据处理方法分为电平采样、数据纠错、比特定位和比特提取四个步骤,先是对时间上连续的输入电平信号离散化,以便于后期的数字信号处理,通常是在每个主时钟脉冲的上升沿读取从FPGA引脚输入的电平信号,对其进行过采样,将其转换为串行二进制序列。数据纠错步骤是本发明的关键步骤,用于识别电平采样序列中由信源、信道缺陷导致的错误,并将其修改为正确的数据。该步骤分三个环节进行,既可去除毛刺,还能防止误判,并能对信源、信道缺陷导致的跳变沿偏移进行纠错,多方面保证了采样值序列错误识别及修正的准确性,确保后续比特定位和比特提取解析步骤能正确解析出比特流。
进一步,数据纠错步骤包括三个数据纠错环节,第一个数据纠错环节中需读取最新的4个采样值数据,预设的错误模式序列是“0010”、“1101”,预设的纠正方式是将采样值数据中从左到右第3个数据值取反,其他数据不变;第二个数据纠错环节中需读取最新的m+6个采样值数据,其中,m是过采样倍率,预设的错误模式序列是首位和末位为1、中间有m+2或m+3或m+4个0的序列以及首位和末位为0、中间有m+2或m+3或m+4个1的序列,预设的纠正方式是将采样值数据中间最后2个或3个或4个连续的“0”或“1”取反,其他数据不变;第三个数据纠错环节中需读取最新的2m+6个采样值数据,其中,m是过采样倍率,预设的错误模式序列是首位和末位为1、中间有2m+2或2m+3或2m+4个0的序列以及首位和末位为0、中间有2m+2或2m+3或2m+4个1的序列,预设的纠正方式是将采样值数据中间最后2个或3个或4个连续的“0”或“1”取反,其他数据不变。
进一步,电平采样步骤中进行采样的主时钟脉冲的频率大于等于曼彻斯特码流波特率峰值的8倍。
进一步,每个数据纠错环节需将采样值数据顺序送入串行移位寄存器。在每个环节中,每次将1个采样值数据输入移位寄存器后,读取规定数量的采样值数据,进行判断。
进一步,比特定位步骤的具体方法是:实时监测步骤S2最新输出的采样值序列,一旦发现持续约1个比特周期的连续“0”或连续“1”采样值序列,位于其结束位置的跳变沿即为每比特中间的跳变边沿。
进一步,比特提取步骤的具体方法是:比特提取步骤的具体方法是:检测到一个位于比特中间的跳变边沿之后,以时钟边沿触发计数,计到1.5m个时钟周期附近的时刻,检查采样值,根据预先获知的、在发送端采用的曼彻斯特编码模式进行判断:对于信号电平从低到高跳变表示“1”、从高到低跳变表示“0”的编码模式,若此处采样值为1,则对应的比特值为0,反之为1;对于信号电平从低到高跳变表示“0”、从高到低跳变表示“1”的编码模式,若此处采样值为1,则对应的比特值为1,反之为0;然后以下一个跳变沿作为位于比特中间的跳变边沿,再计数、检查采样值,如此顺序进行,直到采样值序列结尾,提取出所有的比特值。
本发明在接收端对曼彻斯特码流进行比特解析前,通过数据纠错步骤的“接收采样值序列故障特征识别纠正法”对接收的采样值序列进行错误识别,将其中的错误数据修改为正确的数据后再进行比特解析,避免了因信源、信道缺陷导致的数据错误对解析过程造成干扰,提高了曼彻斯特码流接收解析的准确性。
附图说明
图1是本发明数据处理顶层框图;
图2是单个数据纠错环节的硬件框图。
具体实施方式
下面以时钟频率为曼彻斯特码流波特率峰值的8倍为例来说明本发明方法的具体实施过程,过采样倍率更高的情况下可参考本方法予以实施。
一种曼彻斯特码流接收抗干扰比特解析方法,该方法基于FPGA芯片实现,具体包括以下步骤:
S1电平采样步骤:
以频率为曼彻斯特码流波特率峰值的8倍(即过采样倍率m=8)的主时钟对FPGA引脚输入的电平信号进行过采样,在每个主时钟脉冲的上升沿读取电平信号,将时间上连续的电平信号离散化为串行二进制采样值序列(即“0”和“1”构成的序列)。
S2数据纠错步骤:该步骤由3个前后衔接的结构相同、预设错误模式不同的数据纠错环节构成。每个数据纠错环节的功能框图见图2,其特征是并行读取采样值序列中的数据片段,将其与预设的错误模式进行比较,若符合则按照预设的方式纠正为正确的数据片段、写回采样值序列中,用以替代原有的存在错误的数据片段。
在第1个数据纠错环节中,将每个时钟周期采样得到的“0”、“1”数据顺序送入串行移位寄存器,每次将1个采样数据输入移位寄存器后,读取最新的4个采样数据,进行如下判断、处理:读出的值是否为“0010”或“1101”?若是,则判断从左到右第3个数据是被毛刺干扰的数据,将其值取反,整个数据片段改为“0000”或“1111”,重新写回原始数据序列中相同的位置;若否,则将原数据片段写回原始数据序列中相同的位置。该环节的主要作用是滤除毛刺。
但上述纠错算法有可能误判:将“001011”或“110100”(其中第4个数据是被干扰导致反转的)中的第3个数据误判为被干扰的数据进而被反转、同时未对第4个数据进行修正。针对这种情况,并且考虑到需要对信源、信道缺陷导致的跳变沿偏移进行纠错,在完成上述纠错环节之后,将数据流送入后续的第2、第3个数据纠错环节,在其中根据过采样倍率m的取值进行如下判断、处理:第2个数据纠错环节,每次将1个采样值数据输入移位寄存器后,读取最新的m+6个(即14个)采样值数据,进行如下判断、处理:读出的值是否为“100000000001”或“1000000000001”或“10000000000001”或“011111111110”或“0111111111110”或“01111111111110”中的一种。若是其中一种,则判断最后2个或3个或4个连续0(或1)数据是需要纠正的数据,将其值取反,整个数据段对应改为“100000000111”或“1000000001111”或“10000000011111”或“011111111000”或“0111111110000”或“01111111100000”,重新写回原始数据序列中相同的位置;若都不是,则将原值写回原始数据序列中相同的位置。
第3个数据纠错环节紧随第2个之后,每次将1个采样值数据输入移位寄存器后,读取最新的2m+6个(即22个)采样值数据,进行如下判断、处理:读出的值是否为“100...01(中间夹有18个或19个或20个0)”或“011...10(中间夹有18个或19个或20个1)”中的一种。若是其中一种,则判断最后2个或3个或4个连续0(或1)数据是需要纠正的数据,将其值取反,整个数据段对应改为“100...0111”或“100...01111”或“100...011111”或“011...1000”或“011...10000”或“011...100000”(前三种中间有16个0,后三种中间有16个1),重新写回原始数据序列中相同的位置;若都不是,则将原值写回原始数据序列中相同的位置。
S3比特定位步骤:根据采样值序列中“0”“1”的变化规律确定采样值序列中每比特中间的跳变边沿;具体方法是:实时监测步骤S2最新输出的采样值序列,一旦发现持续约1个比特周期的15、16或17个(实际周期不可能严格为16个时钟周期,需要考虑略微偏斜的情况,还需要考虑时钟周期与数据周期之间的相位关系导致的计数变化,因此15、16、17都需考虑)连续“0”或连续“1”采样值序列,位于其结束位置的跳变沿即为每比特中间的跳变边沿。
S4比特提取步骤:根据每比特中间的跳变边沿确定每个比特的实际值。具体方法是:检测到一个位于比特中间的跳变边沿之后,以时钟边沿触发计数,计到12个时钟周期附近的时刻,检查采样值,根据预先获知的、在发送端采用的曼彻斯特编码模式进行判断:对于信号电平从低到高跳变表示“1”、从高到低跳变表示“0”的编码模式,若此处采样值为1,则对应的比特值为0,反之为1;对于信号电平从低到高跳变表示“0”、从高到低跳变表示“1”的编码模式,若此处采样值为1,则对应的比特值为1,反之为0;然后以下一个跳变沿作为位于比特中间的跳变边沿,再计数、检查采样值,如此顺序进行,直到采样值序列结尾,提取出所有的比特值。
本发明不依赖于特定的专用功能模块,可以由目前市场上的任一型FPGA予以实现。
Claims (5)
1.一种曼彻斯特码流接收抗干扰比特解析方法,其特征在于包括以下步骤:
S1电平采样:对输入电平信号进行过采样,获得串行二进制采样值序列;
S2数据纠错:包括三个前后衔接的结构相同、预设错误模式各异的数据纠错环节,每个数据纠错环节的步骤是:并行读取采样值序列中的数据片段,将其与预设的错误模式序列进行比较,若符合,则将其纠正为正确的数据片段后并行写回原采样值序列中相同的位置;若不符合,则将原数据片段并行写回原采样值序列中相同的位置;
其中第一个数据纠错环节中需读取最新的4个采样值数据,预设的错误模式序列是“0010”、“1101”,预设的纠正方式是将采样值数据中从左到右第3个数据值取反,其他数据不变;第二个数据纠错环节中需读取最新的m+6个采样值数据,其中,m是过采样倍率,预设的错误模式序列是首位和末位为1、中间有m+2或m+3或m+4个0的序列以及首位和末位为0、中间有m+2或m+3或m+4个1的序列,预设的纠正方式是将采样值数据中间最后2个或3个或4个连续的“0”或“1”取反,其他数据不变;第三个数据纠错环节中需读取最新的2m+6个采样值数据,其中,m是过采样倍率,预设的错误模式序列是首位和末位为1、中间有2m+2或2m+3或2m+4个0的序列以及首位和末位为0、中间有2m+2或2m+3或2m+4个1的序列,预设的纠正方式是将采样值数据中间最后2个或3个或4个连续的“0”或“1”取反,其他数据不变;
S3比特定位:根据采样值序列中“0”“1”的变化规律确定采样值序列中每比特中间的跳变边沿;
S4比特提取:根据每比特中间的跳变边沿确定每个比特的实际值。
2.根据权利要求1所述的曼彻斯特码流接收抗干扰比特解析方法,其特征在于:电平采样步骤中进行采样的主时钟脉冲的频率大于等于曼彻斯特码流波特率峰值的8倍。
3.根据权利要求1所述的曼彻斯特码流接收抗干扰比特解析方法,其特征在于:每个数据纠错环节需将采样值数据顺序送入串行移位寄存器。
4.根据权利要求1所述的曼彻斯特码流接收抗干扰比特解析方法,其特征在于:比特定位步骤的具体方法是:实时监测步骤S2最新输出的采样值序列,一旦发现持续约1个比特周期的连续“0”或连续“1”采样值序列,位于其结束位置的跳变沿即为每比特中间的跳变边沿。
5.根据权利要求1或4所述的曼彻斯特码流接收抗干扰比特解析方法,其特征在于:比特提取步骤的具体方法是:检测到一个位于比特中间的跳变边沿之后,以时钟边沿触发计数,计到1.5m个时钟周期附近的时刻,检查采样值,根据预先获知的、在发送端采用的曼彻斯特编码模式进行判断:对于信号电平从低到高跳变表示“1”、从高到低跳变表示“0”的编码模式,若此处采样值为1,则对应的比特值为0,反之为1;对于信号电平从低到高跳变表示“0”、从高到低跳变表示“1”的编码模式,若此处采样值为1,则对应的比特值为1,反之为0;然后以下一个跳变沿作为位于比特中间的跳变边沿,再计数、检查采样值,如此顺序进行,直到采样值序列结尾,提取出所有的比特值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410583650.3A CN104270155B (zh) | 2014-10-28 | 2014-10-28 | 一种曼彻斯特码流接收抗干扰比特解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410583650.3A CN104270155B (zh) | 2014-10-28 | 2014-10-28 | 一种曼彻斯特码流接收抗干扰比特解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104270155A CN104270155A (zh) | 2015-01-07 |
CN104270155B true CN104270155B (zh) | 2017-07-07 |
Family
ID=52161656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410583650.3A Active CN104270155B (zh) | 2014-10-28 | 2014-10-28 | 一种曼彻斯特码流接收抗干扰比特解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104270155B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753538B (zh) * | 2015-03-19 | 2018-05-22 | 惠州华阳通用电子有限公司 | 曼彻斯特编码信号解码方法和装置 |
CN105187070B (zh) * | 2015-09-22 | 2018-07-17 | 惠州华阳通用电子有限公司 | 一种曼彻斯特编码信号解码方法和装置 |
CN109739715B (zh) | 2019-01-22 | 2022-07-29 | 京东方科技集团股份有限公司 | 一种故障检测方法和装置 |
CN112217599B (zh) * | 2019-07-12 | 2021-12-24 | 天地融科技股份有限公司 | 数据帧接收方法和装置以及通信方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1122025A (zh) * | 1993-12-28 | 1996-05-08 | 三菱电机株式会社 | 纠错译码器和纠错译码方法 |
CN102541891A (zh) * | 2010-12-14 | 2012-07-04 | 深圳市金蝶中间件有限公司 | 一种基于拦截器的浏览器报错的方法和装置 |
CN102629875A (zh) * | 2012-04-24 | 2012-08-08 | 广西大学 | 多摩川编码器的曼彻斯特编码的解码电路 |
CN103378933A (zh) * | 2012-04-26 | 2013-10-30 | 国民技术股份有限公司 | 解码方法、解码模块及信号处理方法、信号处理装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60247332A (ja) * | 1984-05-23 | 1985-12-07 | Nec Corp | マンチエスタデコ−ダ |
-
2014
- 2014-10-28 CN CN201410583650.3A patent/CN104270155B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1122025A (zh) * | 1993-12-28 | 1996-05-08 | 三菱电机株式会社 | 纠错译码器和纠错译码方法 |
CN102541891A (zh) * | 2010-12-14 | 2012-07-04 | 深圳市金蝶中间件有限公司 | 一种基于拦截器的浏览器报错的方法和装置 |
CN102629875A (zh) * | 2012-04-24 | 2012-08-08 | 广西大学 | 多摩川编码器的曼彻斯特编码的解码电路 |
CN103378933A (zh) * | 2012-04-26 | 2013-10-30 | 国民技术股份有限公司 | 解码方法、解码模块及信号处理方法、信号处理装置 |
Non-Patent Citations (2)
Title |
---|
基于F P G A 的曼彻斯特码数据解码系统设计;李刚;《科技创新导报》;20091231(第29期);第76页 * |
用FPGA 实现曼彻斯特编解码;林艺文等;《汕头大学学报(自然科学版)》;20040531;第19卷(第2期);第64-68页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104270155A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104270155B (zh) | 一种曼彻斯特码流接收抗干扰比特解析方法 | |
CN105187070B (zh) | 一种曼彻斯特编码信号解码方法和装置 | |
CN107078931A (zh) | 通过总线系统从发送方将帧串行传输到至少一个接收方的方法以及总线系统的参与方 | |
CN105103483A (zh) | 脉冲幅度调制(pam)比特错误测试和测量 | |
CN107147553B (zh) | 从站波特率及帧格式的调整方法、调整装置及调整设备 | |
CN107959549B (zh) | 一种标签信号解码方法、标签解码装置及标签阅读器 | |
CN115291833B (zh) | 一种电池管理系统及其菊花链通讯方法 | |
US8724745B2 (en) | Method and apparatus for decoding coded data streams | |
CN108512552A (zh) | 一种曼彻斯特码的解码系统及解码方法 | |
CN106682553A (zh) | 一种磁条卡软件解码方法 | |
CN101588370A (zh) | 一种多速率通讯数据流格式的解析方法 | |
CN105955915A (zh) | 一种并行数据去偏斜的方法、装置及系统 | |
CN112069098B (zh) | 波特率识别方法及装置 | |
CN110445572B (zh) | 一种irig-b码的解码设备及方法 | |
CN109905199A (zh) | 一种非对称k码编解码的串行通信数据极性恢复方法 | |
CN101442380B (zh) | 基于高速串行接口编码方式的误码率测试方法与装置 | |
CN103810402A (zh) | 用于基因组的数据处理方法和装置 | |
JP6571027B2 (ja) | データ格納装置及びデータ格納プログラム | |
CN108242977B (zh) | 一种数据处理方法、数据处理装置及电子设备 | |
CN103018726B (zh) | 一种遥感卫星信号的处理方法及设备 | |
US20190372680A1 (en) | Transmission apparatus and receiving apparatus | |
CN105656828B (zh) | 解码type b卡片发送的bpsk调制信号的解码器 | |
CN105471437A (zh) | 数据再生电路 | |
US20070005852A1 (en) | Graphical verification tool for packet-based interconnect bus | |
CN113590522B (zh) | 一种并行总线抗干扰的数字滤波方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |