Design of RS (204, 188) code continuous encoding

Publisher:BlissfulJourneyLatest update time:2024-07-19 Source: eepw Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

0 Introduction
Digital TV broadcasting needs to transmit high-quality and highly reliable images, sounds, texts, data and other information to the receiver quickly and efficiently. However, when there is stray electromagnetic interference or multipath reflection and impedance mismatch during transmission, it is easy for the receiving end to generate bit errors, resulting in errors in the recovered data, or even the original data cannot be recovered at all, which greatly reduces the high reliability of digital TV broadcasting.


In order to improve the reliability of the transmission system, it is necessary to perform forward error correction coding, also known as channel coding, on the digital baseband signal before digital modulation. The purpose of channel coding is to enhance the anti-interference ability of the digital television system so that the code can be correctly received by the receiver even if there are various interferences during transmission.


1 RS code encoding principle
RS (n, k) code, also written as RS (n, k, 2t), is a non-binary code. It is an n m-bits data stream generated by k m-bits input data streams and 2t m-bits check data streams generated by k m-bits input data streams. It has the following characteristics:
①0kn2m+2. Usually n=2m-1. ②2t=nk. t represents the maximum error correction capability. ③The minimum code distance d0=2t+1.
RS (n, k) code is a multi-ary linear block code. The following system encoding methods are commonly used to construct RS (n, k) code:

Where a is the primitive element, r=nk, t is the maximum number of errors that can be corrected, and modg(x) represents the remainder after dividing by g(x).

2 The design and implementation of
RS (204, 188) code is actually a truncated code of RS (255, 239) code, which is often used for channel error correction in digital television.
In digital television, RS code is usually transmitted in the form of frames, and one frame has eight data packets, so continuous encoding is particularly necessary. When encoding, first input 51 zero data, and then discard the first 51 data after the encoding. To obtain the RS (204, 188) code, you must first obtain the domain elements, which can be obtained with the help of MATLAB software. The program is as follows: m=8; %The number of bits of each symbol; n=2∧m-1; %The length of the codeword after encoding;

k=n-16; % information length; gfelement=gftuple([-1:n-1]', m) % generate the elements of the Garois field;
we can also find the generating polynomial g(x). g(x)=(x+1)(x+a)…(x+a15)
The program is as follows:
N=255; k=239; b=0; gx=rsgenpoly(n, k, [], b) % [] represents the default polynomial.
We can get g(x):


You can also input a set of numbers to get its encoding program as follows:
m=8; n=255; k=239; b=0;
genpoly=rsgenpoly(n, k, [], b); % Generate the generating polynomial


code=rsenc(msg,n,k,genpoly)%Information code, the first 51 are zero, a total of 239 bytes. The check code is:
48,168,46,159,119,162,72,132,139,235,172,28,76,175,171,238.
LFSR (linear feedback register) is often used in hardware design, which can be shown in Figure 1.

The main operation in the arithmetic circuit is the Galois field multiplication with constant coefficients. Suppose there is an eight-bit binary number:


The result of multiplying numbers in the field is still in the field, so let the result be r(a). Then
r(a)=b7a7+b6a6+b5a5+b4a4+b3a3+b2a2+b1a+b0.
Compared with the above formula, we have:
b7=a6; b6=a5; b5=a4; b4=(a7+a3);
b3=(a7+a2); b2=(a7+a1); b1=a0; b0=a7;
Similarly, we can get the result of the fixed coefficient Galois field multiplication required for encoding.
When testing, add the random information code mentioned above, and get the simulation result shown in Figure 3.

As can be seen from Figure 3, the supervision code generated by the simulation is:
Figure 3 Coding Simulation Output
48
, 168, 46, 159, 119, 162, 72, 132, 139, 235, 172, 28, 76, 175, 171, 238. Compared with the code generated by MATLAB software, it can be seen that the result is correct. The circuit diagram after synthesis is shown in Figure 4.

Using Virtex4's 4vlx15sf363-11 for synthesis, it occupies 352 SLICEs and the operating frequency can reach 233.568 MHz.


3 Conclusions
First, MATLAB software was used to obtain domain elements, generate polynomials and codes, which greatly reduced the amount of calculation. By improving the coding structure, the coding was correctly obtained and the continuity of the coding was achieved, which has great practical significance in engineering.


Reference address:Design of RS (204, 188) code continuous encoding

Previous article:Application of CCD in the Renovation of Old Instruments
Next article:Design of camera driver based on Video4Linux

Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号