KR20090054606A - Frame Synchronization Device and Method - Google Patents
Frame Synchronization Device and Method Download PDFInfo
- Publication number
- KR20090054606A KR20090054606A KR1020070121360A KR20070121360A KR20090054606A KR 20090054606 A KR20090054606 A KR 20090054606A KR 1020070121360 A KR1020070121360 A KR 1020070121360A KR 20070121360 A KR20070121360 A KR 20070121360A KR 20090054606 A KR20090054606 A KR 20090054606A
- Authority
- KR
- South Korea
- Prior art keywords
- bit string
- fsm
- input data
- register
- bit
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명은 위성 데이터의 프레임 동기화 장치 및 방법에 관한 것이다. 본 발명에 따른 프레임 동기화 방법은, 미리 정해진 비트 패턴을 각각 0°, 90°, 180°, 270°위상 변환 시킨 제1 내지 제4 FSM 비트열을 제1 레지스터에 저장하는 단계와, 입력 데이터 비트열을 4번 반복하여 제2 레지스터에 저장하는 단계와, 제1 레지스터와 제2 레지스터에 저장된 비트열에 대한 배타적 논리합(XOR)을 수행한 결과에 대응하는 비트열을 제3 레지스터에 저장하는 단계와, 제3 레지스터에 저장된 비트열로부터 입력 데이터 비트열과 상기 제1 내지 제4 FSM 비트열 사이의 해밍 거리 값을 각각 구하는 단계 및 구해진 해밍 거리 값을 통해 입력 데이터 비트열의 FSM 여부를 판정하는 단계를 포함한다. 본 발명에 따르면 신속하게 FSM을 검출할 수 있으며, 데이터 손실을 최소화 할 수 있다.The present invention relates to an apparatus and method for frame synchronization of satellite data. In accordance with another aspect of the present invention, a frame synchronization method includes storing first to fourth FSM bit strings obtained by converting a predetermined bit pattern into 0 °, 90 °, 180 °, and 270 ° phases in a first register, and input data bits. Repeating the string four times and storing it in the second register, and storing the bit string corresponding to the result of performing an exclusive OR on the bit strings stored in the first register and the second register in the third register; Obtaining a Hamming distance value between the input data bit string and the first to fourth FSM bit strings from the bit string stored in the third register, and determining whether the input data bit string is FSM based on the obtained Hamming distance value. do. According to the present invention, it is possible to detect the FSM quickly and minimize data loss.
Description
본 발명은 프레임 동기화 장치 및 방법에 관한 것으로, 더욱 상세하게는 입력 데이터로부터 프레임 동기화 마커(FSM)를 신속하게 검출하고 입력 데이터의 손실을 방지할 수 있는 프레임 동기화 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for frame synchronization, and more particularly, to an apparatus and method for frame synchronization capable of quickly detecting a frame synchronization marker (FSM) from input data and preventing loss of input data.
위성 통신은 대기권 밖의 상공에 쏘아 올린 인공 위성으로 하여금 통신을 중계하는 통신으로서, 위성 통신은 통신 가능 구역이 넓어지고, 고주파수대의 전파를 이용한 초고속 전송이 가능하다.Satellite communication is a communication that relays communication by an artificial satellite that has been launched in the air outside the atmosphere, and satellite communication has a wider communication range and enables ultra-fast transmission using high frequency radio waves.
위성 통신은 마이크로파를 사용하기 때문에 고속 대용량 통신이 가능하며, 특정 국가 전역을 통신권역으로 설정할 수 있다.Satellite communications use microwaves to enable high-speed, high-capacity communications, and can set up specific areas throughout the country.
이와 같이 위성 통신의 다양한 기능 때문에 현재의 위성 통신은 대용량 데이터를 지상국으로 전달하며, 위성과 지상국 사이의 위성 통신은 기존의 아날로그 방식에서 디지털 방식으로 대체되고 있는 추세이다. As such, due to various functions of satellite communication, current satellite communication transmits a large amount of data to a ground station, and satellite communication between the satellite and the ground station is being replaced by a digital method in the existing analog method.
따라서, 위성 통신에 사용하는 디지털 통신도 대용량 데이터 처리가 요구된다.Therefore, digital communication used for satellite communication also requires a large amount of data processing.
여기서, 프레임(frame)은 데이터 전송 단위에 해당하며, 실질적인 정 보(information) 이외에 주소와 필수적인 프로토콜 제어 정보가 포함된 하나의 단위로서, 위성과 지상국 사이에 데이터는 프레임 단위로 전송된다.Here, a frame corresponds to a data transmission unit, and is a unit including an address and essential protocol control information in addition to actual information, and data is transmitted in units of frames between the satellite and the ground station.
프레임은 비트 단위로 전송되며, 데이터의 앞 뒤에 헤더 필드와 트레일러 필드를 포함하고 있으며, 실질 데이터를 의미하는 정보를 포함한다.The frame is transmitted in bits and includes header fields and trailer fields before and after the data, and includes information representing actual data.
서로 다른 클럭을 사용하는 전송단과 수신단 사이에서 프레임 단위로 데이터를 전송하는 경우, 수신단에서는 클럭 위상차에 의해 프레임에 포함된 데이터가 분실될 수도 있다.When data is transmitted frame by frame between a transmitter and a receiver using different clocks, the receiver may lose data included in the frame due to a clock phase difference.
이처럼 데이터 송수신 동기가 맞지 않음으로 인해 데이터를 손실하는 경우 수신단은 프레임을 디코딩 할 수 없으므로 데이터를 폐기해야 한다.If data is lost due to inconsistent data transmission / reception, the receiving end cannot decode the frame and must discard the data.
일반적으로 프레임 동기화(Frame Synchronization)는 수신단에서 시작점을 알려주는 프레임 워드를 식별하여 프레임에 포함된 데이터를 바이트 또는 워드 단위로 재조합하는 과정을 통해 이루어질 수 있다.In general, frame synchronization may be performed through a process of recombining data included in a frame into bytes or words by identifying a frame word indicating a starting point at a receiving end.
종래에는 대용량 데이터의 프레임 동기화 처리를 하드웨어를 사용하거나, 데이터를 저장한 다음 소프트웨어로 처리하였다.Conventionally, frame synchronization processing of a large amount of data is performed using hardware or data is stored and then processed by software.
그러나 하드웨어로 처리하는 경우, 하드웨어의 특성에 따라 데이터가 손실되는 문제점이 발생하였고, 소프트웨어로 처리하는 경우, 데이터의 손실은 방지할 수 있으나 속도가 느려지는 문제점이 발생하였다.However, in the case of hardware processing, data loss occurs according to the characteristics of the hardware. In the case of software processing, data loss can be prevented, but the speed is slowed.
따라서 본 발명이 이루고자 하는 기술적 과제는 프레임 동기화 처리의 속도 를 증가시키고 데이터의 손실을 최소화할 수 있는 프레임 동기화 장치 및 방법을 제공하는 것이다.Accordingly, an object of the present invention is to provide a frame synchronization apparatus and method capable of increasing the speed of frame synchronization processing and minimizing data loss.
이러한 기술적 과제를 이루기 위한 본 발명의 한 실시예에 따른 프레임 동기화 장치는, (a) 미리 정해진 비트 패턴을 각각 0°, 90°, 180°, 270°위상 변환 시킨 제1 내지 제4 FSM 비트열을 제1 레지스터에 저장하는 단계와, (b) 입력 데이터 비트열을 4번 반복하여 제2 레지스터에 저장하는 단계와, (c) 상기 제1 레지스터와 상기 제2 레지스터에 저장된 비트열에 대한 배타적 논리합(XOR)을 수행한 결과에 대응하는 비트열을 제3 레지스터에 저장하는 단계와, (d) 상기 제3 레지스터에 저장된 비트열로부터 상기 입력 데이터 비트열과 상기 제1 내지 제4 FSM 비트열 사이의 해밍 거리 값을 각각 구하는 단계 및 (e) 상기 구해진 해밍 거리 값을 통해 상기 입력 데이터 비트열의 FSM 여부를 판정하는 단계를 포함한다.According to an aspect of the present invention, there is provided a frame synchronization apparatus according to an embodiment of the present invention, wherein (a) first to fourth FSM bit strings in which a predetermined bit pattern is converted by 0 °, 90 °, 180 °, and 270 °, respectively. Is stored in the first register, (b) repeating the input data bit string four times and storing the second data in the second register, and (c) an exclusive logical sum of the bit strings stored in the first register and the second register. Storing a bit string corresponding to a result of performing (XOR) in a third register; and (d) between the input data bit string and the first to fourth FSM bit strings from a bit string stored in the third register. Obtaining a Hamming distance value, and (e) determining whether the input data bit string is FSM based on the obtained Hamming distance value.
상기 구해진 해밍 거리 값 중에서 미리 정해진 임계치보다 작은 값이 있는 경우 상기 입력 데이터 비트열이 FSM 인 것으로 판정할 수 있다.If there is a value smaller than a predetermined threshold value among the obtained hamming distance values, it may be determined that the input data bit string is an FSM.
상기 구해진 해밍 거리 값 중에서 미리 정해진 임계치보다 작은 값이 없는 경우 상기 입력 데이터 비트열이 FSM이 아닌 것으로 판정하는 단계 및, 상기 입력 데이터 비트열이 FSM이 아닌 것으로 판정된 경우, 입력 데이터 버퍼에서 상기 입력 데이터 비트열에 대해 1비트 뒤로 이동된 비트열을 4번 반복하여 상기 제2 레지스터에 저장하는 단계를 더 포함할 수 있다.Determining that the input data bit string is not an FSM if none of the obtained Hamming distance values is smaller than a predetermined threshold; and if it is determined that the input data bit string is not an FSM, the input in the input data buffer. The method may further include repeating the bit string shifted one bit back four times and storing the data in the second register.
상기 1 비트 뒤로 이동된 비트열이 상기 입력 데이터 비트열과 동일한 경우, 상기 1 비트 뒤로 이동된 비트열이 FSM이 아닌 것으로 판정하는 단계를 더 포함할 수 있다.If the bit string shifted one bit back is the same as the input data bit string, the method may further include determining that the bit string shifted one bit back is not an FSM.
상기 1 비트 뒤로 이동된 비트열이 상기 입력 데이터 비트열과 동일하지 않은 경우, 상기 1 비트 뒤로 이동된 비트열에 대해 상기 (c) 내지 (e) 단계를 반복 할 수 있다.When the bit string shifted one bit back is not the same as the input data bit string, steps (c) to (e) may be repeated for the bit string shifted one bit back.
상기 입력 데이터 비트열이 FSM으로 판정된 경우, 상기 입력 데이터 비트열이 포함되는 프레임을 펜딩 버퍼에 복사하는 단계를 더 포함할 수 있다.If the input data bit string is determined to be an FSM, the method may further include copying a frame including the input data bit string to a pending buffer.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 프레임 동기화 장치는, 미리 정해진 비트 패턴을 각각 0°, 90°, 180°, 270°위상 변환 시킨 제1 내지 제4 FSM 비트열을 저장하는 제1 레지스터와, 입력 데이터 비트열을 4번 반복하여 저장하는 제2 레지스터와, 상기 제1 레지스터와 상기 제2 레지스터에 저장된 비트열에 대한 배타적 논리합(XOR)을 수행한 결과에 대응하는 비트열을 저장하는 제3 레지스터 및, 상기 제3 레지스터에 저장된 비트열로부터 상기 입력 데이터 비트열과 상기 제1 내지 제4 FSM 비트열 사이의 해밍 거리 값을 각각 구하고, 상기 구해진 해밍 거리 값을 통해 상기 입력 데이터 비트열의 FSM 여부를 판정하는 제어부를 포함한다.According to another aspect of the present invention, there is provided a frame synchronization apparatus for storing first to fourth FSM bit strings obtained by converting a predetermined bit pattern into phases of 0 °, 90 °, 180 °, and 270 °, respectively. A first register, a second register for repeatedly storing the input data bit string four times, and a bit string corresponding to a result of performing an exclusive OR (XOR) on the bit strings stored in the first register and the second register. Obtaining a Hamming distance value between the input data bit string and the first to fourth FSM bit strings from a third register to store and a bit string stored in the third register, and the input data bit through the obtained Hamming distance value. And a controller for determining whether the column is FSM.
상기 제어부는 상기 구해진 해밍 거리 값 중에서 미리 정해진 임계치보다 작은 값이 있는 경우 상기 입력 데이터 비트열이 FSM인 것으로 판정할 수 있다.The controller may determine that the input data bit string is an FSM when there is a value smaller than a predetermined threshold value among the obtained hamming distance values.
상기 제어부는 상기 구해진 해밍 거리 값 중에서 미리 정해진 임계치보다 작은 값이 없는 경우 상기 입력 데이터 비트열이 FSM이 아닌 것으로 판정하고, 상기 입력 데이터 비트열이 FSM이 아닌 것으로 판정된 경우, 입력 데이터 버퍼에서 상기 입력 데이터 비트열에 대해 1비트 뒤로 이동된 비트열을 4번 반복하여 상기 제2 레지스터에 저장되도록 할 수 있다.The controller determines that the input data bit string is not FSM when there is no value smaller than a predetermined threshold value among the obtained hamming distance values, and when it is determined that the input data bit string is not FSM, The bit string shifted one bit back to the input data bit string may be repeated four times to be stored in the second register.
상기 제어부는, 상기 1 비트 뒤로 이동된 비트열이 상기 입력 데이터 비트열과 동일한 경우, 상기 1 비트 뒤로 이동된 비트열이 FSM이 아닌 것으로 판정할 수 있다.The controller may determine that the bit string shifted one bit back is not an FSM when the bit string shifted one bit back is the same as the input data bit string.
상기 제어부는 상기 1 비트 뒤로 이동된 비트열이 상기 입력 데이터 비트열과 동일하지 않은 경우, 상기 1 비트 뒤로 이동된 비트열에 대해 FSM 검출을 수행할 수 있다.The controller may perform FSM detection on the bit string shifted one bit back when the bit string shifted one bit back is not the same as the input data bit string.
상기 제어부는 상기 입력 데이터 비트열이 FSM으로 판정된 경우, 상기 입력 데이터 비트열이 포함되는 프레임을 펜딩 버퍼에 복사할 수 있다.When the input data bit string is determined to be an FSM, the controller may copy a frame including the input data bit string to a pending buffer.
이와 같이 본 발명에 의하면, 4개의 위상 변환된 프레임 동기화 비트 패턴에 대해서 입력 데이터를 동시에 비교하여 FSM을 검출하기 때문에 신속하게 FSM을 검출할 수 있다.As described above, according to the present invention, since the FSM is detected by simultaneously comparing the input data with respect to the four phase-converted frame synchronization bit patterns, the FSM can be detected quickly.
또한 펜딩 버퍼를 이용하여 서치 상태 및 체크 상태에서 FSM이 검출된 프레임을 저장해놓고 추후 록 상태에 도달하면 다음 처리단으로 전달하기 때문에 데이터 손실을 줄일 수 있게 된다.In addition, by using the pending buffer, the FSM stores the detected frames in the search state and the check state, and transfers them to the next processing stage when the locked state is reached later, thereby reducing data loss.
또한 실제 데이터 입력이 없는 상태에서 불필요하게 FSM 검출동작을 수행하는 것을 방지할 수 있다.In addition, it is possible to prevent the FSM detection operation unnecessarily in the absence of the actual data input.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention.
프레임 동기화는 데이터 연결 시 특수 비트 조합을 사용하여 프레임의 시작 및 종료를 표시하고 송수신 간에 동기를 맞추는 것인바, 먼저 도 1을 통하여 프레임 동기화 프로세서에 대하여 설명하기로 한다.Frame synchronization indicates a start and end of a frame and synchronizes transmission / reception using a special bit combination in data connection. First, the frame synchronization processor will be described with reference to FIG. 1.
도 1은 본 발명의 실시예에 따른 위성 데이터의 프레임 동기화의 처리 상태를 나타낸 도면이다. 1 is a diagram illustrating a processing state of frame synchronization of satellite data according to an embodiment of the present invention.
도 1에서 보는 바와 같이, 프레임 동기화의 처리 상태는 서치 상태(search state), 체크 상태(check state), 록 상태(lock state) 및 플라이휠 상태(flywheel state)를 포함한다.As shown in FIG. 1, the processing state of frame synchronization includes a search state, a check state, a lock state, and a flywheel state.
서치 상태는 입력된 데이터에서 프레임 동기 부호(Frame Synchronization Marker, 이하 "FSM"이라 함)를 찾는 단계이다.The search state is a step of searching for a frame synchronization code (Frame Synchronization Marker, hereinafter referred to as "FSM") in the input data.
서치 상태에서는 입력되는 데이터를 비트(bit) 단위로 이동시키며, 복조 방식에 따른 FSM을 검출하며, FSM이 검출되면 체크 상태로 이동한다.In the search state, the input data is moved in units of bits, and the FSM according to the demodulation method is detected. When the FSM is detected, the data is moved to the check state.
프레임 단위로 데이터를 이동시키고 미리 계산된 위상을 사용하여 FSM을 검출하는 체크 상태, 록 상태, 플라이휠 상태와 달리 서치 상태에서는 비트 단위로 데이터를 이동시켜 FSM을 검출하므로 데이터 처리량이 가장 많으며, 소요되는 시간 또한 많다.Unlike the check state, lock state, and flywheel state, which moves data in units of frames and detects the FSM using a pre-calculated phase, the search state moves data in bits to detect the FSM, which results in the highest data throughput. There is also a lot of time.
서치 상태에서 FSM을 검출하는 과정에 대해서는 도 2 내지 4에서 상세하게 하도록 한다.The process of detecting the FSM in the search state will be described in detail with reference to FIGS. 2 to 4.
체크 상태는 서치 상태에서 검출한 FSM을 이용하여 프레임 단위로 FSM을 검출한다. 사용자가 설정한 체크 횟수(check count) 만큼 FSM이 검출되면 록 상태로 이동하지만, FSM 검출에 실패하면 서치 상태로 다시 복귀한다.The check state detects the FSM in units of frames by using the FSM detected in the search state. If the FSM is detected by the check count set by the user, the controller moves to the locked state, but if the FSM fails, it returns to the search state.
록 상태는 체크 상태와 마찬가지로, 프레임 단위로 FSM을 검출하며, FSM이 검출되면 해당 프레임을 저장하거나 다음 처리단으로 전송한다. 반면, FSM의 검출이 실패하면 플라이휠 상태로 이동한다.Like the check state, the lock state detects the FSM in units of frames, and when the FSM is detected, the frame is stored or transmitted to the next processing stage. On the other hand, if the detection of the FSM fails, it moves to the flywheel state.
플라이휠 상태 역시 프레임 단위로 FSM을 검출하며, FSM의 검출이 실패하면 플라이휠 카운트는 1씩 증가된다.The flywheel condition also detects the FSM frame by frame. If the FSM fails, the flywheel count is incremented by one.
플라이휠 카운트가 사용자가 설정한 값을 초과하였을 경우에는 서치 상태로 복귀되며, 서치 상태로 이동하기 전까지의 프레임은 저장되거나 다음 처리단으로 전송된다. 그리고, FSM이 검출되면 록 상태로 이동한다. When the flywheel count exceeds the user-set value, the search returns to the search state, and the frame until the search state is moved is stored or transmitted to the next processing stage. When the FSM is detected, the controller moves to the locked state.
이하에서는 본 발명의 실시예에 따른 프레임 동기화 장치를 설명하기에 앞서서, 본 발명의 실시예에 적용되는 단일 명령 복수 데이터 방식(Single-Instruction Multiple-Data, 이하 "SIMD"라 함)에 대하여 간단히 설명한다.Prior to describing a frame synchronization device according to an embodiment of the present invention, a single-instruction multiple-data method (hereinafter referred to as " SIMD ") applied to an embodiment of the present invention will be briefly described. do.
도 2는 SIMD의 데이터 처리 방식을 도식화한 도면이다.2 is a diagram illustrating a data processing method of a SIMD.
도 2에서 보는 바와 같이, SIMD 방식에 의하면 복수의 데이터(Data)가 하나의 명령어(Instruction)에 의해 병렬 처리되어 복수의 결과(Results)가 출력된다는 것을 알 수 있다.As shown in FIG. 2, it can be seen that according to the SIMD method, a plurality of data are processed in parallel by one instruction to output a plurality of results.
이하에서는 본 발명의 실시예에 따른 프레임 동기화 장치가 SSE2를 지원하는 프로세서를 이용하여 구현된 것으로 하여 설명하기로 한다.Hereinafter, a frame synchronization device according to an embodiment of the present invention will be described as implemented using a processor supporting SSE2.
도 3은 본 발명의 실시예에 따른 프레임 동기화 장치의 구성을 나타낸 도면이다.3 is a diagram illustrating a configuration of a frame synchronization device according to an embodiment of the present invention.
도 3에서 보는 바와 같이 프레임 동기화 장치(100)는 입력 데이터 버퍼(110), 레지스터부(120), 제어부(130) 및 연산부(140)를 포함한다. As shown in FIG. 3, the
입력 데이터 버퍼(110)는 위성으로부터 수신되는 입력 데이터의 비트열을 임시 저장한다.The
그리고, 도 3에는 도시하지 않았으나, 입력 데이터의 손실을 방지하기 위하여 펜딩 버퍼를 더 포함할 수 있으며, 펜딩 버퍼에 대해서는 도 6을 통해 설명하기로 한다.Although not shown in FIG. 3, a pending buffer may be further included in order to prevent loss of input data. The pending buffer will be described with reference to FIG. 6.
레지스터부(120)는 제1 레지스터(122), 제2 레지스터(124) 및 제3 레지스터(126)를 포함하며, 각각의 레지스터에는 128 비트의 비트열이 저장될 수 있다. The
제1 레지스터(122)에는 프레임 동기화 비트 패턴으로 사용되는 비트열을 각각 0°, 90°, 180°, 270° 위상 변환시킨 4 개의 비트열(이하 'FSM 검출용 비트열'이라 함)이 순차적으로 저장될 수 있다.In the
제2 레지스터(124)에는 입력 데이터가 32 비트(4 바이트)의 비트열 단위로 4번 반복되어 저장될 수 있다. 외부로부터 수신되어 입력 데이터 버퍼(110)에 임시 저장되는 비트열에서 처음 수신된 4바이트의 비트열이 4번 반복되어 제2 레지스터(124)에 저장될 수 있다. 그리고 해당 비트열에 대한 FSM 검출 동작이 수행된 후 FSM이 아닌 것으로 판정된 경우 1비트 뒤로 이동된 비트열이 제2 레지스터(124)에 다시 4번 반복되어 저장될 수 있다. 이렇게 외부로부터 수신되어 제2 레지스터(124)에 4 바이트의 크기로 입력되는 비트열을 입력 데이터 비트열이라고 부르기로 한다.Input data may be repeatedly stored in the
제3 레지스터(126)에는 제1 레지스터(122)에 저장된 비트열과 제2 레지스터(124)에 저장된 비트열에 대한 배타적 논리합(XOR) 연산을 수행한 결과에 해당하는 비트열이 저장될 수 있다.The
제1 레지스터(122), 제2 레지스터(124) 및 제3 레지스터(126)는 SSE2를 지원하는 프로세서에서 SIMD 연산을 위해 지원하는 XMM1 레지스터, XMM2 레지스터 및 XMM0 레지스터에 각각 대응된다.The
제어부(130)는 프레임 동기화 비트 패턴으로 사용되는 비트열을 각각 0°, 90°, 180°, 270° 위상 변환시켜서 구한 4 개의 FSM 검출용 비트열을 제1 레지스터(122)에 미리 저장시킨다. 예컨대 제어부(130)는 위상 변환된 FSM 검출용 비트열을 순차적으로 제3 레지스터(126)에 저장시킬 수 있다.The
FSM으로 사용되는 비트패턴은 CCSDS(Consultative Committee for Space Data Systems)에서 권고하는 다음의 표 1과 같은 5가지로 나누어진다.The bit pattern used as the FSM is divided into five types as shown in Table 1 below, which is recommended by the CONSultative Committee for Space Data Systems (CCSDS).
본 발명의 실시예에서는 터보 코딩을 사용하지 않은 데이터(non-turbo coded data)인 32 비트의 "1ACFFC1D"를 FSM을 위한 비트 패턴으로 사용한다. 그리고, 도 4는 "1ACFFC1D"를 비트열로 나타낸 것이다.In the embodiment of the present invention, 32-bit " 1ACFFC1D " which is non-turbo coded data is used as a bit pattern for the FSM. 4 shows "1ACFFC1D" in a bit string.
한편, 본 발명의 실시예에서는 32 비트의 비트열(1ACFFC1D)을 FSM으로 사용한 것으로 설명하나, 구현되는 프로세서의 종류에 따라서 다른 비트 패턴을 FSM으로 설정할 수 있다.Meanwhile, in the embodiment of the present invention, the 32-bit bit string 1ACFFC1D is used as the FSM. However, another bit pattern may be set to the FSM according to the type of processor to be implemented.
연산부(140)는 제1 레지스터(122)에 저장된 데이터와 제2 레지스터(124)에 저장된 데이터에 대하여 배타적 논리합(XOR, Exclusive-OR) 연산 처리를 할 수 있다.The
그리고, 연산부(140)는 XOR 처리를 통해 얻은 비트열을 제3 레지스터(126)에 저장하고, 제3 레지스터(126)에 저장된 비트열을 통해 4개의 FSM 검출용 비트열과 입력 데이터 비트열 사이의 해밍 거리(Hamming distance) 값을 구한다.The
여기서, 제어부(130)는 해밍 거리 값을 미리 정해진 비트 임계값(Bits threshold)과 비교하여 FSM을 검출한다. 보다 자세하게는 비트 임계값 보다 작은 해밍 거리 값이 존재하는 경우, 제2 레지스터(124)에 저장된 입력 데이터 비트열을 FSM으로 판단한다. Here, the
제어부(130)는 서치 상태에서 입력 데이터 비트열이 FSM으로 판정된 경우 해당 입력 데이터 비트열이 포함되는 프레임을 펜딩 버퍼에 복사한다. 이후 제어부(130)는 체크 상태에서 FSM 검출을 계속 실행하며 FSM이 검출된 경우 해당 프레임을 서치 상태와 마찬가지로 펜딩 버퍼에 복사하고 록 상태에 도달할 때까지 FSM이 검출되는 프레임을 계속 저장한다. 이후 록 상태에 도달하면 그때까지 펜딩 버퍼에 저장되어 있는 프레임과 록 상태에 도달할 때의 프레임을 모두 다음 처리단(도시하지 않음)으로 이동시킨다. 이에 의해 종래에는 록 상태 이전의 프레임에 해당하는 데이터가 손실되던 것을 본 발명에 의하면 손실 없이 처리할 수 있게 된다.When the input data bit string is determined to be an FSM in the search state, the
한편 비트 임계값 보다 작은 해밍 거리 값이 존재하지 않는 경우 FSM 검출을 실패한 것으로 판단한다.On the other hand, if there is no hamming distance value smaller than the bit threshold value, it is determined that FSM detection has failed.
이때, FSM가 검출되지 않은 경우, 제어부(130)는 FSM 검출이 실패한 입력 데이터 비트열에 대해 1 비트 뒤로 이동된 비트열을 입력 데이터 버퍼(110)에서 읽어 4번 반복하여 제2 레지스터(124)에 저장하고 FSM을 계속 검출하도록 한다.At this time, if the FSM is not detected, the
이하에서는 도 5를 참조하여 SSE2를 이용한 FSM 검출 방법을 예를 들어 설명하기로 한다.Hereinafter, an FSM detection method using SSE2 will be described with reference to FIG. 5.
도 5는 본 발명의 실시예에 따른 FSM 검출 과정에서 레지스터에 저장되는 비트열을 나타낸 예시도이다.5 is an exemplary diagram illustrating a bit string stored in a register during an FSM detection process according to an embodiment of the present invention.
도 5에서 보는 바와 같이 제1 레지스터(122), 제2 레지스터(124) 및 제3 레지스터(126)에 각각 대응하는 XMM1 레지스터, XMM2 레지스터 및 XMM0 레지스터가 표시된다.As shown in FIG. 5, the XMM1 register, the XMM2 register, and the XMM0 register corresponding to the
마찬가지로 32비트의 비트 패턴(1ACFFC1D)을 프레임 동기화 비트 패턴으로 가정하기로 한다.Similarly, a 32-bit bit pattern 1ACFFC1D is assumed to be a frame synchronization bit pattern.
제어부(130)가 비트 패턴(0x1ACFFC1D)을 각각 0°, 90°, 180°, 270°로 위상 변환 시킨 제1 내지 제4 FSM 비트열(0x1ACFFC1D, 0x4F9AA948, 0xB06556B7, 0xE53003E2)을 각각 XMM1 레지스터에 저장한다.The
그리고, XMM2 레지스터에는 입력 데이터 버퍼(110)로부터 32 비트의 입력 데이터 비트열(4F9AA948)이 4번 반복되어 저장된다. The 32-bit input data bit string 4F9AA948 is repeatedly stored four times from the
즉, XMM1 레지스터에는 각각의 위상에 대응하는 FSM 비트열이 저장되어 있고, XMM2 레지스터에는 실제 FSM 검출 대상 데이터인 입력 데이터 비트열이 4번 반복되어 저장되어 있다.That is, the FSM bit string corresponding to each phase is stored in the XMM1 register, and the input data bit string, which is the actual FSM detection target data, is repeatedly stored four times in the XMM2 register.
여기서, 연산부(140)는 XMM1 레지스터와 XMM2 레지스터의 XOR 논리 연산 결과값을 XMM0 레지스터에 저장한다.Here, the
그리고, 연산 결과에 따라 32 비트로 이루어진 각 그룹의 해밍 거리 값은 각각 16, 0, 32, 16이 된다.The Hamming distance values of each group of 32 bits are 16, 0, 32, and 16, respectively, according to the operation result.
이때, 설정된 비트 임계값이 2라고 가정하면 해밍 거리 값이 2보다 작은 0에 해당하는 32 비트가 FSM이 된다.In this case, assuming that the set bit threshold value is 2, 32 bits corresponding to 0 having a hamming distance value smaller than 2 become FSM.
따라서, 도 4에 나타낸 예에서 FSM의 값은 "0x4F9AA948" 이며, 위상은 90°임을 알 수 있다.Therefore, in the example shown in FIG. 4, the value of the FSM is “0x4F9AA948” and the phase is 90 °.
이와 같이 제어부(130)는 비트 임계값보다 작은 해밍 거리 값이 나타나면 FSM 검출을 성공한 것으로 판단하고, 그렇지 않은 경우에는 FSM 검출을 실패한 것으로 판단한다.As such, the
FSM 검출을 실패한 것으로 판단하는 경우, 입력 데이터 버퍼(110)로부터 FSM 검출에 실패한 입력 데이터 비트열에 대해 1 비트 뒤로 이동된 비트열을 XMM2 레지스터에 4번 연속 저장한다.If it is determined that the FSM detection has failed, the bit string shifted one bit back from the
본 발명의 실시예에 따르면, 128 비트의 XXM 레지스터를 사용하여 4개의 위상에 해당하는 FSM 비트열을 한번의 명령어 실행으로 입력 데이터와 비교하여 FSM을 검출한다. 그 결과, 산술적으로 SSE2를 적용하지 않은 경우에 비하여 4배의 빠른 속도로 FSM을 구할 수 있다.According to an embodiment of the present invention, an FSM bit string corresponding to four phases is compared with input data in one instruction by using a 128-bit XXM register to detect the FSM. As a result, FSM can be obtained four times faster than arithmetic-free SSE2.
한편, 패턴 서치(Pattern Search) 방법을 이용하여 FSM 검출의 속도를 높일 수 있다. Meanwhile, the speed of FSM detection may be increased by using a pattern search method.
도 6은 본 발명의 실시예에 따른 패턴 서치 과정을 나타낸 도면이다.6 is a view showing a pattern search process according to an embodiment of the present invention.
패턴 서치는 입력 데이터가 동일한 값으로 반복되는지 확인하는 방법이다. Pattern search is a method of checking whether input data is repeated with the same value.
위성으로부터 실제 데이터를 받지 않으면 프레임 동기화의 입력 데이터는 "00" 또는 "FF" 바이트 값이 된다. 이 경우에는 입력 데이터가 없는 것과 같으므로, 서치 상태에서 FSM을 찾을 필요가 없게 된다.If no actual data is received from the satellite, the input data of frame synchronization will be a "00" or "FF" byte value. In this case, there is no input data, so there is no need to find the FSM in the search state.
이와 같이 패턴 서치 방식에 따르면, 제2 레지스터(124)가 입력 데이터 4 바이트를 저장한 상태에서, 1 비트 시프트 한 후의 4 바이트가 저장된 입력 데이터와 동일한 경우, 제어부(130)는 위성으로부터 실제 데이터를 받지 않은 것으로 간주한다.As described above, according to the pattern search method, when the
그리고, 제어부(130)는 도 5와 같이 "1"에 해당하는 입력 데이터의 비트가 제2 레지스터(124)에 입력될 때부터 FSM을 검출하는 서치 상태로 이동한다.Then, as shown in FIG. 5, the
따라서, 위성으로부터 실제 위성 데이터가 전송된 후에 서치 상태로 이동하므로, 효율적으로 고속의 FSM 검출을 수행할 수 있다.Therefore, since the actual satellite data is transmitted from the satellite to the search state, high-speed FSM detection can be efficiently performed.
한편, 하드웨어 상에서 FSM 검출을 하는 동안 데이터의 손실되는 경우가 많은 바, 펜딩 버퍼(pending buffer)를 이용하면 데이터의 손실을 방지할 수 있다. On the other hand, since data is often lost during FSM detection on hardware, a pending buffer may be used to prevent data loss.
도 7은 본 발명의 실시예에 따른 펜딩 버퍼를 이용한 데이터 저장 과정을 나타낸 도면이다.7 is a diagram illustrating a data storage process using a pending buffer according to an embodiment of the present invention.
도 7에서 보는 바와 같이, 입력 데이터 버퍼(110)에는 입력 데이터가 프레임 형태로 저장된다. As shown in FIG. 7, the
여기서, 입력 데이터의 프레임에 대해서 FSM을 검출하여, 서치 상태(S)의 프레임이 발견되면, 별도의 펜딩 버퍼(115)에 복사하여 저장한다. Here, the FSM is detected with respect to the frame of the input data, and if a frame of the search state S is found, the FSM is copied and stored in a separate
마찬가지로, 이후의 프레임에 대하여 FSM이 검출되면, 검출된 프레임은 체크 상태(C)가 되며, 체크 상태(C)의 프레임을 펜딩 버퍼(115)에 복사하여 저장한다.Similarly, if the FSM is detected for a subsequent frame, the detected frame is placed in the checked state C, and the frame of the checked state C is copied to the pending
이와 같은 방법으로, 이후의 프레임에 대해 FSM을 검출한 뒤, 펜딩 버퍼(115)에 복사하여 저장시킨다. In this way, the FSM is detected for the subsequent frame, and then copied and stored in the pending
도 7은 입력 데이터 버퍼(110)에 입력된 서치 상태(S)의 프레임과 체크 상태(C)의 프레임이 복사되어 펜딩 버퍼(115)에 저장되어 있는 상태를 나타낸 것이며, 이후에 계속 입력 데이터가 프레임 단위로 입력 데이터 버퍼(110)로 입력된다고 가정한다. FIG. 7 illustrates a state in which the frame of the search state S and the frame of the check state C that are input to the
이와 같은 방법으로 사용자가 설정한 체크 카운트(Check Count)만큼 체크 상태(C)의 프레임과 록 상태(L)의 프레임이 펜딩(115) 버퍼에 저장될 수 있다.In this manner, the frame in the check state C and the frame in the lock state L may be stored in the pending
따라서, 펜딩 버퍼(115)에는 서치 상태(S)의 프레임, 복수의 체크 상태(C)의 프레임이 저장되고 이후 록(L) 상태에 도달하면 다음 처리단으로 전달되어 처리될 수 있기 때문에 입력 데이터의 손실을 최소화 할 수 있다.Therefore, the pending
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the preferred embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
도 1은 본 발명의 실시예에 따른 위성 데이터의 프레임 동기화의 처리 상태를 나타낸 도면이다. 1 is a diagram illustrating a processing state of frame synchronization of satellite data according to an embodiment of the present invention.
도 2는 SIMD의 데이터 처리 방식을 도식화한 도면이다.2 is a diagram illustrating a data processing method of a SIMD.
도 3은 본 발명의 실시예에 따른 프레임 동기화 장치의 구성을 나타낸 도면이다.3 is a diagram illustrating a configuration of a frame synchronization device according to an embodiment of the present invention.
도 4는 "1ACFFC1D"를 비트열로 나타낸 도면이다.Fig. 4 is a diagram showing " 1ACFFC1D " in a bit string.
도 5는 본 발명의 실시예에 따른 FSM 검출 과정에서 레지스터에 저장되는 비트열을 나타낸 예시도이다.5 is an exemplary diagram illustrating a bit string stored in a register during an FSM detection process according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 패턴 서치 과정을 나타낸 도면이다.6 is a view showing a pattern search process according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따른 펜딩 버퍼를 이용한 데이터 저장 과정을 나타낸 도면이다.7 is a diagram illustrating a data storage process using a pending buffer according to an embodiment of the present invention.
Claims (12)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020070121360A KR100919682B1 (en) | 2007-11-27 | 2007-11-27 | Frame Synchronization Device and Method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020070121360A KR100919682B1 (en) | 2007-11-27 | 2007-11-27 | Frame Synchronization Device and Method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20090054606A true KR20090054606A (en) | 2009-06-01 |
| KR100919682B1 KR100919682B1 (en) | 2009-10-06 |
Family
ID=40986525
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020070121360A Active KR100919682B1 (en) | 2007-11-27 | 2007-11-27 | Frame Synchronization Device and Method |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100919682B1 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100240018B1 (en) * | 1997-11-13 | 2000-01-15 | 김영환 | Frame Synchronization Detection Circuit in Wireless Asynchronous Transmission Mode System |
-
2007
- 2007-11-27 KR KR1020070121360A patent/KR100919682B1/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR100919682B1 (en) | 2009-10-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5187675A (en) | Maximum search circuit | |
| US11870459B2 (en) | Universal guessing random additive noise decoding (GRAND) decoder | |
| CN113645013B (en) | Bit error correction for wireless retransmission communication systems | |
| US8464145B2 (en) | Serial interface devices, systems and methods | |
| CN115567164B (en) | Pipeline forward error correction method and device for vector signaling code channel | |
| US4667327A (en) | Error corrector for a linear feedback shift register sequence | |
| US8868584B2 (en) | Compression pattern matching | |
| JP4907380B2 (en) | DATA GENERATION METHOD, DATA RESTORE METHOD, DATA GENERATION DEVICE, AND DATA RESTORE DEVICE | |
| TW200404424A (en) | Forward error correction system for wireless communications | |
| KR100919682B1 (en) | Frame Synchronization Device and Method | |
| KR101004384B1 (en) | Frame Synchronization Device and Method Using Circular Buffer | |
| US20030002669A1 (en) | Encoder and method for encoding data | |
| US7151812B2 (en) | Sample clock extracting circuit and baseband signal receiving circuit | |
| JPH0998093A (en) | Error correction decoding method | |
| CN101207467A (en) | Generation of cyclic redundancy check code as well as method and apparatus for sending and testing data sequence | |
| US20020146085A1 (en) | System and method for establishing word synchronization | |
| US10216567B1 (en) | Direct parity encoder | |
| US20040153945A1 (en) | Error correction circuit employing cyclic code | |
| US10374631B2 (en) | Look-ahead LDPC decoder | |
| US6658026B1 (en) | Method in connection with serial data transfer to recognize a fixed pattern | |
| CN119070830B (en) | A fast decoding method for RS(12,9) based on DMR standard | |
| KR950010919B1 (en) | Synchronization acquisition device and method thereof using shift and add of code | |
| RU2729509C1 (en) | Device for unpacking data | |
| US20200059506A1 (en) | Data transmission framing | |
| KR100234703B1 (en) | How to check for data errors |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20120719 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| FPAY | Annual fee payment |
Payment date: 20130710 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20140718 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| FPAY | Annual fee payment |
Payment date: 20160923 Year of fee payment: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |
|
| P14-X000 | Amendment of ip right document requested |
St.27 status event code: A-5-5-P10-P14-nap-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 13 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 14 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 15 |
|
| P14-X000 | Amendment of ip right document requested |
St.27 status event code: A-5-5-P10-P14-nap-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 16 |
|
| P14-X000 | Amendment of ip right document requested |
St.27 status event code: A-5-5-P10-P14-nap-X000 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 17 |