KR102165611B1 - Swipt 시스템을 위한 코드북 생성 장치 및 방법 - Google Patents

Swipt 시스템을 위한 코드북 생성 장치 및 방법 Download PDF

Info

Publication number
KR102165611B1
KR102165611B1 KR1020180159632A KR20180159632A KR102165611B1 KR 102165611 B1 KR102165611 B1 KR 102165611B1 KR 1020180159632 A KR1020180159632 A KR 1020180159632A KR 20180159632 A KR20180159632 A KR 20180159632A KR 102165611 B1 KR102165611 B1 KR 102165611B1
Authority
KR
South Korea
Prior art keywords
codebooks
codebook
codewords
recombination
weight
Prior art date
Application number
KR1020180159632A
Other languages
English (en)
Other versions
KR20200071974A (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 KR1020180159632A priority Critical patent/KR102165611B1/ko
Publication of KR20200071974A publication Critical patent/KR20200071974A/ko
Application granted granted Critical
Publication of KR102165611B1 publication Critical patent/KR102165611B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • H04B7/0456Selection of precoding matrices or codebooks, e.g. using matrices antenna weighting
    • H04B7/0482Adaptive codebooks
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J50/00Circuit arrangements or systems for wireless supply or distribution of electric power
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J50/00Circuit arrangements or systems for wireless supply or distribution of electric power
    • H02J50/20Circuit arrangements or systems for wireless supply or distribution of electric power using microwaves or radio frequency waves
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J50/00Circuit arrangements or systems for wireless supply or distribution of electric power
    • H02J50/80Circuit arrangements or systems for wireless supply or distribution of electric power involving the exchange of data, concerning supply or distribution of electric power, between transmitting devices and receiving devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 SWIPT 시스템에서 요구되는 코드북 조건을 만족하는 코드북 중 on 신호의 비율이 매우 높은 코드북을 용이하게 생성하는 코드북 생성 장치 및 방법을 제공할 수 있다. 따라서 시스템에서 요구되는 데이터 전송률과 오류율을 충족시키면서 동시에 수신기로 최대의 에너지를 공급할 수 있는 코드북을 제공할 수 있다.

Description

SWIPT 시스템을 위한 코드북 생성 장치 및 방법{CODEBOOK GENERATION APPARATUS AND METHOD FOR SWIPT SYSTEM}
본 발명은 코드북 생성 장치 및 방법에 관한 것으로, SWIPT 시스템을 위한 코드북 생성 장치 및 방법에 관한 것이다.
네트워크의 수명을 늘리기 위해, 무선 기기들의 전력(배터리)은 교체되거나 충전되어야 한다. 그러나 수많은 무선 기기들의 전력을 인력으로 주기적으로 관리하는 것은 현실적으로 불가능하다. 이러한 요구를 바탕으로 여러 무선 기기들에 에너지를 공급하기 위해 태양열, 풍력 등의 신재생 에너지원 등이 고려되었으나, 시간과 날씨에 크게 영향을 받는 특성 때문에 사용에 많은 제약이 따른다.
이에 기지국이 송신한 RF 신호로부터 정보와 함께 에너지를 동시에 획득하는 SWIPT(Simultaneous Wireless Information and Power Transfer) 시스템에 대한 연구가 활발히 이루어지고 있다.
단순히 정보만을 전송하는 무선 정보 전송 시스템에 비하여, 정보와 에너지를 함께 전송하는 SWIPT 시스템은 근본 개념이 상이하기 때문에, 무선 정보 전송 시스템을 위한 인코딩에 사용되는 해밍 코드(hamming code)와 같은 코드를 SWIPT 시스템에 그대로 적용하는 경우, 수신기 측에는 획득되는 에너지량의 부족으로 인해 성능 저하가 발생할 수 있다.
OOK(on/off keying) modulation을 사용하는 SWIPT 시스템에서 수신기는 신호에서 on 신호가 수신되는 경우에만 에너지를 획득할 수 있다. 그러나 기존의 무선 정보 전송 시스템을 위해 고안된 해밍 코드는 데이터 전송률을 높이고 오류율을 낮추고자 코드북(codebook) 내 코드워드(codeword)들 간의 최소 해밍 거리(minimum hamming distance)등을 고려하여 설계되었기 때문에 on 신호의 비율이 높지 않다. 즉 수신기에 에너지를 원할하게 공급할 수 있도록 코드에서 on 신호의 빈도가 높아지도록 on 신호와 off 신호가 조합되는 것이 바람직하지만, 기존에는 on 신호와 off 신호의 조합을 고려하지 않아 에너지 공급 측면에서 비효율적이라는 문제가 있다.
한국 공개 특허 제10-2017-0041730호 (2017.04.17 공개)
본 발명의 목적은 SWIPT 시스템에서 요구하는 정보량과 에너지 양을 전송할 수 있는 코드북 생성 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은 고밀도 인코딩 기법을 이용하여 SWIPT 시스템에서 정보량 대비 높은 에너지를 전송할 수 있는 코드북 생성 장치 및 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 코드북 생성 장치는 서로 기지정된 최소 해밍 거리(d) 이상인 n비트의 서로 다른 코드워드를 갖는 다수의 초기 코드북을 생성하는 초기 코드북 설정부; 상기 다수의 초기 코드북 및 다수의 재조합 코드북 각각에 대해 코드워드들과 상기 최소 해밍 거리 이상인 n비트의 변수를 탐색하여 대응하는 코드북에 추가하여, 코드북을 확장하는 로컬 탐색부; 확장된 코드북 각각에 포함된 1의 비율에 따라 가중치를 할당하는 가중치 할당부; 상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북 중 가중치를 기반으로 확률에 따라 서로 다른 조합의 기지정된 개수의 부모 코드북을 선택하고, 선택된 부모 코드북의 코드워드들을 이용하여 다수의 재조합 코드북을 추가로 생성하는 코드북 재조합부; 상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북과 추가 생성된 다수의 재조합 코드북 중 코드워드의 개수와 가중치에 따라 기지정된 개수의 코드북을 선택하는 코드북 선택부; 재조합 코드북 생성 횟수, 코드워드의 개수 및 가중치에 따라 추가로 재조합 코드북 생성 여부를 판별하는 재조합 판별부; 및 선택된 코드북 중 코드워드의 수가 요구 코드워드 개수 이상이고, 가중치가 가장 큰 코드북을 획득하는 코드북 획득부; 를 포함한다.
상기 가중치 할당부는 상기 확장된 코드북의 코드워드의 개수가 상기 요구 코드워드 개수(M) 미만이면, 모든 코드워드에 포함된 1의 개수(l)를 코드워드의 개수로 나눈 후 M을 곱하여 가중치(W = (1/m)*M)를 계산하고, 상기 확장된 코드북의 코드워드의 개수가 요구 코드워드 개수(M) 이상이면, 1의 개수가 많은 M개의 코드워드를 순차적으로 선택하고, 선택된 M개의 코드워드에 포함된 1의 개수(l)를 M으로 나누어 가중치(W = l/M)를 계산할 수 있다.
상기 코드북 선택부는 p개의 초기 코드북 또는 이전 선택된 p개의 재조합 코드북과 추가 생성된 p개의 재조합 코드북 중 코드워드의 개수(m)가 기지정된 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북이 존재하면, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 코드북의 개수(q)가 p-1개 미만인지 판별하고, 코드북의 개수(q)가 p-1개 미만이면, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 q개의 코드북과 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 p-q 개의 코드북을 가중치(W)가 큰 코드북부터 순차적으로 선택하며, 확인된 코드북의 개수(q)가 p-1개 이상이면, 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북 중 가중치(W)가 가장 큰 하나의 코드북을 선택하고, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 코드북 중 코드워드의 개수(m)가 큰 순서로 p-1개의 코드북을 선택하고, 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북이 존재하지 않으면, 코드워드의 개수(m)가 큰 순서로 p개의 코드북을 선택할 수 있다.
상기 재조합 판별부는 재조합 코드북 생성 반복 횟수가 기준 횟수 이상이면, 선택된 다수의 코드북 중 코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)을 판별하고, 코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)이 존재하면, 최근 기준 횟수 반복하는 동안 선택된 다수의 코드북의 최대 가중치(Wmax)가 변화하는지 판별하여, 최대 가중치(Wmax)가 변화하지 않으면, 재조합 코드북 생성을 종료하고, 코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)이 존재하지 않으면, 선택된 다수의 코드북에서 최대 코드워드의 개수가 변화하는지 판별하여, 최대 코드워드의 개수가 변화하지 않으면, 요구 코드북 조건 변경을 요청하며, 재조합 코드북 생성 반복 횟수가 기준 횟수 미만이거나, 최대 가중치가 변화하거나, 최대 코드워드의 개수가 변화하면 선택된 다수의 코드북을 상기 코드북 재조합부로 전달할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 코드북 생성 방법은 서로 기지정된 최소 해밍 거리(d) 이상인 n비트의 서로 다른 코드워드를 갖는 p개의 초기 코드북을 생성하는 단계; 상기 다수의 초기 코드북 및 다수의 재조합 코드북 각각에 대해 코드워드들과 상기 최소 해밍 거리 이상인 n비트의 변수를 탐색하여 대응하는 코드북에 추가하여 코드북을 확장하는 단계; 확장된 코드북 각각에 포함된 1의 비율에 따라 가중치를 할당하는 단계; 상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북 중 가중치를 기반으로 확률에 따라 서로 다른 조합의 기지정된 개수의 부모 코드북을 선택하고, 선택된 부모 코드북의 코드워드들을 이용하여 추가로 다수의 재조합 코드북을 생성하는 단계; 상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북 및 추가 생성된 다수의 재조합 코드북 중 코드워드의 개수와 가중치에 따라 기지정된 개수의 코드북을 선택하는 단계; 재조합 코드북 생성 횟수, 코드워드의 개수 및 가중치에 따라 재조합 코드북 생성 여부를 판별하는 단계; 및 선택된 코드북 중 코드워드의 수가 요구 코드워드 개수 이상이고, 가중치가 가장 큰 코드북을 획득하는 단계; 를 포함한다.
따라서, 본 발명의 실시예에 따른 코드북 생성 장치 및 방법은 SWIPT 시스템에서 요구되는 코드북 조건을 만족하는 코드북 중 on 신호의 비율이 매우 높은 코드북을 용이하게 생성할 수 있다. 그러므로 시스템에서 요구되는 데이터 전송률과 오류율을 충족시키면서 동시에 수신기로 최대의 에너지를 공급할 수 있는 코드북을 제공할 수 있다.
도1 은 본 발명의 일 실시예에 따른 코드북 생성 장치의 개략적 구조를 나타낸다.
도2 는 본 발명의 일 실시예에 따른 코드북 생성 방법을 나타낸다.
도3 은 도2 의 코드북 로컬 탐색 단계를 상세하게 나타낸 도면이다.
도4 는 도2 의 재조합 코드북 생성 단계를 상세하게 나타낸 도면이다.
도5 는 도2 의 코드북 선택 단계를 상세하게 나타낸 도면이다.
도6 은 도2 의 재조합 판별 단계를 상세하게 나타낸 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도1 은 본 발명의 일 실시예에 따른 코드북 생성 장치의 개략적 구조를 나타낸다.
도1 을 참조하면, 본 실시예에 따른 코드북 생성 장치(100)는 초기 코드북 설정부(110), 로컬 탐색부(120), 가중치 할당부(130), 재조합부(140), 코드북 선택부(150), 재조합 판별부(160) 및 코드북 획득부(170)를 포함한다.
이하에서는 코드북 생성 장치(100)가 (n, M, d) 코드북을 생성하는 것으로 가정하여 설명한다. 여기서 n은 코드북에 따라 인코딩된 이후의 비트 수를 나타내고, M은 코드북 내의 코드워드의 개수를 나타내며, d는 코드북 내의 코드워드 간의 최소 해밍 거리를 나타낸다.
초기 코드북 설정부(110)는 1개 이상 M-1 개 이하의 n비트의 코드워드를 포함하는 코드워드 집합(C)로 구성된 p개의 초기 코드북을 생성한다. 이때 각 코드워드 집합(C)의 1개 이상 M-1 개 이하의 코드워드는 서로 기지정된 최소 해밍 거리(d) 이상이 되도록 생성되며, 미리 지정된 방식 또는 랜덤하게 생성될 수 있다.
이때 초기 코드북 설정부(110)는 p개의 초기 코드북의 코드워드 집합(C)이 서로 상이하도록 코드워드들을 생성한다. 이는 후술하는 로컬 탐색부(120)에서 p개의 초기 코드북 각각에 대한 코드워드가 확장되는 경우, 다수의 코드북이 동일한 코드워드 집합(C)으로 구성될 수 있기 때문이다.
로컬 탐색부(120)는 우선 초기 코드북 설정부(110)에서 생성된 p개의 초기 코드북 각각의 코드워드 집합(C)에 대해 기지정된 범위 이내에서 로컬 탐색을 수행하여, 각 코드북에 포함되는 코드워드의 개수를 확장한다. 여기서 로컬 탐색부(120)는 코드워드의 길이인 n비트 범위 이내에서 로컬 탐색을 수행한다.
로컬 탐색부(120)는 n비트의 변수(x)의 값을 가변하면서 p개의 초기 코드북의 코드워드 집합(C) 각각에 포함된 모든 코드워드와 비교하여, 최소 해밍 거리(d) 이상인 변수(x)를 탐색하고, 탐색된 변수(x)를 해당 코드북의 코드워드 집합(C)에 추가함으로써, 코드북의 코드워드의 개수를 확장한다.
일예로 로컬 탐색부(120)는 코드워드의 길이가 7비트인 경우, n비트의 변수(x)를 우선 최소값([0000000])으로 설정하고, 변수(x)가 현재 초기 코드북의 코드워드 집합(C)에 포함된 모든 코드워드로부터 기지정된 최소 해밍 거리(d) 이상(d(x, C) ≥ d, 여기서 d(·)는 해밍 거리 함수)인지 판별한다. 만일 변수(x)가 모든 코드워드로부터 최소 해밍 거리(d) 이상이면, 로컬 탐색부(120)는 현재 변수(x)를 코드워드 집합(C)에 추가한다. 그러나 변수(x)가 코드워드 집합(C)의 적어도 하나의 코드워드로부터 최소 해밍 거리(d) 이내이면, 로컬 탐색부(120)는 변수(x)를 코드워드 집합(C)에 추가하지 않는다.
이후 로컬 탐색부(120)는 변수(x)를 기지정된 단위(일예로 최소 증가 단위[0000001])로 증가시키면서, 반복적으로 변수(x)가 모든 코드워드로부터 최소 해밍 거리(d) 이상인지 여부를 판별하여 코드워드 집합(C)에 추가하며, 기지정된 최대값(예를 들면, [1111111])이 될 때까지 변수(x)를 코드워드 집합(C)에 추가한다. 즉 p개의 초기 코드북 각각의 코드워드의 개수를 확장한다.
여기서 로컬 탐색부(120)에서 확장된 코드워드의 개수는 M개 이상일 수 있다. 즉 각 코드워드 집합(C)의 코드워드의 개수는 기지정된 코드북 내의 코드워드의 개수(M)를 초과할 수 있다.
한편, 로컬 탐색부(120)는 재조합부(140)로부터 적어도 하나의 재조합 코드북이 생성되어 전달되면, 재조합 코드북에 대해서도 초기 코드북과 동일한 방식으로 변수(x)를 가변하면서, 재조합 코드북의 코드워드 집합(C)의 코드워드와 최소 해밍 거리(d) 이상인 변수(x)를 탐색하여 코드워드 집합(C)에 추가한다.
로컬 탐색부(120)는 초기 코드북 또는 재조합 코드북의 코드워드 집합(C)이 인가되면, 초기 코드북 또는 재조합 코드북의 코드워드 집합(C) 각각에 대해 적어도 하나의 임의의 비트를 비트 반전하여 변경 코드워드 집합(C')을 획득하고, 획득된 변경 워드 집합(C)에 대해 n비트의 변수(x)의 값을 가변하면서, 최소 해밍 거리(d) 이상인 변수(x)를 탐색할 수 있다.
예를 들면, 로컬 탐색부(120)는 7비트의 코드워드 집합(C)에 포함된 적어도 하나의 코드워드들에 대해 동일하게 하위 제1 및 제5 비트를 비트 반전한다. 만일 2개의 코드워드가 [0010100], [1110100]이면, [0000101] 및 [1100101]로 변경하여 변수(x)를 탐색하여 추가한다. 즉 변경 코드워드 집합(C')에 대해 변수(x)를 탐색하여 변경 코드워드 집합(C')에 추가하여 확장한다. 그리고 변수(x) 탐색이 완료되면, 확장된 변경 코드워드 집합(C')의 모든 코드워드에서 비트 반전된 비트를 다시 비트 반전하여 복원할 수 있다. 즉 복원을 위한 비트 반전 시에는 변수(x)에 의해 추가된 코드워드까지 함께 비트 반전된다.
여기서 p개의 초기 코드북 또는 p개의 재조합 코드북 각각의 코드워드 집합(C)에서 서로 다른 비트가 비트 반전될 수 있다.
만일 초기 코드북이 미리 지정된 방식에 따라 항시 동일한 코드워드 집합(C)로 구성되는 경우, 로컬 탐색부(120)에 의해 코드북이 확장되더라도 항상 동일한 결과를 도출하게 된다. 이에 코드북의 다양성을 확보하기 위해, 로컬 탐색부(120)는 상기한 바와 같이 임의의 적어도 하나의 비트를 비트 반전하여 변수(x)를 탐색하고 다시 복원함으로써, 코드북의 다양성을 확보할 수 있다.
재조합부(140)는 로컬 탐색부(120)에서 코드워드가 확장되어 인가되는 p개의 코드북을 기지정된 개수씩 조합하여, 기지정된 개수의 재조합 코드북을 생성한다. 재조합부(140)는 일예로 p개의 코드북 중 2개의 코드북을 부모 코드북으로 선택하고, 선택된 2개의 부모 코드북 각각의 코드워드 집합(C1, C2)에 대해 수학식 1 및 2에 따라 2개의 자식 코드북을 생성하여 p개의 재조합 코드북을 생성할 수 있다.
Figure 112018124470247-pat00001
Figure 112018124470247-pat00002
수학식 1 및 2 에서 z는 n비트의 임의의 변수를 의미하며, D는 0≤D≤n+1을 만족하는 임의의 정수를 의미한다.
이때, 재조합부(140)가 로컬 탐색부(120)에서 인가되는 p개의 코드북에 대해 모든 가능한 조합으로 재조합 코드북을 생성하면, 생성되는 재조합 코드북은 p개 이상으로 생성될 수 있다. 즉 재조합부(140)가 불필요한 연산을 수행할 수 있다.
따라서 본 실시예에서는 재조합부(140)가 효율적으로 재조합 코드북을 생성할 수 있도록, 코드북 생성 장치(100)는 로컬 탐색부(120)에서 로컬 탐색되어 코드워드가 확장된 p개의 코드북 각각에 가중치를 할당하는 가중치 할당부(130)를 더 포함할 수 있다. 이 경우, 재조합부(140)는 가중치 할당부(130)에서 할당된 p개의 코드북 각각의 가중치에 따라 확률에 기반하여, p개의 코드북 중 조합될 코드북을 선택할 수 있도록 할 수 있다.
여기서 재조합부(140)는 p개의 코드북에서 n비트의 코드워드들에 포함된 1의 비율에 따라 가중치(W)를 할당한다. 이때, 재조합부(140)는 코드워드 집합(C)에 포함된 코드워드의 개수가 M개인 경우에 각 코드워드에 포함되는 1의 평균 개수를 기준으로 가중치(W)를 계산한다.
즉 재조합부(140)는 현재 코드워드 집합(C)에 포함된 코드워드의 개수(m)가 M(m = M)이면, 코드워드 집합(C)에 포함된 전체 1의 개수(l)를 M으로 나누어 가중치(W = l/M)를 할당한다. 그러나 코드워드의 개수가 M개 미만(m < M)이면, 코드워드 집합(C)의 모든 코드워드에 포함된 1의 개수(l)를 코드워드의 개수로 나눈 후 M을 곱하여 가중치(W = (l/m)*M)를 계산할 수 있다. 한편, 코드워드의 개수가 M개를 초과하면(m > M)이면, 코드워드 집합(C)에서 1의 개수가 많은 순서로 M개의 코드워드를 선택하고, 선택된 M개의 코드워드에 포함된 1의 개수(l)를 M으로 나누어 가중치(W = l/M)를 할당한다.
여기서 재조합부(140)가 코드워드 집합(C)에 포함된 1의 개수를 기반으로 가중치(W)를 할당하는 것은 상기한 바와 같이, OOK modulation을 사용하는 SWIPT 시스템에서는 on 신호의 빈도가 높을수록 더 많은 에너지를 수신기로 공급할 수 있기 때문이다.
p개의 코드북에서 n비트의 코드워드들에 포함된 1의 비율에 따라 가중치(W)를 할당되면, 재조합부(140)는 수학식 3에 따라 계산되는 확률에 기반하여 p개의 코드북 중 재조합 코드북을 생성하기 위해 조합될 코드북을 선택할 수 있다.
Figure 112018124470247-pat00003
수학식 3 에서 Wi는 i번째(i∈{1, ..., p}) 코드북의 가중치를 나타내고, Wmin 은 p개의 코드북의 가중치 중 최소값을 나타내며,
Figure 112018124470247-pat00004
이다.
즉 재조합부(140)는 p개의 코드북 중 가중치(W)가 높은, 1의 비율이 높은, 코드북을 더 높은 확률로 선택하여 p개의 재조합 코드북을 생성할 수 있다.
그리고 재조합부(140)는 p개의 재조합 코드북 각각에 대해서도 가중치(W)를 계산하고, p개의 재조합 코드북을 로컬 탐색부(120)로 전달한다.
이에 로컬 탐색부(120)는 재조합부(140)에서 인가되는 p개의 재조합 코드북에 대해서도 로컬 탐색을 수행하여, 코드워드를 확장한다.
코드북 선택부(150)는 로컬 탐색부(120)로부터 2p개의 코드북을 인가받아, 기지정된 알고리즘에 따라 p개의 코드북을 선택한다.
코드북 선택부(150)는 우선 2p개의 코드북 중 코드워드의 개수가 M개 이상인 코드북과 M개 미만인 코드북의 개수를 각각 판별한다.
만일 2p개의 코드북 중 코드워드의 개수가 M개 이상인 코드북의 개수가 1개 이상이고, 코드워드의 개수가 M개 미만인 코드북의 개수가 p-1개 미만인 q(q < p-1)개인 경우, 코드북 선택부(150)는 코드워드의 개수가 M개 미만인 q개의 코드북을 우선 선택하고, 이후, 코드워드의 개수가 M개 이상인 코드북 중에서 가중치(W)가 큰 코드북부터 순차적으로 p-q개를 선택한다.
그러나 2p개의 코드북 중 코드워드의 개수가 M개 이상인 코드북의 개수가 1개 이상인 반면, 코드워드의 개수가 M개 미만인 코드북의 개수가 p-1개 이상인 경우, 코드북 선택부(150)는 코드워드의 개수가 M개 이상인 코드북 중에서 가중치(W)가 가장 큰 하나의 코드북을 선택하고, 코드워드의 개수가 M개 미만인 코드북 중에서 코드워드의 개수가 많은 코드북부터 순차적으로 p-1개를 선택한다.
한편, 2p개의 코드북 중 코드워드의 개수가 M개 이상인 코드북이 존재하지 않는 경우, 코드워드의 개수가 많은 코드북부터 순차적으로 p개를 선택한다.
재조합 판별부(160)는 코드북 선택부(150)에서 선택된 p개의 코드북을 분석하여, p개의 재조합 코드북을 추가로 생성할지 여부를 판별한다.
재조합 판별부(160)는 우선 코드북 선택부(150)에서 선택된 p개의 코드북에서 코드워드의 개수가 M개 이상인 코드북이 존재하는지 판별한다.
만일 코드워드의 개수가 M개 이상인 코드북이 존재하면, 최근 기지정된 기준 횟수(예를 들면 5회)동안 반복하여 재조합 코드북을 생성하는 동안, 재조합되고 선택된 p개의 코드북의 최대 가중치의 변화가 없는지 판별한다. 판별 결과 기준 횟수동안 반복하여 재조합 코드북을 생성하는 동안, 최대 가중치의 변화가 없으면, 재조합 판별부(160)는 현재 선택된 p개의 코드북을 코드북 획득부(170)로 전달한다.
그러나 기준 횟수동안 반복하여 재조합 코드북을 생성하는 동안, 최대 가중치의 변화가 있으면, 재조합 판별부(160)는 현재 선택된 p개의 코드북을 재조합부(140)로 전달하여, 재조합부(140)가 p개의 코드북으로부터 p개의 재조합 코드북을 다시 생성하도록 한다.
한편, 재조합 판별부(160)는 코드워드의 개수가 M개 이상인 코드북이 존재하지 않으면, 최근 기지정된 기준 횟수동안 반복하여 재조합 코드북을 생성하는 동안, 재조합되고 선택된 p개의 코드북에서 최대 코드워드의 개수 변화가 있는지 판별한다. 만일 기준 횟수동안 반복하여 재조합 코드북을 생성하는 동안, 최대 코드워드의 개수 변화가 없으면, 재조합 판별부(160)는 SWIPT 시스템에서 요구하는 (n, M, d) 코드북 조건을 만족하는 코드북을 획득할 수 없음을 통지한다.
그러나 기준 횟수동안 반복하여 재조합 코드북을 생성하는 동안, 최대 코드워드의 개수 변화가 있으면, 재조합 판별부(160)는 현재 선택된 p개의 코드북을 재조합부(140)로 전달하여, 재조합부(140)가 p개의 코드북으로부터 p개의 재조합 코드북을 다시 생성하도록 한다.
코드북 획득부(170)는 재조합 판별부(160)에서 전달되는 p개의 코드북 중 SWIPT 시스템에서 요구하는 (n, M, d) 코드북 조건을 만족하는 코드북을 획득한다. 이때 코드북 획득부(170)는 (n, M, d) 코드북 조건을 만족하는 코드북이 다수인 경우, 가중치(W)가 가장 큰 코드북을 획득한다.
상기에서는 일예로서, 재조합부(140)가 p개의 코드북으로부터 p개의 재조합 코드북을 생성하고, 코드북 선택부(150)는 2p개의 코드북 중 p개의 코드북을 선택하는 것으로 설명하였으나, 본 실시예는 이에 한정되지 않는다. 즉 재조합부(140)는 p개 이상의 재조합 코드북을 생성할 수도 있다.
도2 는 본 발명의 일 실시예에 따른 코드북 생성 방법을 나타내고, 도3 은 도2 의 코드북 로컬 탐색 단계를 상세하게 나타낸 도면이며, 도4 는 도2 의 재조합 코드북 생성 단계를 상세하게 나타낸 도면이다. 그리고 도5 는 도2 의 코드북 선택 단계를 상세하게 나타낸 도면이고, 도6 은 도2 의 재조합 판별 단계를 상세하게 나타낸 도면이다.
도1 내지 도6 을 참조하며, 본 실시예의 코드북 생성 방법을 설명하면, 코드북 생성 장치(100)는 우선 1개 이상 M-1 개 이하의 n비트의 코드워드를 포함하는 코드워드 집합(C)로 구성된 p개의 초기 코드북을 생성한다(S10). 이때, 코드북 생성 장치는 코드워드 집합(C) 각각의 1개 이상 M-1 개 이하의 코드워드가 서로 기지정된 최소 해밍 거리(d) 이상이 되도록 생성하며, 코드워드 집합(C)이 서로 상이하도록 생성한다.
p개의 초기 코드북이 생성되면, p개의 초기 코드북 각각의 코드워드 집합(C)에 대해 로컬 탐색을 수행하여, 각 코드워드 집합(C)에 포함되는 코드워드의 개수를 확장한다(S20). p개의 초기 코드북에 대한 로컬 탐색이 수행되면, 로컬 탐색이 수행된 p개의 초기 코드북을 조합하여 기지정된 개수(예를 들면 p개)의 재조합 코드북을 생성한다(S30). 그리고 생성된 재조합 코드북에 대해서도 다시 로컬 탐색을 수행한다(S40).
도3 을 참조하여, 코드북 로컬 탐색 단계를 구체적으로 설명하면, 우선 p개의 초기 코드북(코드워드 집합) 중 하나의 코드워드 집합(C)을 선택한다(S21). 이때, 선택된 코드워드 집합(C)의 적어도 하나의 코드워드에서 임의의 적어도 하나의 비트를 비트 반전할 수 있다.
그리고 코드워드와 동일한 비트 수(여기서는 n)를 갖는 변수(x)를 최소값으로 초기화한다(S22). 이후 변수(x)가 선택된 코드워드 집합(C)의 모든 코드워드로부터 기지정된 최소 해밍 거리(d) 이상(d(x, C) ≥ d) 인지 판별한다(S23).
만일 변수(x)가 모든 코드워드로부터 기지정된 최소 해밍 거리(d) 이상이면, 변수(x)를 코드워드 집합(C)에 추가하여 코드워드 집합(C)을 확장한다(S24). 그리고 현재 변수(x)가 최대값인지 판별한다(S25). 만일 현재 변수(x)가 최대값이 아니면, 기지정된 단위로 변수(x)를 증가시킨다(S26). 그리고 증가된 변수(x)가 선택된 코드워드 집합(C)의 모든 코드워드로부터 기지정된 최소 해밍 거리(d) 이상(d(x, C) ≥ d) 인지 다시 판별한다(S23).
그러나 현재 변수(x)가 최대값인 것으로 판별되면, p개의 코드워드 집합(C) 모두가 선택되었는지 판별한다(S27). 이때, 코드북 생성 장치(100)는 선택된 코드워드 집합(C)의 적어도 하나의 비트가 비트 반전되었다면, 추가된 변수(x)를 포함하여 비트 반전된 비트를 다시 비트반전하여 복원한 후, p개의 코드워드 집합(C) 모두가 선택되었는지 판별할 수 있다.
그리고 p개의 코드워드 집합(C) 중 선택되지 않은 코드워드 집합(C)이 존재하는 경우, 선택되지 않은 코드워드 집합(C)을 선택하여(S21), 선택된 코드워드 집합(C)에 대한 로컬 탐색을 반복 수행한다.
그러나 p개의 코드워드 집합(C) 모두가 선택되어 로컬 탐색이 수행된 것으로 판별되면, 각각 코드워드 집합(C)으로 구성된 p개의 코드북에 대해 n비트의 코드워드들에 포함된 1의 비율에 따라 가중치(W)를 할당한다(S28). 이때, 가중치(W)는 p개의 코드북 각각이 M개의 코드워드를 갖는 경우를 기준으로 하여, 각 코드워드에 포함되는 1의 평균 개수를 기준으로 가중치(W)를 계산한다.
즉 코드북의 코드워드의 개수가 M개 미만이면, 모든 코드워드에 포함된 1의 개수(l)를 코드워드의 개수로 나눈 후 M을 곱하여 가중치(W = (1/m)*M)를 계산하고, 코드북의 코드워드의 개수가 M개 이상이면, 1의 개수가 많은 M개의 코드워드를 선택하고, 선택된 M개의 코드워드에 포함된 1의 개수(l)를 M으로 나누어 가중치(W = l/M)를 계산하여 할당한다.
그리고 p개의 코드북에 대해 가중치가 할당되면, 도2 의 재조합 코드북 생성 단계(S30)를 수행한다.
도3 에서는 도2 의 초기 코드북 로컬 탐색 단계(S20)에 대해 설명하였으나, 도2 의 재조합 코드북 로컬 탐색 단계(S40) 또한 p개의 초기 코드북 대신 p개의 재조합 코드북에 대해 로컬 탐색을 수행하는 점에서만 상이할 뿐, 이외에는 동일하다. 즉 도3 의 코드북 로컬 탐색 단계는 도2 의 재조합 코드북 로컬 탐색 단계(S40)에도 동일하게 적용될 수 있다.
한편, 도4 를 참조하여, 재조합 코드북 생성 단계(S30)를 구체적으로 설명하면, 우선 p개의 코드북 각각에 할당된 가중치(W)를 기반으로 수학식 3 에 따른 확률을 기반으로 p개의 코드북 중 조합 대상이 되는 지정된 개수(일예로 2개)의 코드북을 부모 코드북으로 선택한다(S31). 그리고 선택된 부모 코드북에 대해 수학식 1 및 2에 따라 조합하여 2개의 자식 코드북을 재조합 코드북으로 생성한다(S32).
재조합 코드북이 생성되면, 생성된 재조합 코드북의 개수가 기지정된 개수(여기서는 일예로 p개)에 도달하였는지 판별한다(S33). 만일 생성된 재조합 코드북의 개수가 p개 미만이면, 다시 p개의 코드북 중 조합 대상이 되는 지정된 개수(일예로 2개)의 코드북을 부모 코드북으로 선택한다(S31). 이때 선택되는 부모 코드북은 이전 선택된 코드북과 상이한 조합으로 선택된다.
그러나 생성된 재조합 코드북의 개수가 p개에 도달하였으면, 도2 에 도시된 바와 같이, 재조합 코드북에 대해서도 로컬 탐색을 수행한다(S40).
재조합 코드북에 대해 로컬 탐색이 수행되면, 추가되는 p개의 재조합 코드북을 포함한 2p개의 코드북 중에서 p개의 코드북을 선택한다(S50).
도5 를 참조하면, 코드북 선택 단계(S50)는 2p개의 코드북 각각의 코드워드 개수(m)를 확인한다(S51). 그리고 확인된 코드워드의 개수(m)가 기지정된 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북이 존재하는지 판별한다(S52). 만일 2p개의 코드북 중 코드워드의 개수가 M개 이상인 코드북이 존재하면, 2p개의 코드북 중 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 코드북의 개수(q)를 확인한다(S53). 그리고 확인된 코드북의 개수(q)가 p-1개 미만인지 판별한다(S54).
만일 확인된 코드북의 개수(q)가 p-1개 미만이면, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 q개의 코드북과 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 p-q 개의 코드북을 선택한다(S55). 이때, 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 p-q 개의 코드북은 가중치(W)가 큰 코드북부터 순차적으로 선택된다.
그러나 확인된 코드북의 개수(q)가 p-1개 이상이면, 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북 중 가중치(W)가 가장 큰 하나의 코드북을 선택하고, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 코드북 중 코드워드의 개수(m)가 큰 순서로 p-1개의 코드북을 선택한다(S56).
한편, 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북이 존재하지 않는 것으로 판별되면, 코드워드의 개수(m)가 큰 순서로 p개의 코드북을 선택한다(S57).
p개의 코드북이 선택되면, 선택된 p개의 코드북에 대해 재조합 수행 여부를 판별한다(S60). 만일 재조합이 필요한 것으로 판단되면, 선택된 p개의 코드북을 이용하여 다시 재조합 코드북을 생성한다(S30).
도6 을 참조하면, 재조합 판별 단계(S60)는 우선 재조합 코드북을 생성 반복 횟수가 기지정된 기준 횟수 이상인지 판별한다(S61). 만일 재조합 코드북 생성 반복 횟수가 기준 횟수 미만이면, 선택된 p개의 코드북을 이용하여 다시 재조합 코드북을 생성한다(S30).
그러나 재조합 코드북 생성 반복 횟수가 기준 횟수 이상이면, 선택된 p개의 코드북 중 코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)이 존재하는지 판별한다(S62). 만일 코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)이 존재하면, 최근 기준 횟수 반복하는 동안 선택된 p개의 코드북의 최대 가중치(Wmax)가 변화하는지 판별한다(S63). 판별 결과 최대 가중치(Wmax)가 변화하지 않으면, 재조합 코드북을 생성하지 않는다.
그에 반해, 최대 가중치가 변화하면, 선택된 p개의 코드북을 이용하여 다시 재조합 코드북을 생성한다(S30).
한편, 코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)이 존재하지 않으면, 선택된 p개의 코드북에서 최대 코드워드의 개수가 변화하는지 판별한다(S64). 최대 코드워드의 개수가 변화하지 않으면, SWIPT 시스템에서 요구하는 (n, M, d) 코드북 조건을 만족하는 코드북에 획득에 실패하였음을 통지하여 요구 코드북 조건 변경을 요청할 수 있다.
그러나 최대 코드워드의 개수가 변화하면, 선택된 p개의 코드북을 이용하여 다시 재조합 코드북을 생성한다(S30).
결과적으로 본 실시예에 따른 코드북 생성 장치 및 방법은 SWIPT 시스템에서 요구되는 (n, M, d) 코드북 조건을 만족하는 코드북 중 on 신호의 비율이 매우 높은 코드북을 용이하게 생성할 수 있다. 따라서 요구되는 데이터 전송률과 오류율을 충족시키면서 동시에 수신기로 최대의 에너지를 공급할 수 있는 코드북을 제공할 수 있다.
본 발명에 따른 방법은 컴퓨터에서 실행 시키기 위한 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 여기서 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 또한 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함하며, ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 코드북 생성 장치 110: 초기 코드북 설정부
120: 로컬 탐색부 130: 가중치 할당부
140: 재조합부 150: 코드북 선택부
160: 재조합 판별부 170: 코드북 획득부

Claims (13)

  1. 서로 기지정된 최소 해밍 거리(d) 이상인 n비트의 서로 다른 코드워드를 갖는 다수의 초기 코드북을 생성하는 초기 코드북 설정부;
    상기 다수의 초기 코드북 및 다수의 재조합 코드북 각각에 대해 코드워드들과 상기 최소 해밍 거리 이상인 n비트의 변수를 탐색하여 대응하는 코드북에 추가하여, 코드북을 확장하는 로컬 탐색부;
    확장된 코드북 각각에 포함된 1의 비율에 따라 가중치를 할당하는 가중치 할당부;
    상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북 중 가중치를 기반으로 확률에 따라 서로 다른 조합의 기지정된 개수의 부모 코드북을 선택하고, 선택된 부모 코드북의 코드워드들을 이용하여 다수의 재조합 코드북을 추가로 생성하는 코드북 재조합부;
    상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북과 추가 생성된 다수의 재조합 코드북 중 코드워드의 개수와 가중치에 따라 기지정된 개수의 코드북을 선택하는 코드북 선택부;
    재조합 코드북 생성 횟수, 코드워드의 개수 및 가중치에 따라 추가로 재조합 코드북 생성 여부를 판별하는 재조합 판별부; 및
    선택된 코드북 중 코드워드의 수가 요구 코드워드 개수 이상이고, 가중치가 가장 큰 코드북을 획득하는 코드북 획득부; 를 포함하는 코드북 생성 장치.
  2. 제1 항에 있어서, 상기 가중치 할당부는
    상기 확장된 코드북의 코드워드의 개수가 상기 요구 코드워드 개수(M) 미만이면, 모든 코드워드에 포함된 1의 개수(l)를 코드워드의 개수로 나눈 후 M을 곱하여 가중치(W = (l/m)*M)를 계산하는 코드북 생성 장치.
  3. 제1 항에 있어서, 상기 코드북 재조합부는
    상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북 중 가중치를 이용하여 기지정된 방식을 계산되는 확률에 따라 2개의 부모 코드북(C1, C2)을 선택하고, 선택된 2개의 부모 코드북(C1, C2)에 대해
    수학식
    Figure 112018124470247-pat00005


    수학식
    Figure 112018124470247-pat00006

    (여기서 x는 부모 코드북(C1, C2) 중 하나에 포함된 코드워드를 나타내고, d(·)는 해밍 거리 함수를 나타내며, z는 n비트의 임의의 변수를 의미하며, D는 0≤D≤n+1을 만족하는 임의의 정수를 의미한다.)
    에 따라 2개의 재조합 코드북을 생성하며,
    추가 생성되는 재조합 코드북이 기지정된 p개가 되도록 2개의 부모 코드북을 서로 다른 조합으로 반복 선택하는 코드북 생성 장치.
  4. 제3 항에 있어서, 상기 코드북 선택부는
    p개의 초기 코드북 또는 이전 선택된 p개의 재조합 코드북과 추가 생성된 p개의 재조합 코드북 중 코드워드의 개수(m)가 기지정된 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북이 존재하면, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 코드북의 개수(q)가 p-1개 미만인지 판별하고,
    코드북의 개수(q)가 p-1개 미만이면, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 q개의 코드북과 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 p-q 개의 코드북을 가중치(W)가 큰 코드북부터 순차적으로 선택하며,
    확인된 코드북의 개수(q)가 p-1개 이상이면, 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북 중 가중치(W)가 가장 큰 하나의 코드북을 선택하고, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 코드북 중 코드워드의 개수(m)가 큰 순서로 p-1개의 코드북을 선택하고,
    코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북이 존재하지 않으면, 코드워드의 개수(m)가 큰 순서로 p개의 코드북을 선택하는 코드북 생성 장치.
  5. 제1 항에 있어서, 상기 재조합 판별부는
    재조합 코드북 생성 반복 횟수가 기준 횟수 이상이면, 선택된 다수의 코드북 중 코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)을 판별하고,
    코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)이 존재하면, 최근 기준 횟수 반복하는 동안 선택된 다수의 코드북의 최대 가중치(Wmax)가 변화하는지 판별하여, 최대 가중치(Wmax)가 변화하지 않으면, 재조합 코드북 생성을 종료하고,
    코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)이 존재하지 않으면, 선택된 다수의 코드북에서 최대 코드워드의 개수가 변화하는지 판별하여, 최대 코드워드의 개수가 변화하지 않으면, 요구 코드북 조건 변경을 요청하며,
    재조합 코드북 생성 반복 횟수가 기준 횟수 미만이거나, 최대 가중치가 변화하거나, 최대 코드워드의 개수가 변화하면 선택된 다수의 코드북을 상기 코드북 재조합부로 전달하는 코드북 생성 장치.
  6. 서로 기지정된 최소 해밍 거리(d) 이상인 n비트의 서로 다른 코드워드를 갖는 p개의 초기 코드북을 생성하는 단계;
    상기 다수의 초기 코드북 및 다수의 재조합 코드북 각각에 대해 코드워드들과 상기 최소 해밍 거리 이상인 n비트의 변수를 탐색하여 대응하는 코드북에 추가하여 코드북을 확장하는 단계;
    확장된 코드북 각각에 포함된 1의 비율에 따라 가중치를 할당하는 단계;
    상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북 중 가중치를 기반으로 확률에 따라 서로 다른 조합의 기지정된 개수의 부모 코드북을 선택하고, 선택된 부모 코드북의 코드워드들을 이용하여 추가로 다수의 재조합 코드북을 생성하는 단계;
    상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북 및 추가 생성된 다수의 재조합 코드북 중 코드워드의 개수와 가중치에 따라 기지정된 개수의 코드북을 선택하는 단계;
    재조합 코드북 생성 횟수, 코드워드의 개수 및 가중치에 따라 재조합 코드북 생성 여부를 판별하는 단계; 및
    선택된 코드북 중 코드워드의 수가 요구 코드워드 개수 이상이고, 가중치가 가장 큰 코드북을 획득하는 단계; 를 포함하는 코드북 생성 방법.
  7. 제6 항에 있어서, 상기 코드북을 확장하는 단계는
    상기 다수의 초기 코드북 또는 상기 재조합 코드북을 생성하는 단계에서 생성된 다수의 재조합 코드북을 인가받는 단계;
    상기 n비트의 변수를 기지정된 초기값으로부터 지정된 범위 내에서 가변하면서 상기 다수의 초기 코드북 또는 생성된 다수의 재조합 코드북 각각의 코드워드들과 비교하는 단계; 및
    가변되는 변수 중 기지정된 최소 해밍 거리인 변수를 대응하는 코드북에 추가하는 단계; 를 포함하는 코드북 생성 방법.
  8. 제7 항에 있어서, 상기 코드북을 확장하는 단계는
    상기 코드북을 인가받는 단계 이후, 상기 다수의 초기 코드북 또는 생성된 다수의 재조합 코드북 각각에서 임의의 적어도 하나의 비트를 비트 반전하는 단계; 및
    상기 코드북에 추가하는 단계 이후, 변수가 추가된 코드북에서 비트 반전된 비트를 다시 비트 반전하여 복원하는 단계; 를 더 포함하는 코드북 생성 방법.
  9. 제6 항에 있어서, 상기 가중치를 할당하는 단계는
    상기 확장된 코드북의 코드워드의 개수가 상기 요구 코드워드 개수(M) 미만이면, 모든 코드워드에 포함된 1의 개수(l)를 코드워드의 개수로 나눈 후 M을 곱하여 가중치(W = (l/m)*M)를 계산하는 단계를 포함하는 코드북 생성 방법.
  10. 제6 항에 있어서, 상기 재조합 코드북을 생성하는 단계는
    상기 다수의 초기 코드북 또는 이전 선택된 다수의 재조합 코드북 중 가중치를 이용하여 기지정된 방식을 계산되는 확률에 따라 2개의 부모 코드북(C1, C2)을 선택하는 단계;
    선택된 2개의 부모 코드북(C1, C2)에 대해
    수학식
    Figure 112018124470247-pat00007


    수학식
    Figure 112018124470247-pat00008

    (여기서 x는 부모 코드북(C1, C2) 중 하나에 포함된 코드워드를 나타내고, d(·)는 해밍 거리 함수를 나타내며, z는 n비트의 임의의 변수를 의미하며, D는 0≤D≤n+1을 만족하는 임의의 정수를 의미한다.)
    에 따라 2개의 재조합 코드북을 생성하는 단계; 및
    추가 생성되는 재조합 코드북이 기지정된 p개가 되도록 2개의 부모 코드북을 서로 다른 조합으로 선택하여 재조합 코드북을 반복 생성하는 단계; 를 포함하는 코드북 생성 방법.
  11. 제10 항에 있어서, 상기 부모 코드북을 선택하는 단계는
    수학식
    Figure 112018124470247-pat00009

    (여기서 Wi는 i번째(i∈{1, ..., p}) 코드북의 가중치를 나타내고, Wmin 은 다수의 코드북의 가중치 중 최소값을 나타내며,
    Figure 112018124470247-pat00010
    이다.)
    로 계산되는 확률에 따라 상기 부모 코드북을 선택하는 코드북 생성 방법.
  12. 제10 항에 있어서, 상기 코드북을 선택하는 단계는
    p개의 초기 코드북 또는 이전 선택된 p개의 재조합 코드북과 추가 생성된 p개의 재조합 코드북 중 코드워드의 개수(m)가 기지정된 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북이 존재하면, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 코드북의 개수(q)가 p-1개 미만인지 판별하는 단계;
    코드북의 개수(q)가 p-1개 미만이면, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 q개의 코드북과 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 p-q 개의 코드북을 가중치(W)가 큰 코드북부터 순차적으로 선택하는 단계;
    확인된 코드북의 개수(q)가 p-1개 이상이면, 확인된 코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북 중 가중치(W)가 가장 큰 하나의 코드북을 선택하고, 코드워드의 개수(m)가 요구 코드워드 개수(M) 미만(m < M)인 코드북 중 코드워드의 개수(m)가 큰 순서로 p-1개의 코드북을 선택하는 단계; 및
    코드워드의 개수(m)가 요구 코드워드 개수(M) 이상(m ≥ M)인 코드북이 존재하지 않으면, 코드워드의 개수(m)가 큰 순서로 p개의 코드북을 선택하는 단계; 를 포함하는 코드북 생성 방법.
  13. 제6 항에 있어서, 상기 재조합 코드북 생성 여부를 판별하는 단계는
    재조합 코드북 생성 반복 횟수가 기준 횟수 이상이면, 선택된 다수의 코드북 중 코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)을 판별하는 단계;
    코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)이 존재하면, 최근 기준 횟수 반복하는 동안 선택된 p개의 코드북의 최대 가중치(Wmax)가 변화하는지 판별하여, 최대 가중치(Wmax)가 변화하지 않으면, 재조합 코드북 생성을 종료하는 단계;
    코드워드의 개수(m)가 M개 이상인 코드북(m ≥ M)이 존재하지 않으면, 선택된 다수의 코드북에서 최대 코드워드의 개수가 변화하는지 판별하여, 최대 코드워드의 개수가 변화하면, 요구 코드북 조건 변경을 요청하는 단계;
    재조합 코드북 생성 반복 횟수가 기준 횟수 미만이거나, 최대 가중치가 변화하거나, 최대 코드워드의 개수가 변화하면 선택된 다수의 코드북을 이용하여 다수의 재조합 코드북을 생성하는 단계; 를 포함하는 코드북 생성 방법.
KR1020180159632A 2018-12-12 2018-12-12 Swipt 시스템을 위한 코드북 생성 장치 및 방법 KR102165611B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180159632A KR102165611B1 (ko) 2018-12-12 2018-12-12 Swipt 시스템을 위한 코드북 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180159632A KR102165611B1 (ko) 2018-12-12 2018-12-12 Swipt 시스템을 위한 코드북 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200071974A KR20200071974A (ko) 2020-06-22
KR102165611B1 true KR102165611B1 (ko) 2020-10-14

Family

ID=71142486

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180159632A KR102165611B1 (ko) 2018-12-12 2018-12-12 Swipt 시스템을 위한 코드북 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102165611B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913940B1 (ko) 2008-04-25 2009-08-26 삼성전자주식회사 적응적으로 코드북을 변경하거나 업데이트하는 다중 안테나 통신 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090117583A (ko) * 2008-05-09 2009-11-12 엘지전자 주식회사 다중 안테나 시스템에서의 프리코딩 코드북 생성 방법 및 데이터 전송 방법
KR20100133883A (ko) * 2009-06-12 2010-12-22 엘지전자 주식회사 다중 안테나 시스템에서의 코드북 설계 방법 및 데이터 전송 방법
CN102195760A (zh) * 2010-03-16 2011-09-21 松下电器产业株式会社 无线通信系统、基站、终端及码本生成方法
EP2983297A1 (en) 2014-08-08 2016-02-10 Thomson Licensing Code generation method, code generating apparatus and computer readable storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913940B1 (ko) 2008-04-25 2009-08-26 삼성전자주식회사 적응적으로 코드북을 변경하거나 업데이트하는 다중 안테나 통신 시스템

Also Published As

Publication number Publication date
KR20200071974A (ko) 2020-06-22

Similar Documents

Publication Publication Date Title
JP6881859B2 (ja) Polar符号を用いてデータを符号化する方法及び装置
Heide et al. On code parameters and coding vector representation for practical RLNC
US8209580B1 (en) Error correction coding for varying signal-to-noise ratio channels
KR100760998B1 (ko) 최대 경사 알고리즘을 이용한 양자화 전처리기 코드북최적화 방법 및 장치
JP5911188B2 (ja) 低密度パリティコードエンコーディング装置及びその方法並びにコンピュータ読み取り可能な記録媒体
JPWO2007037418A1 (ja) アンテナ選択方法および無線通信装置
JP2020520143A (ja) リフティングされた準巡回ldpcコードのセットの生成
CN108111252B (zh) 序列生成、数据解码方法及装置
KR102165611B1 (ko) Swipt 시스템을 위한 코드북 생성 장치 및 방법
KR100429526B1 (ko) 이동 통신시스템의 데이터 전송률 지시 정보 송수신 방법및 장치
US9398600B2 (en) Base station device, radio communication system, and base station device control method
Peng et al. On distributed storage allocations of large files for maximum service rate
CN113709817B (zh) 多基站多服务器场景下的任务卸载和资源调度方法及装置
CN113438191B (zh) 一种sm-scma系统上行链路的零码字辅助球形译码方法、系统
KR101979099B1 (ko) 사용자 메모리 활용한 그룹화 전송 방법 및 장치
JP5749784B2 (ja) 誤り訂正符号方法
KR102315147B1 (ko) 무선 센서 네트워크에서 물리계층보안 향상을 위한 기회주의적 스케쥴링과 무선파워전송 기반의 멀티-홉 시스템
KR100956935B1 (ko) 체계적 일정진폭 프리코딩 장치 및 그 방법과, 그에 따른디코딩 장치 및 그 방법
CN108809552B (zh) 用户终端及其波束rsrp值上报方法、计算机可读存储介质
KR20050107627A (ko) 가변 길이 에러 정정 코드 구축 방법 및 디바이스
JP2007068174A (ja) 適応遺伝アルゴリズムによる特定の性質を有するシーケンスの生成方法とシステム
KR101614040B1 (ko) 위성 채널에서 데이터 트래픽 전송을 위한 다중 슬롯 예약 방법
KR102164383B1 (ko) 네트워크 자원 할당 장치, 방법 및 프로그램
KR102509406B1 (ko) Swipt를 이용한 다중 사용자 miso-noma 네트워크에서 스펙트럼 효율을 위한 하이브리드 사용자 쌍 구성 방법
CN110622529A (zh) 广播信道的通信方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant