KR101594833B1 - 데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법 - Google Patents

데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법 Download PDF

Info

Publication number
KR101594833B1
KR101594833B1 KR1020140054899A KR20140054899A KR101594833B1 KR 101594833 B1 KR101594833 B1 KR 101594833B1 KR 1020140054899 A KR1020140054899 A KR 1020140054899A KR 20140054899 A KR20140054899 A KR 20140054899A KR 101594833 B1 KR101594833 B1 KR 101594833B1
Authority
KR
South Korea
Prior art keywords
sequence
bit
data stream
stream
repeated
Prior art date
Application number
KR1020140054899A
Other languages
English (en)
Other versions
KR20150128095A (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 KR1020140054899A priority Critical patent/KR101594833B1/ko
Publication of KR20150128095A publication Critical patent/KR20150128095A/ko
Application granted granted Critical
Publication of KR101594833B1 publication Critical patent/KR101594833B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter

Landscapes

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

Abstract

본 발명은, 데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법에 관한 것으로서, 더욱 상세하게는 데이터 스트림에서 프레임 동기를 맞춰주기 위하여, 데이터 스트림의 비트열을 그룹핑하여 복수의 시퀀스를 생성한 후 상기 시퀀스 중 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출하여 비트배열을 생성하고 상기 비트배열에 대한 자기상관함수를 이용하여 프레임 길이를 도출하고 도출된 프레임 길이를 이용하여 동기 패턴 발생 빈도 수를 계산하여 상기 빈도 수만큼 반복되는 시퀀스 후보열 중 상기 프레임 길이를 주기로 반복되는 최종 시퀀스를 추출하여 데이터 스크림의 동기 패턴을 검출하는 동기 패턴 검출장치 및 방법에 관한 것이다.
본 발명에 의한 동기 패턴 검출장치의 실시예의 일 양태는, 데이터 스트림의 비트열을 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성하는 시퀀스 생성부; 상기 시퀀스가 상기 데이터 스트림 내에서 반복되는 횟수를 계산하고, 상기 시퀀스 중 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출하는 빈도추출부; 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치와 상기 시작되는 위치 이외의 위치가 서로 구분되게 비트배열을 생성하고, 상기 비트배열에 대한 자기상관함수를 계산하여 상기 데이터 스트림 내 프레임의 길이를 도출하는 프레임 길이 도출부; 및 상기 프레임 길이를 이용하여 상기 데이터 스트림 내에서 동기 패턴이 발생되는 빈도수를 계산하고, 상기 빈도수만큼 반복되는 시퀀스 중 상기 프레임 길이를 주기로 반복되는 시퀀스를 최종 추출하여 상기 데이터 스트림의 동기 패턴을 검출하는 검출부; 를 포함할 수 있다.
또한, 본 발명에 의한 동기 패턴 검출 장치의 실시예의 다른 일 양태는, 상기 데이터 스트림의 비트열을 특정 비트 수만큼씩 구분하여 특정 포맷의 비트열로 변환하는 변환부; 및 상기 변환된 비트열을 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성하는 그룹핑부; 상기 시퀀스가 상기 데이터 스트림 내에서 반복되는 횟수를 계산하고, 상기 시퀀스 중 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출하는 빈도추출부; 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치와 상기 시작되는 위치 이외의 위치가 서로 구분되게 비트배열을 생성하고, 상기 비트배열에 대한 자기상관함수를 계산하여 상기 데이터 스트림 내 프레임의 길이를 도출하는 프레임 길이 도출부; 및 상기 프레임 길이를 이용하여 상기 데이터 스트림 내에서 동기 패턴이 발생되는 빈도수를 계산하고, 상기 빈도수만큼 반복되는 시퀀스 중 상기 프레임 길이를 주기로 반복되는 시퀀스를 최종 추출하여 상기 데이터 스트림의 동기 패턴을 검출하는 검출부; 를 포함할 수 있다.
한편, 본 발명에 의한 동기 패턴 검출방법의 실시예의 일 양태는, 데이터 스트림의 비트열을 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성하는 시퀀스 생성단계; 상기 데이터 스트림의 비트열을 1 비트만큼 시프트하면서, 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성하는 시프트 앤드 시퀀스 생성단계; 상기 시프트 회수가 소정의 값 이상인 경우, 상기 생성된 시퀀스가 상기 데이터 스트림 내에서 반복되는 횟수를 계산하는 카운트단계; 상기 시퀀스 중 상기 데이터 스트림 내에서 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출하는 추출단계; 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트와 상기 시작되는 위치 이외의 위치에 대응되는 비트가 서로 다른 값을 가지는 비트배열을 생성하는 비트배열 생성단계; 상기 비트배열에 대한 자기상관함수를 도출하는 함수도출단계; 상기 자기상관함수를 이용하여 상기 데이터 스트림 내 프레임의 길이를 도출하는 길이도출단계; 상기 데이터 스트림의 길이와 상기 프레임의 길이를 이용하여 상기 데이터 스트림 내에서 동기 패턴이 발생되는 빈도 수를 계산하고, 상기 빈도 수만큼 반복되는 시퀀스 후보열를 추출하는 후보열 도출단계; 및상기 시퀀스 후보열 중 상기 프레임의 길이를 주기로 반복되는 최종 후보열을 추출하고, 상기 최종 후보열을 이용하여 상기 데이터 스트림의 동기 패턴을 검출하는 동기패턴 검출단계; 를 포함할 수 있다.

Description

데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법{DEVICE AND METHOD FOR SYNCHRONIZED PATTERN DETECTION USING PERIODICITY OF DATA THEREOF}
본 발명은, 데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법에 관한 것으로서, 더욱 상세하게는 데이터 스트림에서 프레임 동기를 맞춰주기 위하여, 데이터 스트림의 비트열을 그룹핑하여 복수의 시퀀스를 생성한 후 상기 시퀀스 중 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출하여 비트배열을 생성하고, 상기 비트배열에 대한 자기상관함수(Autocorrelation function)를 이용하여 프레임 길이를 도출하고 도출된 프레임 길이를 이용하여 동기 패턴 발생 빈도 수를 계산하여 상기 빈도 수만큼 반복되는 시퀀스 후보열 중 상기 프레임 길이를 주기로 반복되는 최종 시퀀스를 추출하여 데이터 스크림의 동기 패턴을 검출하는 동기 패턴 검출장치 및 방법에 관한 것이다.
데이터가 비트배열로 변환되어 직렬로 전송되는 데이터 스트림은, 프레임 단위로 구분될 수 있으며, 각 프레임에는 프레임 간 동기화를 위하여 동기 패턴이 삽입된다. 그리고, 상기 동기 패턴은 일반적으로 상기 각 프레임마다 동일한 위치에 존재하게 된다. 여기서, 동기 패턴은 데이터 스트림의 프레임 간 동기화를 위해 각각의 프레임마다 일정한 위치에 삽입되는 비트열일 수 있다.
이러한 동기 패턴을 신속하고 정확하게 검출하는 것은, 데이터를 처리하거나 분석하는데 있어서 필수적인 사항이다. 따라서, 동기 패턴을 검출하는 방법에 대해서 많은 연구가 이루어졌으며, 이를 토대로 다양한 방법들이 소개되었다.
종래의 기술에서는, 데이터 스트림의 상관관계(Correlation)를 기초로 동기 패턴을 검출하는 방법이 많이 활용되어 왔다. 예를 들면, 미국등록특허 제5148453호와 한국등록특허 제0253809호에서는 데이터 스트림의 상관관계(Correlation)를 이용하여 동기 패턴을 검출하는 방법을 개시하고 있다.
그러나 전술한 바와 같은 데이터 스트림의 상관관계(Correlation)를 이용하여 동기 패턴을 검출하는 방법은, 연산이 복잡하고 동기 패턴의 주기성을 발견하는데 다량의 데이터가 요구되므로, 동기 패턴을 검출하기 위하여 상당한 시간이 소요되는 문제점이 있다.
더욱이, 종래의 기술에 따르면, 수신되는 데이터의 프레임 및 동기 패턴에 관한 정보가 충분하지 않거나 의미 없는 데이터가 프레임에 삽입된 경우, 프레임을 처음부터 끝까지 한 비트씩 이동하면서 상관관계를 구하고 추정되는 동기 패턴의 길이에 따라 단위를 변화시켜가면서 반복적으로 상관관계를 구하여야하므로, 연산은 더욱 복잡해지며, 이에 따라 동기 패턴을 검출하기 위하여 소요되는 시간도 대폭 증가하게 되는 문제점이 있다.
이와 같은 문제점은, 국방분야 및 항공분야 등 신속한 데이터 분석 및 처리가 요구되는 분야에서 매우 치명적일 수 있다. 따라서, 프레임의 길이, 동기 패턴의 위치 및 동기 패턴의 길이와 같은 정보가 충분치 않은 불특정 데이터를 수신하거나 프레임 구조를 유지하기 위하여 의미 없는 정보가 삽입된 데이터를 수신하는 경우에도, 연산을 간소화하고 동기 패턴의 검출 시간을 최소화할 수 있는 장치 및 방법이 필요하다.
1. 미국등록특허 제5148453호 2. 한국등록특허 제0253809호
본 발명은 상기와 같은 문제점을 해소하기 위하여 제안된 것으로서, 동기 패턴을 검출하는데 소요되는 시간을 감소시킬 수 있고, 불특정 데이터를 수신하거나 의미 없는 정보가 삽입된 데이터를 수신하는 경우에도 효율적으로 동기 패턴을 검출할 수 있는 동기 패턴 검출장치 및 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위하여, 본 발명에 의한 동기 패턴 검출 장치의 실시예의 일 양태는, 데이터 스트림의 비트열을 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성하는 시퀀스 생성부; 상기 시퀀스가 상기 데이터 스트림 내에서 반복되는 횟수를 계산하고, 상기 시퀀스 중 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출하는 빈도추출부; 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치와 상기 시작되는 위치 이외의 위치가 서로 구분되게 비트배열을 생성하고, 상기 비트배열에 대한 자기상관함수를 계산하여 상기 데이터 스트림 내 프레임의 길이를 도출하는 프레임 길이 도출부; 및 상기 프레임 길이를 이용하여 상기 데이터 스트림 내에서 동기 패턴이 발생되는 빈도수를 계산하고, 상기 빈도수만큼 반복되는 시퀀스 중 상기 프레임 길이를 주기로 반복되는 시퀀스를 최종 추출하여 상기 데이터 스트림의 동기 패턴을 검출하는 검출부; 를 포함할 수 있다.
또한, 상기 시퀀스 생성부는 상기 비트열을 기설정된 비트(Bit) 수만큼 시프트(Shift)하면서, 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성할 수 있다.
특히, 상기 시퀀스 생성부는 상기 비트열을 상기 데이터 스트림의 최초 비트부터 1 비트(Bit)만큼 시프트(Shift)하면서 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성할 수 있다.
또한, 상기 프레임 길이 도출부는 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트와 상기 시작되는 위치 이외의 위치에 대응되는 비트가 서로 다른 값을 가지는 비트배열을 생성할 수 있다.
특히, 상기 프레임 길이 도출부는 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트값은 1 을, 상기 시작되는 위치 이외의 위치에 대응되는 비트 값은 0 을 가지도록 비트배열을 생성할 수 있다.
또한, 상기 프레임 길이 도출부는 상기 비트배열에 대한 자기상관함수를 계산한 후 주기적으로 나타나는 피크 중 연속된 피크 간격을 기초로 프레임 길이를 도출할 수 있다.
특히, 상기 프레임 길이 도출부는 상기 비트배열에 대한 자기상관함수를 계산한 후 상기 자기상관함수에서 주기적으로 나타나는 피크 중 연속된 두 피크 간격을 프레임 길이로 도출할 수 있다.
또한, 본 발명에 의한 동기 패턴 검출 장치의 실시예의 다른 일 양태는,
상기 데이터 스트림의 비트열을 특정 비트 수만큼씩 구분하여 특정 포맷의 비트열로 변환하는 변환부; 및 상기 변환된 비트열을 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성하는 그룹핑부; 상기 시퀀스가 상기 데이터 스트림 내에서 반복되는 횟수를 계산하고, 상기 시퀀스 중 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출하는 빈도추출부; 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치와 상기 시작되는 위치 이외의 위치가 서로 구분되게 비트배열을 생성하고, 상기 비트배열에 대한 자기상관함수를 계산하여 상기 데이터 스트림 내 프레임의 길이를 도출하는 프레임 길이 도출부; 및 상기 프레임 길이를 이용하여 상기 데이터 스트림 내에서 동기 패턴이 발생되는 빈도수를 계산하고, 상기 빈도수만큼 반복되는 시퀀스 중 상기 프레임 길이를 주기로 반복되는 시퀀스를 최종 추출하여 상기 데이터 스트림의 동기 패턴을 검출하는 검출부; 를 포함할 수 있다.
또한, 상기 변환부는 상기 데이터 스트림의 비트열을 4 비트씩 구분하여 16진수 포맷의 비트열로 변환할 수 있다.
또한, 상기 시퀀스 생성부는 상기 비트열을 기설정된 비트(Bit) 수만큼 시프트(Shift)하면서, 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성할 수 있다.
특히, 상기 시퀀스 생성부는 상기 비트열을 상기 데이터 스트림의 최초 비트부터 1 비트(Bit)만큼 시프트(Shift)하면서 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성할 수 있다.
또한, 상기 프레임 길이 도출부는 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트와 상기 시작되는 위치 이외의 위치에 대응되는 비트가 서로 다른 값을 가지는 비트배열을 생성할 수 있다.
특히, 상기 프레임 길이 도출부는 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트 값은 1 을, 상기 시작되는 위치 이외의 위치에 대응되는 비트 값은 0 을 가지도록 비트배열을 생성할 수 있다.
또한, 상기 프레임 길이 도출부는 상기 비트배열에 대한 자기상관함수를 계산한 후 주기적으로 나타나는 피크 중 연속된 피크 간격을 기초로 프레임 길이를 도출할 수 있다.
특히, 상기 프레임 길이 도출부는 상기 비트배열에 대한 자기상관함수를 계산한 후 상기 자기상관함수에서 주기적으로 나타나는 피크 중 연속된 두 피크 간격을 프레임 길이로 도출할 수 있다.
한편, 본 발명에 의한 동기 패턴 검출 방법의 실시예의 일 양태는, 데이터 스트림의 비트열을 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성하는 시퀀스 생성단계; 상기 데이터 스트림의 비트열을 1 비트만큼 시프트하면서, 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성하는 시프트 앤드(and) 시퀀스 생성단계; 상기 시프트 회수가 소정의 값 이상인 경우, 상기 생성된 시퀀스가 상기 데이터 스트림 내에서 반복되는 횟수를 계산하는 카운트단계; 상기 시퀀스 중 상기 데이터 스트림 내에서 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출하는 추출단계; 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트와 상기 시작되는 위치 이외의 위치에 대응되는 비트가 서로 다른 값을 가지는 비트배열을 생성하는 비트배열 생성단계; 상기 비트배열에 대한 자기상관함수를 도출하는 함수도출단계; 상기 자기상관함수를 이용하여 상기 데이터 스트림 내 프레임의 길이를 도출하는 길이도출단계; 상기 데이터 스트림의 길이와 상기 프레임의 길이를 이용하여 상기 데이터 스트림 내에서 동기 패턴이 발생되는 빈도 수를 계산하고, 상기 빈도 수만큼 반복되는 시퀀스 후보열를 추출하는 후보열 도출단계; 및 상기 시퀀스 후보열 중 상기 프레임의 길이를 주기로 반복되는 최종 후보열을 추출하고, 상기 최종 후보열을 이용하여 상기 데이터 스트림의 동기 패턴을 검출하는 동기패턴 검출단계; 를 포함할 수 있다.
또한, 상기 카운트단계에서, 상기 시프트 회수가 소정의 값 미만인 경우, 상기 시프트 앤드 시퀀스 생성단계를 다시 수행할 수 있다.
여기서, 상기 소정의 값은 다음식,
소정의 값 = 상기 데이터 스트림의 전체 비트 수 - 기설정된 비트 수 단위 +1 에 의해 산출될 수 있다.
또한, 상기 시퀀스 생성단계는 상기 데이터 스트림의 비트열을 4 비트씩 구분하여 16진수 포맷의 비트열로 변환하는 변환단계; 및 상기 변환된 비트열을 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성하는 변환 시퀀스 생성단계; 를 포함할 수 있다.
또한, 상기 비트배열 생성단계는 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트 값은 1 을, 상기 시작되는 위치 이외의 위치에 대응되는 비트 값은 0 을 가지도록 비트배열을 생성할 수 있다.
또한, 상기 길이도출단계는 상기 비트배열에 대한 자기상관함수에서 주기적으로 나타나는 피크 중 연속된 두 피크 간격을 프레임 길이로 도출할 수 있다.
본 발명에 의한 동기 패턴 검출장치 및 방법에 의하면, 적은 데이터에 대하여 간단한 연산을 수행할 수 있으므로, 동기 패턴을 검출하는데 소요되는 시간을 감소시킬 수 있다.
또한, 본 발명에 의한 동기 패턴 검출장치 및 방법에 의하면, 프레임의 길이, 동기 패턴의 위치 및 동기 패턴의 길이와 같은 정보가 충분치 않은 불특정 데이터 스트림을 수신하거나 프레임 구조를 위하여 의미 없는 데이터가 삽입되는 데이터 스트림을 수신하는 경우에도, 간단한 연산을 통하여 효율적으로 동기 패턴을 검출할 수 있다.
도 1 은 본 발명에 의한 동기 패턴 검출장치의 제 1 실시예를 보인 블록도.
도 2 는 본 발명에 의한 동기 패턴 검출장치의 제 1 실시예에 따른 데이터 스트림으로부터 다수의 시퀀스를 생성하는 과정을 보인 블록도.
도 3 은 본 발명에 의한 동기 패턴 검출방법의 일 실시예에 따른 비트배열을 생성하는 과정을 보인 블록도.
도 4 는 본 발명에 의한 동기 패턴 검출방법의 일 실시예에 따른 프레임 구조 유지를 위한 의미 없는 값이 삽입되었을 경우, 비트배열을 기초로 도출된 자기상관함수를 보인 다이어그램.
도 5 는 본 발명에 의한 동기 패턴 검출방법의 일 실시예에 따른 프레임 구조 유지를 위한 의미 없는 값이 삽입되지 않았을 경우, 비트배열을 기초로 도출된 자기상관함수를 보인 다이어그램.
도 6 은 본 발명에 의한 동기 패턴 검출장치의 제 2 실시예에서 시퀀스 생성부를 보인 블록도.
도 7 은 본 발명에 의한 동기 패턴 검출장치의 제 2 실시예에 따른 데이터 스트림으로부터 다수의 시퀀스를 생성하는 과정을 보인 블록도.
도 8 은 본 발명에 의한 동기 패턴 검출방법의 일 실시예를 보인 흐름도.
본 발명은 다양하게 변경할 수 있고, 여러 가지 실시예를 가질 수 있는 바, 특정 실시예를 도면에 예시하고 상세한 설명에서 구체적으로 설명하고자 한다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위하여 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적이거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것은 아니며, 본 명세서에 개시된 기술의 사상 및 기술 범위에 포함되는 모든 변경·균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하에서는, 첨부된 도면을 참조하여 본 발명에 의한 동기 패턴 검출장치의 제 1 실시예를 보다 상세하게 설명한다.
도 1 은 본 발명에 의한 동기 패턴 검출장치의 제 1 실시예를 보인 블록도이고, 도 2 는 본 발명에 의한 동기 패턴 검출장치의 제 1 실시예에 따른 데이터 스트림으로부터 다수의 시퀀스를 생성하는 과정을 보인 블록도이며, 도 3 은 본 발명에 의한 동기 패턴 검출방법의 일 실시예에 따른 비트배열을 생성하는 과정을 보인 블록도이다. 또한, 도 4 는 본 발명에 의한 동기 패턴 검출방법의 일 실시예에 따른 프레임 구조 유지를 위한 의미 없는 값이 삽입되었을 경우, 비트배열을 기초로 도출된 자기상관함수를 보인 다이어그램이고, 도 5 는 본 발명에 의한 동기 패턴 검출방법의 일 실시예에 따른 프레임 구조 유지를 위한 의미 없는 값이 삽입되지 않았을 경우, 비트배열을 기초로 도출된 자기상관함수를 보인 다이어그램이다.
도 1 내지 3을 참조하면, 본 발명에 의한 동기 패턴 검출장치(1)는 시퀀스 생성부(100), 빈도 추출부(200), 프레임 길이 도출부(300) 및 동기 패턴 검출부(400)를 포함할 수 있다.
상기 시퀀스 생성부(100)는, 데이터 스트림(Data steam)의 비트열(Bit string)(10)을 기설정된 비트 수 단위로 그룹핑(Grouping)하여 복수의 시퀀스(Sequence)를 생성할 수 있다. 여기서, 상기 시퀀스 생성을 위한 그룹핑(Grouping)은 데이터 스트림의 비트열(10) 전체에 거쳐 수행될 수도 있고, 동기 패턴을 검출하는데 필요한 최소의 데이터 스트림을 구하고 상기 최소 데이터 스트림 이상의 범위에서 수행될 수도 있다. 이때, 필요한 최소 데이터 스트림은 데이터의 특성 및 데이터 수신환경 등을 고려하여 실험적으로 결정될 수 있다. 또한, 여기서 생성되는 시퀀스 개수는 제한되지 않으며, 일정 값으로 정해질 수 있다.
더욱 상세하게는, 상기 시퀀스 생성부(100)는, 수신된 데이터 스트림의 비트열(10)을 기설정된 비트 수 단위로 그룹핑하여 상기 기설정된 비트 수 단위의 시퀀스를 다수 생성할 수 있다. 또한, 상기 시퀀스 생성부(100)는, 상기 비트열(10)을 기설정된 비트(Bit) 수만큼 시프트(Shift)하면서, 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성할 수 있다. 여기서, 상기 기설정된 비트 수 단위 및 상기 기설정된 비트 수는 제한되지 않으며, 일정 값으로 정해질 수 있다.
특히, 상기 시퀀스 생성부(100)는, 상기 비트열(10)을 상기 데이터 스트림의 최초 비트부터 1 비트(Bit)만큼 시프트(Shift)하면서 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스(11)(12)(13)를 생성할 수 있다. 여기서, 상기 시프트 횟수는 제한되지 않으며, 일정 값으로 정해질 수 있다.
예를 들면, 데이터 스트림의 비트열(10)이 [ 1 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1··· ]이고 기설정된 비트 수 단위는 8 비트이고 기설정된 비트 수는 1 비트인 경우, 상기 데이터 스트림의 비트열(10)을 최초 비트부터 1 비트 수 만큼 시프트하면서, 8 비트 단위로 그룹핑할 수 있다. 이 경우, 제 1 시퀀스(11)는 (1 1 1 1 1 0 1 0), 제 2 시퀀스(12)는 (1 1 1 1 0 1 0 1) 일 수 있다. 즉, 제 1 시퀀스(11)는 상기 데이터 스트림의 비트열(10)의 최초 비트인 '1'을 시작점으로 여덟 번째 비트인 '0'까지 그룹핑하여 생성될 수 있다. 그 후 상기 데이터 스트림의 비트열(10)을 1 비트 시프트하여 두 번째 비트인 '1'을 시작점으로 아홉 번째 비트인 '1'까지 그룹핑함으로써, 제 2 시퀀스(12)가 생성될 수 있다. 다시 1비트 시프트하면 세 번째 '1'을 시작점으로 복수의 시퀀스가 순차적으로 생성될 수 있다. 여기서, 상기 시프트 횟수는 (데이터 스트림의 전체 비트 수 - 기설정된 비트 수 단위 + 1)번 수행할 수 있다.
이때, 동기 패턴 길이에 대한 정보가 사전에 알려져 있는 경우, 상기 기설정된 비트 수 단위를 상기 동기 패턴의 길이로 설정함으로써, 동기 패턴의 길이와 동일한 길이의 시퀀스를 생성할 수도 있다. 그러나, 상기 동기 패턴 길이를 알지 못하는 경우에도 상기 기설정된 비트수 단위로 그룹핑하여 시퀀스를 생성할 수 있다.
상기 빈도 추출부(200)는, 상기 데이터 스트림(10) 내에서 상기 시퀀스(11)(12)(13)가 반복되는 횟수를 계산하고, 상기 시퀀스 중 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출할 수 있다. 더욱 상세하게는, 상기 빈도 추출부(200)는, 상기 시퀀스 생성부(100)에서 생성된 모든 시퀀스에 대하여 각각의 스퀀스가 반복된 횟수를 합산하고, 상기 스퀀스 반복횟수를 서로 비교하여 상기 반복횟수의 합계가 가장 큰 최대 반복 시퀀스(30)를 추출할 수 있다.
이와 같이 최대 반복 시퀀스(30)를 추출하는 이유는, 상기 데이터 스트림(10)은 다수의 프레임(40)으로 구성되어 있고, 프레임 동기화 또는 프레임 구조 유지를 위하여 동일한 비트열을 가진 패턴 시퀀스가 상기 프레임(40) 내의 동일 위치에 삽입되어 있으므로, 자기상관함수를 이용하여 프레임 길이를 추출하는 과정에서 해당 시퀀스의 위치에만 가중치를 가지므로, 정밀한 결과의 추출이 가능하다. 반면, 종래의 기술과 같이 모든 수집 데이터를 이용하여 자기상관함수를 연산하는 경우, 자기상관함수에 의한 연산량은 입력 데이터의 제곱에 비례하므로, 그 연산량은 현저하게 증가하게 되어 요구되는 시간 내에 연산의 처리가 곤란할 수 있다. 또한, 상기 연산결과에서 피크 위치와 다른 위치의 구분이 모호할 수도 있다. 즉, 모든 수집 데이터를 이용하여 자기상관함수를 연산하는 경우, 두 피크의 위치가 프레임의 길이 간격으로 나타나지 않을 수 있는 것이다. 본 발명에 의한 동기 패턴 검출장치(1)는 동기 패턴의 주기성을 바탕으로 시퀀스가 데이터 스트림(10) 내에서 반복되는 횟수 및 위치정보를 이용하여 보다 적은 연산량을 처리함으로써, 동기 패턴을 검출하는 것이다.
상기 프레임 길이 도출부(300)는, 상기 데이터 스트림(10) 내에서 상기 최대 반복 시퀀스(30)가 시작되는 위치와 상기 시작되는 위치 이외의 위치가 서로 구분되게 비트배열을 생성하고, 상기 비트배열에 대한 자기상관함수를 계산하여 상기 데이터 스트림 내 프레임(40) 길이를 도출할 수 있다. 여기서, 상기 최대 반복 시퀀스(10)가 시작되는 위치 및 상기 시작되는 위치 이외의 위치는 1 개 이상의 비트로 구성될 수 있다. 예를 들면, 상기 시작되는 위치는 3 개의 비트로 구성되고 '111' 또는 '101 등의 다양한 값으로 구성될 수 있다.
더욱 상세하게는, 상기 프레임 길이 도출부(300)는, 상기 데이터 스트림(10) 내에서 상기 최대 반복 시퀀스(30)가 시작되는 위치에 대응되는 비트와 상기 시작되는 위치 이외의 위치에 대응되는 비트가 서로 다른 값을 가지는 비트배열을 생성할 수 있다. 또한, 상기 프레임 길이 도출부(300)는, 상기 데이터 스트림(10) 내에서 상기 최대 반복 시퀀스(30)가 시작되는 위치에 대응되는 비트 값은 1 을 , 상기 시작되는 위치 이외의 위치에 대응되는 비트 값은 0 을 가지도록 비트배열을 생성할 수 있다.
그 후, 상기 프레임 길이 도출부(300)는, 상기 비트배열에 대한 자기상관함수(Autocorrelation function)를 계산하여 상기 데이터 스트림(10) 내 프레임(40) 길이를 도출할 수 있다.
더욱 상세하게는 상기 프레임 길이 도출부(300)는, 상기 비트배열에 대한 자기상관함수를 계산한 후 주기적으로 나타나는 피크(50) 중 연속된 피크 간격을 기초로 프레임(40) 길이를 도출할 수 있다. 즉 상기 프레임 길이 도출부(300)는, 상기 자기상관함수로부터 주기적으로 나타나는 피크(50) 중 연속된 두 피크의 간격을 프레임(40)의 길이로 추출하거나, 일정한 개수의 연속된 피크 간격의 평균을 프레임의 길이로 추출할 수 있다. 상기 도출된 프레임(40) 길이는 오차를 포함할 수 있으므로, 소정의 방법에 의하여 보정될 수 있다.
예를 들면, 도 4와 같이 데이터 스트림 808비트 위치에서 피크(51)를 가지고, 1616비트 위치에서 피크(52)를 가지므로, 이 둘 사이의 간격인 808(1616-808)비트가 프레임 길이가 될 수 있다. 여기서, 상기 연속된 피크는, 연속되는 피크 중 인접하여 연속하는 임의의 피크들일 수 있다. 도 5 의 경우, 연속되는 임의의 피크(53)(54)의 간격을 구하면 프레임 길이(40)가 8084(24090-16016)비트임을 알 수 있다.
이와 같이 피크의 발생 위치에 따른 비트배열을 활용하면, 종래와 같이 데이터 스트림의 비트열 자체를 기초로 상관관계를 구하여 동기 패턴을 검출할 때보다 더 적은 양의 데이터로 주기성을 찾을 수 있어 프로세싱 시간을 단축시킬 수 있다. 여기서, 자기상관함수는 데이터의 주기성을 파악하는데 다수 활용되는 것으로, 이를 도출하는 수식은 공지된 것이므로, 추가적인 설명은 생략하기로 한다.
도 4 를 참조하면, 의미 없는 데이터 값이 포함되었을 경우 도출된 자기상관함수에서, 데이터 스트림 내 위치에 따라 주기적으로 피크가 나타나는 것을 확인할 수 있다. 도 5 를 참조하면, 의미 없는 데이터 값이 포함되지 않았을 경우 도출된 자기상관함수에서, 함수의 형태는 약간 상이하나 기본적으로 도 4 와 유사하게 데이터 스트림 내 위치에 따라 주기적으로 피크가 나타나는 것을 확인할 수 있다. 상기 도 4 및 도 5 에서 x축은 데이터 스트림에서의 위치(position), y축은 정규화(normalize)되지 않은 계산된 자기 상관값을 나타낸다.
즉, 도 4 및 도 5 를 참조하면, 계산된 자기상관함수의 형태는 데이터 스트림(10)의 주기성이 반영되어, 자기상관성이 최대가 되는 피크(40)가 주기적으로 나타나는 것을 확인할 수 있다. 따라서, 상기 프레임 길이 도출부(300)는, 주기적으로 나타나는 피크(40) 중 연속적으로 위치하는 임의의 두 피크의 간격을 기초로 프레임(40)의 길이를 도출할 수 있는 것이다.
상기 동기 패턴 검출부(400)는, 상기 프레임(40) 길이를 이용하여 상기 데이터 스트림(10) 내에서 동기 패턴이 발생되는 빈도수를 계산하고, 상기 빈도 수만큼 반복되는 시퀀스 중 상기 프레임(40) 길이를 주기로 반복되는 시퀀스를 최종 추출하여 상기 데이터 스트림의 동기 패턴을 검출할 수 있다.
더욱 상세하게는, 상기 동기 패턴 검출부(400)는, 상기 데이터 스트림(10)의 길이와 상기 도출된 프레임(40) 길이를 이용하여 데이터 스트림(10) 내에서 동기 패턴이 발생되는 빈도 수를 계산한다. 그리고, 상기 동기 패턴 검출부(400)는, 동기 패턴과 같은 빈도 수로 등장하는 동기 패턴 후보열을 추출하고, 이 중 주기성 유무에 따라 동기패턴만을 선별한다.. 그 후, 상기 동기 패턴 검출부(400)는, 상기 최종 시퀀스에서 동기 패턴을 검출할 수 있다. 여기서, 동기 패턴은 프레임(40) 하나마다 한 번씩 삽입되므로, 데이터 스트림(10)의 길이와 프레임(40) 길이를 알면 동기 패턴이 발생되는 빈도수를 계산할 수 있는 것이다.
예를 들면, 데이터 스트림(10)의 길이가 8kbyte, 즉 64000(8000*8)bit이고, 프레임(40) 길이가 808bit 으로 도출되는 경우, 상기 데이터 스트림(10)에서 동기 패턴이 발생하는 횟수는 약 80(64000/808)회이다. 그러나, 80회 반복되는 시퀀스를 모두 동기 패턴으로 단정 지을 수는 없다. 왜냐하면, 프레임(40) 구조를 유지하기 위하여 삽입된 의미 없는 데이터 또는 동기 패턴이 아닌 데이터가 데이터 스트림 (10) 내에서 프레임(40) 수만큼 나타날 수 있기 때문이다. 즉, 다수의 신호들이 일정한 프레임 구조를 바탕으로 데이터를 전송하므로, 일정 시간 동안 수집된 데이터 스트림 내 프레임이 모두 의미 있는 데이터로 채워져 있지 않은 경우가 발생한다.
이때, 프레임 구조를 유지하기 위하여 의미 있는 데이터를 제외한 나머지 공간을 채우는 문제가 발생하는데, 이와 같이 남는 공간을 채우는 방법으로는 0을 채워 넣는 제로 패딩, 일정한 패턴(common word)을 채워 넣는 방법, 더미값을 채워 넣는 방법 등이 있다.
따라서, 데이터 스트림(10) 내에서 동기 패턴과 같은 횟수로 등장하였다는 사실만으로 동기 패턴으로 단정 지을 수 없게 되므로, 동기 패턴과 그 이외의 의미 없는 데이터를 구분하여 동기 패턴을 추출하는 과정이 필요한 것이다. 이를 위하여, 상기 동기 패턴 검출부(400)는, 동기 패턴과 의미 없는 데이터의 가장 큰 차이는 한 프레임마다 일정하게 반복되는 주기성이라는 점을 이용하여, 프레임 수 만큼의 빈도수를 갖는 시퀀스 중 프레임(40) 길이를 주기로 반복되는 시퀀스를 추출하여 최종적으로 동기 패턴을 검출할 수 있는 것이다.
결론적으로, 본 발명에 의한 동기 패턴 검출장치(1)에 의하면, 데이터 스트림의 비트열(10) 자체를 기초로 상관관계를 구하는 종래의 방법에 비하여, 간단하고 적은 연산으로 동기 패턴을 검출할 수 있으며, 불특정 데이터를 수신하는 경우 또는 의미 없는 데이터가 데이터 스트림에 포함되는 경우에도 제약 없이 동기 패턴을 검출할 수 있게 된다.
이하에서는, 첨부된 도면을 참조하여 본 발명에 의한 동기 패턴 검출장치의 제 2 실시예를 보다 상세하게 설명한다.
도 6 은 본 발명에 의한 동기 패턴 검출장치의 제 2 실시예에서 시퀀스 생성부를 보인 블록도이고, 도 7 은 본 발명에 의한 동기 패턴 검출장치의 제 2 실시예에 따른 데이터 스트림으로부터 다수의 시퀀스를 생성하는 과정을 보인 블록도이다. 본 실시예의 구성 중, 전술한 본 발명에 의한 제 1 실시예와 동일한 구성에 대해서는 도 1 내지 도 5 의 부호를 원용하고 이에 대한 상세한 설명은 생략한다.
도 6 및 도 7 를 참조하면, 본 발명에 의한 동기 패턴 검출장치(1)는, 시퀀스 생성부(100), 빈도 추출부(200), 프레임 길이 도출부(300) 및 동기 패턴 검출부(400)를 포함할 수 있다.
상기 시퀀스 생성부(100)는, 데이터 스트림(Data steam)의 비트열(Bit string)(10)을 기설정된 비트 수 단위로 그룹핑(Grouping)하여 복수의 시퀀스(Sequence)를 생성할 수 있다. 여기서, 상기 시퀀스 생성을 위한 그룹핑(Grouping)은 데이터 스트림의 비트열(10) 전체에 거쳐 수행될 수도 있고, 주기성을 파악하여 동기 패턴을 검출하는데 필요한 최소의 데이터 스트림을 구하고 상기 최소 데이터 스트림 이상의 범위에서 수행될 수도 있다. 이때, 필요한 최소 데이터 스트림은 데이터의 특성 및 데이터 수신환경 등을 고려하여 실험적으로 결정될 수 있다. 또한, 여기서 생성되는 시퀀스 개수는 제한되지 않을 수 있다.
더욱 상세하게는, 상기 시퀀스 생성부(100)는, 변환부(110) 및 그룹핑부(120)을 포함할 수 있다.
상기 변환부(110)는, 상기 데이터 스트림의 비트열(10)을 특정 비트 수만큼씩 구분하여 특정 포맷의 비트열(20)로 변환할 수 있다. 특히, 상기 변환부(100)는, 상기 데이터 스트림의 비트열(10)을 4 비트씩 구분하여 16진수 포맷의 비트열로 변환할 수 있다. 이와 같이 데이터 스트림의 비트열(10)을 특정 포맷의 비트열(20)로 변경하는 것은 상기 시퀀스를 이루는 비트 수 단위가 커질수록 더 많은 수의 비트 연산이 필요하므로, 상기 시퀀스의 취급을 용이하게 하기 위해서이다.
상기 그룹핑부(120)는, 상기 변환된 비트열(20)을 기설정된 비트 수 단위로 그룹핑(Grouping)하여 복수의 시퀀스(Sequence)를 생성할 수 있다. 또한, 상기 그룹핑부(120)는, 상기 변환된 비트열(20)을 기설정된 비트(Bit) 수만큼 시프트(Shift)하면서, 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성할 수 있다. 여기서, 상기 기설정된 비트 수 단위 및 상기 기설정된 비트 수는 제한되지 않으며, 일정 값으로 정해질 수 있다. 특히, 상기 그룹핑부(120)는, 상기 변환된 비트열(20)을 상기 데이터 스트림의 최초 비트부터 1 비트(Bit)만큼 시프트(Shift)하면서 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스(21)(22)(23)를 생성할 수 있다. 여기서, 상기 시프트 횟수는 제한되지 않으며, 일정 값으로 정해질 수 있다.
예를 들면, 데이터 스트림의 비트열(10)이 [ 1 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1··· ]이고 기설정된 비트 수 단위는 16 비트이며 기설정된 비트 수는 1 비트인 경우, 상기 데이터 스트림의 처음 16비트는 [1 1 1 1 / 1 0 1 0 / 1 1 1 1 / 0 0 1 1]이다. 상기 데이터 스트림의 처음 16 비트를 4비트씩 나누어 16진수로 변환하면 (f a f 3)이 되고, 1비트 시프트하여 두 번째 1을 시작점으로 하는 16비트인 [1 1 1 1 / 0 1 0 1 / 1 1 1 0 / 0 1 1 0]을 4비트씩 나누어 16진수로 다시 변환하면 (f 5 e 6)이 된다. 이와 같이 1비트씩 순차적으로 시프트하면서 16진수 형태로 변환하고, 변환된 16진수를 미리 결정된 자릿수로 그룹핑하여 시퀀스를 생성할 수 있다.
즉, 본 실시예는 전술한 본 발명에 의한 동기 패턴 검출장치의 제 1 실시예의 시퀀스 생성부(100)가, 변환부(110) 및 그룹핑부(120)로 분화되고 상기 변환부(110)의 기능이 추가된 것이다.
따라서, 본 실시예에 따르면, 상기 변환부(110) 및 상기 그룹핑부(120)를 포함하는 상기 시퀀스 생성부(100)는, 수신되는 데이터 스트림(10)을 특정 포멧의 비트열로 변환하여 그룹핑함으로써, 대용량의 데이터 스트림(10)에 대하여도 간단한 연산을 수행할 수 있게 한다. 또한, 본 실시예에 따르면, 본 발명에 의한 제 1 실시예에서 보다 더 적은 데이터 연산을 수행할 수 있게 되므로, 동기 패턴을 검출하는데 소요되는 시간을 더욱 감소시킬 수 있다.
상기 변환부(110) 및 상기 그룹핑부(120)을 포함하는 상기 시퀀스 생성부(100) 이외의 구성 요소는 전술한 본 발명에 의한 동기 패턴 검출장치의 제 1 실시예와 실질적으로 동일하므로, 상세한 설명은 생략한다.
이하에서는, 첨부된 도면을 참조하여 본 발명에 의한 동기 패턴 검출방법의 일 실시예를 보다 상세하게 설명한다.
도 8 은 본 발명에 의한 동기 패턴 검출방법의 일 실시예를 보인 흐름도이다.
도 8 을 참조하면, 본 발명에 의한 동기 패턴 검출방법의 일 실시예는, 시퀀스 생성단계(S100), 시프트 앤드 시퀀스 생성단계(S200), 카운트단계(S300), 추출단계(S400), 비트배열 생성단계(S500), 함수도출단계(S600), 길이도출단계(S700), 후보열 도출단계(S800) 및 검출단계(S900)를 포함할 수 있다.
상기 시퀀스 생성단계(S100)는, 데이터 스트림의 비트열(10)을 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성할 수 있다. 여기서, 상기 시퀀스 생성을 위한 그룹핑(Grouping)은 데이터 스트림의 비트열(10) 전체에 거쳐 수행될 수도 있고, 동기 패턴을 검출하는데 필요한 최소의 데이터 스트림을 구하고 상기 최소 데이터 스트림 이상의 범위에서 수행될 수도 있다. 이때, 필요한 최소 데이터 스트림은 데이터의 특성 및 데이터 수신환경 등을 고려하여 실험적으로 결정될 수 있다. 또한, 여기서 생성되는 시퀀스 개수는 제한되지 않으며, 일정 값으로 정해질 수 있다. 또한, 여기서 상기 시퀀스는 2진수 포맷의 비트열로 생성될 수도 있고, 4비트씩 나누어 16진수 포맷의 비트열로 변환되어 생성될 수 있으며, 그 외 다양한 포맷의 비트열로 변환되어 생성될 수 있다.
특히, 상기 시퀀스 생성단계(S100)는, 변환단계(S110) 및 변환 시퀀스 생성단계(S120)을 포함할 수 있다. 상기 변환단계(S110)는, 상기 데이터 스트림의 비트열(10)을 4 비트씩 구분하여 16진수 포맷의 비트열(20)로 변환할 수 있다. 상기 변환 시퀀스 생성단계(S120)는, 상기 변환된 비트열(20)을 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성할 수 있다. 또한 상기 시퀀스 생성단계(S100)는, 상기 비트열(10)을 상기 16진수 포맷의 비트열(20) 외에 다양한 포맷의 비트열로 변환하고 그룹핑하여 시퀀스를 생성할 수 있다.
상기 시프트 앤드 시퀀스 생성단계(S200)는, 상기 비트열(10)(20)을 기설정된 비트 수만큼 시프트하면서, 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성할 수 있다.
특히, 상기 시프트 앤드 시퀀스 생성단계(S200)는, 상기 데이터 스트림의 비트열(10)(20)을 1 비트만큼 시프트하면서, 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성할 수 있다.
상기 카운트단계(S300)는, 상기 시프트 회수가 소정의 값 이상인 경우, 상기 생성된 시퀀스가 상기 데이터 스트림(10) 내에서 반복되는 횟수를 계산한다. 또한, 상기 카운트단계에서는, 상기 시프트 회수가 소정의 값 미만인 경우, 상기 시프트 앤 시퀀스 생성단계(S200)를 다시 수행할 수 있다. 여기서, 상기 소정의 값은 (상기 데이터 스트림의 전체 비트 수 - 기설정된 비트 수 단위 +1)일 수 있고, 일정 값일 수도 있다.
한편, 상기 시퀀스 생성단계(S100) 및 상기 시프트 앤드 시퀀스 생성단계(S200)와 상기 카운트단계(S300)는 순차적으로 진행될 수도 있지만, 실시간으로 생성되는 시퀀스를 카운트하도록 병렬적으로 진행될 수도 있다.
상기 추출단계(S400)는, 상기 시퀀스 중 상기 데이터 스트림(10) 내에서 반복되는 횟수가 가장 많은 최대 반복 시퀀스(30)를 추출할 수 있다.
상기 비트배열 생성단계(S500)는, 상기 데이터 스트림(10) 내에서 상기 최대 반복 시퀀스(30)가 시작되는 위치에 대응되는 비트와 상기 시작되는 위치 이외의 위치에 대응되는 비트가 서로 다른 값을 가지는 비트배열을 생성한다. 또한, 상기 비트배열 생성단계(S500)는, 상기 데이터 스트림(10) 내에서 상기 최대 반복 시퀀스(30)가 시작되는 위치에 대응되는 비트는 '1' 값을, 상기 시작되는 위치 이외의 위치에 대응되는 비트는 '0' 값을 가지도록 비트배열을 생성할 수 있다.
예를 들면, 도 3과 같이 추출된 최대 반복 시퀀스(30)가 [0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1]이라고 가정할 때, 데이터 스트림(10)에서 최대 반복 시퀀스(30)가 시작되는 위치에 대응되는 비트는 1, 그 외의 위치에 대응되는 비트는 0의 값을 가지도록 비트배열이 구성될 수 있다. 이와 같이 구성함으로써, 생성되는 비트배열은 최대 반복 시퀀스(30)의 발생 위치에 대한 정보를 제공하는 배열이 될 수 있다.
상기 함수도출단계(S600)는, 상기 비트배열에 대한 자기상관함수를 도출한다.
상기 길이도출단계(S700)는, 상기 자기상관함수를 이용하여 상기 데이터 스트림(10) 내 프레임(40)의 길이를 도출한다. 또한, 상기 상기 길이도출단계(S700)는, 상기 비트배열에 대한 자기상관함수에서 주기적으로 나타나는 피크 중 연속된 두 피크 간격을 프레임(40) 길이로 도출하거나, 일정한 개수의 연속된 피크 간격의 평균을 프레임(40)의 길이로 도출할 수 있다.
상기 후보열 도출단계(S800)는, 상기 데이터 스트림(10)의 길이와 상기 프레임(40)의 길이를 이용하여 상기 데이터 스트림(10) 내에서 동기 패턴이 발생되는 빈도 수를 계산하고, 상기 빈도 수만큼 반복되는 시퀀스 후보열를 추출한다.
상기 검출단계(S900)는, 상기 시퀀스 후보열 중 상기 프레임(40)의 길이를 주기로 반복되는 최종 후보열을 추출하고, 상기 최종 후보열을 이용하여 상기 데이터 스트림의 동기 패턴을 검출한다.
상기 시퀀스 후보열의 주기성 유무를 판단하는 방법의 일 예로, 데이터 스트림(10) 내에서 각각의 후보열의 위치를 서로 다른 표식을 활용하여 표시하고, 표식의 위치를 기초로 주기성을 시각적으로 판단하는 방법이 있을 수 있다. 상기 표식은 후보열의 위치를 표시하기 위한 일종의 마커(marker)의 역할을 수행하므로, 특정한 형식에 구애되지 않는다. 이외에도 주기성을 판단할 수 있는 다양한 방법이 적용될 수 있다.
한편, 후보열 중 프레임(40)의 길이만큼 주기성을 갖는 시퀀스 그 자체가 동기 패턴이 될 수도 있으나, 시퀀스의 길이와 실제 동기 패턴의 길이의 차이에 따라 주기성을 갖는 시퀀스가 복수 개 존재할 수도 있다.
예를 들면, 상기 생성된 시퀀스의 길이는 16 비트이고, 실제 동기 패턴의 길이는 30비트인 경우, 주기성을 갖는 시퀀스는 복수 개 일 수 있다. 그리고, 상기 복수의 시퀀스는 동기 패턴의 일부를 구성하는 비트열이므로, 데이터 스트림(10) 내에서 연속되는 자리에 위치하게 된다. 따라서, 프레임 길이의 주기성을 가지는 시퀀스가 데이터 스트림(10) 내에서 나타나는 위치를 이용하여 연속적으로 위치하는 복수 개의 시퀀스를 조합함으로써, 동기 패턴을 검출할 수 있을 것이다.
이상에서 설명한 각 단계는, 상황에 따라 적절히 삭제, 수정 및 추가될 수 있다. 예컨대, 구해진 프레임 길이와 동기 패턴이 실제와 부합하는지 검증을 수행하는 단계가 더 추가될 수 있다.
또한, 상기 본 발명에 의한 동기 패턴 검출방법의 일 실시예는, 단지 예시적인 것으로 이해되어야 하며, 본 발명에 의한 동기 패턴 검출장치의 실시예로부터 다양하게 도출될 수 있다.
1 : 동기 패턴 검출장치
10 : 데이터 스트림의 비트열
11, 21 : 제 1 시퀀스 12, 22 : 제 2 시퀀스
13, 23 : 제 3 시퀀스
20 : 변환된 비트열
30 : 최대 반복 시퀀스
40 : 데이터 스크림 내 프레임
50 : 자기상관함수에서 주기적으로 나타나는 피크
51 : 제 1 피크 52 : 제 2 피크
53 : 제 3 피크 54 : 제 4 피크
100 : 시퀀스 생성부
110 : 변환부 120 : 생성부
200 : 빈도 추출부
300 : 프레임 길이 도출부 400 : 동기 패턴 검출부

Claims (16)

  1. 동기 패턴 검출장치에 있어서,
    데이터 스트림(Data steam)의 비트열(Bit string)을 기설정된 비트 수 단위로 그룹핑(Grouping)하여 복수의 시퀀스(Sequence)를 생성하는 시퀀스 생성부;
    상기 시퀀스(Sequence)가 상기 데이터 스트림 내에서 반복되는 횟수를 계산하고, 상기 시퀀스(Sequence) 중 반복되는 횟수가 가장 많은 최대 반복 시퀀스(Sequence)를 추출하는 빈도추출부;
    상기 데이터 스트림 내에서 상기 최대 반복 시퀀스(Sequence)가 시작되는 위치와 상기 시작되는 위치 이외의 위치가 서로 구분되게 비트배열을 생성하고, 상기 비트배열에 대한 자기상관함수(Autocorrelation function)를 계산하여 상기 데이터 스트림 내 프레임(Frame)의 길이를 도출하는 프레임 길이 도출부; 및
    상기 프레임 길이를 이용하여 상기 데이터 스트림 내에서 동기 패턴이 발생되는 빈도수를 계산하고, 상기 빈도수만큼 반복되는 시퀀스 중 상기 프레임 길이를 주기로 반복되는 시퀀스를 최종 추출하여 상기 데이터 스트림의 동기 패턴을 검출하는 검출부;를 포함하되,
    상기 프레임 길이 도출부는 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트와 상기 시작되는 위치 이외의 위치에 대응되는 비트가 서로 다른 값을 가지는 비트배열을 생성하고, 상기 비트배열에 대한 자기상관함수를 계산한 후 상기 자기상관함수에서 주기적으로 나타나는 피크 중 연속된 두 피크 간격을 프레임 길이로 도출하며,
    상기 자기상관함수는 의미없는 데이터 값이 포함된 경우와 의미없는 데이터가 포함되지 않은 경우 모두에 대하여 상기 프레임 길이를 도출하기 위해 이용되는 것을 특징으로 하는 동기 패턴 검출장치.
  2. 제 1 항에 있어서,
    상기 시퀀스 생성부는
    상기 데이터 스트림의 비트열을 특정 비트 수만큼씩 구분하여 특정 포맷의 비트열로 변환하는 변환부; 및
    상기 변환된 비트열을 기설정된 비트 수 단위로 그룹핑(Grouping)하여 복수의 시퀀스(Sequence)를 생성하는 그룹핑부;
    를 포함하는 것을 특징으로 하는 동기 패턴 검출장치.
  3. 제 2 항에 있어서,
    상기 변환부는
    상기 데이터 스트림의 비트열을 4 비트씩 구분하여 16진수 포맷의 비트열로 변환하는 것을 특징으로 하는 동기 패턴 검출장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 시퀀스 생성부는
    상기 비트열을 기설정된 비트(Bit) 수만큼 시프트(Shift)하면서, 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성하는 것을 특징으로 하는 동기 패턴 검출장치.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 시퀀스 생성부는
    상기 비트열을 상기 데이터 스트림의 최초 비트부터 1 비트(Bit)만큼 시프트(Shift)하면서 기설정된 비트 수 단위로 그룹핑하여 복수의 시퀀스를 생성하는 것을 특징으로 하는 동기 패턴 검출장치.
  6. 삭제
  7. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 프레임 길이 도출부는
    상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트 값은 1 을, 상기 시작되는 위치 이외의 위치에 대응되는 비트 값은 0 을 가지도록 비트배열을 생성하는 것을 특징으로 하는 동기 패턴 검출장치.
  8. 삭제
  9. 삭제
  10. 동기 패턴 검출방법에 있어서,
    데이터 스트림의 비트열을 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성하는 시퀀스 생성단계;
    상기 데이터 스트림의 비트열을 기설정된 비트 수만큼 시프트하면서, 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성하는 시프트 앤드(and) 시퀀스 생성단계;
    상기 시프트 회수가 소정의 값 이상인 경우, 상기 생성된 시퀀스가 상기 데이터 스트림 내에서 반복되는 횟수를 계산하는 카운트단계;
    상기 시퀀스 중 상기 데이터 스트림 내에서 반복되는 횟수가 가장 많은 최대 반복 시퀀스를 추출하는 추출단계;
    상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트와 상기 시작되는 위치 이외의 위치에 대응되는 비트가 서로 다른 값을 가지는 비트배열을 생성하는 비트배열 생성단계;
    상기 비트배열에 대한 자기상관함수를 도출하는 함수도출단계;
    상기 자기상관함수를 이용하여 상기 데이터 스트림 내 프레임의 길이를 도출하는 길이도출단계;
    상기 데이터 스트림의 길이와 상기 프레임의 길이를 이용하여 상기 데이터 스트림 내에서 동기 패턴이 발생되는 빈도 수를 계산하고, 상기 빈도 수만큼 반복되는 시퀀스 후보열를 추출하는 후보열 도출단계; 및
    상기 시퀀스 후보열 중 상기 프레임의 길이를 주기로 반복되는 최종 후보열을 추출하고, 상기 최종 후보열을 이용하여 상기 데이터 스트림의 동기 패턴을 검출하는 동기패턴 검출단계;를 포함하되,
    상기 길이 도출 단계는 상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트와 상기 시작되는 위치 이외의 위치에 대응되는 비트가 서로 다른 값을 가지는 비트배열을 생성하고, 상기 비트배열에 대한 자기상관함수를 계산한 후 상기 자기상관함수에서 주기적으로 나타나는 피크 중 연속된 두 피크 간격을 프레임 길이로 도출하며,
    상기 자기상관함수는 의미없는 데이터 값이 포함된 경우와 의미없는 데이터가 포함되지 않은 경우 모두에 대하여 상기 프레임 길이를 도출하기 위해 이용되는 것을 특징으로 하는 동기 패턴 검출방법.
  11. 제 10 항에 있어서,
    상기 카운트단계에서,
    상기 시프트 회수가 소정의 값 미만인 경우, 상기 시프트 앤드 시퀀스 생성단계를 다시 수행하는 것을 특징으로 하는 동기 패턴 검출방법.
  12. 제 10 항 또는 제 11 항에 있어서,
    상기 소정의 값은 다음식,
    Figure 112014043365459-pat00001

    에 의해 산출되는 것을 특징으로 하는 동기 패턴 검출방법.
  13. 제 10 항 또는 제 11 항에 있어서,
    상기 시퀀스 생성단계는
    상기 데이터 스트림의 비트열을 4 비트씩 구분하여 16진수 포맷의 비트열로 변환하는 변환단계; 및
    상기 변환된 비트열을 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성하는 변환 시퀀스 생성단계;
    를 포함하는 것을 특징으로 하는 동기 패턴 검출방법.
  14. 제 10 항 또는 제 11 항에 있어서,
    상기 시프트 앤드 시퀀스 생성단계는,
    상기 데이터 스트림의 비트열을 1 비트만큼 시프트하면서, 기설정된 비트 수 단위로 그룹핑하여 시퀀스를 생성하는 것을 특징으로 하는 동기 패턴 검출 방법.
  15. 제 10 항 또는 제 11 항에 있어서,
    상기 비트배열 생성단계는
    상기 데이터 스트림 내에서 상기 최대 반복 시퀀스가 시작되는 위치에 대응되는 비트 값은 1 을, 상기 시작되는 위치 이외의 위치에 대응되는 비트 값은 0 을 가지도록 비트배열을 생성하는 것을 특징으로 하는 동기 패턴 검출방법.

  16. 삭제
KR1020140054899A 2014-05-08 2014-05-08 데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법 KR101594833B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140054899A KR101594833B1 (ko) 2014-05-08 2014-05-08 데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140054899A KR101594833B1 (ko) 2014-05-08 2014-05-08 데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150128095A KR20150128095A (ko) 2015-11-18
KR101594833B1 true KR101594833B1 (ko) 2016-02-17

Family

ID=54838757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140054899A KR101594833B1 (ko) 2014-05-08 2014-05-08 데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법

Country Status (1)

Country Link
KR (1) KR101594833B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070183548A1 (en) * 2006-02-09 2007-08-09 Fujitsu Limited Synchronizing apparatus and synchronizing method
KR101384582B1 (ko) * 2014-02-07 2014-04-11 국방과학연구소 데이터 스트림의 히스토그램 분석을 통한 싱크 패턴 검출기 및 그 검출방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148453A (en) 1991-05-02 1992-09-15 The Institute For Space And Terrestrial Science Parallel sync detection
KR100253809B1 (ko) 1997-06-25 2000-04-15 구자홍 싱크패턴 검출기

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070183548A1 (en) * 2006-02-09 2007-08-09 Fujitsu Limited Synchronizing apparatus and synchronizing method
KR101384582B1 (ko) * 2014-02-07 2014-04-11 국방과학연구소 데이터 스트림의 히스토그램 분석을 통한 싱크 패턴 검출기 및 그 검출방법

Also Published As

Publication number Publication date
KR20150128095A (ko) 2015-11-18

Similar Documents

Publication Publication Date Title
CN101371569B (zh) 使用周期平稳工具箱检测嵌入到噪声中的电视信号的存在
US7477681B2 (en) Method for generating a preamble sequence group
CN110633154B (zh) 一种数据全排序方法及系统
KR101594833B1 (ko) 데이터의 주기성을 이용한 동기 패턴 검출장치 및 방법
RU2538281C2 (ru) Способ синхронизации передаваемых сообщений
JP4847466B2 (ja) 受信シーケンスの到着時間を決定するための装置および方法
KR101384582B1 (ko) 데이터 스트림의 히스토그램 분석을 통한 싱크 패턴 검출기 및 그 검출방법
CN105677958B (zh) 一种基于互相关函数求时差的方法
KR100930894B1 (ko) 통신 시스템에서의 코드 시퀀스와 이를 전송, 생성,분석하는 방법 및 장치
CN105323055B (zh) 序列检测方法及装置
JP4782717B2 (ja) 無線フレームの先頭位置検出方法及び装置
KR101677986B1 (ko) P 코드 획득 장치 및 방법
JP5094281B2 (ja) 信号分離装置
CN107171890B (zh) 帧计数器快速搜索方法
CN105631149A (zh) 一种基于相关性求时差的方法
KR101621787B1 (ko) 동기 패턴 검출기 및 동기 패턴 검출방법
CN107852191B (zh) 用于对无线信号进行解码的方法和无线信号处理系统
WO2007009458A2 (en) Time synchronization algorithm for measurement systems with random delays
KR20030059234A (ko) 수신된 신호에 수신기를 동기화하는 장치 및 방법
KR102423283B1 (ko) 분자 유사도 측정 장치 및 방법
KR101415309B1 (ko) 스트리핑을 위한 위로 연속법의 최적 연속 거리 결정을 위한 장치 및 방법
WO2017107937A1 (zh) 译码方法、装置及其系统
JP2005156250A (ja) 3次元位置同定処理方法、3次元位置同定処理プログラムおよび3次元位置同定処理プログラムを記録した記録媒体
RU2542900C2 (ru) Способ установления синхронизации псевдослучайных последовательностей
JP5634347B2 (ja) 信号分離装置及び信号分離方法

Legal Events

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

Payment date: 20190207

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200204

Year of fee payment: 5