CN110086548A - 编码方法、编码设备、解码方法和解码设备 - Google Patents
编码方法、编码设备、解码方法和解码设备 Download PDFInfo
- Publication number
- CN110086548A CN110086548A CN201910209164.8A CN201910209164A CN110086548A CN 110086548 A CN110086548 A CN 110086548A CN 201910209164 A CN201910209164 A CN 201910209164A CN 110086548 A CN110086548 A CN 110086548A
- Authority
- CN
- China
- Prior art keywords
- wave
- data
- value
- distance
- bit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000005070 sampling Methods 0.000 claims description 52
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 239000004576 sand Substances 0.000 claims description 2
- 230000006854 communication Effects 0.000 abstract description 27
- 238000004891 communication Methods 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 22
- 230000002093 peripheral effect Effects 0.000 description 14
- 238000012937 correction Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000002349 favourable effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B14/00—Transmission systems not characterised by the medium used for transmission
- H04B14/02—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
- H04B14/026—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using pulse time characteristics modulation, e.g. width, position, interval
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例涉及通信领域,公开了一种编码方法、编码设备、解码方法和解码设备。本发明中,上述编码方法包括:预设第一波位和第二波位;其中,所述第一波位包括两个相隔第一波距的波元,所述第二波位包括两个相隔第二波距的波元,所述波元为具有预设时长宽度的波形;根据所述第一波位和所述第二波位,对待编码数据进行编码;其中,所述待编码数据中的0被编码为所述第一波位,所述待编码数据中的1被编码为所述第二波位,以降低对波形质量的依赖,提高了通信的成功率。
Description
技术领域
本发明实施例涉及通信领域,特别涉及一种编码方法、编码设备、解码方法和解码设备。
背景技术
随着个人电脑、手机、ipad等智能设备应用的广泛普及,衍生出来的相关外设产品的种类也越来越多。外设需要与智能设备进行数据交互(即通信)从而实现不同的应用功能。音频口(俗称耳机孔)较之WIFI、蓝牙、USB等具有通用性高、开发难度小以及成本低廉等优势,不失为外设与智能设备通信方式的一种优选方案。
目前,外设与智能设备通过音频口通信比较主流的方式是基于2FSK(二进制频移键控)方式进行。发送端将二进制数据编码并调制成2FSK信号传输,接收端调理接收2FSK信号,再将其解调并解码成对应二进制数据。具体地,通信双方约定两个频率f0和f1(f0不等于f1),以频率为f0的一个周期正弦波表示二进制数据‘0’,频率为f1的一个周期正弦波表示二进制数据‘1’。对于一组待传输的数据,按位逐个转换成对应频率的正弦波,就完成了数据的编码与信号调制。二进制数据与2FSK调制波形对应关系如图1所示。由图1可知,2FSK调制信号是由一组连续的、不同频率的正弦波无缝衔接组成,当中的每个频率波形与二进制数据一一对应。
然而,发明人发现现有技术中至少存在如下问题:上述编解码方式存在一些致命的问题,因为这种方式对波形的质量(幅度、相位、频率及形状)要求极苛刻,倘若其中某部分波形发生畸变时,外设很难从这些畸变的波形信号解码还原出正确的数据,极大地降低了通信的成功率。
发明内容
本发明实施方式的目的在于提供一种编码方法、编码设备、解码方法和解码设备,以降低对波形质量的依赖,提高了通信的成功率。
为解决上述技术问题,本发明的实施方式提供了一种编码方法,包括以下步骤:预设第一波位和第二波位;其中,所述第一波位包括两个相隔第一波距的波元,所述第二波位包括两个相隔第二波距的波元,所述波元为具有预设时长宽度的波形;根据所述第一波位和所述第二波位,对待编码数据进行编码;其中,所述待编码数据中的0被编码为所述第一波位,所述待编码数据中的1被编码为所述第二波位。
本发明的实施方式还提供了一种解码方法,用于对利用上述的编码方法得到的编码数据进行解码,解码方法包括:接收所述编码数据,并将所述编码数据转换为脉冲信号;其中,每个脉冲信号对应一个波元,相邻两个脉冲信号之间的间隔时间为波元波距;依次捕捉到达的脉冲信号,并获取相邻两个脉冲信号之间的波元间距;根据所述波元间距,对所述编码数据进行解码;其中,若所述波元间距与第一波距的差值小于第一预设门限,则解码为0,若所述波元间距与第二波距的差值小于第二预设门限,则解码为1。
本发明的实施方式还提供了一种编码设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的编码方法。
本发明的实施方式还提供了一种解码设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的解码方法。
本发明实施方式相对于现有技术而言,预设第一波位和第二波位;其中,第一波位包括两个相隔第一波距的波元,第二波位包括两个相隔第二波距的波元,波元为具有预设时长宽度的波形;根据第一波位和第二波位,对待编码数据进行编码;其中,待编码数据中的0被编码为第一波位,待编码数据中的1被编码为第二波位。也就是说,一个波位可以表示一个比特值,用相隔第一波距的两个波元表示比特值0,用相隔第二波距的两个波元表示比特值1,这使得可以利用两个波元之间的不同间隔宽度来分别表示两种二进制比特值0和1。由于,0和1的编码方式与波元的波形质量无太大关系,从而有利于降低通信过程中对波形质量的依赖度,当某些波形发生畸变甚至丢失时,也能在一定程度上保证通信的成功。
另外,所述根据所述第一采样值、所述第二采样值和所述波元的第三采样值,对待编码数据进行编码,具体包括:根据所述待编码数据中的0和1的组合方式,对所述第一采样值、所述第二采样值和所述第三采样值进行组合;将组合后的数据作为编码后的数据。提供了一种方便得到编码后的数据的具体实现方式。
另外,所述根据所述待编码数据中的0和1的组合方式,对所述第一采样值、所述第二采样值和所述第三采样值进行组合,具体包括:将所述第三采样值填入预设的发送缓冲区;从所述待编码数据中的第一位比特位开始,依次对每一位比特位进行如下处理:确定当前比特位的比特值;其中,若确定的所述当前比特位的比特值为0,则将所述第一采样值和所述第三采样值依次追加填入所述发送缓冲区;若确定的所述当前比特位的比特值为1,则将所述第二采样值和所述第三采样值依次追加填入所述发送缓冲区;若检测到遍历完所述待编码数据的所有比特位,则将所述发送缓冲区中的数据作为组合后的数据。提供了一种具体的组合方式,有利于准确的得到编码后的数据。
另外,所述第一采样值具体为fs*(T0-Tw)个零值,所述第二采样值具体为fs*(T1-Tw)个零值;其中,所述fs为采样频率,所述Tw为所述波元的预设时长宽度,所述T0为所述第一波距,所述T1为所述第二波距。也就是说相邻波元之间根据波距的大小填充不同数量的零值,使得对于0和1的编码更加简单,更容易识别。
另外,在所述根据所述第一波位和所述第二波位对待编码数据进行编码之前,还包括:计算所述待编码数据的校验值,并将所述校验值拼接在所述待编码数据的末端;所述根据所述第一波位和所述第二波位对待编码数据进行编码,具体为:根据所述第一波位和所述第二波位对拼接了所述校验值的待编码数据进行编码,有利于在解码时可以进行验证,提高通信准确率
另外,从捕捉到第N-1个脉冲信号开始计时,经过预设时间后开始捕捉第N个脉冲信号是否到达;其中,所述N为大于或等于2的自然数,所述预设时间满足如下关系:
Tw<Tsm<min(T0,T1)
所述Tw为所述波元的预设时长宽度,所述Tsm为所述预设时间,所述T0为所述第一波距,所述T1为所述第二波距。波形信号传输过程中,每个波元之间可能会引入干扰信号,解码时通过设置预设时长,使得可以在有效时间内捕捉脉冲信号,有利于滤除在有效时间之外的干扰脉冲信号,提高抗干扰能力。
另外,所述待解码数据携带有校验值;在所述获取相邻两个脉冲之间的波元间距之后,还包括:若所述波元间距为异常间距,则根据所述波元间距获取丢失值和丢失位置;其中,所述丢失值为以下任意一种:0、1、0和1的任意组合;将所述丢失值插入所述丢失位置生成插值比特序列;根据预设的校验算法计算所述插值比特序列的校验值;若计算的校验值与携带的校验值相同,则将所述插值比特序列作为解码后的数据。通过上述插值纠错的方式,能纠正比特值丢失的问题,有利于提高通信成功率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据背景技术中二进制数据与2FSK调制波形对应关系的示意图;
图2是根据本发明第一实施方式中的编码方法的流程图;
图3是根据本发明第一实施方式中的波元的示意图;
图4是根据本发明第一实施方式中的波位的示意图;
图5是根据本发明第一实施方式中的‘0’和‘1’与编码后的2WTW波形数据的对应关系示意图;
图6是根据本发明第二实施方式中的编码方法的流程图;
图7是根据本发明第三实施方式中的解码方法的流程图;
图8是根据本发明第三实施方式中的转换前的2WTW波形与转换后的脉冲波形的示意图;
图9是根据本发明第三实施方式中的安全间距Tsm的示意图;
图10是根据本发明第四实施方式中的步骤303的子步骤的实现流程图:
图11是根据本发明第四实施方式中的一个位置丢失波元的示意图;
图12是根据本发明第四实施方式中的两个位置丢失波元的示意图;
图13是根据本发明第四实施方式中的e_wt→2*T0时,丢失位置和丢失比特串的示意图;
图14是根据本发明第四实施方式中的e_wt→3*T0时,丢失位置和丢失比特串的示意图;
图15是根据本发明第四实施方式中的e_wt→(T0+T1)时,丢失位置和丢失比特串的一种示意图;
图16是根据本发明第四实施方式中的e_wt→(T0+T1)时,丢失位置和丢失比特串的另一种示意图;
图17是根据本发明第四实施方式中的e_wt→(2*T0+T1)时,丢失位置和丢失比特串的一种示意图;
图18是根据本发明第四实施方式中的e_wt→(2*T0+T1)时,丢失位置和丢失比特串的另一种示意图;
图19是根据本发明第四实施方式中的e_wt→(2*T0+T1)时,丢失位置和丢失比特串的再一种示意图;
图20是根据本发明第四实施方式中的e_wt→(T0+2*T1)时,丢失位置和丢失比特串的一种示意图;
图21是根据本发明第四实施方式中的e_wt→(T0+2*T1)时,丢失位置和丢失比特串的另一种示意图;
图22是根据本发明第四实施方式中的e_wt→(T0+2*T1)时,丢失位置和丢失比特串的再一种示意图;
图23是根据本发明第四实施方式中的e_wt→2*T1时,丢失位置和丢失比特串的示意图;
图24是根据本发明第四实施方式中的e_wt→3*T1时,丢失位置和丢失比特串的示意图;
图25是根据本发明第五实施方式中的编码设备的结构示意图;
图26是根据本发明第六实施方式中的解码设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种编码方法,应用于编码设备。在实际应用中,编码设备可以在对数据进行编码后发送给解码设备,解码设备对接收的数据进行解码以实现编码设备与解码设备之间的数据通信。本实施方式中以智能设备与外设之间的音频通信为例,但在实际应用中并不以此为限,即编码设备为智能设备,解码设备为外设,智能设备对待编码数据进行编码后发送给外设,外设对接收到的数据解码从而实现智能设备与外设的数据通信。下面对本实施方式的编码方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式的编码方法的流程图可以如图2所示,包括:
步骤101:预设第一波位和第二波位。
具体的说,第一波位可以包括两个相隔第一波距T0的波元,第二波位可以包括两个相隔第二波距T1的波元,波元为具有预设时长宽度的波形。其中,波元可以为任意形状的一簇波形,一簇波形可以是一个或多个周期性规律的波形,比如正弦波、方波、三角波等,也可以是任何非周期性无规则的波形,即对于波元的具体形式没有固定要求。为方便说明本实施方式中的波元可以以图3中的为例,用一个竖立方形表示,其中Tw为波元的时间宽度。波元的时域表达式可以为:S(t)=A*g(t),式中:A为幅度,0≤t≤Tw。在实际应用中,波元宽度Tw可以小于T0与T1中的较小者,即Tw<min(T0,T1)。波位可以理解为:是由波元+波距T+波元组成,如图4所示。第一波位可以理解为:是由波元+第一波距T0+波元组成,第二波位可以理解为:是由波元+第二波距T1+波元组成。
进一步的,T0与T1不相等,T0和T1可以满足如下关系:若T0<T1,则须满足nT0≠T1;若T0>T1,则须满足T0≠nT1;其中,n={1,2,…,(K+1)},K为设定的纠错阶数,纠错阶数K是指系统能处理一组传输波形中某位置连续丢失波元的数量,表征系统的纠错能力,K值越大,纠错能力越强。
步骤102:根据第一波位和第二波位,对待编码数据进行编码。
具体的说,本实施方式采用的是一种离散的编码方式2WTW(Wave-Time-Wave),利用一个波位表示一个比特位数据,则一组波位就能表示一串二进制比特位数据。波距为T0的第一波位表示二进制数据‘0’;波距为T1的第二波位表示二进制数据‘1’。对于一组波位,第一个波元称为起始波元,最后一个波元称为结束波元。对于当中的某个波元,其左边与其相连的波距称为该波元的左波距,其右边与其相连的波距称为该波元的右波距。特别的,起始波元无左波距,结束波元无右波距。二进制数据‘0’和‘1’与编码后的2WTW波形数据的对应关系如图5所示。由图5可知,在一组2WTW波形中,每个波元在时间轴上独立的离散分布。
下面对具体如何根据第一波位和第二波位,对待编码数据中的一串比特值进行编码作具体说明:
首先,可以根据第一波位的第一波距T0,确定第一波距T0的第一采样值;根据第二波位的第二波距T1,确定第二波距T1的第二采样值。本实施方式中第一采样值和第二采样值可以用零值填充,但在实际应用中并不以此为限。确定的第一波距T0的第一采样值可以为fs*(T0-Tw)个零值,第二波距T1的采样值可以为fs*(T1-Tw)个零值,其中,fs可以为智能设备音频的采样频率。
然后,可以根据第一采样值、第二采样值和预设的波元的第三采样值,对待编码数据进行编码;其中,第三采样值与第一采样值不同,且与第二采样值不相同。波元的第三采样值,可以为:
其中,当fs*Tw为整数时,波元与波距正好无缝衔接,得到的2WTW波形最平滑,此时波元的采样点数为fs*Tw个。因此,在实际应用中,可以将波元的采样点数设置为整数,以得到平滑的2WTW波形。
进一步的,可以根据待编码数据中的0和1的组合方式,对第一采样值、第二采样值和第三采样值进行组合;将组合后的数据作为编码后的数据。具体的组合方式可以为:将第三采样值填入预设的发送缓冲区;从待编码数据中的第一位比特位开始,依次对每一位比特位进行如下处理:确定当前比特位的比特值;其中,若确定的当前比特位的比特值为0,则将第一采样值和第三采样值依次追加填入发送缓冲区;若确定的当前比特位的比特值为1,则将第二采样值和第三采样值依次追加填入所述发送缓冲区;若检测到遍历完待编码数据的所有比特位,则将发送缓冲区中的数据作为组合后的数据。其中,追加填入是指:新填入的数据无缝衔接到缓冲区原有的数据末端,不会影响原有数据。
目前,智能设备的种类繁多,各厂家使用的音频模组品质参差不齐,根本不能保证每台设备所输出的信号质量符合既定要求,甚至出现波形丢失的情况。此外,某些智能设备还具有音效功能,当通过音频口输出信号时,系统会在原始信号上叠加音效信号,改变了原始信号的特征;在实际开发中发明人发现,相同的通信程序安装运行于不同的智能设备上,所输出的信号波形存在不同程度的差异,这直接影响了产品的兼容性。而且连续的信号波形在信道上传输的时候,容易受到外界的干扰,导致信号波形发生畸变。为解决此问题,本发明实施方式采用的离散式的波形编码方式,与现有技术相比,由于,0和1的编码方式与波元的波形质量无太大关系,从而有利于降低通信过程中对波形质量的依赖度,从而改善了兼容性问题。并且,当某些波形发生畸变甚至丢失时,也能在一定程度上保证通信的成功。
本发明的第二实施方式涉及一种编码方法。第二实施方式是第一实施方式的进一步改进,主要改进之处在于:本实施方式中对待编码数据计算了校验值,并将校验值拼接在待编码数据末端,有利于在解码时,由解码设备对接收的数据进行验证,提高通信的准确度。
本实施方式的编码方法的流程图可以如图6所示,包括:
步骤201:预设第一波位和第二波位。
步骤201与第一实施方式中步骤101大致相同,为避免重复,在此不再赘述。
步骤202:计算待编码数据的校验值,并将校验值拼接在待编码数据的末端。
具体的说,可以采用预设的校验算法对待编码数据计算校验值,其中,校验算法可以为现有技术中的任意一种校验算法,本实施方式对此不做具体限定。计算得到校验之后,将校验值拼接在待编码数据的末端。
步骤203:根据第一波位和第二波位,对拼接了校验值的待编码数据进行编码。
具体的说,步骤203与第一实施方式中步骤102大致相同,不同之处在于,步骤102的待编码数据未拼接校验值,而步骤203中的待编码数据拼接了校验值,由于具体的编码方式大致相同,为避免重复,在此不再一一赘述。
与现有技术相比,本实施方式中,计算了待编码数据的校验值,并将校验值拼接在待编码数据的末端,根据第一波位和第二波位对拼接了校验值的待编码数据进行编码,有利于在解码时可以对接收的数据进行验证,提高通信准确率。
本发明的第三实施方式涉及一种解码方法,应用于解码设备。本实施方式中的解码方法可以对通过第一实施方式中的编码方法得到的编码数据进行解码,以提高数据通信的成功率。
本实施方式的解码方法的流程图可以如图7所示,包括:
步骤301:接收编码数据,并将编码数据转换为脉冲信号。
具体的说,接收的编码数据可以为2WTW波形,将2WTW波形中的每一个波元均转换为一个脉冲,每个脉冲信号对应一个波元,转换前的2WTW波形与转换后的脉冲波形可以如图8所示。
步骤302:依次捕捉到达的脉冲信号,并获取相邻两个脉冲信号之间的波元间距。
具体的说,相邻两个脉冲信号之间的间隔时间为波元波距,可以从捕捉到第一个脉冲信号开始计时直到捕捉到第二个脉冲信号,将捕捉到第一个脉冲信号与捕捉到第二个脉冲信号之间的时间间隔作为第一个脉冲信号和第二个脉冲信号之间的波元间距。对于之后捕捉到的脉冲信号,相邻两个脉冲信号之间的波元间距的获取方式与上述第一个脉冲信号和第二个脉冲信号之间的波元间距的获取方式类似,在此不再一一赘述。获取波元间距后,可以依次将相邻两个脉冲信号的波元间距依次存入预设的接收缓冲区内。
进一步地,考虑到波形信号传输过程中,每个波元之间可能会引入干扰信号,这种干扰信号可能是波元振铃或者外界干扰引起。干扰信号经过转换后形成干扰脉冲,为过滤掉此类干扰脉冲,可以采取的措施是:设定一个预设时间,即安全间距Tsm,从捕捉到第N-1个脉冲信号开始计时,经过预设时间后开始捕捉第N个脉冲信号是否到达,N为大于或等于2的自然数。在实际应用中,可以为在某个脉冲信号边沿启动测量计数后延迟等待Tsm时间后方可开启捕捉下一个脉冲信号是否到达,当捕捉到下一个脉冲到达时停止测量计数,同时获取计数值并转换成对应的波元间距。
再进一步的,上述安全间距Tsm可以满足:Tw<Tsm<min(T0,T1),另外,Tsm可以很接近min(T0,T1),从而进一步增强抗干扰效果越。安全间距Tsm的示意图可以如图9所示。
步骤303:根据波元间距,对编码数据进行解码。
具体的说,若波元间距与第一波距的差值小于第一预设门限,则解码为0,若波元间距与第二波距的差值小于第二预设门限,则解码为1。其中,第一预设门限和第二预设门限可以根据实际需要进行设置,本实施方式对此不做具体限定。第一预设门限的设置旨在判断波元间距是否接近于第一波距,第二预设门限的设置旨在判断波元间距是否接近于第二波距。比如说,接收缓冲区内保存有获取的所有波元间距,进行解码时,对接收缓冲区中的数据执行解码运算:从第一个波元间距开始,依次将每个波元间距与第一波距T0和第二波距T1作对比,如果该波元间距接近于T0,则解码为二进制数据‘0’;如果该波元间距接近于T1,则解码为二进制数据‘1’。按如此规律遍历判断接收缓冲区中的所有波元间距,解码出所有数据比特,从而还原出原始数据。
与现有技术相比,本实施方式中,根据两个波元之间的不同间隔宽度来解码,得到编码前的由两种二进制比特值0和1组成的比特串。由于,0和1的解码方式与波元的波形质量无太大关系,从而有利于降低通信过程中对波形质量的依赖度,当某些波形发生畸变甚至丢失时,也能在一定程度上保证通信的成功。
本发明的第四实施方式涉及一种解码方法,本实施方式中的解码方法可以对通过第二实施方式中的编码方法得到的编码数据进行解码。本实施方式考虑到通信过程中可能发生波元丢失的情况,采用一种插值试验纠错的方法进行纠错处理。本实施方式中的波元间距存在异常间距,异常间距可以为:既不接近于第一波距T0,也不接于第二波距T1的波距,如果波元间距为异常间距,那么既不能解码得到1也不能解码得到0。本实施方式在出现丢波现象时,可以进行纠错,以得到正确的解码数据,提高了数据通信的准确率。
本实施方式可以是对第三实施方式中步骤303的子步骤,需要强调的是本实施方式针对步骤303中波元间距为异常间距的情况,步骤303的子步骤的实现流程图可以如图10所示,包括:
步骤3031:根据波元间距获取丢失值和丢失位置。
具体的说,丢失值为以下任意一种:0、1、0和1的任意组合。首先可以分析接收缓冲区的波距数据,找出异常波距的位置,然后根据此异常波距值推算出丢失波元的数量,以及各丢失波元左右波距的所有可能组合,亦即对应丢失比特的位置及组合。丢失比特的位置可以为1个也可以为多个,图11和图12分别为一个位置丢失波元的示意图和两个位置丢失波元的示意图。其中,图12中第一个丢失位置丢失了两个波元,第二个丢失位置丢失了一个波元。由于当某个波元丢失后,其左右波距必然连接在一起形成一个既不接近于T0也不接近于T1的异常波距,记为e_wt。以K=2(某位置至多连续丢失2个波元)为例说明,e_wt与T0、T1存在如下规律关系:
1)如图13所示,当e_wt→2*T0时,即波元间距接近2*T0时,可以得出丢失1个波元,所丢失波元左右波距都是T0,对应丢失比特串“00”。
2)如图14所示,当e_wt→3*T0时,可以得出连续丢失2个波元,所丢失两个波元的左右波距都是T0,对应丢失比特串“000”。
3)当e_wt→(T0+T1)时,丢失1个波元,可以分两种可能情况:
3.1)如图15所示,所丢失波元左波距是T0,右波距是T1,对应丢失比特串“01”;
3.2)如图16所示,所丢失波元左波距是T1,右波距是T0,对应丢失比特串“10”。
4)当e_wt→(2*T0+T1)时,连续丢失2个波元,可以分三种可能情况:
4.1)如图17所示,所丢失第1个波元左波距是T0,右波距是T0,所丢失第2个波元右波距是T1,对应丢失比特串“001”;
4.2)如图18所示,所丢失第1个波元左波距是T0,右波距是T1,所丢失第2个波元右波距是T0,对应丢失比特串“010”;
4.3)如图19所示,所丢失第1个波元左波距是T1,右波距是T0,所丢失第2个波元右波距是T0,对应丢失比特串“100”。
5)当e_wt→(T0+2*T1)时,连续丢失2个波元,可以分三种可能情况:
5.1)如图20所示,所丢失第1个波元左波距是T0,右波距是T1,所丢失第2个波元右波距是T1,对应丢失比特串“011”;
5.2)如图21所示,所丢失第1个波元左波距是T1,右波距是T0,所丢失第2个波元右波距是T1,对应丢失比特串“101”;
5.3)如图22所示,所丢失第1个波元左波距是T1,右波距是T1,所丢失第2个波元右波距是T0,对应丢失比特串“110”。
6)如图23所示,当e_wt→2*T1时,丢失1个波元,所丢失波元左右波距都是T1,对应丢失比特串“11”。
7)如图24所示,当e_wt→3*T1时,连续丢失2个波元,所丢失第1个波元左波距是T1,右波距是T1,所丢失第2个波元右波距是T1,对应丢失比特串“111”。
其中,“→”表示数值接近等于的意思,如a→b表示数值a接近等于数值b。
由上面规律可知,异常间距e_wt→(m*T0+n*T1),即m个T0与n个T1的组合,亦即对应m个‘0’与n个‘1’的比特组合,一共有个组合情况,每个组合有(m+n)位比特,用二维数组表示,行下标表示所有可能组合的总数,列下标表示(m+n)表示每个组合的位宽。其中,m≥0,n≥0,并且m、n不同时等于0。
例如:根据异常间距获取的丢失值可以如下:
e_wt→(2*T0),即m=2,n=0,则
e_wt→(2*T1),即m=0,n=2,则
e_wt→(2*T0+T1),即m=2,n=1,则
e_wt→(2*T0+T1),即m=2,n=1,则
e_wt→(T0+2*T1),即m=1,n=2,则
e_wt→(2*T0+2*T1),m=2,n=2,则
步骤3032:将丢失值插入丢失位置生成插值比特序列。
具体的说,可以在丢失比特的位置,依次插入每个可能的比特组合。如果根据异常间距得到的丢失值为一组,比如上述e_wt→(2*T0)时,得到的丢失值为{0,0},那么将丢失值插入丢失位置生成插值比特序列就为一个插值比特序列。如果根据异常间距得到的丢失值为多组,比如上述e_wt→(2*T0+T1)时,得到的丢失值为{{0,0,1},{0,1,0},{1,0,0}},那么将丢失值插入丢失位置生成插值比特序列就为三个插值比特序列。
步骤3033:根据预设的校验算法计算插值比特序列的校验值。
具体的说,预设的验算法可以为现有技术中的任意一种校验算法,本实施方式对此不做具体限定。需要说明的是,本步骤中预设的校验算法与第二实施方式中对待编码数据计算校验值采用的校验算法相同。如果插值比特序列为一个,则根据预设的校验算法计算出一个校验值;如果插值比特序列为多个,则计算出多个校验值,即一个插值比特序列对应一个校验值。
步骤3034:若计算的校验值与携带的校验值相同,则将插值比特序列作为解码后的数据。
具体的说,待解码数据携带有校验值,如果计算的校验值与携带的校验值相等,则对应此次插值的比特序列为纠错成功后的正确序列。比如说,如果插值比特序列为一个,则将根据该插值比特序列计算的校验值与携带的校验值进行比较,如果相同则将该插值比特序列作为解码后的数据。如果插值比特序列为多个,则可以先计算一个插值比特序列的校验值,如果该插值比特序列的校验值与待解码数据携带的校验值不同,则再计算另一个插值比特序列的校验值,按上述规律重试验证,直到成功找到正确的插值比特序列或是所有可能的插值比特序列都验证完毕。
与现有技术相比,本实施方式通过上述插值纠错的方式,能纠正在数据传输过程中比特值丢失的问题,有利于提高通信成功率。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第五实施方式涉及一种编码设备,如图25所示,包括至少一个处理器401;以及,与所述至少一个处理器401通信连接的存储器402;其中,所述存储器402存储有可被所述至少一个处理器401执行的指令,所述指令被所述至少一个处理器401执行,以使所述至少一个处理器401能够执行上述的编码方法。
其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第六实施方式涉及一种解码设备,如图26所示,包括至少一个处理器501;以及,与所述至少一个处理器501通信连接的存储器502;其中,所述存储器502存储有可被所述至少一个处理器501执行的指令,所述指令被所述至少一个处理器501执行,以使所述至少一个处理器501能够执行上述的解码方法。
其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。
处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (11)
1.一种编码方法,其特征在于,包括:
预设第一波位和第二波位;其中,所述第一波位包括两个相隔第一波距的波元,所述第二波位包括两个相隔第二波距的波元,所述波元为具有预设时长宽度的波形;
根据所述第一波位和所述第二波位,对待编码数据进行编码;其中,所述待编码数据中的0被编码为所述第一波位,所述待编码数据中的1被编码为所述第二波位。
2.根据权利要求1所述的编码方法,其特征在于,所述根据所述第一波位和所述第二波位对待编码数据进行编码,具体包括:
根据所述第一波位的第一波距,确定所述第一波距的第一采样值;
根据所述第二波位的第二波距,确定所述第二波距的第二采样值;
根据所述第一采样值、所述第二采样值和预设的所述波元的第三采样值,对待编码数据进行编码;其中,所述第三采样值与所述第一采样值不同,且与所述第二采样值不相同。
3.根据权利要求2所述的编码方法,其特征在于,所述根据所述第一采样值、所述第二采样值和所述波元的第三采样值,对待编码数据进行编码,具体包括:
根据所述待编码数据中的0和1的组合方式,对所述第一采样值、所述第二采样值和所述第三采样值进行组合;
将组合后的数据作为编码后的数据。
4.根据权利要求3所述的编码方法,其特征在于,所述根据所述待编码数据中的0和1的组合方式,对所述第一采样值、所述第二采样值和所述第三采样值进行组合,具体包括:
将所述第三采样值填入预设的发送缓冲区;
从所述待编码数据中的第一位比特位开始,依次对每一位比特位进行如下处理:
确定当前比特位的比特值;其中,若确定的所述当前比特位的比特值为0,则将所述第一采样值和所述第三采样值依次追加填入所述发送缓冲区;若确定的所述当前比特位的比特值为1,则将所述第二采样值和所述第三采样值依次追加填入所述发送缓冲区;
若检测到遍历完所述待编码数据的所有比特位,则将所述发送缓冲区中的数据作为组合后的数据。
5.根据权利要求2或3所述的编码方法,其特征在于,所述第一采样值具体为fs*(T0-Tw)个零值,所述第二采样值具体为fs*(T1-Tw)个零值;其中,所述fs为采样频率,所述Tw为所述波元的预设时长宽度,所述T0为第一波距,所述T1为第二波距。
6.根据权利要求1所述的编码方法,其特征在于,在所述根据所述第一波位和所述第二波位对待编码数据进行编码之前,还包括:
计算所述待编码数据的校验值,并将所述校验值拼接在所述待编码数据的末端;
所述根据所述第一波位和所述第二波位,对待编码数据进行编码,具体为:
根据所述第一波位和所述第二波位,对拼接了所述校验值的待编码数据进行编码。
7.一种解码方法,其特征在于,用于对利用如权利要求1至6中任一项所述的编码方法得到的编码数据进行解码,所述解码方法包括:
接收编码数据,并将所述编码数据转换为脉冲信号;其中,每个脉冲信号对应一个波元,相邻两个脉冲信号之间的间隔时间为波元波距;
依次捕捉到达的脉冲信号,并获取相邻两个脉冲信号之间的波元间距;
根据所述波元间距,对所述编码数据进行解码;其中,若所述波元间距与第一波距的差值小于第一预设门限,则解码为0,若所述波元间距与第二波距的差值小于第二预设门限,则解码为1。
8.根据权利要求7所述的解码方法,其特征在于,所述依次捕捉到达的脉冲信号,具体为:
从捕捉到第N-1个脉冲信号开始计时,经过预设时间后开始捕捉第N个脉冲信号是否到达;其中,所述N为大于或等于2的自然数,所述预设时间满足如下关系:
Tw<Tsm<min(T0,T1)
所述Tw为所述波元的预设时长宽度,所述Tsm为所述预设时间,所述T0为所述第一波距,所述T1为所述第二波距。
9.根据权利要求7所述的解码方法,其特征在于,所述待解码数据携带有校验值;在所述获取相邻两个脉冲之间的波元间距之后,还包括:
若所述波元间距为异常间距,则根据所述波元间距获取丢失值和丢失位置;其中,所述丢失值为以下任意一种:0、1、0和1的任意组合;
将所述丢失值插入所述丢失位置生成插值比特序列;
根据预设的校验算法计算所述插值比特序列的校验值;
若计算的校验值与携带的校验值相同,则将所述插值比特序列作为解码后的数据。
10.一种编码设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一所述的编码方法。
11.一种解码设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求7至9中任一所述的解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910209164.8A CN110086548A (zh) | 2019-03-19 | 2019-03-19 | 编码方法、编码设备、解码方法和解码设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910209164.8A CN110086548A (zh) | 2019-03-19 | 2019-03-19 | 编码方法、编码设备、解码方法和解码设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110086548A true CN110086548A (zh) | 2019-08-02 |
Family
ID=67413340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910209164.8A Pending CN110086548A (zh) | 2019-03-19 | 2019-03-19 | 编码方法、编码设备、解码方法和解码设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110086548A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5929783A (en) * | 1995-09-11 | 1999-07-27 | Raytheon Company | Method for decoding and error correcting data of tactical air navigation and distance measuring equipment signals |
KR100727896B1 (ko) * | 2006-01-24 | 2007-06-14 | 삼성전자주식회사 | 디지털 통신 시스템의 채널 코딩 방법 및 이를 이용한 채널코딩 장치 |
CN101615911A (zh) * | 2009-05-12 | 2009-12-30 | 华为技术有限公司 | 一种编解码方法和装置 |
CN103379214A (zh) * | 2012-04-26 | 2013-10-30 | 国民技术股份有限公司 | 一种音频通信系统 |
CN104283619A (zh) * | 2013-07-10 | 2015-01-14 | 欧司朗有限公司 | 信号传输方法及相关设备 |
CN104954097A (zh) * | 2015-04-29 | 2015-09-30 | 上海林果实业股份有限公司 | 用于音频通讯的设备及编码方法 |
CN106549729A (zh) * | 2015-09-21 | 2017-03-29 | 天地融科技股份有限公司 | 数据发送方法和装置及数据接收方法和装置 |
-
2019
- 2019-03-19 CN CN201910209164.8A patent/CN110086548A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5929783A (en) * | 1995-09-11 | 1999-07-27 | Raytheon Company | Method for decoding and error correcting data of tactical air navigation and distance measuring equipment signals |
KR100727896B1 (ko) * | 2006-01-24 | 2007-06-14 | 삼성전자주식회사 | 디지털 통신 시스템의 채널 코딩 방법 및 이를 이용한 채널코딩 장치 |
CN101615911A (zh) * | 2009-05-12 | 2009-12-30 | 华为技术有限公司 | 一种编解码方法和装置 |
CN103379214A (zh) * | 2012-04-26 | 2013-10-30 | 国民技术股份有限公司 | 一种音频通信系统 |
CN104283619A (zh) * | 2013-07-10 | 2015-01-14 | 欧司朗有限公司 | 信号传输方法及相关设备 |
CN104954097A (zh) * | 2015-04-29 | 2015-09-30 | 上海林果实业股份有限公司 | 用于音频通讯的设备及编码方法 |
CN106549729A (zh) * | 2015-09-21 | 2017-03-29 | 天地融科技股份有限公司 | 数据发送方法和装置及数据接收方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11394488B2 (en) | Polarized coding method and apparatus, electronic device, and storage medium | |
CN108777606B (zh) | 解码方法、设备及可读存储介质 | |
CN105187070B (zh) | 一种曼彻斯特编码信号解码方法和装置 | |
CN102594492B (zh) | 一种码块分割方法及装置 | |
US11817882B2 (en) | Decoding method, decoding device, and readable storage medium | |
CN202663412U (zh) | 发送设备、接收设备、以及传输系统 | |
CN102571117A (zh) | 脉冲信号接收装置及传送系统 | |
KR102189511B1 (ko) | 데이터 송신 방법과 장치, 데이터 수신 방법과 장치 | |
JP2017513307A5 (zh) | ||
CN101841393A (zh) | 基于mvb接口的pwm输入模块及mvb设备 | |
CN110086548A (zh) | 编码方法、编码设备、解码方法和解码设备 | |
US10616015B2 (en) | Signal processing system and method, and apparatus | |
CN110620635A (zh) | 解码方法、设备及可读存储介质 | |
CN102265541B (zh) | 误块率估计方法及通信设备 | |
CN103888108A (zh) | 一种数据解码方法及装置 | |
CN110489373B (zh) | 一种串行隔离通信方法、装置及系统 | |
US7812618B2 (en) | Printed circuit board, and backplane data transmission method | |
CN112821988B (zh) | 一种畸变信号矫正方法、装置及存储介质 | |
CN115061968B (zh) | 一种接口处理器及接口处理系统 | |
CN104735809A (zh) | 一种终端与外接设备通信的方法以及这种终端 | |
US11005599B2 (en) | Data transmission systems and data transmission methods of suppressing data error occurrences due to crosstalk | |
CN104518844A (zh) | 应用于窄带电力线通信中的级联信道编码方法及装置 | |
JP4586492B2 (ja) | 一線式データ通信方法、及びこの通信方法を用いた一線式データ送受信機 | |
CN108322298A (zh) | 一种uart失同步恢复的方法、设备及系统 | |
US11005500B2 (en) | Data processing apparatus, data processing method, and program with bit interleaving for non-uniform constellation wireless transmission |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190802 |