CN1121758C - 编码芯片 - Google Patents
编码芯片 Download PDFInfo
- Publication number
- CN1121758C CN1121758C CN98111754A CN98111754A CN1121758C CN 1121758 C CN1121758 C CN 1121758C CN 98111754 A CN98111754 A CN 98111754A CN 98111754 A CN98111754 A CN 98111754A CN 1121758 C CN1121758 C CN 1121758C
- Authority
- CN
- China
- Prior art keywords
- circuit
- coding
- chip
- basic
- input
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明提供一种用于数据通讯中信道纠错的编码芯片,该芯片包括输入电路、基变换、编码电路、基反变换、输出电路及控制电路六部分组成,其中该输入电路连接有基变换电路,该基变换电路连接有编码电路,该编码电路连接于基变换电路,该基变换电路连接有输出电路,控制电路分别连接于输入电路、编码电路和输出电路;从而该编码芯片可以实现实时RS255或RS223编码功能。
Description
本发明提供一种RS(255,223)编码芯片,RS(REED和SOLOMON)编码芯片属于信道纠错编码技术,用于空间遥测信道或大容量数据存储等多种数据编码,以保证信息的正确传输。
在信息传输过程中,为了保证信息的正确传输,往往在进入信道前对它进行编码,接收端收到数据后先对其进行相应的解码,如图1所示,解码过程中同时纠正了在信道传输过程中发生的错误。所采用的编码方法不同,纠错能力的强弱就不一样。RS码于1960年由REED和SOLOMON提出。由于RS码自身的特点,具有较强的纠错能力,不但可以纠正随机错误,还可以纠正突发错误,而且可以用来构造其它码类,如级连码,所以近年来广泛应用于数字通信系统,各种数据存储系统等方面。但是采用不同码型和编码方法的RS码,在纠错能力和性能参数上有很大不同。
本发明的目的在于提供一种RS(255,223)编码芯片,它能够对原始信息数据按CCSDS(国际空间数据系统咨询委员会)关于遥测信道编码中的Reed-Solomon编码的建议进行编码,与相应的解码器配合使用,可以纠正16个符号的错误,并标识超出纠错能力的错误,编码延时为一个字节。整个编码电路全部用硬件实现,最后写入一片FPGA(现场可编程门阵列)芯片。
本发明一种编码芯片,包括输入电路、基变换、编码电路、基反变换、输出电路及控制电路六部分组成,其特征在于,其中该输入电路连接有基变换电路,该基变换电路连接有编码电路,该编码电路连接于基变换电路,该基变换电路连接有输出电路,控制电路分别连接于输入电路、编码电路和输出电路;从而该编码芯片可以实现实时RS255或RS223编码功能。
为了进一步说明本发明的目的和特征,以下结合附图对本发明作一详细的描述,其中:
图1为信息传输过程图;
图2为本发明的RS(255,223)编码原理图;
图3为本发明的RS(255,223)编码的电路结构图;
图4为本发明的编码电路原理图;
图5为本发明的信号时序图。
请参阅图3所示,本发明一种编码芯片,包括输入电路、基变换、编码电路、基反变换、输出电路及控制电路六部分组成,其特征在于,其中该输入电路连接有基变换电路,该基变换电路连接有编码电路,该编码电路连接于基变换电路,该基变换电路连接有输出电路,控制电路分别连接于输入电路连、编码电路和有输出电路;从而该编码芯片可以实现实时RS255或RS223编码功能。
本发明的编码所采用的各项参数如下:
J=8,为每个RS符号的码元数;
E=16,为一个RS码字内RS符号的纠错能力;
I=1,为符号交错深度,(I=1时,等效于没有交错);
J,E,I是独立的参数。
n=2J-1=255,为每个RS码字的符号数;
2E,为一个RS码字中代表校验位的符号数;
k=n-2E,为一个RS码字中代表信息位的符数。域生成多项式
F(X)=X8+X7+X2+X+1 在GF(2)上定义。码生成多项式 在GF(28)上定义,其中F(α)=0。各项系数gi如下:g0=g32=α0 g1=g31=α249 g2=g30=α59 g3=g29=α66g4=g28=α4 g5=g27=α43 g6=g26=α126 g7=g25=α251g8=g24=α97 g9=g23=α30 g10=g22=α3 g11=g21=α213g12=g20=α50 g13=g19=α66 g14=g18=α170 g15=g17=α5 g16=α24
RS码的编码过程,实际上就是根据它的信息位和生成多项式求出校验位的过程。我们用GF(2J)上的多项式
c(x)=cn-1xn-1+cn-2xn-2+…c2Ex2E+c2E-1x2E-1+…c1x+c0来表示码字
c=cn-1cn-2…c2Ec2E-1…c1c0,其中ci∈GF(2J)。同样
I(x)=cn-1xk-1+cn-2xk-2+…+c2E表示信息位多项式,
r(x)=c2E-1x2E-1+…c1x+c0表示校验位多项式。c(x)应能被g(x)整除,也就是说
c(x)=x2EI(x)+r(x)≡0 mod g(x),
因为r(x)≡x2EI(x)mod g(x), (1)可知r(x)是用g(x)整除x2EI(x)所得的余式。RS(255,223)编码的原理如图2所示。图中Q、Ri(i=0,1,…,30)为八位的寄存器,1和2分别表示两个八位二进制数的相乘和相加,gi(i=0,1,…,31)代表生成多项式的各项系数。编码开始前先把所有的寄存器清0。编码开始时两个开关都打在A位,使信息位顺序进入编码器,同时也作为码字的一部分发送出去。所有的信息位都发送之后开关都打在B位,编码器开始依次发送校验位,同时使寄存器Q清0,为下一个码字做准备。
本芯片的主要编码电路部分采用了BERLEKAMP算法,用位串乘法来实现图2中Z和gi的相乘。首先选取适当的j,构造生成多项式g(x)为自对称多项式,即gi=g2E-i,从而只需计算Ti=zgi(i=0,1,…,16),giz的运算量节省了一半,所用元器件的数目也就减少了一半。其次,应用有限域的理论,选取{1,β,β2,β3,β4,β5,β6,β7}(其中β=α117)所对应的双基作为新的基,对每个进入编码电路的元素
u=u7α7+u6α6+…+u0α0先进行基变换,u可以重新表示为
z=z0l0+z1l1+…+z7l7,其中 [l0,l1,l2,l3,l4,l5,l6,l7]
=[α125,α88,α226,α163,α46,α184,α67,α242]。生成的符号在离开编码电路之前进行相应的基反变换。新旧系数之间的变换关系如下:[z0,z1,…,z7]=[u7,u6,…,u0]Tα1 (2)[u7,u6,…,u0]=[z0,z1,…,z7]Tα1 -1 (3)其中 ∴zi=Tr(zβi)注 令 则
其中zt为z的各项系数中Tr(gllt)≠0的项
z1 (1)=T1 (l)=Tl(β1z)=Tr[(zβ)gl]如果已经算出Ti(z),那么用βz代替z作为输入,用同样的过程和结构可以算出比Ti(z)高一位的位。而由z到βz可以通过简单的移位得到:
z=[Tr(z),Tr(βz),…,Tr(β7z)]βz=[Tr(βz),Tr(β2z),…,Tr(β8z)]
=[z1,z2,…,z7,z8]其中
T及Ti的计算算式如下:
T0=z0
T1=z1+z2+z4+z6
T2=z2+z3
T3=z0+z2+z4+z5
T4=z0+z2+z3+z7
T5=z0+z1+z2+z3+z4+z5+z6+z7
T6=z0+z1+z2+z6+z7
T7=z0+z1+z5+z6
T8=z1+z2+z4
T9=z0+z2+z3+z4+z5
T10=z0+z1+z4+z7
T11=z4
T12=z0+z1+z2+z3+z4+z5+z6+z7
T13=T3
T14=z0+z1+z2+z4+z5+z6
T15=z0+z1+z3+z5+z7
T16=z1+z2+z6
T=z0+z1+z3+z7
上面算式中的+指模二相加,用两输入的异或门即可完成。采用这种算法,通过简单的移位和模二相加来实现两个八位数的相乘,大大降低了结构的复杂性和使用元器件数目。
实际的编码电路包括输入电路、基变换、BERLEKAMP编码电路、基反变换、输出电路及控制电路六个部分(如图3所示)。其中的输入电路主要是一个八位的D触发器,基变换、基反变换部分分别按照式(2)、(3)完成码字符号在不同基下的坐标转换,BERLEKAMP编码电路(如图4所示)完成主要的编码过程。图中的Si(i=0,1,…,30)为八位的串入串出移位寄存器,PSS为八位的串/并入并出移位寄存器,SSP为八位的串入并出移位寄存器,图中1和2分别为八位的和一位的异或器件,3为八位的二选一器件。图4的CMPT部分是一些组合逻辑电路,完成T及Ti的计算。这里需要特别注明的是:由于译码器总是在完整的码块上工作,如果信息位符号少于223个,比如说是223-P个(如图5),则自动加上虚拟填充,即在码块开始时插入P个字节的全零位。虚拟填充不被传输,仅用于逻辑地补全码块。输出电路由一个八位二选一电路和一个八位的触发器构成,完成码字的信息位和校验位的顺序输出。控制电路生成控制信号,使输入、编码、输出等操作能够严格按时序进行。图中同时标出了芯片的所有外部信号,其中I[7:0]O[7:0]为并行输入、输出数据信号,其余为控制信号。TCY为输入码块同步信号,在输入码块第一个有效字节其间为高,其余时间为低。DINEN为输入信息位有效信号,在输入有效的码字信息位其间为高,其余时间为低。BYCLK为字节时钟,CLK为位时钟。TOCYO为输出码块同步信号,在输出码块第一个有效字节其间为高,其余时间为低。DOEN为输出信息位有效信号,在输出有效的码字信息位其间为高,其余时间为低。信号之间的时序关系如图5所示,输出比输入滞后一个字节时钟。
设计过程的另一个特点是,所有的功能全部用硬件实现,实现过程中采用了FPGA技术,把整个电路写入一片FPGA芯片。
本发明比起传统的板级电路,它具有两个方面的优越性:
1、由于整个电路最后写入一片FPGA芯片,性能稳定可靠,主要与所用的FPGA芯片的性能有关,受外界影响不大;
2、针对实际的应用需求,可以迅速方便地修改内部设计电路,同时保持外部接口不变;
3、体积小,使用时非常方便。
Claims (1)
1、一种编码芯片,包括输入电路、基变换、编码电路、基反变换、输出电路及控制电路六部分组成,其特征在于,其中该输入电路连接有基变换电路,该基变换电路连接有编码电路,该编码电路连接于基变换电路,该基变换电路连接有输出电路,控制电路分别连接于输入电路、编码电路和输出电路;从而该编码芯片可以实现实时RS255或RS223编码功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN98111754A CN1121758C (zh) | 1998-12-24 | 1998-12-24 | 编码芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN98111754A CN1121758C (zh) | 1998-12-24 | 1998-12-24 | 编码芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1258133A CN1258133A (zh) | 2000-06-28 |
CN1121758C true CN1121758C (zh) | 2003-09-17 |
Family
ID=5221657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98111754A Expired - Fee Related CN1121758C (zh) | 1998-12-24 | 1998-12-24 | 编码芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1121758C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1303763C (zh) * | 2003-04-18 | 2007-03-07 | 清华大学 | 用于降低rs码编译码复杂度的方法 |
CN108933601B (zh) * | 2017-05-23 | 2020-06-19 | 宁德时代新能源科技股份有限公司 | 一种编码芯片和电池监控单元 |
-
1998
- 1998-12-24 CN CN98111754A patent/CN1121758C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1258133A (zh) | 2000-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5537429A (en) | Error-correcting method and decoder using the same | |
JP3046988B2 (ja) | データストリームのフレーム同期検出方法及び装置 | |
AU602401B2 (en) | Read solomon error correction code encoder | |
JPH09507118A (ja) | 巡回冗長検査方法および装置 | |
CN101902228B (zh) | 快速循环冗余校验编码方法及装置 | |
US8700971B2 (en) | Parallel residue arithmetic operation unit and parallel residue arithmetic operating method | |
WO2016127853A1 (zh) | 一种基于扩展汉明码的二维乘积码编码装置及编码方法 | |
CN1333530C (zh) | 编码线性成块码的方法和装置 | |
Drukarev et al. | Performance of error-correcting codes on channels with memory | |
CN101151806B (zh) | 利用映射函数周期性的存储器有效的交织/去交织 | |
CN100589359C (zh) | 一种里德索罗蒙码的译码方法及装置 | |
CN102820892B (zh) | 一种用于并行bch编码的电路、编码器及方法 | |
US3571795A (en) | Random and burst error-correcting systems utilizing self-orthogonal convolution codes | |
CN1121758C (zh) | 编码芯片 | |
CN100546206C (zh) | 一种实现解码的电路和方法 | |
KR200141094Y1 (ko) | 비씨에이취 코드워드를 부호화하는 장치 | |
CN100459438C (zh) | 里德所罗门解码器的关键方程与错误值求解优化电路 | |
CN103401566A (zh) | 参数化的bch纠错码的并行编码方法及装置 | |
CN100417031C (zh) | 宽带无线接入系统中里德索洛门卷积级联码的实现方法 | |
US7398456B2 (en) | Information encoding by shortened Reed-Solomon codes | |
CN111900999B (zh) | 一种面向卫星非连续通信的高性能极化编码方法及编码器 | |
CN101459432B (zh) | 一种rs码交织编码方法 | |
CN102751994B (zh) | 一种基于两个有限群符号的短码长分组码译码器装置 | |
CN1773864B (zh) | 一种纠错能力为2的扩展里德—所罗门码的译码方法 | |
CN111162800A (zh) | 并行卷积编码方法及编码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030917 Termination date: 20100125 |