KR20010035813A - 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법 - Google Patents

시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법 Download PDF

Info

Publication number
KR20010035813A
KR20010035813A KR1019990042572A KR19990042572A KR20010035813A KR 20010035813 A KR20010035813 A KR 20010035813A KR 1019990042572 A KR1019990042572 A KR 1019990042572A KR 19990042572 A KR19990042572 A KR 19990042572A KR 20010035813 A KR20010035813 A KR 20010035813A
Authority
KR
South Korea
Prior art keywords
data
code
received
value
frame
Prior art date
Application number
KR1019990042572A
Other languages
English (en)
Other versions
KR100306875B1 (ko
Inventor
김기영
Original Assignee
윤광석
주식회사 휴니드테크놀러지스
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 윤광석, 주식회사 휴니드테크놀러지스 filed Critical 윤광석
Priority to KR1019990042572A priority Critical patent/KR100306875B1/ko
Publication of KR20010035813A publication Critical patent/KR20010035813A/ko
Application granted granted Critical
Publication of KR100306875B1 publication Critical patent/KR100306875B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7085Synchronisation aspects using a code tracking loop, e.g. a delay-locked loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2655Synchronisation arrangements
    • H04L27/2656Frame synchronisation, e.g. packet synchronisation, time division duplex [TDD] switching point detection or subframe synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 데이터 통신 시스템에서 데이터 프레임의 시작점 검출 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 데이터 통신 시스템에서 데이터 송수신 시 시퀀스 코드를 통하여 데이터 프레임의 시작점을 찾기 위한 데이터 프레임의 시작점 검출 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 데이터 통신 시스템에서 데이터 시작 프레임(SOD : Start of Data)을 예측할 수 있는 순차적인 시퀀스 코드들로 이루어지도록 하는 제 1 단계; 데이터 코드를 수신한 수신측 시스템은 수신된 데이터 코드의 시퀀스를 추적하여 데이터 시작 프레임의 일부를 확인하는 제 2 단계; 및 상기 수신측 시스템에서 데이터 코드가 수신될 때마다 카운트하여 상기 데이터 시작 프레임의 최종 데이터 코드에 해당하는 값을 확인한 후에 수신되는 데이터 코드를 데이터 프레임으로 판단하는 제 3 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 데이터 통신 시스템에 이용됨.

Description

시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법{METHOD FOR DETECTING START POINT OF DATA FRAME OVER SEQUENCE CODE}
본 발명은 데이터 통신 시스템에서 데이터 프레임의 시작점 검출 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 데이터 통신시에 전송로 상태의 악화로 데이터 통신 프로토콜의 시작 부분 중 일부가 분실되거나 손상되어도 데이터 프레임의 시작점을 찾을 수 있도록 한 데이터 프레임의 시작점 검출 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
도 1 은 일반적인 데이터 통신 시스템의 구성예시도이다.
데이터 통신은 도 1 과 같은 기본 구성도만 이루어지면 적용될 수 있다. 데이터 통신을 하기 위해서는 송신측과 수신측 사이에 규정된 프로토콜(Protocol)이 사용된다.
데이터 통신 시스템에는 송신측에 데이터 단말 장비(DTE : Data Terminal Equipment, 11)와 데이터회선 종단장치(DCE : Data Circuit terminating Equipment, 12)가 있고, 수신측에도 데이터 단말 장비(DTE, 14)와 데이터회선 종단장치(DCE, 13)가 있어 데이터 통신이 이루어지게 된다.
DTE(11, 14)로는 컴퓨터, 무선호출기, 핸드폰단말기 등이 있으며, DCE(12, 13)로는 모뎀 등이 있다.
DTE(11, 14)에는 각 모듈을 제어하는 중앙제어부와 롬(ROM), 램(RAM) 등의 메모리 모듈, 전원을 공급하는 전원 모듈, 수신된 정보(Information)를 처리하거나 송신할 정보(Information)를 편집하는 디스플레이 모듈 등으로 구성되어 진다.
송신측 DTE(11)에서 만들어진 데이터(DATA)는 송신측 DCE(12)를 통해 데이터 전송로(유선 또는 무선)를 거쳐 수신측 DCE(13)에서 수신되어지고, 수신측 DTE(14)에서 데이터(DATA)를 처리하게 된다.
도 2 는 일반적인 데이터 통신용 프로토콜의 일예시도이다.
데이터 통신을 위한 프로토콜(Protocol)은 도면에 도시된 바와 같이, 데이터 시작 프레임(SOD : Start Of Data, 201), 데이터 프레임(DATA, 202) 및 데이터 종료 프레임(EOD : End Of Data, 203)으로 이루어진다.
SOD(201)는 데이터 프레임(DATA, 202)의 시작을 알리기 위한 프레임이고, 데이터 프레임(DATA, 202)은 송신측과 수신측이 공유하고자 하는 정보(Information)이며, EOD(203)은 데이터 프레임(DATA, 202)의 끝을 알리는 프레임(Frame)이다.
도 2 에 도시한 바와 같은 프로토콜(Protocol)에 프리엠블(Preamble)과 부가정보들이 추가되거나 변환될 수 있다. 프리엠블(Preamble)은 SOD(201)에 포함되어 수신측에서 내부 클럭 동기화를 위한 기능과 함께 데이터 프레임(DATA, 202)의 시작을 알리는 기능을 담당하고, 부가정보는 데이터 프레임(DATA, 202)을 위한 부가적 정보 프레임(Frame)으로 수신자 주소, 송신자 주소, 정보의 길이 등으로 구성된다. 여러 데이터 통신에서 SOD(201)에 프리엠블(Preamble) 및 부가정보 등을 추가하여 프로토콜(Protocol)을 구성한다.
도 2 에 도시한 바와 같은 프로토롤(Protocol)은 송신측에서 송신시 돌발적 잡음(Impulse noise)인 버스트 에러(burst error)로 인해 전송 상태가 잠시동안 악화되어 SOD(201)의 일부가 분실되거나 손상될 수 있다.
종래에는 이렇게 전송로를 경유하는 사이에 분실되거나 손상된 SOD(201)를 수신하게 되면 수신측에서는 정확한 데이터 프레임(DATA, 202)의 시작을 찾지 못하게 되어 데이터 프레임(DATA, 202)을 정확히 수신하게 되어도 수신율이 현저히 낮아지게 되는 문제점이 있었다.
상기한 바와 같은 문제점에 대해 보다 상세히 설명하면 다음과 같다.
회선오차율이 높은 통신상에서 필요한 정보를 정확히 수신하기 위해서는 프리엠블(Preamble), 부가정보 프레임(frame) 및 구분문자(Delimiter) 등을 포함하여 이루어진 SOD(201)를 동기 및 수신을 위하여 전송하게 된다.
종래의 기술은 송신측에서 SOD(201)를 전송하고 수신측에서 SOD(201)를 탐지(Detect)하여 데이터 프레임(DATA, 202)을 수신하거나, 송신측에서 SOD(201)를 일정한 길이로 전송하고 수신측에서는 일정한 길이만큼 카운트(Count)를 한 후 데이터 프레임(DATA, 202)을 수신하였다.
그러나, 일시적인 버스트 에러(burst error)로 인해 데이터 프레임(DATA, 202)은 정확히 수신되었지만 SOD(201)의 코드(Code)가 분실되었거나 손실되었으면 수신측에서 데이터 프레임(DATA, 202)의 정확한 시작과 끝을 탐지하지 못하게 되어 오류없이 받은 데이터 프레임(DATA, 202)을 오류처리하게 되는 문제가 발생하였다.
이러한 문제를 해결하기 위하여 SOD(201)를 반복전송하게 되면 부가 데이터가 많이 증가될 뿐이고 근본적으로 해결되지 못하는 문제점이 있었다.
종래기술의 예를 들어보면 다음과 같다.
무선호출기의 동기신호 코드의 32비트 중 1비트의 오류가 발생하면 동기신호 검출오류로 판단하여 후속되는 데이터 신호의 검출이 불가능하였다.
이러한 점을 개선한 것이 32비트로 구성된 동기신호의 검출에서 동기신호 코드의 비트 에러 수가 미리 지정된 N개 이하이면 규정된 동기신호 코드가 정상적으로 검출된 것으로 인식하여 다음에 전송되는 데이터 신호의 검출이 가능하도록 한 것(LG정보통신 특허공개번호 특1995-010400)이다.
그러나, 이것은 버스트 에러(Burst error)에 상당히 취약하다. 즉 4800BPS(Bit Per Second)의 속도로 전송될 때 0.003초 동안의 짧은 단속으로 15비트에 해당하는 정보를 상실하므로 미리 지정된 N개 값이 커질 수밖에 없고, 이것은 수신된 데이터에 대한 신뢰성을 보장할 수 없을 뿐만 아니라 동기신호나 프리엠블로 된 SOD(201)의 분실이 있으면 구현 방법의 오류가 생기는 문제점이 있었다.
도 3 내지 도 5 는 기존의 기술로 인한 데이터 프레임(DATA, 202)의 잘못된 해석을 보여주고 있다.
도 3a 및 도 3b 는 수신된 데이터 프레임에 대한 잘못된 해석의 일예시도로서, 데이터 프레임(DATA, 202)은 정확히 수신되었으나 SOD(201)의 초기 데이터(data) 분실로 인해 생기는 잘못된 해석을 보여주고 있다.
도 3a 는 송신측에서 전송하는 송신프레임을 예시하고 있고, 도 3b 는 수신측에서 수신한 수신프레임을 예시하고 있다. 여기서, 포스트 프리엠블(PostPreamble)은 프리엠블(preamble)이 SOD(201)에 속해 프레임의 시작을 알리는 데 반하여 EOD(203)에 속하여 프레임의 종료를 알리게 된다.
첫번째와 두번째 코드를 분실하면 첫 프리엠블 코드를 3번째부터 탐지하게 되어 데이터 프레임(DATA, 202)을 프리엠블 코드로 인식하게 될 수 있다. 그러면 데이터 프레임(DATA, 202)의 코드 2개를 손실을 보게 된다. 또한, 비트 오류 발생수가 미리 지정된 N개 이하보다 커질 수밖에 없다.
또다른 종래의 기술(IBM Publication number 0 505 657 A1 Preamble recognition and synchronization detection in partial-response systems)은 신호처리에 초점을 맞춘 기술로서 이 기술은 수신되는 비트를 최우판정법(Maximum-likelihood)에 의해 오류 비트를 복호하는 기술이다. 이 기술은 수신되는 오류 비트들을 확률적으로 가능성이 있는 비트로 복호하는 방법이다.
그러나, 이 기술의 문제점은 특정한 하드웨어 구현이 이루어져야 하고, 미리 데이터 전송로의 신호 수신 확률을 알고 있어야 한다. 이것은 데이터 전송로의 길이가 장거리이며 무선일 경우 신호 수신 확률은 매 초마다 달라지므로 유선이거나 단거리 통신에서 가능하며 확률을 넘어서는 오류 비트들이 발생하면 취약하다. 이러한 확률을 넘어서는 비트들을 복호하면 다음에 들어오는 비트도 오류 비트로 인식하게 된다.
버스트 에러(burst error)로 인해 잘못된 비트들을 그대로 복호하여 이 기술에 따라 처리하면 정확한 프리엠블을 탐지하지 못하게 된다. 같은 이유로 프리엠블 종료플레그(end-of-preamble-flag)를 탐지하지 못하면 데이터 프레임(DATA, 202)의 시작점을 찾지 못하게 된다.
도 4a 및 도 4b 는 수신된 데이터 프레임에 대한 잘못된 해석의 다른 예시도로서, 데이터 프레임(DATA, 202)은 정확히 수신되었으나, 프리엠블 프레임의 중간 부분에 데이터(data)의 오류가 생기는 경우이다.
이 경우에 수신측에서는 두 가지 해석이 가능한데, 첫째로 첫 프리엠블 코드를 탐지하면 5번째 코드부터 데이터 프레임(DATA, 202)으로 인식하게 되어 6개의 불필요한 코드를 데이터 프레임(DATA, 202)으로 처리한다. 그렇지 않고 8번째 프리엠블 코드를 탐지하면 데이터 프레임(DATA, 202)의 코드를 프리엠블 코드로 인식하게 될 수 있어 데이터 프레임(DATA, 202)의 코드 7개를 손실하게 된다.
도 5a 및 도 5b 는 수신된 정보데이터 프레임에 대한 잘못된 해석의 또 다른 예시도이다.
데이터 프레임(DATA, 202)은 정확히 수신되었으나, 프리엠블 프레임의 마지막 부분에 데이터(data)의 오류가 생기는 경우이다.
첫 프리엠블 코드를 탐지하고, 7번째 코드부터 데이터 프레임(DATA, 202) 코드로 인식하게 되어 3개의 불필요한 코드를 데이터 프레임(DATA)의 데이터로 처리하게 된다.
상기한 바와 같이, 데이터 통신 시에 기존에 사용되던 방법만으로는 무선 통신상의 여러 오류 원인(신호의 찌그러짐, 감쇄 손실, 대기 자계의 영향)들에 의해 발생되는 에러로 인한 SOD(Start Of Data) 프레임의 분실 및 훼손으로 정확한 정보데이터 프레임(DATA)을 수신하지 못하게 되는 문제점이 있었다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 데이터 통신 시스템에서 데이터 송수신 시 시퀀스 코드를 통하여 데이터 프레임의 시작점을 찾기 위한 데이터 프레임의 시작점 검출 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 일반적인 데이터 통신 시스템의 구성예시도.
도 2 는 일반적인 데이터 통신용 프로토콜의 일예시도.
도 3a 및 도 3b 는 수신된 데이터 프레임에 대한 잘못된 해석의 일예시도.
도 4a 및 도 4b 는 수신된 데이터 프레임에 대한 잘못된 해석의 다른 예시도.
도 5a 및 도 5b 는 수신된 정보데이터 프레임에 대한 잘못된 해석의 또 다른 예시도.
도 6a 및 도 6b 는 본 발명이 적용되는 데이터 송수신 프로토콜의 일예시도.
도 7 은 본 발명이 적용되는 프리엠블의 일예시도.
도 8 은 본 발명에 따른 시퀀스 코드를 통한 데이터 프레임의 시작을 찾는 방법에 대한 일실시예 흐름도.
도 9 는 본 발명을 이용하여 데이터 전송로의 상태가 좋은 경우의 데이터 시작을 찾는 일예시도.
도 10a 및 도 10b 는 본 발명을 이용하여 프리엠블 초기 데이터의 오류가 생기는 경우의 데이터 시작을 찾는 일예시도.
도 11a 및 도 11b 는 본 발명을 이용하여 프리엠블 도중에 오류가 생기는 경우의 데이터 시작을 찾는 일예시도.
도 12a 및 도 12b 는 본 발명을 이용하여 프리엠블 마지막에 오류가 생기는 경우의 데이터 시작을 찾는 일예시도.
도 13a 및 도 13b 는 본 발명을 이용하여 프리엠블 프레임의 첫 동기를 하드웨어적으로 탐지하지 못한 경우의 데이터 시작을 찾는 일예시도.
*도면의 주요 부분에 대한 부호의 설명
11 : 송신측 데이터 단말장치 12 : 송신측 데이터 회선 종단장치
13 : 수신측 데이터 회선 종단장치 14 : 수신측 데이터 단말장비
상기 목적을 달성하기 위한 본 발명은, 데이터 통신 시스템에 적용되는 데이터 프레임(DATA)의 시작점 검출 방법에 있어서, 상기 데이터 통신 시스템에서 데이터 시작 프레임(SOD : Start of Data)을 예측할 수 있는 순차적인 시퀀스 코드들로 이루어지도록 하는 제 1 단계; 데이터 코드를 수신한 수신측 시스템은 수신된 데이터 코드의 시퀀스를 추적하여 데이터 시작 프레임의 일부를 확인하는 제 2 단계; 및 상기 수신측 시스템에서 데이터 코드가 수신될 때마다 카운트하여 상기 데이터 시작 프레임의 최종 데이터 코드에 해당하는 값을 확인한 후에 수신되는 데이터 코드를 데이터 프레임으로 판단하는 제 3 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명은, 대용량 프로세서를 구비한 데이터 통신 시스템에, 상기 데이터 통신 시스템에서 데이터 시작 프레임(SOD : Start of Data)을 예측할 수 있는 순차적인 시퀀스 코드들로 이루어지도록 하는 제 1 기능; 데이터 코드를 수신한 수신측 시스템은 수신된 데이터 코드의 시퀀스를 추적하여 데이터 시작 프레임의 일부를 확인하는 제 2 기능; 및 상기 수신측 시스템에서 데이터 코드가 수신될 때마다 카운트하여 상기 데이터 시작 프레임의 최종 데이터 코드에 해당하는 값을 확인한 후에 수신되는 데이터 코드를 데이터 프레임으로 판단하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
기존의 데이터 시작 프레임(SOD)의 탐지 기술이 단순한 SOD의 코드를 찾는데 초점이 맞추어진 기술이어서 데이터 프레임(DATA)이 정확히 수신되어도 돌발적 잡음(Impulse noise)인 버스트 에러(burst error)로 인하여 SOD의 코드가 분실 또는 손실이 있으면 데이터 프레임(DATA)을 올바르게 수신하지 못한다는 단점이 있었다. 그러나, 본 발명은 SOD를 시퀀스 코드(Sequence Code)로 만들어 이를 이용 및 조정하여 버스트 에러(burst error)로 인한 SOD 코드의 분실 및 손실이 있어도 시퀀스 코드(Sequence Code)의 일부분만으로도 SOD의 끝을 찾아내어 데이터 프레임(DATA)의 시작을 정확히 탐지하는 기술이다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.
도 6a 및 도 6b 는 본 발명이 적용되는 데이터 송수신 프로토콜의 일예시도이다.
도 6a 의 프로토콜(Protocol)은 부가정보가 필요없는 통신에서 사용되어 질 때의 일반적인 프로토콜의 예이고 도 6b 는 부가정보가 필요한 통신에서 구성되어 지는 프로토콜(Protocol)이다. 도 6a 와 도 6b 는 프로토콜(Protocol)에서 데이터 프레임(DATA)의 시작을 찾는 방법은 프리엠블(Preamble)을 탐지하는 것과 구분문자(Delimiter)를 탐지하는 것이 동일하므로 여기서는 도 6a의 프로토콜을 사용한 상세한 설명을 하겠다.
일반적으로 프리엠블(Preamble)은 전송매체에 연결되어 있는 수신측 모든 회로를 안정한 상태로 만들며 하드웨어의 전송 클럭과 비트 동기화를 맞추기 위하여 사용되고 소프트웨어적으로는 데이터 프레임(DATA)의 시작점을 검출한다.
본 발명에서는 소프트웨어적으로 데이터 프레임(DATA)의 시작점을 검출하는 것에 초점을 맞추고 있다. 즉 송신시 데이터 프레임(DATA)의 데이터 코드(DATA Code)를 수신하기 전에 프리엠블(Preamble)에서 버스트 에러(Burst error)로 프리엠블 코드의 일부가 손실 또는 훼손되고, 데이터 프레임(DATA)의 코드에는 손실 또는 훼손이 없더라도 프리엠블 코드의 손실 또는 훼손으로 데이터 프레임(DATA)의 시작점을 검출하지 못하면 수신측에서 잘못된 데이터를 데이터 프레임(DATA)의 내용으로 알고 수신하게 된다. 본 발명에서는 이러한 오류로 인하여 실질적 정보를 잘못 판단하는 것을 방지하는 기술이다. 따라서 하드웨어적으로 추가되는 기술이 없고 일반적인 데이터 통신 시스템의 구성으로 충분히 구현이 가능하다.
도 7 은 본 발명이 적용되는 프리엠블의 일예시도이다.
프리엠블은 각각의 프리엠블 코드(Preamble Code, 73)로 이루어지는데, 프리엠블 코드(Preamble Code, 73)는 상위 니블(Nibble)(71)과 하위 니블(72)로 이루어진다. 프리엠블 코드(Preamble Code, 73)는 1바이트(Byte)로 되어있고, 상위 니블(71)과 하위 니블(72)은 각 4비트로 이루어진다. 상위 니블(71)은 4비트의 특정값으로 이루어지고, 하위 니블(72)은 순차적인 인덱스(Index) 값으로 정의된다.
본 발명에서 예로 드는 프로토콜(Protocol)에서 프리엠블(Preamble)의 구성은 5개 이상의 코드(code)로 구성된다. 프리엠블 코드(Preamble Code)의 개수는 데이터 전송로의 채널 상태를 고려하여 정할 수 있다.
프리엠블 코드(Preamble Code, 73)의 상위 니블(71)은 α로 일정하게 구성되며, 하위 니블(72)은 β+i (1≤i ≤ψ)의 시퀀스로 구성된다.
송신측 DTE(11)에서 도 7 와 같이 프리엠블 코드(Preamble Code)와 데이터 프레임(DATA)을 만든 후 송신측 DCE(12)를 통해 데이터 전송로를 거쳐 수신측 DCE(13)를 통해 수신측의 DTE(14)에서 수신하게 된다.
도 8 은 본 발명에 따른 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법에 대한 일실시예 흐름도이다.
본 발명을 설명하면 다음과 같다. 우선 수신측 DTE(14)에서는 송신측 DTE(11)에서 송신한 1바이트의 데이터 코드(data code)를 수신한다(801). 수신된 데이터 코드(data code)가 프리엠블(Preamble)에 포함되는지를 확인한다. 이는 우선 수신된 데이터 코드(data code)의 상위 니블(nibble)(데이터 코드의 상위 4bit)이 α와 같고, ω가 δ와 같은지를 조사한다(802). 여기서, α는 프리엠블 코드(73)의 상위 니블(71)이 가지는 일정한 값을 말하며, ω는 정상적인 프리엠블 코드(73)가 수신되었을 때 카운트되는 값으로 초기값은 0이다.
δ는 임의의 값으로 ω값을 고정시키기 위해 사용된다. 단, 프리엠블 코드를 수신하면서 ω값으로 사용될 수 있는 값은 δ값으로 쓰일 수 없다. 즉, ω값이 0에서 시작하여 8까지 변할 수 있는데, δ값이 6이라면 ω는 7이나 8이 될 수 없을 뿐만 아니라 데이터 프레임(DATA)의 시작을 찾는 것이 올바르게 진행되지 못한다.
수신된 데이터 코드(data code)의 상위 니블(71)이 α와 같고, ω는 δ가 아닌지를 조사한 결과, 상위 니블(71)이 α와 같고, ω는 δ가 아니면를 1증가시킨다(803). 여기서,는 수신 코드의 인덱스를 조정하기 위한 값으로, 프리엠블 코드가 취해야 할 값을 나타내며, 그 초기값은 프리엠블의 상위 니블과 하위 니블을 나타내는 αβ로 1바이트(Byte)를 이룬다.
프리엠블 시퀀스 코드(Preamble Sequence Code)에 포함되어지는 수신 데이터 코드(data code)가 정확한 인덱스(index)인지를 판단하기 위해,와 수신 데이터 코드가 같은지를 확인한다(804). 확인한 결과 같으면 ω를 1증가시키고(805), 같지 않으면 수신 데이터 코드(code)를에 입력하여 인덱스(index)를 조정한다(806).
그 다음으로 φ를 사용할지 판단하기 위해, ω가 ε과 같은지를 조사한다(807). 조사 결과, ω와 ε의 값이 같으면 φ에를 대입하고 ω에 δ를 대입하고(808), 같지 않으면 다음 과정으로 넘어간다.
또한, 수신된 데이터 코드(data code)의 상위 니블(nibble)이 α와 같고, ω가 δ와 같은지를 조사한 결과, 상위 니블(nibble)이 α와 같지 않거나, ω가 δ와 같으면, ω가 ε과 같은지를 조사하는 과정(807)부터 수행한다.
여기서, ε은 예측된 값과 실제 도착한 값이 같아 정상적으로 도달한 프리엠블 코드의 개수에 대해 미리 정한 값으로 데이터 전송로의 잡음 발생확률에 따라 정할 수 있으며, φ는 프리엠블 코드가 ε개수만큼 정상 도달한 후 데이터 코드(data code)가 도달하면 증가되는 값이다.
φ로 프리엠블 시퀀스 코드(Preamble Sequence index)를 조정하기 위해, ω값이 δ와 일치하는지를 검사한다(809). 검사 결과, ω값이 δ와 일치하면 φ를 1증가시킨다(810). 검사 결과, ω값이 δ와 일치하지 않으면 다음 과정으로 넘어간다.
마지막으로 프리엠블(Preamble)의 끝점을 탐지하기 위해, φ가 αβ+ψ+1과 같은지 비교하여(811) 프리엠블(Preamble)의 끝점을 찾는다. 여기서, ψ는 프리엠블 코드의 개수를 나타낸다.
φ가 αβ+ψ+1과 같은지 비교한 결과, φ가 αβ+ψ+1과 같은 값이 아니면 다음의 데이터 코드(data code)에 대해 수신하는 과정(801)부터 반복 수행한다.
φ가 αβ+ψ+1과 같은지 비교한 결과, φ가 αβ+ψ+1과 같은 값이면 데이터 프레임(DATA)의 시작점을 검출한 것으로 판단되어 이후 데이터 프레임(DATA)의 데이터 코드(data code)를 수신하게 된다(812).
전송매체의 채널 상태에 따라 ε을 변경할 수 있으며 다음의 예는 ε을 4로 정의하여 일시적인 버스트 에러(burst error)로 인하여 프리엠블 코드(Preamble Code)가 분실되거나 손실되었을 때 본 발명에 따라 데이터 프레임(DATA)의 정확한 시작점을 탐지하여 데이터를 수신하는 것을 설명한다.
도 9 는 본 발명을 이용하여 데이터 전송로의 상태가 좋은 경우에 데이터 프레임(DATA)의 시작점을 검출하는 일예시도이다.
여기서, δ값은 ω의 카운트 범위 밖에 속하는 임의의 값이므로 -1로 하고, ω의 초기값은 0이다.
도 9 의 첫번째 데이터 코드인 ″αβ+1″이 수신된다(801).
수신된 ″αβ+1″의 상위 니블(α)과 수신측에서 예측하고 있는 프리엠블 코드(Preamble code)의 상위 니블(α)이 같고, ω의 값인 ″0″이 δ의 값인 ″-1″과 같지 않으므로값인 ″αβ″를 ″αβ+1″로 증가시킨다(802, 803).
값인 ″αβ+1″과 수신 데이터 코드(″αβ+1″)가 일치하므로 ω값을 ″0″에서 ″1″로 증가시킨다(804, 805).
현재 ″1″인 ω값과 ε값인 ″4″가 일치할 때까지 상기한 801 과정부터 805 과정이 반복 수행되고, ω값과 ε값이 일치되어 질 때의 값은 ″αβ+4″, 수신 데이터 코드도 ″αβ+4″ 그리고, ω의 값은 ″4″가 된다. 이때 φ에의 값을 대입하고, ω에 δ의 값인 ″-1″을 대입한다. 그러면 φ는 ″αβ+4″가 되고 ω는 ″-1″이 된다(807, 808).
이후 수신된 데이터 코드에 대해서는 ω와 δ가 ″-1″로 일치하므로 수신된 데이터 코드에 상관없이 φ를 증가시킨다(809, 810).
φ값이 마지막 시퀀스 프리엠블 코드(Sequence Preamble Code)값인 ″αβ+ψ″에 1을 더한 값과 일치할 때까지 전체 과정을 반복 수행하면서 φ값을 증가시키게 된다.
마지막 시퀀스 프리엠블 코드(Sequence Preamble Code값인 ″αβ+ψ″가 수신되어지면 φ값은 ″αβ+ψ+1″이 증가되고, φ와 ″αβ+ψ+1″이 일치하므로 다음 수신되는 데이터 코드(data code)들을 데이터 프레임(DATA)의 데이터로 처리한다.
도 10a 및 도 10b 는 본 발명을 이용하여 프리엠블 초기 데이터의 오류가 생기는 경우의 데이터 시작점을 검출하는 일예시도이다.
도 10a 는 송신 데이터 프레임을 나타내고, 도 10b 는 수신 데이터 프레임을 나타내며, α = 7, β = 0, ψ = A로 프리엠블 코드를 정의한다.
″0x34″가 수신되면 만족하는 과정이 없으므로, 만족하는 코드가 나올때까지 다음 코드인 ″0x56″, ″0x45″를 차례로 수신한 후, 수신 데이터 코드(data code)의 상위 니블(nibble)이 0x7이 되는 ″0x74″ 코드를 수신한 후의 초기값인 ″0x70″을 ″0x71″로 증가시킨다(801, 802, 803).
수신측에서 예상하고 있는 수신 프리엠블 코드인값 ″0x71″과 실제 수신된 데이터 코드 ″0x74″가 일치하지 않으므로에 수신 데이터 코드 ″0x74″를 대입한다(804, 806).
807, 809, 811의 판단 과정들을 만족하지 않으므로 그 다음으로 데이터 코드 ″0x75″를 수신한다(801).
수신 데이터 코드 ″0x75″의 상위 니블값과 수신측에서 예상하고 있는 상위 니블값(α)이 ″7″로 같으므로값인 ″0x74″를 ″0x75″로 증가시킨다(802, 803).
값 ″0x75″와 수신 코드 ″0x75″가 일치하므로 ω값을 ″0″에서 ″1″로 증가시킨다(804, 805).
수신 데이터 코드 ″0x75″도 807, 809, 811의 판단 과정들을 만족하지 않으므로 다시 다음 데이터 코드를 수신하고 ω가 ε과 같은 값을 가지는지를 판단하는 과정(807)이 만족할 때까지 반복 수행한다.
ω의 값이 ε값과 같아질 때까지의 수신 데이터 코드,값 및 ω값들을 표로 나타내면 다음의 [표 1]과 같다.
수신 데이터 코드 0x75 0x76 0x77
0x75 0x76 0x77
ω 2 3 4
[표 1]에서와 같이 수신 데이터 코드가 ″0x77″,값이 ″0x77″, ω값이 ″4″가 되면 초기에 주어진 ε값은 ″4″이므로, ω가 ε과 같은 값을 가지는지를 판단하는 과정을 만족하게 되어 φ값으로 ″0x77″을 대입하고, ω에 δ를 대입한다(807, 808).
ω와 δ가 일치하는지를 확인한 결과, ω와 δ가 일치하므로 φ를 증가시킨다(809, 810).
데이터 코드가 수신됨에 따라 카운트되는 φ의 값과 수신측에서 알고 있는 프리엠블 코드의 마지막 값인 ″0x7A″에 1을 더한 값이 일치할 때까지 수신 데이터 코드에 대한 알고리즘을 반복 수행되어지는데 이때에는 802, 804, 807 과정의 판단 조건들을 만족하지 않으므로 φ만 증가된다.
이에 대해 표로 나타내면 다음의 [표 2]와 같다.
수신 데이터 코드 0x78 0x79 0x7A
φ 0x79 0x7A 0x7B
φ값인 ″0x7B″와 마지막 시퀀스 프리엠블 코드(Sequence Preamble Code)인 ″0x7A″에 1을 더한 값이 일치하게 되어 다음 수신되는 데이터 코드들을 데이터 프레임(DATA)의 데이터로 처리한다.
도 11a 및 도 11b 는 본 발명을 이용하여 프리엠블 도중에 오류가 생기는 경우의 데이터 시작점을 검출하는 일예시도이다.
도 11a 는 송신 데이터 프레임을 나타내고, 도 11b 는 수신 데이터 프레임을 나타내며, α = 7, β = 0, ψ = A로 프리엠블 코드를 정의한다.
수신측에서 ″0x71″이 수신되고 각 과정을 거쳐 아래의 [표 3]과 같이 ω와의 값이 변하면서 오류 데이터 코드인 ″0x71″을 수신하게 되면 다시를 조정하게 된다.
수신 데이터 코드 0x71 0x72 0x73 0x71
(803과정) 0x71 0x72 0x73 0x74
ω(805과정)(806과정) 1 2 3 0x71
5번째 수신 코드 ″0x34″, 6번째 수신 코드 ″0x21″은 본 발명의 알고리즘에서 처리되어 값의 변화를 주지 않고 패스되므로, ω와의 값은 그대로이다.
7번째 수신 코드 ″0x77″, 8번째 수신 코드 ″0x78″을 수신하면 다음의 [표 4]와 같이 ω와는 변하고, 이것은 ω가 ε과 같은 값을 가지는지를 판단하는 과정(807)을 만족시키게 된다.
수신 데이터 코드 0x77 0x78
(803과정) 0x72 0x78
ω(805과정)(806과정) -0x77 4-
ω와 ε이 일치하므로 φ에값인 ″0x78″을 대입하고, ω에 δ를 대입하게 된다.
ω와 δ의 값이 일치하므로, 데이터가 수신되면 φ를 증가시킨다.
φ와 프리엠블 코드의 마지막 값인 ″0x7A″에 1을 더한 값이 일치할 때까지 802, 804, 807 과정의 조건을 만족하지 않으므로 φ만 증가된다.
이를 표로 나타내면 다음과 같다.
수신 데이터 코드 0x79 0x7A
φ 0x7A 0x7B
φ의 값인 ″0x7B″와 마지막 시퀀스 프리엠블 코드(Sequence Preamble Code)인 ″0x7A″에 1을 더한 값이 일치하게 되어 그 다음에 수신되는 데이터 코드들은 데이터 프레임의 데이터로 처리한다.
도 12a 및 도 12b 는 본 발명을 이용하여 프리엠블 마지막에 오류가 생기는 경우의 데이터 시작점을 검출하는 일예시도이다.
도 12a 는 송신 데이터 프레임을 나타내고, 도 12b 는 수신 데이터 프레임을 나타내며, α = 7, β = 0, ψ = A로 프리엠블 코드를 정의한다.
데이터 코드 ″0x74″를 수신할 때까지 본 알고리즘의 적용으로 아래와 같이와 ω가 변하여 ω와 ε이 일치하므로 φ에를 대입하고 ω에 δ를 대입한다. 이는 다음의 [표 6]에서 설명되고 있다.
수신 데이터 코드 0x71 0x72 0x73 0x71
(803과정) 0x71 0x72 0x73 0x71
ω(805과정)(806과정) 1- 2- 3- 4-
이후 수신되는 데이터 코드에 대하여는 ω와 δ가 일치하므로 φ를 증가시킨다.
φ와 프리엠블 코드의 마지막 값인 ″0x7A″에 1을 더한 값이 일치할 때까지는 802, 804, 807 과정의 조건을 만족하지 않으므로 φ만 증가된다. 프리엠블 프레임(Preamble Frame)의 마지막에 데이터 오류가 생기는 경우는 문제가 되지 않는다.
φ값인 ″0x7B″와 마지막 시퀀스 프리엠블 코드(Sequence Preamble Code)에 1을 더한 값인 ″0x7B″가 일치하면 그 다음에 수신되는 데이터 코드들은 데이터 프레임의 데이터로 처리한다.
도 13a 및 도 13b 는 본 발명을 이용하여 프리엠블 프레임의 첫 동기를 하드웨어적으로 탐지하지 못한 경우의 데이터 시작점을 검출하는 일예시도이다.
도 13a 는 송신 데이터 프레임을 나타내고, 도 13b 는 수신 데이터 프레임을 나타내며, α = 7, β = 0, ψ = A로 프리엠블 코드를 정의한다.
하드웨어적으로 초기 동기신호를 탐지하지 못하여 송신 코드인 ″0x71″에서 ″0x73″까지를 수신하지 못하였더라도 도 10의 프리엠블 초기 데이터의 오류가 생기는 경우와 동일한 방식으로 데이터 프레임의 처음을 탐지할 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, SOD를 시퀀스 코드(Sequence Code)로 만들어 이를 이용 및 조정하여 버스트 에러(burst error)로 인한 SOD 코드의 분실 및 손실이 있어도 SOD의 끝점을 정확히 찾아내어 데이터 프레임의 시작점을 탐지할 수 있는 기술로서, 하드웨어적으로 처리가 어려운 돌발적 잡음(Impulse noise)인 버스트 에러(burst error)를 소프트웨어적으로 처리하여 수신율을 향상시킬 수 있으며, 하드웨어적 변경없이도 기존의 여러 데이터 통신장비에 적용하여 수신된 데이터 코드에서 데이터 프레임에 해당하는 부분을 찾아낼 수 있는 효과가 있다.

Claims (5)

  1. 데이터 통신 시스템에 적용되는 데이터 프레임(DATA)의 시작점 검출 방법에 있어서,
    상기 데이터 통신 시스템에서 데이터 시작 프레임(SOD : Start of Data)을 예측할 수 있는 순차적인 시퀀스 코드들로 이루어지도록 하는 제 1 단계;
    데이터 코드를 수신한 수신측 시스템은 수신된 데이터 코드의 시퀀스를 추적하여 데이터 시작 프레임의 일부를 확인하는 제 2 단계; 및
    상기 수신측 시스템에서 데이터 코드가 수신될 때마다 카운트하여 상기 데이터 시작 프레임의 최종 데이터 코드에 해당하는 값을 확인한 후에 수신되는 데이터 코드를 데이터 프레임으로 판단하는 제 3 단계
    를 포함하는 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법.
  2. 제 1 항에 있어서,
    상기 예측할 수 있는 순차적인 시퀀스 코드는,
    상기 코드의 상위 부분은 일정한 소정값으로 되어 있고, 하위 부분은 순차적으로 변화하는 값으로 되어 있어 예측할 수 있는 코드인 것을 특징으로 하는 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법.
  3. 제 1 항에 있어서,
    상기 제 2 단계는,
    상기 수신측 시스템에서 수신된 데이터 코드의 상위 부분이 규정된 소정값을 가지는지를 확인하는 제 4 단계;
    상기 제 4 단계의 확인 결과, 규정된 상기 소정값을 가지지 않으면 다음의 수신 데이터 코드에 대해 상기 제 4 단계부터 반복 수행하는 제 5 단계;
    상기 제 4 단계의 확인 결과, 규정된 상기 소정값을 가지면 이전에 예측된 데이터 코드를 바탕으로 수신측 시스템에서 예측된 데이터 코드와 상기 수신된 데이터 코드가 일치하는지를 판단하는 제 6 단계;
    상기 제 6 단계의 판단 결과, 일치하지 않으면 다음에 수신될 데이터 코드의 예측값을 상기 수신 데이터 코드를 바탕으로 하도록 하여 상기 제 4 단계부터 반복 수행하는 제 7 단계; 및
    상기 제 6 단계의 판단 결과, 일치하면 올바르게 수신된 데이터 시작 프레임의 데이터 코드의 개수를 증가시켜 올바르게 수신된 상기 데이터 코드의 개수가 소정 개수만큼 되었는지를 확인하는 제 8 단계
    를 포함하는 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 제 3 단계는,
    데이터 시작 프레임의 데이터 코드를 수신한 수신측 시스템은 수신된 데이터 코드의 시퀀스를 추적하여 데이터 시작 프레임의 일부를 찾았으면 수신 데이터 코드의 예측값이 상기 수신측 시스템에서 예측된 최종값과 일치하는지를 검사하는 제 9 단계;
    상기 제 9 단계의 검사 결과, 상기 수신 데이터 코드의 예측값이 상기 최종값과 일치하지 않으면 상기 수신측 시스템에서 새로운 수신 데이터 코드를 받아 상기 수신 데이터 코드의 예측값을 순차적으로 변경시켜 상기 제 9 단계부터 반복 수행하는 제 10 단계; 및
    상기 제 9 단계의 검사 결과, 상기 수신 데이터 코드의 예측값이 상기 최종값과 일치하면 이후 수신되는 데이터 코드는 데이터 프레임의 코드로 판단하는 제 11 단계
    를 포함하는 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법.
  5. 대용량 프로세서를 구비한 데이터 통신 시스템에,
    상기 데이터 통신 시스템에서 데이터 시작 프레임(SOD : Start of Data)을 예측할 수 있는 순차적인 시퀀스 코드들로 이루어지도록 하는 제 1 기능;
    데이터 코드를 수신한 수신측 시스템은 수신된 데이터 코드의 시퀀스를 추적하여 데이터 시작 프레임의 일부를 확인하는 제 2 기능; 및
    상기 수신측 시스템에서 데이터 코드가 수신될 때마다 카운트하여 상기 데이터 시작 프레임의 최종 데이터 코드에 해당하는 값을 확인한 후에 수신되는 데이터 코드를 데이터 프레임으로 판단하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019990042572A 1999-10-04 1999-10-04 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법 KR100306875B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990042572A KR100306875B1 (ko) 1999-10-04 1999-10-04 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990042572A KR100306875B1 (ko) 1999-10-04 1999-10-04 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법

Publications (2)

Publication Number Publication Date
KR20010035813A true KR20010035813A (ko) 2001-05-07
KR100306875B1 KR100306875B1 (ko) 2001-11-02

Family

ID=19613819

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990042572A KR100306875B1 (ko) 1999-10-04 1999-10-04 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법

Country Status (1)

Country Link
KR (1) KR100306875B1 (ko)

Also Published As

Publication number Publication date
KR100306875B1 (ko) 2001-11-02

Similar Documents

Publication Publication Date Title
US7688864B2 (en) Dynamic preamble detection
US7890840B2 (en) Enhancing the Ethernet FEC state machine to strengthen correlator performance
US5124991A (en) Error correction for infrared data communication
JP3553547B2 (ja) 移動通信システムにおけるデータレート検出装置及び方法
WO1996041439A1 (en) Standby power saving in mobile phones
US8102857B2 (en) System and method for processing data and control messages in a communication system
US8539316B2 (en) Method and device for synchronizing reception of data packets
WO1988001458A1 (en) Modem and data communication system
US5675591A (en) Reverse checksum method for telecommunication systems
KR100306875B1 (ko) 시퀀스 코드를 통한 데이터 프레임의 시작점 검출 방법
US5428611A (en) Strong framing protocol for HDLC and other run-length codes
US6625223B1 (en) Method and apparatus for encoding, transmitting and decoding digital data
US5784388A (en) Methods and apparatus for decoding control signals in dispatch trunked radio system
US11469855B2 (en) Methods and systems for transmitting data payloads
CN210442508U (zh) 空管雷达转换设备
US8045459B2 (en) Packet processing method for wireless communications
US6839392B1 (en) Methods and apparatus for adaptive mimic rejection
CN116192998B (zh) 一种解码功率传输协议信息包的方法、装置及设备
JP3419367B2 (ja) ユニークワード検出回路及びユニークワード検出方法
JP2001258072A (ja) 情報通信システム
JP2004328434A (ja) パケット通信方式および装置
KR20050072438A (ko) 무선 통신 장치
KR100778876B1 (ko) 자동 보드 레이트 검출 장치 및 검출 방법
GB2389492A (en) A transmitter which combines a time slot identifier with a CRC value, and a receiver which extracts the identifier
US6771592B1 (en) Voice and data wireless communication system with improved error recovery

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090814

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee