KR100670836B1 - Frame Structure for FEC supporting transmission of variable-length frames in TDMA system - Google Patents
Frame Structure for FEC supporting transmission of variable-length frames in TDMA system Download PDFInfo
- Publication number
- KR100670836B1 KR100670836B1 KR1020060066200A KR20060066200A KR100670836B1 KR 100670836 B1 KR100670836 B1 KR 100670836B1 KR 1020060066200 A KR1020060066200 A KR 1020060066200A KR 20060066200 A KR20060066200 A KR 20060066200A KR 100670836 B1 KR100670836 B1 KR 100670836B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- fec
- message
- reed
- solomon
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H3/00—Appliances for aiding patients or disabled persons to walk about
- A61H3/02—Crutches
-
- A—HUMAN NECESSITIES
- A45—HAND OR TRAVELLING ARTICLES
- A45B—WALKING STICKS; UMBRELLAS; LADIES' OR LIKE FANS
- A45B3/00—Sticks combined with other objects
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H2205/00—Devices for specific parts of the body
- A61H2205/10—Leg
Landscapes
- Health & Medical Sciences (AREA)
- Epidemiology (AREA)
- Pain & Pain Management (AREA)
- Physical Education & Sports Medicine (AREA)
- Rehabilitation Therapy (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
본 발명에 의한 FEC 프레임 구조는 순방향에러정정(Forward Error Correction;FEC) 프레임의 시작을 알리는 프레임시작부, 이더넷 MAC 데이터 혹은 가변길이 프레임 데이터인 메시지를 포함하는 메시지부, 메시지의 종료를 알리는 제 1종료부, 메시지에 대한 패리티(parity)값이 실리는 패리티부 및 순방향에러정정 프레임의 종료를 알리는 제 2종료부를 포함하는 것을 특징으로 하며, Reed-Solomon 부호 방식의 FEC를 이용하여 전송매체에서 기인하는 에러를 정정하는 과정에서 프레임 단위의 FEC 인코딩/디코딩을 처리하고, FEC를 운용 중에 바이패스 하더라도 전체 전송 지연 시간에 영향을 주지 않으며, shortened 코드워드에 의한 시간 지연을 최적화 하고, 서로 다른 길이의 프레임에 대해 FEC 인코딩/디코딩 처리 지연 시간을 동일하게 관리할 수 있다.The FEC frame structure according to the present invention includes a frame start part for notifying the start of a Forward Error Correction (FEC) frame, a message part including a message which is Ethernet MAC data or variable length frame data, and a first message for notifying the end of the message. And a second terminating part which notifies the end of the forward error correction frame, and a parity part carrying a parity value for the message and originating from a transmission medium using a Reed-Solomon coded FEC. In the process of correcting the error, the FEC encoding / decoding of the frame unit is processed, and bypassing the FEC during operation does not affect the overall transmission delay time, optimizes the time delay by the shortened codeword, and The FEC encoding / decoding processing delay time can be managed for the same frame.
FEC, Reed-Solomon, RS, PON, EPON, Ethernet-PON, TDMA FEC, Reed-Solomon, RS, PON, EPON, Ethernet-PON, TDMA
Description
도 1은 선행기술에 의한 TDMA 시스템의 일 예로서의 Ethernet-PON 시스템이다.1 is an Ethernet-PON system as an example of a prior art TDMA system.
도 2는 선행기술에 의한 일반적인 Reed-Solomon 인코더의 구성도이다.2 is a block diagram of a general Reed-Solomon encoder according to the prior art.
도 3은 선행기술에 의한 일반적인 Reed-Solomon 디코더의 구성도이다.3 is a block diagram of a general Reed-Solomon decoder according to the prior art.
도 4는 본 발명에 의한 가변길이 데이터 프레임 구조도이다.4 is a structural diagram of a variable length data frame according to the present invention.
도 5는 본 발명에 의한 Reed-Solomon 인코더의 구성을 보여주는 블럭도이다.5 is a block diagram showing the configuration of a Reed-Solomon encoder according to the present invention.
도 6은 본 발명에 의한 Reed-Solomon 디코더의 구성을 보여주는 블럭도이다.6 is a block diagram showing the configuration of a Reed-Solomon decoder according to the present invention.
도 7은 본 발명에 의한 FEC 프레임 송신 방법의 과정을 보여주는 흐름도이다.7 is a flowchart illustrating a process of a method of transmitting an FEC frame according to the present invention.
도 8은 본 발명에 의한 FEC 프레임 수신 방법의 과정을 보여주는 흐름도이다.8 is a flowchart illustrating a process of receiving a FEC frame according to the present invention.
도 9는 본 발명에 의한 Reed-Solomon 디코더의 타이밍도이다.9 is a timing diagram of a Reed-Solomon decoder according to the present invention.
본 발명은 시분할 다중 전송시스템에서 다양한 길이의 프레임에 대해 프레임 단위의 순방향에러정정(이하 "FEC"라고 한다) 인코딩/디코딩을 수행하며, 모든 프레임에 대해 동일한 처리 지연 시간을 제공하는 전송율에 최적화된, 시분할 다중 전송시스템에서 가변길이 프레임 전송을 위한 FEC 프레임 구조에 관한 것이다.The present invention performs frame-by-frame forward error correction (hereinafter referred to as "FEC") encoding / decoding for frames of various lengths in a time division multiplex transmission system, and is optimized for a transmission rate that provides the same processing delay time for all frames. In addition, the present invention relates to an FEC frame structure for variable length frame transmission in a time division multiplex transmission system.
TDMA 시스템에서 FEC(Forward Error Correction)의 처리 지연 시간이 미치는 영향을 이해하기 위하여는 전이중(full duplex) 시분할 다중 전송시스템의 일 예로서 선행기술인 Ethernet-PON(Passive Optical Network) 시스템을 들 수 있다. In order to understand the effect of the processing delay time of FEC (Forward Error Correction) in the TDMA system, an example of a full duplex time division multiplex transmission system is a prior art Ethernet-PON (Passive Optical Network) system.
Ethernet-PON(Passive Optical Network) 시스템은 도 1에 도시된 바와 같이 OLT(Optical Link Termination)를 정점으로 하여 분기되고, 각 분기점에 연결된 ONU(Optical Network Unit)로 이루어진 PON 분배망 구조에서, OLT와 ONU 간의 통신 그리고 ONU 와 ONU 간의 통신을 하기 위한 물리적 정합과 Ethernet 링크 정합 기능을 수행한다. ONU측에서 OLT로 전송하는 것을 상향(upstream)전송, 역으로 OLT에서 ONU로 전송하는 것은 하향(downstream) 전송이라 한다. PON 구조에 있어서, 하향 전송 Ethernet 프레임은 물리적으로 모든 ONU 가 수신하는 broadcast 전송 특성을 갖는다. 그러나 상향 전송은 한 ONU 가 OLT 이외의 다른 ONU에는 직접 Ethernet 프레임을 전송할 수 없는 특징을 갖는다.As shown in FIG. 1, an Ethernet-PON (Passive Optical Network) system is branched by using an optical link termination (OLT) as a vertex, and in an PON distribution network structure consisting of an optical network unit (ONU) connected to each branch point, It performs physical matching and Ethernet link matching for communication between ONUs and for communication between ONUs and ONUs. The transmission from the ONU side to the OLT is called upstream and the transmission from the OLT to the ONU is called downstream. In the PON structure, the downlink Ethernet frame has a broadcast transmission characteristic that all ONUs receive. However, uplink transmission is characterized in that one ONU cannot directly transmit an Ethernet frame to another ONU other than the OLT.
이러한 PON 구조의 특성상 다수의 ONU가 OLT로 Ethernet 프레임을 상향 전송할 때 프레임 간의 충돌이 발생하지 않도록 각 ONU의 프레임 전송 시간을 제어하는 MPCP(MultiPoint Control Protocol) 기능을 사용한다. OLT는 각 ONU가 사용할 수 있는 상향 전송 시간을 결정하여 해당 ONU에 알려주고, 해당 ONU는 OLT에 의해서 결정된 전송 시간 동안에 Ethernet 프레임을 OLT로 상향 전송한다.Due to the characteristics of the PON structure, when a plurality of ONUs transmits an Ethernet frame uplink to the OLT, a multipoint control protocol (MPCP) function is used to control the frame transmission time of each ONU so that no collision between frames occurs. The OLT determines the uplink transmission time available to each ONU and informs the ONU. The ONU transmits the Ethernet frame uplink to the OLT during the transmission time determined by the OLT.
이때, OLT가 전송시간을 결정하기 위해서는 각 ONU에서 OLT로 상향 전송할 Ethernet 프레임이 있는지 알아야 하므로 ONU는 OLT에게 상향 전송할 Ethernet 프레임의 유무를 OLT에 미리 알려준다. 이와 같이 상향 TDMA를 하기 위한 정보들이 OLT와 ONU간에 전달되는데 MAC(Media Access Control) Control 부계층(sublayer)에서 이러한 정보를 갖는 MPCP MAC Control 프레임을 생성하고 종단한다.At this time, since the OLT needs to know whether there is an Ethernet frame to be transmitted from each ONU to the OLT in order to determine the transmission time, the ONU notifies the OLT in advance of the existence of an Ethernet frame to be transmitted upward. As described above, information for uplink TDMA is transferred between the OLT and the ONU, and the MAC (Media Access Control) Control sublayer generates and terminates an MPCP MAC Control frame having this information.
PON 분배망에서 각 ONU는 OLT로부터 임의의 거리에 위치한다. 따라서 TDMA 방식으로 ONU에 상향 전송 시간을 할당할 때 RTT(전송 지연 시간, Round Trip Time) 만큼 보정해 주어야 OLT 에서 상향 신호를 수신할 때 시간적으로 정렬되어 충돌이 일어나지 않는다. 따라서 RTT를 보상하기 위해서는 RTT를 측정해야 하며, 이 과정을 ranging이라 한다. 이러한 ranging을 정확하게 하기 위해서는 각 OLT 및 ONU의 데이터 처리 지연 시간이 모든 Ethernet 프레임에 대해 일정해야 하며, 이는 FEC에 대해서도 동일하게 적용된다.In the PON distribution network, each ONU is located at an arbitrary distance from the OLT. Therefore, when allocating an uplink transmission time to an ONU by TDMA method, it should be corrected by RTT (transmission delay time, round trip time) so that the collision is not time-aligned when receiving the uplink signal from the OLT. Therefore, in order to compensate for the RTT, the RTT needs to be measured. This process is called ranging. In order to accurately achieve this ranging, the data processing delay time of each OLT and ONU must be constant for all Ethernet frames, and the same applies to the FEC.
FEC를 사용하는 경우 에러정정을 위해 전송 데이터 이외에 추가적인 정보를 전달해야 하며, 이 추가 정보는 전체 전송율을 감소시킨다. 따라서 전송매체 상태가 양호한 경우 FEC 기능을 차단(OFF)할 수 있도록 해야 한다. 도 1의 Ethernet-PON 시스템을 예로 들어 설명하면, OLT와 각 ONU간 거리가 서로 다르기 때문에 각 링크는 서로 다른 전송매체 특성을 가진다. 따라서 임의의 링크는 시스템에서 요구하는 링크 품질을 만족시키기 위해 FEC를 채용해야 하지만, 다른 임의의 링크는 FEC 없이 요구되는 링크 품질을 만족시킬 수도 있다. 이 경우 FEC가 요구되지 않는 링크의 ONU는 FEC 기능을 차단시켜 FEC를 위한 추가 정보 전송으로 인한 전송율 감소를 방지할 수 있다.When using FEC, additional information must be conveyed in addition to the transmission data for error correction, which reduces the overall data rate. Therefore, if the transmission medium is good, the FEC function should be turned off. Referring to the Ethernet-PON system of FIG. 1 as an example, since the distance between the OLT and each ONU is different, each link has different transmission medium characteristics. Thus, any link must employ the FEC to satisfy the link quality required by the system, while other arbitrary links may satisfy the required link quality without the FEC. In this case, the ONU of the link that does not require FEC can block the FEC function to prevent the rate reduction due to the transmission of additional information for the FEC.
그런데, 이 경우 OLT는 전송매체를 공유하는 다수의 ONU로부터 FEC 인코딩된 프레임과 인코딩 되지 않은 프레임을 모두 수신하게 되며, 또한 임의의 ONU로 전송하는 데이터 프레임은 FEC 인코딩하여 전송하고, 다른 임의의 ONU로 전송하는 데이터 프레임은 FEC 인코딩 하지 않고 전송해 주어야 한다. 따라서, OLT에 위치하는 FEC는 프레임 별로 FEC 기능을 ON/OFF 할 수 있도록 해야 하며, 가장 간단한 방법은 FEC 기능을 바이패스(bypass)하는 것이다.However, in this case, the OLT receives both FEC encoded frames and unencoded frames from a plurality of ONUs sharing a transmission medium, and data frames transmitted to any ONU are transmitted by FEC encoding and other arbitrary ONUs. The data frame to be sent must be transmitted without FEC encoding. Therefore, the FEC located in the OLT should be able to turn on / off the FEC function on a frame-by-frame basis. The simplest method is to bypass the FEC function.
그러나 TDMA 시스템에서 데이터 전송 도중에 FEC 기능을 바이패스 하는 경우 FEC 처리 지연 시간이 변하는 것과 동일한 효과를 주어 역시 master의 매체 제어를 어렵게 한다. 따라서 FEC 바이패스는 FEC 기능블록에서의 처리 지연 시간을 고려한 매칭 지연(matching delay)를 통해 이루어져야 한다.However, bypassing the FEC function during data transmission in the TDMA system has the same effect as changing the delay time of the FEC, making it difficult for the master to control the medium. Therefore, FEC bypass must be made through matching delay considering processing delay time in FEC functional block.
FEC에 널리 사용되는 Reed-Solomon 부호는 burst 에러에 가장 강력한 블록 코드로서 일반적으로 Galois Field GF(256) 상에서 운용되며, RS(n, k, t)로 표현된다. 이때 n은 Reed-Solomon 코드워드의 길이, k는 메시지의 길이이며 t는 에러 정정이 가능한 바이트 수를 나타낸다. 다시 말하면 Reed-Solomon 부호는 하기의 수학식 1과 같이 k 바이트의 메시지 m(x)에 (n-k) 바이트의 패리티(parity) r(x)를 추가하여 n 바이트의 코드워드(codeword) c(x)를 구성하며, 이때 n 바이트의 코드워드 내에서 발생하는 임의의 t 바이트까지의 에러를 모두 정정할 수 있다.Reed-Solomon code, widely used in FEC, is the most powerful block code for burst error, and is generally operated on Galois Field GF 256 and represented by RS (n, k, t). Where n is the length of the Reed-Solomon codeword, k is the length of the message, and t is the number of bytes for which error correction is possible. In other words, the Reed-Solomon code has n bytes of codeword c (x) by adding (nk) bytes of parity r (x) to k bytes of message m (x) as shown in
Reed-Solomon 인코더는 m(x)에 x2t를 곱한 후 g(x)로 나눈 나머지를 m(x)에 추가하여 c(x)를 생성하는 역할을 하며, 일반적으로 도 2와 같은 구조를 가진다.The Reed-Solomon encoder multiplies m (x) by x 2t and adds the remainder divided by g (x) to m (x) to generate c (x), and generally has a structure as shown in FIG. .
도 2는 RS(255, 239, 8)의 인코더를 일 예로 보여주고 있으며, 선택신호 X가 '1'인 경우 Reed-Solomon 인코더는 입력되는 메시지를 받아서 생성다항식 g(x)로 나누는 기능을 하고, 최종 메시지가 입력된 후 레지스터에는 r(x)가 저장된다. 선택신호가 Y가 되면 저장된 r(x)는 순차적으로 출력된다.2 shows an encoder of RS (255, 239, 8) as an example. When the selection signal X is '1', the Reed-Solomon encoder receives an input message and divides the generated polynomial by g (x). After the last message is entered, r (x) is stored in the register. When the selection signal becomes Y, the stored r (x) is sequentially output.
Reed-Solomon 디코더는 수신된 codeword r(x) = c(x) + e(x)로부터 에러의 위치 및 크기를 찾아내어 에러 e(x)를 생성하고, r(x)로부터 에러 e(x)를 제거하여 c(x)를 복원하는 기능을 담당하며, 이를 위해 도 3에서와 같이 일반적으로 신드롬(syndrome) 생성 블록(301), 에러 위치 다항식 블록(302), 에러 위치 검출 블록(303), 에러 크기 검출 블록(304) 및 에러 보정 블록(305)으로 구성된다. 신드롬 생성 블록(301)은 수신된 데이터 r(x)에 생성다항식 g(x)의 근을 대입하여 에러에 대한 신드롬 다항식 S(x)를 생성한다. The Reed-Solomon decoder finds the position and size of the error from the received codeword r (x) = c (x) + e (x) and generates the error e (x), and the error e (x) from r (x). It is responsible for the function of restoring the c (x) by removing the, for this purpose generally as shown in Figure 3 (
에러 위치 다항식 블록(302)은 계산된 신드롬 다항식 S(x)로부터 에러 위치 다항식 및 에러 크기 다항식 를 생성한다. 에러 위치 검출기(303) 는 일반적으로 Chien search 알고리즘을 이용하여 에러 위치 다항식 로부터 에러의 위치를 검출하고, 에러 크기 검출기(304)는 일반적으로 Forney 알고리즘을 이용하여 에러 크기 다항식 로부터 에러의 크기를 검출한다. 검출된 에러의 크기 및 위치는 논리곱(AND) 되어 해당 위치의 에러값 e(x)가 되며, e(x)는 에러 보정 블록(305)에서 Reed-Solomon 디코딩 처리 시간만큼 지연된 r(x)에서 빼지게 되어 에러가 정정된 코드워드 c(x)를 출력한다.The error
Reed-Solomon 인코더는 입력된 메시지가 바로 출력되므로 이론적인 지연은 없다. 그러나 shortened code를 처리하는 경우 zero-padding에 의한 지연이 발생한다. 예를 들어 메시지의 길이가 (k-l)인 경우 실제 메시지는 다음의 수학식 2와 같고, zero-padding된 메시지는 다음의 수학식 3과 같이 된다.The Reed-Solomon encoder outputs the input message directly, so there is no theoretical delay. However, when processing shortened code, there is a delay caused by zero-padding. For example, if the length of the message is (k-l), the actual message is shown in
Zero-padding을 하게 되면 코드워드의 초기 l 바이트는 0가 되며, 이는 Reed-Solomon 인코더 출력 전에 제거한다. 이 과정에서 연속해서 출력되는 정상적인 Reed-Solomon 코드워드와 shortened 코드워드 사이에 l 바이트만큼의 공백이 생기며, 이를 보상하기 위해서는 정상 코드워드의 출력을 l 바이트 시간만큼 지연시 켜야 한다. Reed-Solomon 디코더에서는 인코더에서와 마찬가지로 zero-padding하여 처리한 후 최종 에러 정정된 코드워드 출력 과정에서 padding된 zero를 제거하게 되며, 이 역시 처리 시간 지연을 발생시키게 된다. 연속적인 Ethernet 프레임 전송 과정에서 zero-padding에 의한 지연은 인접한 프레임간 코드워드의 중첩을 유발하며, 이를 방지하기 위해서는 연속된 프레임 사이에 zero-padding을 고려한 간격(IFG: Inter Frame Gap)을 주어야 한다. 이는 실질적인 프레임 길이의 증가를 초래하여 전송율의 감소를 유발하며, 실제 Ethernet 프레임 전송 환경에서 zero-padding은 약 35% 정도의 전송율 감소를 유발한다. With zero-padding, the initial l bytes of the codeword are zeros, which are removed before the output of the Reed-Solomon encoder. In this process, there are l bytes of space between successive Reed-Solomon codewords and shortened codewords. To compensate for this, the output of the normal codeword must be delayed by l byte time. In the Reed-Solomon decoder, zero-padding is processed as in the encoder and the padded zero is removed in the final error corrected codeword output process, which also causes a processing delay. In case of continuous Ethernet frame transmission, delay caused by zero-padding causes overlapping of codewords between adjacent frames. To prevent this, inter-frame gap (IFG) must be given between consecutive frames in consideration of zero-padding. . This results in a substantial increase in frame length, leading to a decrease in transmission rates. In a real Ethernet frame transmission environment, zero-padding causes a reduction in transmission rates of about 35%.
따라서, zero-padding에 의한 전송율의 감소를 효과적으로 줄일 수 있는 방안이 필요하며, 이 과정에서 서로 다른 길이의 프레임에 대해 동일한 지연을 보장할 수 있는 방안이 필요하다.Therefore, there is a need for a method that can effectively reduce the rate reduction due to zero-padding, and a method that can guarantee the same delay for different length frames in this process.
본 발명이 이루고자 하는 기술적 과제는 상기한 문제점을 해결하기 위하여 안출된 것으로서, 서로 다른 길이의 프레임을 전송하는 전이중 시분할 다중 전송 시스템에 있어서, Reed-Solomon 부호를 이용하여 전송매체에서 기인하는 에러를 정정하는 과정에서 프레임 단위의 FEC 인코딩/디코딩을 처리하고, FEC를 운용 중에 바이패스 하더라도 전체 전송 지연 시간에 영향을 주지 않도록 하며, shortened 코드워드를 처리하는 과정에서 필요한 zero-padding을 가상적으로 처리하도록 함으로써 zero-padding 지연 시간을 없애고, 서로 다른 길이의 프레임에 대해 FEC 인코딩/디코딩 처리 지연 시간을 동일하게 하기 위한 시분할 다중 전송시스템에서 가변길 이 프레임 전송을 위한 FEC 프레임 구조를 제공하는 데 있다.The technical problem to be solved by the present invention is to solve the above problems, and in a full-duplex time division multiplexing system that transmits frames of different lengths, the error caused by the transmission medium is corrected using a Reed-Solomon code. By processing FEC encoding / decoding per frame in the process of processing, bypassing FEC during operation does not affect the overall transmission delay time, and virtually processes zero-padding required in processing shortened codewords. It is to provide an FEC frame structure for variable length frame transmission in a time division multiplex transmission system to eliminate zero-padding delay time and to equalize the FEC encoding / decoding processing delay time for different length frames.
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 FEC 프레임 구조는, 순방향에러정정(Forward Error Correction;FEC) 프레임의 시작을 알리는 프레임시작부, 이더넷 MAC 데이터 혹은 가변길이 프레임 데이터인 메시지를 포함하는 메시지부, 메시지의 종료를 알리는 제 1종료부, 메시지에 대한 패리티(parity)값이 실리는 패리티부 및 순방향에러정정 프레임의 종료를 알리는 제 2종료부를를 포함하는 것을 특징으로 한다.In order to achieve the above technical problem, the FEC frame structure according to the present invention includes a message message including a frame start part for notifying the start of a forward error correction (FEC) frame, Ethernet MAC data, or variable length frame data. And a first terminating unit notifying the end of the message, a parity unit carrying a parity value for the message, and a second terminating unit notifying the end of the forward error correction frame.
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 FEC 프레임 송신장치는 입력되는 데이터를 수신하여 순방향에러정정 인코딩 수행여부를 판단하는 선택부; 상기 선택부가 순방향에러정정 인코딩 수행을 결정한 상기 데이터를 수신하여 k 바이트 단위(여기서, k는 양의 정수)의 메시지 블럭으로 분할하여 출력하는 리드솔로몬(Reed-Solomon)인코딩어셈블러; 상기 메시지 블럭을 수신하여 리드솔로몬 인코딩을 수행하는 리드솔로몬인코더; 및 상기 리드솔로몬 인코딩 결과 생성되는 패리티를 입력받아 상기 메시지 블럭과 패리티를 순차적으로 출력하거나 상기 선택부가 순방향에러정정 인코딩의 수행이 불필요하다고 판단한 입력데이터를 출력하는 출력제어부;를 포함하는 것을 특징으로 한다.In order to achieve the above technical problem, the FEC frame transmission apparatus according to the present invention comprises: a selection unit for receiving input data and determining whether to perform forward error correction encoding; A Reed-Solomon encoding assembler which receives the data for which the selection unit decides to perform forward error correction encoding and divides the data into k-byte units (where k is a positive integer) and outputs the divided data block; A Reed Solomon encoder receiving the message block and performing Reed Solomon encoding; And an output control unit which receives the parity generated as a result of the Reed Solomon encoding and sequentially outputs the message block and the parity, or outputs input data determined by the selection unit to perform forward error correction encoding is unnecessary. .
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 FEC 프레임 수신장치는 수신되는 프레임이 FEC 인코딩된 프레임인지의 여부를 판단하는 제1수신부; 상기 제1수신부로부터 FEC 인코딩된 프레임을 수신하여 상기 FEC 인코딩된 프레임의 길 이에 무관하게 동일한 처리시간을 가지면서 리드솔로몬 복호화를 수행하는 리드솔로몬디코더; 상기 제1수신부로부터 FEC 인코딩되지 않은 수신 프레임을 입력받아 FEC 인코딩된 수신프레임이 디코딩되는 시간만큼 지연시키거나, FEC 프레임 식별자를 지연시켜 출력하는 매칭지연부; 및 상기 리드솔로몬 디코딩된 코드워드와 상기 매칭지연부를 통과한 상기 FEC 프레임 식별자를 기초로 원래의 FEC 프레임으로 형성하여 출력하는 프레임재합성부;를 포함하는 것을 특징으로 한다.In order to achieve the above technical problem, the FEC frame receiving apparatus according to the present invention comprises: a first receiving unit which determines whether a received frame is an FEC encoded frame; A Reed Solomon decoder which receives the FEC encoded frame from the first receiver and performs Reed Solomon decoding with the same processing time regardless of the length of the FEC encoded frame; A matching delay unit which receives a non-FEC encoded reception frame from the first receiver and delays the FEC encoded reception frame by a time for decoding or delays and outputs the FEC frame identifier; And a frame recombination unit configured to form and output an original FEC frame based on the FED frame identifier passed through the Reed Solomon decoded codeword and the matching delay unit.
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 FEC 프레임 송신방법은 송신할 프레임에 대하여 상기 프레임의 소정의 식별자를 기초로 FEC 인코딩 수행 여부를 판단하는 단계; 상기 FEC 인코딩을 수행하는 경우에는, 상기 프레임내의 데이터를 k 바이트(k는 양의 정수) 단위의 메시지 블럭으로 분할하여 리드솔로몬 인코딩을 수행하는 단계; 및 상기 메시지 블럭과 상기 메시지 블럭에 대한 상기 리드솔로몬 인코딩 수행결과 생성되는 패리티를 순차적으로 결합한 프레임, 혹은 상기 FEC 인코딩 수행 여부 판단 단계의 판단에 따라 FEC 인코딩되지 않은 프레임을 송신하는 단계;를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method for transmitting an FEC frame, comprising: determining whether to perform FEC encoding on a frame to be transmitted based on a predetermined identifier of the frame; When performing the FEC encoding, dividing the data in the frame into message blocks in units of k bytes (k is a positive integer) to perform ReedSolomon encoding; And transmitting a frame in which the parity generated as a result of performing the Reed Solomon encoding on the message block and the message block is sequentially combined, or a frame that is not FEC encoded according to the determination of whether to perform the FEC encoding. It is characterized by.
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 FEC 프레임 수신방법은 수신되는 프레임이 FEC 인코딩된 프레임인지의 여부를 판단하는 단계; FEC 인코딩된 프레임인 것으로 판단되면, 상기 FEC 인코딩된 프레임을 그 길이에 무관하게 동일한 처리시간을 가지면서 리드솔로몬 복호화를 수행하는 단계; FEC 인코딩 되지 않은 프레임인 것으로 판단되면, FEC 인코딩된 수신프레임이 디코딩되는 시간만큼 지연시키거나, FEC 프레임 식별자를 지연시켜 출력하는 단계; 및 상기 리드 솔로몬 복호화 수행 단계의 복호화 결과 디코딩된 코드워드와 상기 지연된 FEC 프레임의 식별자를 기초로 원래의 FEC 프레임으로 형성하는 단계;를 포함하는 것을 특징으로 한다. According to an aspect of the present invention, there is provided a method for receiving an FEC frame, comprising: determining whether a received frame is an FEC encoded frame; If it is determined that the frame is an FEC encoded frame, performing Reed Solomon decoding on the FEC encoded frame with the same processing time regardless of its length; If it is determined that the frame is not FEC-encoded, delaying the FEC-encoded received frame by a time for decoding or delaying and outputting the FEC frame identifier; And forming the original FEC frame based on the decoded codeword and the identifier of the delayed FEC frame as a result of the decoding of the Reed Solomon decoding step.
Shortened 코드워드에 대해 가상 zero-padding을 하고, 또한 서로 다른 길이의 프레임에 대해 동일한 처리 시간 지연을 보장하기 위해 Reed-Solomon 인코더는 parity의 출력을 one clock에 병렬 출력하고, Reed-Solomon 디코더는 에러 위치 다항식 블록의 출력값인 에러 위치 다항식과 에러 크기 다항식을 pipelining하여 에러 위치 검출 블록과 에러 크기 검출 블록에 전달하며, 이때 에러 위치 검출 블록과 에러 크기 검출 블록의 초기값은 프레임 길이에 따라 look-up 테이블로부터 입력받는다. 이와 같이 함으로써 shortened 코드워드 처리 과정에서 실제 zero-padding에 의한 지연은 일어나지 않지만, 가상적으로 zero-padding이 이루어지므로 zero-padding한 경우와 동일하게 정확한 에러 정정이 이루어지며, 프레임의 길이에 상관 없이 Reed-Solomon 인코딩/디코딩 지연은 동일하게 관리된다.To achieve virtual zero-padding for shortened codewords and to ensure the same processing time delay for different length frames, the Reed-Solomon encoder outputs the parity output in parallel to one clock, and the Reed-Solomon decoder produces an error. Pipelining the error position polynomial and the error magnitude polynomial, which are output values of the position polynomial block, is passed to the error position detection block and the error size detection block, and the initial values of the error position detection block and the error size detection block are look-up according to the frame length. It gets input from the table. In this way, the delay caused by the actual zero-padding does not occur in the process of shortened codewords, but since the virtual zero-padding is performed, accurate error correction is performed in the same way as in the case of zero-padding. Solomon encoding / decoding delays are managed equally.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예에 대하여 장치와 방법을 편의상 함께 상세히 설명하기로 한다. Hereinafter, with reference to the accompanying drawings will be described in detail with respect to the device and method for a preferred embodiment of the present invention.
먼저 도 4를 참조하면서 FEC 프레임을 살펴보도록 한다. 도 4는 시분할 다중 전송시스템에서 가변길이 프레임 전송을 위한 순방향에러정정 장치를 위한 FEC 프레임의 구조를 보여주고 있다. FEC 프레임은 최대 1522 바이트의 길이를 가지는 Ethernet 프레임 또는 임의의 가변길이 프레임(402)을 받아서 프레임의 첫 번째 바이트 위치 전에 FEC 프레임의 시작을 알리는 식별자인 5바이트의 S_FEC(401)를 추 가한다. 또한 프레임의 최종 바이트 다음에 메시지 프레임의 끝을 알리는 식별자인 T_FEC(403)를 추가한다. T_FEC가 추가된 후 FEC의 추가 정보인 parity를 위한 공간(404)이 추가되며, parity를 위한 공간 다음에 FEC 프레임의 끝을 알리는 식별자인 T_FEC(405)가 추가된다. First, the FEC frame will be described with reference to FIG. 4. 4 shows the structure of an FEC frame for a forward error correction apparatus for variable length frame transmission in a time division multiplex transmission system. The FEC frame receives an Ethernet frame having a maximum length of 1522 bytes or an arbitrary
FEC 인코딩/디코딩을 하지 않고 바이패스 하기 위한 프레임은 FEC 프레임에서 parity 저장을 위한 공간(404)과 FEC 끝을 알리는 식별자인 T_FEC(405)가 없으며, S_FEC(401) 및 T_FEC(403)의 간략한 형태가 사용되어 FEC 프레임과 구분된다.The frame for bypassing without FEC encoding / decoding has no
FEC 프레임의 식별자가 비 FEC 프레임의 식별자에 비해 긴 이유는 에러가 많은 전송매체 환경에서 프레임의 시작과 끝을 정확하게 구분하기 위함이다.The reason why the identifier of the FEC frame is longer than that of the non-FEC frame is to accurately distinguish the beginning and the end of the frame in an error-prone transmission medium environment.
본 발명에서는 가변길이의 프레임에 대한 FEC 인코딩/디코딩을 위해 버스트(burst) 에러에 강한 Reed-Solomon 부호를 사용하며, Reed-Solomon 코드는 GF(256) 상에서 운용되는 관계로 최대 255바이트의 코드워드를 지원한다. 전술한 바와 같이 Reed-Solomon 코드는 메시지와 parity를 더해서 코드워드가 생성되며, RS(n, k, t)를 채용한 경우 하나의 Reed-Solomon 코드워드는 k 바이트의 메시지와 (n-k) 바이트의 parity로 구성된다. 따라서 전송 프레임의 길이가 메시지의 길이 k를 초과하지 않아야 되며, 도 4에서와 같이 전송 프레임, 즉 메시지의 길이가 k 바이트를 초과하는 경우 전송프레임을 k 바이트 단위의 메시지 블록으로 나눈 후 Reed-Solomon 부호 처리를 한다.In the present invention, a Reed-Solomon code resistant to burst error is used for FEC encoding / decoding for a variable length frame, and the Reed-Solomon code is operated on the
도 4에서는 하나의 전송 프레임이 모두 M개의 메시지 블록(406)으로 나뉘어 지며, 최종 M번째 메시지 블록(407)은 r( 0 < r < k) 바이트의 길이를 가지게 되어 shortened 코드워드를 구성하게 된다. 각 메시지 블록에 대해 Reed-Solomon 인코딩된 결과로서의 (n-k) 바이트 단위의 parity들은 순서대로 parity 저장 공간(408)에 저장된다. Reed-Solomon 디코딩 과정에서는 이의 역 과정이 필요하다. 즉 하나의 FEC 프레임을 수신하면 수신된 프레임으로부터 먼저 메시지 블록과 이 메시지 블록에 해당하는 parity를 합하여 하나의 Reed-Solomon 코드워드로 재구성 한 뒤 디코딩을 수행한다. 이에 대하여는 후술하도록 한다.In FIG. 4, one transmission frame is divided into M message blocks 406, and the final
다음은 FEC 송신장치 및 그 방법을 살펴보자. 본 발명에서 FEC는 Reed-Solomon 부호를 사용하며, 따라서 FEC 인코더는 Reed-Solomon 인코더를 사용한다. 일반적으로 Reed-Solomon 인코더는 도 2와 같이 메시지 m(x)에 x2t를 곱한 후 생성다항식 g(x)로 나눈 나머지를 m(x)에 추가하여 코드워드 c(x)를 생성하는 형태로 구성된다. 그러나, 본 발명에 의한 FEC 프레임에 맞춰 가변 길이를 가지는 메시지를 처리하기 위해서는 기존의 Reed-Solomon 인코더만으로는 부족하다.Next, let's look at the FEC transmitter and its method. In the present invention, the FEC uses a Reed-Solomon code, so the FEC encoder uses a Reed-Solomon encoder. In general, the Reed-Solomon encoder generates a codeword c (x) by multiplying a message m (x) by x 2t and then adding the remainder divided by the polynomial g (x) to m (x) as shown in FIG. 2. It is composed. However, the existing Reed-Solomon encoder alone is insufficient to process a message having a variable length in accordance with the FEC frame according to the present invention.
따라서 본 발명에 의한 FEC 프레임 송신장치는 도 5와 같은 향상된 구조의 Reed-Solomon 인코더를 포함한다. 먼저 입력되는 데이터 프레임은 바이패스 control block(510)에서 FEC 프레임 시작 식별자인 S_FEC 또는 비 FEC 프레임 식별자인 간략한 형태의 S_FEC를 인지하여 현재 입력되는 프레임이 FEC 인코딩 할 프레임인지 아닌지를 판단한다. 만일 FEC 인코딩 하지 않을 프레임이면 바로 출력한다(710단계). 그러나 만일 FEC 인코딩을 수행할 프레임이면 데이터는 Reed-Solomon encoding block assembler(520)로 입력되어 k 바이트 단위의 메시지 블록 으로 조합된다. 이 메시지는 Reed-Solomon 인코더의 나눗셈 회로에 인가되어 패리티(parity)를 생성하게 되며, m0가 입력된 직후 나눗셈 회로의 레지스터 값은 패리티 값이 된다. m0가 입력된 후 바로 다음 클럭에 연이은 메시지 블록의 mk가 입력되는 형식으로 해서 M개의 메시지 블록이 모두 입력된다. 이때 mk가 입력됨과 동시에 레지스터 입력단의 MUX(530)는 0를 선택하여 레지스터를 리셋하고, 레지스터의 값은 동시에 패리티 버퍼(550)에 저장된다. 도면에서 MUX와 레지스터는 분발된 메시지 블럭의 수에 대응하여 이루어지며 동일한 기능을 수행하므로 참조번호는 하나만 표기하였다.Therefore, the FEC frame transmission apparatus according to the present invention includes a Reed-Solomon encoder having an improved structure as shown in FIG. The first input data frame recognizes S_FEC as a FEC frame start identifier or S_FEC in a short form as a non-FEC frame identifier in the
이런 방식으로 모두 M개의 메시지 블록에 대한 Reed-Solomon 인코딩 과정이 완료되면 Reed-Solomon 인코더는 현재까지 전체 FEC 프레임 중 S_FEC 및 M개의 메시지 블록을 출력하였고, 패리티 버퍼(550)에는 M개의 메시지 블록의 인코딩 결과로 발생한 M개의 (n-k) 바이트 패리티가 저장되어 있게 된다(720단계). 출력 제어 블록(560)은 M번째 메시지 블록의 출력 이후에 바로 T_FEC(403)를 출력하고, 이후 패리티 버퍼(550)로부터 parity를 순차적으로 읽어서 출력한 후 T_FEC(405)를 출력한다. 이와 같이 함으로써 n바이트의 길이를 가지는 정상 코드워드는 물론 shortened 코드에 대한 인코딩을 완료할 수 있다.In this way, when the Reed-Solomon encoding process for all M message blocks is completed, the Reed-Solomon encoder outputs S_FEC and M message blocks among all FEC frames to date, and the
Shortened 코드의 경우 메시지가 다음의 수학식 4와 같이 구성되어 최초 l 바이트의 값이 0이 되며, 이 값은 Reed-Solomon 인코더에 입력되더라도 모든 레지스터의 값을 리셋 상태와 동일하게 유지시키기 때문에 굳이 입력하지 않아도 되기 때문이다.In the case of shortened code, the message is composed as shown in
이와 같이 함으로써 Reed-Solomon 인코더에서는 마치 shortened 코드를 위한 zero-padding을 한 것과 같은 효과를 볼 수 있다(730단계).In this way, the Reed-Solomon encoder has the same effect as zero-padding for shortened code (step 730).
다음은 FEC 프레임 수신장치 및 그 방법을 설명한다. 본 발명에서는 FEC 디코더에 역시 Reed-Solomon 디코더를 사용하며, Reed-Solomon 디코더 역시 본 발명의 목적을 위해 도 3과 같은 일반적인 형태의 디코더를 도 6과 같이 보다 향상된 구조로 개선하였다. 먼저 수신된 프레임은 Reed-Solomon decoding block re-assembler(610)에 입력되어 S_FEC 또는 간략한 S_FEC 식별자를 찾아 FEC 인코딩된 프레임인지 아닌지를 구분하며, 만일 FEC 인코딩되지 않은 프레임이면 바로 matching delay(620)를 거쳐 출력된다(810단계).Next, an FEC frame receiving apparatus and a method thereof will be described. In the present invention, the FEC decoder also uses the Reed-Solomon decoder, and the Reed-Solomon decoder also improved the structure of the general form of the decoder as shown in FIG. First, the received frame is input to the Reed-Solomon
Matching delay(620)는 Reed-Solomon 디코더의 처리 시간 지연과 동일한 시간 지연을 주기 위한 것으로서, FEC 인코딩된 프레임과 FEC 인코딩되지 않은 프레임을 모두 처리해야 하는 경우 FEC 인코딩 된 프레임과 FEC 인코딩 되지 않은 프레임이 연속 입력되면 먼저 입력된 FEC 인코딩된 프레임이 디코딩 과정에서 발생하는 처리 시간 지연 때문에 늦게 입력된 FEC 인코딩 되지 않은 프레임 보다 늦게 출력 되거나 아니면 동시에 출력되는 문제를 방지하기 위함이다(830단계).Matching delay (620) is to give the same time delay as the processing time delay of the Reed-Solomon decoder. When both FEC encoded frames and FEC unencoded frames have to be processed, In order to prevent a problem in that the first inputted FEC encoded frame is output later than the late inputted FEC encoded frame or simultaneously outputted due to the processing time delay occurring during the decoding process (step 830).
Reed-Solomon decoding block re-assembler(610)는 프레임 버퍼로서 하나의 입력 FEC 프레임을 받아 다시 M개의 메시지 블록과 M개의 패리티로 나누어 각각 데이터 버퍼(611)와 패리티 버퍼(613)에 저장한다. 이때 데이터 버퍼(611)와 패리티 버퍼(613)는 각각 탄성 버퍼(elastic buffer)로서, 입력되는 프레임 데이터를 순차적으로 저장하며, 모든 입력 데이터에 대해 동일한 시간 지연을 제공한다. 메시지와 패리티를 제외한 FEC 프레임 식별자는 버퍼에 저장되지 않으며, 이들은 matching delay(620)를 통해 바로 프레임 re-assembler(640)에 인가된다. The Reed-Solomon
프레임 re-assembler(640)는 Reed-Solomon 디코딩 된 코드워드와 matching delay(620)을 거쳐 온 식별자를 이용하여 원래의 FEC 프레임을 재구성한다. 데이터 버퍼(611)와 패리티 버퍼(513)에 저장된 메시지와 패리티는 각각 순차적으로 Reed-Solomon 디코더에 입력되며, 이때 입력되는 순서는 첫 번째 메시지, 첫 번째 패리티, 두 번째 메시지, 두 번째 패리티, …, M 번째 메시지, M 번째 패리티와 같으며, 이렇게 함으로써 M개의 Reed-Solomon 코드워드를 입력하는 것이 된다.The
Reed-Solomon 디코더는 입력되는 코드워드를 가지고 먼저 신드롬을 계산한다. 일반적으로 신드롬 계산은 입력되는 n 바이트의 코드워드에 생성다항식의 근을 모두 대입한 결과를 더한 것으로서 마지막 코드워드가 입력되면 바로 신드롬이 출력된다. 신드롬 생성 회로(630)에서 신드롬을 계산하는 동안 codeword length counter(640)는 입력되는 코드워드의 길이를 측정한다. 이는 shortened 코드워드의 길이를 정확하게 측정하기 위함이다. 계산된 신드롬 S(x)는 Error locator polynomial 블록(650)에 입력되어 에러 위치 다항식 Λ(x) 및 에러 크기 다항식 Ω(x)을 생성하는데 사용된다. The Reed-Solomon decoder first calculates the syndrome with the input codeword. In general, the syndrome calculation is obtained by adding the result of substituting all the roots of the polynomial of the generated polynomial to the n-byte codeword inputted. The syndrome is output immediately after the last codeword is input. The
Error locator polynomial 블록(650)은 동일한 시간 지연을 가지도록 하기 위해 recursive modified Euclid 알고리즘을 이용하여 구현하였으며, 처리 시간 지연은 코드워드의 길이에 상관 없이 16 바이트 클럭이 소요된다. Error locator polynomial 블록(650)의 출력인 에러 위치 다항식 Λ(x)및 에러 크기 다항식 Ω(x)은 이후 Error locator(670) 및 Error Magnitude 블록(675)에 입력되어 에러 위치 및 크기를 찾는데 사용되어야 한다.The error locator
그러나, 도 7의 Reed-Solomon 디코딩 타이밍 예에서 보는 바와 같이 입력되는 코드워드가 하나의 긴 코드워드와 연속되는 여러 개의 짧은 코드워드로 구성되는 경우 에러 위치 다항식 Λ(x)및 에러 크기 다항식 Ω(x)까지는 동일한 시간 지연을 가지며 코드워드의 길이에 맞추어 출력되지만, Chien search 알고리즘을 사용하는 에러 위치 검출기 및 Forney 알고리즘을 사용하는 에러 크기 검출기는 출력된 Λ(x) 및 Ω(x)를 이용하여 해당 Λ(x) 및 Ω(x)를 생성하는데 사용된 코드워드의 길이에 해당하는 시간 만큼의 처리 시간이 필요하게 되므로 Λ(x) 및 Ω(x)를 바로 입력하는 경우 짧은 길이의 코드워드에 의해 생성된 Λ(x) 및 Ω(x)은 유실되게 된다. 이러한 현상은 서로 다른 길이의 프레임을 동시에 지원하기 때문에 발생하는 문제로서 인코더에서 shortened 코드워드를 처리하는 과정에서 zero-padding을 하지 않았기 때문에 발생하는 것이다. However, as shown in the Reed-Solomon decoding timing example of FIG. 7, when the input codeword is composed of one long codeword and several short codewords consecutively, the error position polynomial Λ (x) and the error magnitude polynomial Ω ( Up to x) has the same time delay and is output in accordance with the codeword length, but the error position detector using the Chien search algorithm and the error magnitude detector using the Forney algorithm use the output Λ (x) and Ω (x). Since the processing time of the time corresponding to the length of the codeword used to generate the corresponding Λ (x) and Ω (x) is required, a short length codeword when Λ (x) and Ω (x) is directly input Generated by Λ (x) and Ω (x) are lost. This phenomenon is caused by supporting frames of different lengths at the same time. This problem occurs because the encoder does not zero-padding while processing the shortened codeword.
본 발명에서는 Λ(x) 및 Ω(x)를 버퍼(661,662)에 저장한 후 에러 위치 검출기(670) 및 에러 크기 검출기(675)가 하나의 코드워드를 처리 완료한 후 다음 코드워드의Λ(x) 및 Ω(x) 값을 내어 주는 방법을 사용하여 이 문제를 해결하였으며, 도 6의 세 개의 버퍼(661,662,663)가 각각 Λ(x), Ω(x) 및 코드워드의 길이를 버퍼링 한다. 이 버퍼링을 통해 Λ(x) 및 Ω(x)는 Λ'(x) 및 Ω'(x)와 같이 시간 지연이 바뀌며, 도 7에서 볼 수 있는 바와 같이 이렇게 함으로써 Λ'(x) 및 Ω'(x)는 서로 다른 길이의 코드워드에 대해 동일한 시간 지연을 제공함을 알 수 있다.In the present invention, after storing Λ (x) and Ω (x) in the
결과적으로 Λ(x), Ω(x) 및 코드워드의 길이를 버퍼링하여 사용함으로써 Reed-Solomon 디코더는 shortened 코드워드를 처리하기 위해 zero-padding을 하지 않고도 가변 길이를 가지는 모든 프레임에 대해서 동일한 시간 지연을 제공하게 된다. 그러나 이와 같이 시간 지연을 모두 동일하게 했음에도 불구하고, 또 다른 문제가 남아 있다. 에러 위치 검출기에서 사용하는 일반적인 방식인 Chien search 알고리즘을 이용하면 오류 위치 다항식의 근의 역수가 오류의 위치에 난 정보를 가지고 있으며, 따라서 에러의 위치를 찾기 위해서는 에러 위치 다항식에 의 값을 순차적으로 대입하여 다항식을 계산하여 그 결과 값이 0 이 되면 해당하는 위치가 에러의 위치임을 알 수 있다.As a result, by buffering the lengths of Λ (x), Ω (x) and codewords, the Reed-Solomon decoder uses the same time delay for all frames of varying length without zero-padding to process shortened codewords. Will be provided. However, despite all the same time delays, another problem remains. Using the Chien search algorithm, a common method used in error location detectors, the inverse of the error location polynomial contains information at the location of the error, so to find the location of the error, The polynomial is calculated by sequentially substituting the value of, and when the result is 0, the corresponding position is the position of error.
이러한 Chien search 알고리즘을 구현하는 과정에서는 하드웨어를 줄이기 위해 하나의 근 대입회로를 n번 반복 사용하는데, 입력되는 코드워드의 길이가 n(=255) 이면 초기값이 α0이지만 서로 다른 길이의 코드워드가 입력되는 경우 초기값은 중에서 하나가 된다.In the process of implementing the Chien search algorithm, one modern assignment circuit is repeated n times to reduce hardware. If the length of the input codeword is n (= 255), the initial value is α 0, but the codewords having different lengths are used. If is entered, the initial value is Becomes one of
따라서 본 발명에서는 255개의 초기값을 ROM 형식의 Look-up 테이블로 구성해 놓은 후, codeword length counter(640)에서 조사한 코드워드의 길이를 Look-up 테이블의 값을 선택하는 address로 하도록 함으로써 코드워드의 길이에 따른 초기값을 선택하도록 하였다. 이때 선택된 초기값은 Forney 알고리즘을 사용하는 에러 크기 검출기에서도 동일하게 사용되므로 하나의 look-up 테이블만 구성하면 된다. 상기한 과정을 거쳐 에러의 위치와 크기가 모두 결정되면 에러 값은 에러 위치와 크기의 AND(685) 형태로 구해진다. 에러값 e(x)가 구해지면 Reed-Solomon 디코더의 처리 시간 지연을 고려한 버퍼(690)를 통과한 codeword로부터 에러 값이 빼지게 되며, 결과로서 에러가 정정된 코드워드가 된다(이상 820단계). 에러가 정정된 코드워드는 다시 프레임 re-assembler 블록(640)에 입력되어 FEC 프레임으로 재구성된 후 parity 저장 공간(408)은 zero padding하여 출력한다(840단계).Therefore, in the present invention, 255 initial values are configured in a look-up table in ROM format, and the codeword length checked by the
본 발명은 임의의 길이를 가지는 프레임에 대해 동일한 지연을 보장하고, shortened 코드에 의한 전송율 저하를 최적화하는 것으로, 다양한 길이의 전송 프레임을 임의 길이의 블록 조합으로 분할하여 각각 Reed-Solomon 인코딩/디코딩하며, 이때 분할된 최종 블록이 요구되는 길이보다 적을 경우 가상 zero-padding을 하여 처리하며, 이 경우 서로 다른 길이의 블록을 처리하는 과정에서 코드워드간의 중첩이 발생하며, 이는 pipeline 처리하여 해결한다. 또한 에러 위치 및 크기 검출기의 초기 값을 look-up 테이블을 사용하여 load하도록 한다. 따라서, 임의의 길이를 가지는 프레임에 대해서 동일한 지연을 보장하며, 이때 shortened 코드에 의해 발생하는 전송율 저하를 최적화 할 수 있다.The present invention guarantees the same delay for a frame having an arbitrary length and optimizes the rate reduction due to a shortened code. The present invention divides various lengths of transmission frames into arbitrary length block combinations and encodes / decodes each of them. In this case, if the final block divided is smaller than the required length, virtual zero-padding is processed. In this case, overlapping between codewords occurs in the process of processing blocks of different lengths, which is solved by processing the pipeline. Also, the initial values of the error position and magnitude detector are loaded using the look-up table. Therefore, the same delay is guaranteed for frames having arbitrary lengths, and the rate reduction caused by the shortened code can be optimized.
본 발명에 의한 FEC 프레임 송신 및 수신 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터 가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The FEC frame transmission and reception method according to the present invention can also be embodied as computer readable codes on a computer readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which are also implemented in the form of a carrier wave (for example, transmission over the Internet). It also includes. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.The best embodiments have been disclosed in the drawings and specification above. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
이상에서 설명한 바와 같이, 본 발명에 의한 FEC 프레임 구조에 따르면 Reed-Solomon 부호 방식의 FEC를 이용하여 전송매체에서 기인하는 에러를 정정하는 과정에서 프레임 단위의 FEC 인코딩/디코딩을 처리하고, FEC를 운용 중에 바이패스 하더라도 전체 전송 지연 시간에 영향을 주지 않으며, shortened 코드워드에 의한 시간 지연을 최적화 하고, 서로 다른 길이의 프레임에 대해 FEC 인코딩/디코딩 처 리 지연 시간을 동일하게 관리할 수 있다.As described above, according to the FEC frame structure according to the present invention, using the FED of the Reed-Solomon coded method to process the FEC encoding / decoding of the frame unit in the process of correcting the error caused by the transmission medium, and operating the FEC Even if bypassed, it does not affect the overall transmission delay time, optimizes the time delay caused by the shortened codeword, and manages the same FEC encoding / decoding processing delay time for different length frames.
Claims (3)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030093109 | 2003-12-18 | ||
KR20030093109 | 2003-12-18 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040033065A Division KR100628300B1 (en) | 2003-12-18 | 2004-05-11 | Apparatus for FEC supporting transmission of variable-length frames in TDMA system and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060096385A KR20060096385A (en) | 2006-09-11 |
KR100670836B1 true KR100670836B1 (en) | 2007-01-19 |
Family
ID=37253864
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040033065A KR100628300B1 (en) | 2003-12-18 | 2004-05-11 | Apparatus for FEC supporting transmission of variable-length frames in TDMA system and method thereof |
KR1020060066200A KR100670836B1 (en) | 2003-12-18 | 2006-07-14 | Frame Structure for FEC supporting transmission of variable-length frames in TDMA system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040033065A KR100628300B1 (en) | 2003-12-18 | 2004-05-11 | Apparatus for FEC supporting transmission of variable-length frames in TDMA system and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR100628300B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100716184B1 (en) * | 2006-01-24 | 2007-05-10 | 삼성전자주식회사 | Apparatus and method for a queue management of network processor |
KR100899168B1 (en) * | 2008-02-20 | 2009-05-27 | 주식회사 인켈 | Variable multiplex frame data forming method for communication |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5936949A (en) * | 1996-09-05 | 1999-08-10 | Netro Corporation | Wireless ATM metropolitan area network |
US6208663B1 (en) * | 1997-08-29 | 2001-03-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for block ARQ with reselection of FEC coding and/or modulation |
KR100333685B1 (en) * | 1998-12-30 | 2002-07-18 | 박종섭 | Bit error rate calculation circuit of forward error correction system |
US6785323B1 (en) * | 1999-11-22 | 2004-08-31 | Ipr Licensing, Inc. | Variable rate coding for forward link |
-
2004
- 2004-05-11 KR KR1020040033065A patent/KR100628300B1/en not_active IP Right Cessation
-
2006
- 2006-07-14 KR KR1020060066200A patent/KR100670836B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050061262A (en) | 2005-06-22 |
KR100628300B1 (en) | 2006-09-27 |
KR20060096385A (en) | 2006-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7581155B2 (en) | Apparatus for FEC supporting transmission of variable-length frames in TDMA system and method of using the same | |
KR100835401B1 (en) | Forward error correction coding in ethernet networks | |
US6718503B1 (en) | Reduced latency interleaver utilizing shortened first codeword | |
KR101050830B1 (en) | Video error detection technology using the RC parity code | |
RU2628145C2 (en) | Method of coding and decoding and device and system | |
US6609225B1 (en) | Method and apparatus for generating and checking cyclic redundancy code (CRC) values using a multi-byte CRC generator on a variable number of bytes | |
EP1040611A2 (en) | A forward error correction system for packet based real-time media | |
US6675340B1 (en) | Forward error correction (FEC) for packetized data networks | |
WO2007055150A1 (en) | Communication device, transmitter, receiver, and error correcting optical communication system | |
EP0840461A2 (en) | Galois field multiplier for Reed-Solomon decoder | |
US20100262887A1 (en) | High Integrity Data Network System and Method | |
KR20120062019A (en) | Method and apparatus for error detection in a communication system | |
MXPA04007077A (en) | Dual chien search blocks in an error-correcting decoder. | |
WO2012136047A1 (en) | Hardware decoding method and apparatus for super forward error correction | |
US7289530B1 (en) | System and method for coding a digital wrapper frame | |
US4592054A (en) | Decoder with code error correcting function | |
US6839330B1 (en) | Method and apparatus for improving asynchronous transfer mode operation over noisy, high speed wireless links | |
KR100670836B1 (en) | Frame Structure for FEC supporting transmission of variable-length frames in TDMA system | |
CA2325090C (en) | Performance monitoring for optical transmission system | |
KR20120004662A (en) | Method for encoding and decoding broadcast signal to parallel process error correction, apparatus for sending and receiving the same and system thereof | |
US20020104058A1 (en) | Packet switched network having error correction capabilities of variable size data packets and a method thereof | |
JP2019033504A (en) | Receiver, transceiver, receiving method, and transceiving method | |
JPH10285147A (en) | Data transmission system | |
JP2008017001A (en) | Error correction apparatus | |
JP2021141617A (en) | Encoding device, transmitter, decoding device, and receiver |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |