KR20140052455A - 난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치 - Google Patents

난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치 Download PDF

Info

Publication number
KR20140052455A
KR20140052455A KR1020120118558A KR20120118558A KR20140052455A KR 20140052455 A KR20140052455 A KR 20140052455A KR 1020120118558 A KR1020120118558 A KR 1020120118558A KR 20120118558 A KR20120118558 A KR 20120118558A KR 20140052455 A KR20140052455 A KR 20140052455A
Authority
KR
South Korea
Prior art keywords
random number
generating
signal
signal source
deviation
Prior art date
Application number
KR1020120118558A
Other languages
English (en)
Other versions
KR101721176B1 (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 KR1020120118558A priority Critical patent/KR101721176B1/ko
Priority to CN201380055432.6A priority patent/CN104737122B/zh
Priority to PCT/KR2013/007509 priority patent/WO2014065496A1/ko
Publication of KR20140052455A publication Critical patent/KR20140052455A/ko
Priority to US14/693,801 priority patent/US9535661B2/en
Application granted granted Critical
Publication of KR101721176B1 publication Critical patent/KR101721176B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/764Masking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치를 개시한다.
본 실시예의 일 측면에 의하면, 난수 생성 장치에 의한 난수 생성 방법에 있어서, 하나의 신호원으로부터 입력된 물리신호를 소정의 주기로 표본화하여 초기 비트열을 생성하는 제1과정 및 상기 생성된 초기 비트열에 대해, 블록 부분합 연산 또는 순차 부분합 연산을 수행하여 난수를 생성하는 제2과정을 포함하는 신호원에 의한 편향을 제거한 난수 생성 방법을 제공한다.

Description

난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치{Method and Apparatus for Removing Biasing Caused by Signal Source in Random Number Generation}
본 실시예는 난수 생성시 신호원에 의한 편향(Biasing)을 제거하는 방법 및 장치에 관한 것이다. 보다 상세하게는, 난수 생성시 신호원에 존재하는 편차(Deviation)에 의해 유발되는 난수열의 편향을 제거할 수 있는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
난수 생성시에는 주로 잡음 특성이 있거나 준안정(Metastable) 특성이 있는 신호원을 이용하여 신호원의 출력을 표본화(Sampling)하여 기준값에 비교함으로써 생성한다. 이때 난수의 모든 출력 값은 서로 상관관계가 없어야 하며, n진 난수를 구성하는 n개의 모든 값들의 출현빈도가 동일해야 한다.
그러나 열잡음(Thermal Noise) 등을 신호원으로 이용하는 경우나 준안정 상태 등을 이용하는 경우에는 생성된 난수의 앞뒤 신호 사이에 무시할 수 없는 상관관계가 발생할 수 있으며, 특히 특정 값의 비율이 다른 값들보다 큰 경우가 발생할 수 있는데, 이러한 현상을 편향(Biasing)이라고 한다.
도 1은 편차를 가진 신호원을 표본화한 결과 얻어진 표본(Sample) 값들에 존재하는 편향을 예시한 도면이다.
외부 환경변화 등 여러 원인에 의해 신호원에 편차가 발생하면, 이를 표본화한 결과치에도 특정 값의 발생 빈도가 높은 편향이 존재하게 된다. 예컨대 도 1에서 표본화 결과의 B 부분은 1 값의 발생빈도가 0의 발생빈도보다 높은데, 이는 신호원이 그와 대응되는 시간대에 가지는 편차에 기인한다.
이러한 편향 현상은 생성된 난수의 효용성을 낮추게 되므로, 여러 방법을 이용하여 편향을 해결하려는 노력이 시도되고 있다. 표본화한 신호를 분석하여 난수를 구성하는 값들이 일정한 비율로 생성되는가를 감시하여 적절한 제어 및 신호처리를 수행함으로써 편향 문제를 해결하는 것이 일반적이다.
예컨대, 잡음(Noise)을 신호원으로 하여 난수를 생성하는 구조에서 잡음과 표본화 회로 사이에 직류필터(DC Filter) 또는 고주파통과필터(High Pass Filter)를 배치하여 중심 값에서 벗어나는 평균값을 제거한다.
또한, 한국특허공개공보 제2007-0036799호에서는, 신호를 표본화한 이후에 신호처리회로를 이용하여 표본화된 값을 분석한 후 입력 신호 판별(Threshold)의 오프셋(Offset) 기능이 있는 표본화 회로에 오프셋을 제어할 수 있는 신호를 궤환(Feedback)하는 방법을 개시하고 있다.
신호처리를 이용하는 다른 방법으로는 표본화 회로 이후에 신호처리 회로를 배치하여 표본화 신호를 스크램블링(Scrambling)하거나(한국특허공개공보 제2005-0084153호), 표본화된 값을 분석하여 등화(Equalization)를 수행하는 방법(한국특허공개공보 제2003-0027724호)이 있다.
그러나 편향을 해결하기 위한 방법들 중에 신호원의 편차를 궤환 제어하는 방법은 의도치 않은 직류(Direct Current: DC) 편차가 발생할 가능성이 있다. 스크램블링, 등화 등의 신호처리를 수행하는 방법은 만약 알고리즘을 이용하는 경우라면 의사난수(Pseudo Random Number)와 같이 예측가능성을 가져 난수로서의 가치가 저하되며, 스크램블링이나 등화 등의 신호처리를 위해서는 상대적으로 복잡하거나 고사양의 회로가 필요하며 처리 시간도 많이 소요되는 단점이 있다.
본 실시예는, 편차가 있는 신호원을 이용하여 난수를 생성할 때 표본화된 신호를 분석하지 않고도 단순한 계산을 통하여 편향을 완화할 수 있으며, 설정에 따라 편향 완화의 범위를 넓혀 강인한(Robust) 회로를 구성할 수 있는 난수 생성 장치를 제공하는 데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, 난수 생성 장치에 의한 난수 생성 방법에 있어서, 하나의 신호원으로부터 입력된 물리신호를 소정의 주기로 표본화하여 초기 비트열을 생성하는 제1과정 및 상기 생성된 초기 비트열에 대해, 블록 부분합 연산 또는 순차 부분합 연산을 수행하여 난수를 생성하는 제2과정을 포함하는 신호원에 의한 편향을 제거한 난수 생성 방법을 제공한다.
상기 제1과정은 상기 표본화하여 얻은 값을 기 설정된 기준값에 비교하여 상기 초기 비트열을 생성하는 것일 수 있다.
또한, 상기 블록 부분합 연산은 상기 초기 비트열을 일정 길이의 블록으로 분할하여, 각 블록별로 패리티 비트(Parity Bit)를 산출하는 연산인 것을 특징으로 한다.
또한, 상기 순차 부분합 연산은 상기 초기 비트열에 일정 크기의 마스크를 적용하여 패리티 비트를 산출하되, 상기 마스크를 현재 패리티 비트를 생성한 위치로부터 적어도 1 비트 이동하여 다음 패리티 비트를 산출하는 연산임을 특징으로 한다.
본 실시예의 다른 측면에 의하면, 난수 생성 장치에 의한 난수 생성 방법에 있어서, 복수 개의 신호원으로부터 입력된 물리신호들 각각에 대하여 소정의 주기로 표본화하여 복수의 초기 비트열을 생성하는 제1과정 및 상기 복수의 초기 비트열에 대하여 병렬 부분합 연산을 수행하여 난수를 생성하는 제2과정을 포함하는 신호원에 의한 편향을 제거한 난수 생성 방법을 제공한다.
상기 병렬 부분합 연산은 상기 복수의 초기 비트열에서 동일한 주기에 생성된 비트들별로 패리티 비트를 산출하는 연산인 것을 특징으로 한다.
본 실시예의 또다른 측면에 의하면, 난수 생성 장치에 의한 난수 생성 방법에 있어서, 복수의 신호원으로부터 입력된 물리신호 각각에 대하여 소정의 주기로 표본화하여, 각 물리신호 별로 초기 비트열을 생성하는 제1과정, 상기 초기 비트열 각각에 대해, 블록 부분합 연산 또는 순차 부분합 연산을 수행하여 복수의 패리티 비트열을 생성하는 제2과정 및 상기 복수의 패리티 비트열에 포함된 패리티 비트들을 생성된 순서에 따라 순차적으로 배열하여 난수를 생성하는 제3과정을 포함하는 신호원에 의한 편향을 제거한 난수 생성 방법을 제공한다.
상기 난수 생성 방법들은, 표본화에 앞서서, 상기 입력된 물리신호에 포함된 편차를 제거하는 편차제거 과정을 더 포함할 수 있다.
또한, 상기 편차제거 과정은 직류 필터 또는 편차자동보상회로 중 어느 하나의 수단을 이용하여 상기 편차를 제거하는 것일 수 있다.
본 실시예의 또다른 측면에 의하면, 난수 생성의 기초가 되는 물리신호를 발생하는 신호원, 소정의 주파수를 가진 클록을 발생하는 클록 발생부, 상기 매 클록마다 상기 물리신호를 표본화하여 얻은 값을 기 설정된 기준값에 비교한 결과에 따라 0 또는 1의 비트값을 출력하는 표본화기 및 상기 표본화기의 출력인 비트열에 대해, 블록 부분합 연산 또는 순차 부분합 연산을 수행하여 난수를 생성하는 연산장치를 포함하는 신호원에 의한 편향을 제거한 난수 생성 장치를 제공한다.
상기 난수 생성 장치는 상기 물리신호의 편차를 제거하기 위한 직류 필터 또는 편차자동보상회로 중 어느 하나의 수단을 더 포함하고, 상기 표본화기는 상기 수단의 출력신호를 표본화하는 것일 수 있다.
또한, 상기 각 난수생성기는 난수 생성의 기초가 되는 물리신호를 발생하는 신호원, 소정의 주파수를 가진 클록을 발생하는 클록 발생부 및 상기 매 클록주기마다 상기 물리신호를 표본화하여 얻은 값을 기 설정된 기준값에 비교한 결과에 따라 0 또는 1의 비트값을 출력하는 표본화기를 포함할 수 있다.
또한, 상기 각 난수생성기는 상기 표본화하여 얻은 값으로부터 편차를 분석하여 상기 편차를 제거하기 위한 궤환신호를 상기 표본화기에 되먹임하는 오프셋제어회로를 더 포함할 수 있다.
본 실시예의 또다른 측면에 의하면, 물리 현상으로부터 초기 비트열을 생성하기 위한 복수의 난수생성부 및 상기 복수의 난수생성부에서 생성된 복수의 초기 비트열에 대해 병렬 부분합 연산을 수행하여 난수열을 생성하기 위한 연산장치를 포함하는 신호원에 의한 편향을 제거한 난수 생성 장치를 제공한다.
본 실시예의 또다른 측면에 의하면, 물리 현상으로부터 초기 비트열을 생성하기 위한 복수의 난수생성부 및 상기 복수의 난수생성기가 생성한 초기 비트열 각각에 대해, 블록 부분합 연산 또는 순차 부분합 연산을 수행하여 복수의 패리티 비트열을 생성하고, 생성된 상기 복수의 패리티 비트열에 포함된 각 패리티 비트를 생성된 순서에 따라 순차적으로 배열하여 하나의 난수열을 생성하기 위한 연산장치를 포함하는 신호원에 의한 편향을 제거한 난수 생성 장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 스크램블러나 등화기 등의 기존 신호처리회로를 이용하는 경우에 비해 매우 단순한 계산만이 필요하므로 구성을 단순화할 수 있으며, 기본적으로는 궤환(Feedback)회로나 기타 부가적인 제어회로 없이도 신호원의 편차가 큰 경우에도 편향이 잘 억제된 출력을 얻을 수 있다.
도 1은 편차를 가진 신호원을 표본화한 결과 얻어진 표본 값들에 존재하는 편향을 예시한 도면이다.
도 2a는 본 발명의 일 실시예에 따른 블록 부분합 연산을 적용한 난수 생성 장치를 기능 블록으로 도식화한 도면이다.
도 2b는 표본값에 블록 부분합 연산을 수행하는 방법을 예시한 도면이다.
도 3a는 수학식 2 및 수학식 3을 이용하여 N이 2, 5, 10, 15, 20인 경우에 대하여 p 값에 따른 2진 난수의 1의 비율의 변화를 도시한 도면이다.
도 3b는 난수생성기에서 출력되는 값 중 1의 비율이 0.5를 기준으로 +/- 0.01 (1% 편향) 이하의 범위에 있는 p 값의 범위를 N의 값에 따라서 도시한 도면이다.
도 4a는 본 발명의 일 실시예에 따른 순차 부분합 연산을 적용한 난수 생성 장치를 기능 블록으로 도식화한 도면이다.
도 4b는 표본값에 순차 부분합 연산을 수행하는 방법을 예시한 도면이다.
도 5a, 도 5b, 도 5c 및 도5 d는 편차를 가진 신호원에 부분합 연산을 적용한 경우를 수치해석적으로 모델링한 결과이다.
도 6은 복수의 신호원을 이용하여 난수를 생성함에 있어서, 본 발명에 따른 부분합 연산을 적용하는 일 실시예를 도식화한 도면이다.
도 7은 도 2의 블록 부분합을 기반으로 도 6과 같이 다수의 신호원을 사용하고 각각의 출력을 시간다중화하여 난수 생성 속도를 증가시키는 방법을 도식화한 도면이다.
도 8은 도 4의 순차 부분합을 기반으로 도 6과 같이 다수의 신호원을 사용하고 각각의 출력을 시간다중화하여 난수 생성 속도를 증가시키는 방법을 도식화한 도면이다.
도 9a, 도 9b, 도 9c 및 도 9d는 독립적인 편차 특성을 갖는 서로 다른 10 개의 신호원을 이용하여 난수를 생성하는 과정을 수치해석적으로 모델링한 결과이다.
도 10a 및 도 10b는 본 발명에 따른 부분합 연산과 종래의 신호원의 편차 제거 수단을 결합한 구조를 도식화한 도면이다.
도 11은 편차가 없는 단일 신호원을 수치해석적으로 모델링한 결과를 도시한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 실시예는 신호원의 편차로 인하여 신호원의 출력을 표본화하여 생성한 난수에 발생하는 편향을 해결하기 위해, 표본화 값에 대해 부분합 연산을 수행한다. 이하 도 2 내지 도 5를 참조하여, 하나의 신호원을 이용하여 난수를 생성하는 경우를 예시하여 본 실시예에 따른 난수 생성시 신호원의 편차에 의한 영향을 제거하는 방법 및 이를 이용한 장치를 설명하기로 한다.
도 2a는 본 발명의 일 실시예에 따른 블록 부분합 연산을 적용한 난수 생성 장치를 기능 블록으로 도식화한 도면이다.
도 2a에 도시된 바와 같이, 본 실시예에 따른 난수 생성 장치는 클록신호에 따라 신호원(210)의 출력을 표본화하여 얻은 값(이하 '표본값'이라 약칭함)을 기 설정된 기준값과 비교하여 0 또는 1의 값을 갖는 비트들을 출력하는 표본화기(220)의 출력에 대해 블록 부분합 연산을 적용한다.
여기서, 난수 생성 장치의 구성 220, 230 및 240은 반드시 물리적으로 구분되는 구성이라기보다는 수행하는 기능을 기준으로 논리적으로 구분한 것에 불과하다. 또한, 도 2에 도시된 난수 생성 장치는 신호원의 출력을 클록신호에 따라 표본화하여 난수를 생성하는 난수생성부와 생성된 난수에서 신호원의 편차에 의한 영향을 제거하기 위한 후처리 연산으로서 블록 부분합 연산을 수행하는 후처리부를 도식화한 것으로 볼 수 있다. 이하에서 예시하는 다른 실시예에서도 이와 동일하게 이해하여야 한다.
도 2b는 표본값에 블록 부분합 연산을 수행하는 방법을 예시한 도면이다.
도 2b에 도시된 바와 같이, 부분합 연산은 일정 개수의 비트들에 포함된 1 또는 0의 개수가 짝수인지 홀수인지를 확인하는 연산, 즉 패리티(Parity) 연산을 수행하는 것이다. 1이 짝수 개일 때 출력 난수 값을 1로 하자고 정할 수도 있고 0으로 하자고 정할 수도 있다. 이는 구현 방법의 차이일 뿐 본 발명에서 제안하는 방법에는 영향이 없다.
2진 난수 생성기에서 각 표본 값이 1 또는 0으로 판별되어 출력되는 경우에 1이 출력될 확률을 p라고 하면, N개의 표본에 관한 부분합을 취할 때 1이 k개가 포함될 확률은 다음의 수학식 1과 같다.
Figure pat00001
위 수학식 1로부터, 1의 개수가 짝수인 경우의 확률은 수학식 2로 나타낼 수 있고 홀수인 경우의 확률은 수학식 3으로 나타낼 수 있다.
Figure pat00002
Figure pat00003
Figure pat00004
Figure pat00005
도 3a는 수학식 2 및 수학식 3을 이용하여 N이 2, 5, 10, 15, 20인 경우에 대하여 p 값에 따른 2진 난수의 1의 비율의 변화를 도시한 도면이다.
도 3a에서 알 수 있듯이, N이 커질수록 p의 값이 이상적인 값인 0.5에서 상당히 벗어나더라도 난수 생성기부터 난수 1이 출력되는 비율은 0.5에 근접한다.
도 3b는 난수생성기에서 출력되는 값 중 1의 비율이 0.5를 기준으로 +/- 0.01 (1% 편향) 이하의 범위에 있는 p 값의 범위를 N의 값에 따라서 도시한 도면이다.
도 3b에서 알 수 있듯이, 부분합의 집단의 크기 N의 값이 커질수록 큰 편향을 잘 억제한 값을 얻을 수 있다. 그러나 블록부분합을 적용한 경우 N을 크게 하면 난수 생성 속도가 표본화 주파수의 1/N로 저하되므로 적절한 값 선택이 필요하다.
도 4a는 본 발명의 일 실시예에 따른 순차 부분합 연산을 적용한 난수 생성 장치를 기능 블록으로 도식화한 도면이고, 도 4b는 표본값에 순차 부분합 연산을 수행하는 방법을 예시한 도면이다.
도 4b와 같이, 순차 부분합 연산은 N개의 부분합을 선택할 때 표본값 선택 범위를 한 개씩 순환(shift)하는 방식의 부분합 연산을 말한다. 다시 말해, 순차 부분합 연산은 상기 초기 비트열에 일정 크기의 마스크를 적용하여 패리티 비트를 산출하되, 상기 마스크를 현재 패리티 비트를 생성한 위치로부터 적어도 1 비트씩 이동하면서 다음 패리티 비트를 산출하는 연산 방식이다. 이러한 순차 부분합 연산을 적용하면, 표본화 주파수(A Hz)와 동일한 난수생성 속도(A bps)를 구현할 수 있다.
도 5a, 도 5b, 도 5c 및 도 5d는 편차를 가진 신호원에 부분합 연산을 적용한 경우를 수치해석적으로 모델링한 결과이다.
도 5a는 가우시안 분포(Gaussian Distribution)을 따르는 잡음의 세기 분포를 보여주고 있다. 도 5b는 도 5a의 잡음을 표본화하여 2진 난수를 생성한 결과이다. 1의 값이 상대적으로 많이 나타나고 있으며, 1이 출력될 확률은 약 78.6%이다. 도 5c는 N이 10인 블록 부분합을 적용한 결과이며, 1의 비율은 약 49.0%로 50%에 근접한다. 도 5d는 N이 10인 순차 부분합을 적용한 결과이며, 1의 비율은 약 50.8%로 50%에 근접한다. 도 5b와 같이 1의 비율이 약 0.8까지 증가한 신호원이라도 본 실시예에 따라 N=10인 블록 부분합 또는 순차 부분합을 적용하면 1의 비율이 0.5에 근접함을 확인할 수 있다.
이하 도 6 내지 도 8를 참조하여, 복수의 독립적인 신호원을 이용하여 난수를 생성하는 경우를 예시하여, 본 실시예에 따른 난수 생성시 신호원의 편차에 의한 영향을 제거하는 방법 및 이를 이용한 장치를 설명하기로 한다.
도 6은 복수의 신호원을 이용하여 난수를 생성함에 있어서, 본 실시예에 따른 부분합 연산을 적용하는 방법을 도식화한 도면이다.
도 6과 같이 N개의 독립적인 신호원(610_1~610_n)을 이용하여 난수생성기를 구성함에 있어서, N개의 표본화기(620_1~620_n)를 이용하여 N개의 신호원(610_1~610_n)의 출력을 독립적으로 표본화한 후 병렬 부분합 연산을 수행하면 각 신호원이 독립적인 편차를 갖더라도 최종 출력 난수에서는 편향이 충분히 억제될 수 있다. 여기서, 병렬 부분합 연산은, N개의 표본화기에서 동일 클록에 출력된 N개의 표본값들을 대상으로 패리티 비트를 산출하는 연산을 매 클록마다 수행하는 것을 의미한다.
도 7은 복수의 신호원을 이용하여 난수를 생성함에 있어서, 본 실시예에 따른 부분합 연산을 적용하는 방법을 도식화한 도면이다.
도 7은 도 2의 블록 부분합을 기반으로 도 6과 같이 다수의 신호원(710_1~710_n)을 사용하고 각각의 출력을 시간다중화하여 블록 부분합으로 인한 난수 생성 속도의 저하를 보상하는 방법을 예시하고 있다. 즉, 각 표본화기(720_1~710_n)에서 출력되는 초기 비트열에 대해 블록 부분합 연산을 수행한 후 이를 순차적으로 나열함으로써 난수를 생성하는 방식이다. 예컨대, 블럭 크기를 N으로 하여 블록 부분합 연산을 수행할 경우, 각 블록 부분합의 출력 속도는 클록 주파수(A Hz)의 1/N에 감소하지만, N개의 표본화기로 인해 난수 생성 속도는 다시 N배 증가하여 클록 주파수와 동일하게 된다.
도 8은 도 4의 순차 부분합을 기반으로 도 6과 같이 다수의 신호원을 사용하고 각각의 출력을 시간다중화하여 난수 생성 속도를 증가시키는 방법을 도식화한 도면이다. N개의 표본화기(820_1~820_n)의 출력에 대해 각각 순차 부분합 연산을 수행한 후 이를 순차적으로 나열하여 난수를 생성하는 경우, 난수 생성 속도는 클록 주파수(A Hz)보다 N배 증가한다.
도 9a 내지 도 9d는 독립적인 편차 특성을 갖는 서로 다른 10 개의 신호원을 이용하여 난수를 생성하는 과정을 수치해석적으로 모델링한 결과이다.
도 9a는 가우시안 분포를 따르며 독립적인 편차가 있는 신호원 10개의 세기 분포를 보여주고 있다. 도 9b는 병렬부분합을 적용한 결과이며, 1의 비율은 약 49.9 %이다. 도 9c는 블록 부분합을 적용한 후 시간 다중화한 결과이며, 1의 비율은 약 49.5 %이다. 도 9d는 순차 부분합을 적용한 후 시간 다중화한 결과이며, 1의 비율은 49.3%이다. 모든 경우에서 부분합 연산을 통해 출력 난수의 1의 비율은 50%에 근접하도록 조정됨을 알 수 있다.
도 10a 및 도 10b는 본 발명에 따른 부분합 연산과 종래의 신호원의 편차 제거 수단을 결합한 구조를 도식화한 도면이다.
앞서 예시한 본 발명의 일 실시예들은 신호원이 제공하는 물리신호를 표본화한 결과값에 대해 블록/순환/병렬 부분합 연산을 수행하여 표본 값에 포함된 편향을 제거하는 후처리 방식이다. 따라서 그 이전 단계에서 신호원의 편차를 제거하는 기존의 방법을 동일하게 채용할 수 있다.
예컨대 도 10a와 같이, 신호원이 제공하는 물리신호를 표본화기(1030)에서 표본화하기에 앞서서 물리신호를 직류 필터 또는 편차자동보상회로(1020)를 통과시킴으로써, 편차가 일정 정도 제거된 물리신호에 대해 표본화한 후 본 실시예에 따른 블록/순환/병렬 부분합 연산을 수행할 수 있다.
또한 도 10b와 같이, 표본화기(1030)의 출력에서 편차를 분석하여 편차를 제거하기 위한 궤환신호를 표본화기(1030)에 되먹임함으로써 표본화기의 비교 기준값을 제어하는 오프셋제어회로(1060~1070)를 구성하여, 표본화기(1030)가 일정 정도 편차가 제거된 표본화 값을 출력하도록 제어한 후, 본 실시예에 따른 블록/순환/병렬 부분합 연산을 수행할 수 있다.
도 10a 및 도 10b에서는 하나의 신호원을 사용하는 경우에 대해 예시하였지만, 복수의 신호원을 사용하는 경우에도 각각의 신호원에 도 10a 및 도 10b와 동일한 방식이 적용될 수 있음은 자명하다.
도 11은 편차가 없는 단일 신호원을 수치해석적으로 모델링한 결과를 도시한 도면이다.
도 11a는 편차가 없는 단일 신호원의 신호값의 분포를, 도 11b는 도 11a의 단일 신호원의 신호를 표본화한 결과를, 도 11c는 도 11 b의 표본화 값들에 대해 블록 부분합 연산을 적용한 결과를, 도 11d는 도 11b의 표본화 값들에 대해 순차 부분합 연산을 적용한 결과를 나타낸다. 도 11b, 도 11c 및 도 11d에서 1의 비율은 각각 49.8%, 49.6% 및 50.0%로, 당초의 50%에 근접한 표본화 값에 본 실시예에 따른 블럭/순차 부분합 연산을 적용하여 난수를 생성하더라도 생성된 난수에 편향이 오히려 역으로 증가하는 현상이 일어나지는 않음을 알 수 있다.
이상의 설명에서 본 실시예에서 제안하는 부분합 연산을 이용하는 방법을 2진 난수를 기반으로 예시하였으나, n진 난수의 경우에도 동일한 방법을 적용할 수 있는바, 본 실시예에서 제안하는 부분합 연산을 이용하는 방법은 n진 난수 생성으로 확장 가능하다. 즉, 부분합의 결과를 다시 a 개씩 묶어 a 비트 난수를 생성하거나, b개의 신호원에 개별적으로 부분합을 적용한 후 b 개씩 묶어 b 비트 난수를 생성하는 데 적용할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
210: 신호원 220: 표본화기
230: 클록 240: 블록 부분합
410: 신호원 420: 표본화기
430: 클록 440: 순차 부분합
610_1~610_n: 신호원 620_1~620_n: 표본화기
640: 병렬부분합 710_1~710_n: 신호원
720_1~720_n: 표본화기 730: 클록
740_1~740_n: 블록 부분합 810_1~810_n: 신호원
820_1~820_n: 표본화기 830: 클록
840_1~840_n: 순차 부분합 1010: 신호원
1020: 직류 필터/편차자동보상회로 1030: 표본화기
1040: 클록 1050: 블록/순환/병렬 부분합
1060: 통계분석 1070: 오프셋 제어

Claims (15)

  1. 난수 생성 장치에 의한 난수 생성 방법에 있어서,
    하나의 신호원으로부터 입력된 물리신호를 소정의 주기로 표본화하여 초기 비트열을 생성하는 제1과정; 및
    상기 생성된 초기 비트열에 대해, 블록 부분합 연산 또는 순차 부분합 연산을 수행하여 난수를 생성하는 제2과정
    을 포함하는 신호원에 의한 편향을 제거한 난수 생성 방법.
  2. 제1항에 있어서,
    상기 제1과정은,
    상기 표본화하여 얻은 값을 기 설정된 기준값에 비교하여 상기 초기 비트열을 생성하는 것임을 특징으로 하는 신호원에 의한 편향을 제거한 난수 생성 방법.
  3. 제1항에 있어서,
    상기 블록 부분합 연산은,
    상기 초기 비트열을 일정 길이의 블록으로 분할하여, 각 블록별로 패리티 비트(Parity Bit)를 산출하는 연산임을 특징으로 하는 신호원에 의한 편향을 제거한 난수 생성 방법.
  4. 제1항에 있어서,
    상기 순차 부분합 연산은,
    상기 초기 비트열에 일정 크기의 마스크를 적용하여 패리티 비트를 산출하되, 상기 마스크를 현재 패리티 비트를 생성한 위치로부터 적어도 1 비트씩 이동하면서 다음 패리티 비트를 산출하는 연산임을 특징으로 하는 신호원에 의한 편향을 제거한 난수 생성 방법.
  5. 난수 생성 장치에 의한 난수 생성 방법에 있어서,
    복수 개의 신호원으로부터 입력된 물리신호들 각각에 대하여 소정의 주기로 표본화하여 복수의 초기 비트열을 생성하는 제1과정; 및
    상기 복수의 초기 비트열에 대하여 병렬 부분합 연산을 수행하여 난수를 생성하는 제2과정
    을 포함하는 신호원에 의한 편향을 제거한 난수 생성 방법.
  6. 제5항에 있어서,
    상기 병렬 부분합 연산은,
    상기 복수의 초기 비트열에서 동일한 주기에 생성된 비트들별로 패리티 비트를 산출하는 연산인 것을 특징으로 하는 신호원에 의한 편향을 제거한 난수 생성 방법.
  7. 난수 생성 장치에 의한 난수 생성 방법에 있어서,
    복수의 신호원으로부터 입력된 물리신호 각각에 대하여 소정의 주기로 표본화하여, 각 물리신호 별로 초기 비트열을 생성하는 제1과정;
    상기 초기 비트열 각각에 대해, 블록 부분합 연산 또는 순차 부분합 연산을 수행하여 복수의 패리티 비트열을 생성하는 제2과정; 및
    상기 복수의 패리티 비트열에 포함된 패리티 비트들을 생성된 순서에 따라 순차적으로 배열하여 난수를 생성하는 제3과정
    을 포함하는 신호원에 의한 편향을 제거한 난수 생성 방법.
  8. 제1항 내지 제7항 중 어느 하나의 항에 있어서,
    상기 표본화에 앞서서, 상기 입력된 물리신호에 포함된 편차를 제거하는 편차제거 과정을 더 포함하는 것을 특징으로 하는 신호원에 의한 편향을 제거한 난수 생성 방법.
  9. 제8항에 있어서,
    상기 편차제거 과정은,
    직류 필터 또는 편차자동보상회로 중 어느 하나의 수단을 이용하여 상기 편차를 제거하는 것을 특징으로 하는 신호원에 의한 편향을 제거한 난수 생성 방법.
  10. 난수 생성의 기초가 되는 물리신호를 발생하는 신호원;
    소정의 주파수를 가진 클록을 발생하는 클록 발생부;
    상기 매 클록마다 상기 물리신호를 표본화하여 얻은 값을 기 설정된 기준값에 비교한 결과에 따라 0 또는 1의 비트값을 출력하는 표본화기; 및
    상기 표본화기의 출력인 비트열에 대해, 블록 부분합 연산 또는 순차 부분합 연산을 수행하여 난수를 생성하는 연산장치
    를 포함하는 신호원에 의한 편향을 제거한 난수 생성 장치.
  11. 제10항에 있어서,
    상기 난수 생성 장치는, 상기 물리신호의 편차를 제거하기 위한 직류 필터 또는 편차자동보상회로 중 어느 하나의 수단을 더 포함하고,
    상기 표본화기는, 상기 수단의 출력신호를 표본화하는 것을 특징으로 하는 신호원에 의한 편향을 제거한 난수 생성 장치.
  12. 제10항에 있어서,
    상기 각 난수생성기는,
    난수 생성의 기초가 되는 물리신호를 발생하는 신호원, 소정의 주파수를 가진 클록을 발생하는 클록 발생부 및 상기 매 클록마다 상기 물리신호를 표본화하여 얻은 값을 기 설정된 기준값에 비교한 결과에 따라 0 또는 1의 비트값을 출력하는 표본화기를 포함하는 것을 특징으로 하는 신호원에 의한 편향을 제거한 난수 생성 장치.
  13. 제12항에 있어서,
    상기 각 난수생성기는,
    상기 표본화하여 얻은 값으로부터 편차를 분석하여 상기 편차를 제거하기 위한 궤환신호를 상기 표본화기에 되먹임하는 보상제어회로를 더 포함하는 것을 특징으로 하는 신호원에 의한 편향을 제거한 난수 생성 장치.
  14. 물리 현상으로부터 초기 비트열을 생성하기 위한 복수의 난수생성부; 및
    상기 복수의 난수생성부에서 생성된 복수의 초기 비트열에 대해 병렬 부분합 연산을 수행하여 난수열을 생성하기 위한 연산장치
    를 포함하는 신호원에 의한 편향을 제거한 난수 생성 장치.
  15. 물리 현상으로부터 초기 비트열을 생성하기 위한 복수의 난수생성부; 및
    상기 복수의 난수생성기가 생성한 초기 비트열 각각에 대해, 블록 부분합 연산 또는 순차 부분합 연산을 수행하여 복수의 패리티 비트열을 생성하고, 생성된 상기 복수의 패리티 비트열에 포함된 각 패리티 비트를 생성된 순서에 따라 순차적으로 배열하여 하나의 난수열을 생성하기 위한 연산장치
    를 포함하는 신호원에 의한 편향을 제거한 난수 생성 장치.
KR1020120118558A 2012-10-24 2012-10-24 난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치 KR101721176B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120118558A KR101721176B1 (ko) 2012-10-24 2012-10-24 난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치
CN201380055432.6A CN104737122B (zh) 2012-10-24 2013-08-21 用于去除随机数生成期间因信号源而造成的偏置的方法和装置
PCT/KR2013/007509 WO2014065496A1 (ko) 2012-10-24 2013-08-21 난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치
US14/693,801 US9535661B2 (en) 2012-10-24 2015-04-22 Method and device for removing biasing due to signal source during random number generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120118558A KR101721176B1 (ko) 2012-10-24 2012-10-24 난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140052455A true KR20140052455A (ko) 2014-05-07
KR101721176B1 KR101721176B1 (ko) 2017-03-29

Family

ID=50544842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120118558A KR101721176B1 (ko) 2012-10-24 2012-10-24 난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치

Country Status (4)

Country Link
US (1) US9535661B2 (ko)
KR (1) KR101721176B1 (ko)
CN (1) CN104737122B (ko)
WO (1) WO2014065496A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102372740B1 (ko) 2019-04-09 2022-03-14 한국전자통신연구원 난수 생성 장치 및 이의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571263B1 (en) * 1998-08-19 2003-05-27 System Industrial Laboratory Do., Ltd Random number generating apparatus
JP2004537119A (ja) * 2001-07-25 2004-12-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 疑似ランダムシーケンスを用いて乱数発生器を非相関とするための方法および装置
KR20060087431A (ko) * 2005-01-28 2006-08-02 인피니언 테크놀로지스 아게 난수 발생 방법 및 난수 발생기
US20090265112A1 (en) * 2005-07-22 2009-10-22 Psigenics Corporation Device and method for responding to influences of mind

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428561A (en) * 1993-04-22 1995-06-27 Zilog, Inc. Efficient pseudorandom value generator
FR2872357A1 (fr) * 2004-06-24 2005-12-30 St Microelectronics Sa Verification d'un flux de bits
JP2007207054A (ja) * 2006-02-03 2007-08-16 Renesas Technology Corp データ処理装置
EP2047361B1 (en) * 2006-08-03 2016-06-08 Tubitak Random numbers generation using continous-time chaos
US7904494B2 (en) * 2006-12-08 2011-03-08 International Business Machines Corporation Random number generator with random sampling
CN101655780B (zh) * 2008-08-18 2011-04-20 中国科学院物理研究所 真随机数源及生成真随机数的方法
JP5256103B2 (ja) * 2009-04-10 2013-08-07 日本放送協会 地上デジタルテレビジョン放送における緊急情報の送信装置及び受信装置
KR101646506B1 (ko) * 2009-11-30 2016-08-10 삼성전자주식회사 난수 발생기
US10106437B2 (en) 2010-07-07 2018-10-23 Tusaar Inc. Metal removal system
MY169774A (en) * 2010-11-09 2019-05-15 Mimos Berhad Quantum random number generator (qrng) with multi random source (mrs) processor
CN103049243B (zh) * 2012-12-17 2015-11-25 深圳国微技术有限公司 真随机数产生方法及其装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571263B1 (en) * 1998-08-19 2003-05-27 System Industrial Laboratory Do., Ltd Random number generating apparatus
JP2004537119A (ja) * 2001-07-25 2004-12-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 疑似ランダムシーケンスを用いて乱数発生器を非相関とするための方法および装置
KR20060087431A (ko) * 2005-01-28 2006-08-02 인피니언 테크놀로지스 아게 난수 발생 방법 및 난수 발생기
US20090265112A1 (en) * 2005-07-22 2009-10-22 Psigenics Corporation Device and method for responding to influences of mind

Also Published As

Publication number Publication date
US9535661B2 (en) 2017-01-03
US20150227345A1 (en) 2015-08-13
WO2014065496A1 (ko) 2014-05-01
CN104737122A (zh) 2015-06-24
KR101721176B1 (ko) 2017-03-29
CN104737122B (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
Cao et al. Loss-tolerant measurement-device-independent quantum random number generation
Liu et al. An analytical framework for evaluating the error characteristics of approximate adders
US9671369B2 (en) Method and apparatus for determining a mobility of ions
Fang et al. Noise and chaos contributions in fast random bit sequence generated from broadband optoelectronic entropy sources
Barenghi et al. Improving first order differential power attacks through digital signal processing
US20140025718A1 (en) Circuit and method for generating random number
KR101721176B1 (ko) 난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치
US10209276B2 (en) Jitter and eye contour at BER measurements after DFE
Gao et al. Quantum algorithm for kernelized correlation filter
KR20190048119A (ko) Fcm과 smote를 이용한 클래스 불균형 문제 해결을 위한 장치 및 방법
Hasan Speech encryption using fixed point chaos based stream cipher (FPC-SC)
Duarte et al. Denoising of discrete-time chaotic signals using echo state networks
Hua et al. A new series-wound framework for generating 1D chaotic maps
EP1479001A2 (en) On-line randomness test for detecting irregular pattern
Gao et al. Efficient fault-tolerant design for parallel matched filters
US11775259B2 (en) Random number generator
Popereshnyak et al. The Testing of Pseudorandom Sequences using Multidimensional Statistics.
Trigano et al. Intensity estimation of spectroscopic signals with an improved sparse reconstruction algorithm
Guerrer RAVA: An open hardware true random number generator based on avalanche noise
Pathan et al. An autocorrelation-less single-bit Weiner filter on FPGA
Martinez-Fuentes et al. The estimation problem for nonlinear systems modeled by conformable derivative: Design and applications
Schmitz et al. Surrogate data for non–stationary signals
Matcharashvili et al. Analysis of the Relation Between the Variation of ASY-H Geomagnetic Indices and the Character of Internet Interdomain Routing During the 2003 Halloween Geomagnetic Storm
CN110569676A (zh) 用于转换输入比特序列的加密设备和方法
Bjelić et al. Statistical properties of quantisation noise in analogue‐to‐digital converter with oversampling and decimation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200213

Year of fee payment: 4