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.
Previous article:Application of CCD in the Renovation of Old Instruments
Next article:Design of camera driver based on Video4Linux
- Popular Resources
- Popular amplifiers
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Antenna basic element
- ATA-2021B high voltage amplifier, the current monitoring/voltage bias you want is here!
- Cisco was reported to have laid off employees in China, and the average compensation for laid-off employees was more than 1 million
- How to build and run the RFID design platform
- 【MM32 eMiniBoard Review】+ Development Environment Construction and Download Test
- Still about the 27MHz frequency measurement problem
- Reverse
- Understanding the Rail-to-Rail Characteristics of Op Amps
- Married electricians, do you give your salary to your wife or manage it yourself?
- Ek314 How to upgrade Ubuntu 12.04 to 14.04?