Design of convolutional code codec based on VHDL language

Publisher:黑白之间Latest update time:2007-01-10 Source: 现代电子技术Keywords:modulation Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
1 Introduction  When digital information is transmitted in a noisy channel, it will be affected by noise interference, and bit errors are always inevitable. In order to achieve a certain bit error rate indicator with a known signal-to-noise ratio, error control should also be adopted on the basis of rationally designing the baseband signal, selecting modulation and demodulation methods, and adopting frequency domain equalization or time domain equalization measures. Coding and other channel coding technologies further reduce the bit error rate. Convolutional codes and block codes are the two main forms of error control coding. When the encoder complexity is the same, the performance of convolutional codes is better than that of block codes. Therefore, convolutional codes are used in almost all wireless communication standards. in standards such as GSM, IS95 and CDMA2000.   At present, VHDL language has become the preferred hardware design language in the EDA field, and more and more digital system designs are completed using VHDL language. The reason is that the "soft core" of the hardware system described through VHDL is easier to archive, and the transplantation of program modules and the delivery of ASC design source programs are more convenient. Therefore, he plays an indispensable role in the application of IP cores. In a certain spread spectrum communication system, we used VHDL language to design a (2, 1, 6) convolutional code codec, and passed the verification experiment on the FPGA chip.
  



2 Convolutional encoder
  Convolutional code is usually recorded as (n 0 ,k 0 ,m), its coding efficiency is k 0 /n 0 , and m is called the constraint length. (n 0 , k 0 , m) convolutional code can be implemented with k 0 inputs, n 0 outputs, a linear finite state shift register with input storage m and a modulo 2 addition counter circuit. The encoding method of the convolutional code is 3 operation methods: discrete convolution method; generating matrix method; polynomial product method. In addition, the encoding process of convolutional codes can also be described by state diagrams, code tree diagrams and trellis diagrams. The encoder designed in this article takes into account the implementation of the hardware circuit and chooses the polynomial product method. The convolutional encoder selected for this system is shown in Figure 1. The convolutional encoder is a (2, 1, 6) auto-orthogonal convolutional encoder.
  
?

3 
Large number logic decoder  The decoding of convolutional codes can be divided into two categories: algebraic decoding and probabilistic decoding. The large number logic decoder is the most important decoding method for algebraic decoding. It can be used to correct both random errors and burst errors, but it requires the convolutional code to be a self-orthogonal code or an orthogonal code. The large-number logic decoder of the (2, 1, 6) system auto-orthogonal convolutional code selected in this article is shown in Figure 2.
  

  In Figure 2, the I terminal inputs the information symbol, and the P terminal inputs the verification symbol. The decoder sends each piece of information element in the received R(D) to the encoder to find the local check element, and adds it modulo 2 to the check element received later. If the two are consistent, the obtained adjoint component si is 0, otherwise it is 1. Send the added value to the associated register for storage. After receiving 7 code segments, the error correction of the 0th code segment begins . If the output of the majority logic gate is 1 at this time, it means that the information element of the 0th code segment is incorrect. At this time, the information elements of the 0th subgroup are moved to the output of the decoder, thereby correcting them. At the same time, the error correction signal is also fed back to the syndrome register to correct the syndrome to eliminate the impact of this error on the syndrome. If the large number decision gate has no output, it means that the information element of the 0th subgroup has no error, and the information element is output directly from the encoder.

4.
  VHDL design of convolutional codec

. Its program structure is characterized by dividing an engineering design (or design entity) into external (ie, port) and internal (ie, function, algorithm). After defining an external port for a design entity, other designs can directly call this entity once internal development is completed.   The VHDL design platform used in this design is Altera's MAX+PlusⅡ EDA software. MAX+PlusⅡ has a friendly interface and is easy to use; it supports VHDL, schematic diagrams, V language text files, and files in waveform and EDIF formats as design input; and supports any mixed design of these files; it has a gate-level simulator that can Functional simulation and timing simulation can produce accurate simulation results; support all Altera FPGA/CPLD large-scale logic devices except APEX20K, APXⅡ, Mercury, Excalibur and Stratix series. The FPGA device used in the design is Altera's FLEX series chip FLEX 10K20. The process of using MAX+PlusⅡ software for VHDL design is:   (1) Use Text Editor to write VHDL programs.   (2) Use Compiler to compile the VHDL program.   (3) Use Waveform Editor and Simulator to simulate and verify the VHDL program.   (4) Use Timing Analyzer to perform timing analysis of the chip.   (5) Use Floorplan Editor to arrange the chip pin positions.   (6) Use Programer to download the program to the chip FLEX10K20.   In the actual development process, the above steps need to be repeated until the established VHDL design passes all tests.
  



  









4.2
Convolutional encoder VHDL top level modeling (top level) and system function simulation

4.2.1 VHDL description of each functional module and top-level modeling port of
  
  the convolutional encoder LIBRARY IEEE;
  
  
  encoder generated after compiling with MAX+PlusⅡ The graphic symbol is shown in Figure 3.

4.2.2 VHDL simulation waveform of convolutional encoder VHDL top-level modeling
  The convolutional encoder VHDL simulation waveform is shown in Figure 4. Before simulation, set the input information sequence datain="1111", the rate is 32 kP/s, and the corresponding clock is 31. 25μs. The simulation results show that the convolutional encoding output dataout = "1111101 0010000000001", and the corresponding rate is 64 kP/s, which is consistent with the theoretical analysis results.
?

4.3
VHDL port description of the VHDL top-level modeling of the
convolution decoder 4.3.1 VHDL description of each functional module and top-level modeling port of the convolution
decoder   LIBRARY IEEE; the decoder graphic symbol generated after compiling with MAX+PlusⅡ is as shown in the figure 5 shown. 4.3.2 VHDL simulation waveform of convolutional decoder VHDL top-level modeling The convolutional   decoder VHDL simulation waveform is shown in Figure 6. Among them, the cell to be decoded datain=“11111010010000000001”, the rate is 64kP/s, and the corresponding clock is 15.625μs. The simulation results show that the decoded cell output dataout = "111 1", and the corresponding rate is 32kP/s. The actual simulation also verified the error correction situation when there are error codes in the cells to be decoded input by the convolution decoder, which is consistent with the theoretical analysis results.
  

  
  
  


  

?
5 Conclusion:  The simulated VHDL program was downloaded to the FPGA chip FLEX10K20 and used for error control in the actual spread spectrum system, achieving satisfactory results. references
  



[ 1] Wang Xinmei, Xiao Guozhen. Error correcting codes—Principles and methods [M]. Xi'an: Xi'an University of Electronic Science and Technology Press, 2001. [
2] Chu Zhenyong, Weng Muyun. FPGA design and application [M]. Xi'an: Xi'an University of Electronic Science and Technology Press, 2002.
[3] Pan Song, Wang Guodong. VHDL Practical Tutorial [M]. Chengdu: University of Electronic Science and Technology Press, 2 000
Keywords:modulation Reference address:Design of convolutional code codec based on VHDL language

Previous article:Research on hardware solutions for digital scanning probe microscope based on DSP
Next article:Design of radar pulse compression system based on FPGA

Recommended ReadingLatest update time:2024-11-16 21:54

Design of USM test power supply based on FPGA and DDS technology
Ultrasonic motor (USM) has many advantages, such as being able to directly output low-speed high torque, fast transient response (up to ms level), high positioning accuracy (up to nm level), and no electromagnetic interference. The operation of USM requires two high-frequency AC power supplies with a certain amplitude,
[Test Measurement]
Design of USM test power supply based on FPGA and DDS technology
AMD acquires Xilinx, how will FPGA develop?
AMD has signed a definitive agreement to acquire Xilinx in a $35 billion stock swap, setting the stage for a head-on battle with Intel in nearly all of its major markets. Market trends drive AMD to acquire Xilinx Despite the growing demand for FPGAs, this acquisition leaves only a few companies, including Lattice
[Embedded]
Successful the first time! Synopsys helps Achronnix's new generation FPGA be launched months ahead of schedule
Successful the first time! Synopsys helps Achronnix's new generation FPGA be launched months ahead of schedule Synopsys recently announced that Achronix Semiconductor has successfully passed the first silicon verification of its next-generation Speedster7t FPGA using Synopsys' design, verification, an
[Semiconductor design/manufacturing]
Gowin Semiconductor introduces mature Arm® embedded ecosystem to its FPGA products
Guangdong Gowin Semiconductor Technology Co., Ltd. (hereinafter referred to as "Gowin Semiconductor"), the world's fastest growing programmable logic company, announced a collaboration with ARM to bring the mature Arm® embedded ecosystem to its FPGA products. Gowin Semiconductor will join the Arm DesignStart™ FPGA pro
[Embedded]
Gowin Semiconductor introduces mature Arm® embedded ecosystem to its FPGA products
Single-chip technology integrating ARM, FPGA and programmable analog circuit design
If there really were typical or common embedded system applications, the product catalogs of mainstream semiconductor companies would be much thinner. Designers now not only have to choose from a variety of processor architectures (most embedded system designs are centered around processor cores), but also have an almo
[Microcontroller]
Single-chip technology integrating ARM, FPGA and programmable analog circuit design
Dual voltage FPGA power supply solution for EL7564C
Overview Xilinx's FPGA (field programmable gate array) chips are developing towards high density. The FPGA core provides low cost and high performance while also seeking low power consumption. Today's selected sub-micron IC processes are tending to use low-voltage power supplies, which will lead to a continuous dema
[Power Management]
Design of adjustable delay module based on single chip microcomputer and FPGA
  The system structure diagram is shown in Figure 1. Its hardware structure is relatively simple, mainly composed of three parts: single-chip microcomputer P89C51RD, RS-232/TTL interface circuit MAX232 and programmable logic device FPGA. The single-chip microcomputer P89C51RD2 is the link between the upper PC and FPGA
[Microcontroller]
Design of adjustable delay module based on single chip microcomputer and FPGA
Design of Optical Fiber Signal Analyzer Based on ARM and FPGA
0 Preface With the expansion and complication of power grids and the advent of regional interconnection, the behavior of power systems will become more and more complex. The applicability of some original assumptions and simplified models will be further challenged and tested. The formulation and content of the IE
[Microcontroller]
Design of Optical Fiber Signal Analyzer Based on ARM and FPGA
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号