KR102097700B1 - 가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템 - Google Patents

가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템 Download PDF

Info

Publication number
KR102097700B1
KR102097700B1 KR1020180130550A KR20180130550A KR102097700B1 KR 102097700 B1 KR102097700 B1 KR 102097700B1 KR 1020180130550 A KR1020180130550 A KR 1020180130550A KR 20180130550 A KR20180130550 A KR 20180130550A KR 102097700 B1 KR102097700 B1 KR 102097700B1
Authority
KR
South Korea
Prior art keywords
data
bit
encoding
hash
bits
Prior art date
Application number
KR1020180130550A
Other languages
English (en)
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 KR1020180130550A priority Critical patent/KR102097700B1/ko
Application granted granted Critical
Publication of KR102097700B1 publication Critical patent/KR102097700B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/11Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
    • H04B10/114Indoor or close-range type systems
    • H04B10/116Visible light communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/50Transmitters
    • H04B10/516Details of coding or modulation

Landscapes

  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Optical Communication System (AREA)

Abstract

가시광 통신(VLC: visible light communication) 시스템에서 인코더가 데이터를 인코딩하는 방법이 제공된다. 상기 인코딩 방법은, 제1 데이터 및 상기 제1 데이터를 위한 연산 비트를 입력 받는 단계; 제1 데이터의 비트들을 해시 데이터를 통해 비트 셔플링(shuffling)하여, 제2 데이터를 생성하는 단계; 상기 제2 데이터, 상기 해시 데이터, 및 상기 연산 비트를 연접하여, 제3 데이터를 생성하는 단계; 및 제1 값을 가지는 연속적인 비트들의 개수에 기초해, 상기 제3 데이터의 유효성을 검사하는 단계를 포함한다.

Description

가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템{METHOD AND APPARATUS FOR ENCODING OR DECODING DATA IN VISIBLE LIGHT COMMUNICATION SYSTEM, AND SYSTEM USING THE SAME}
본 발명은 가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템에 관한 것이다.
최근, 빠른 스위칭률 높은 밝기의 발광 다이오드(LED) 특성은 동시에 조명과 통신 서비스를 제공할 수 있는 가시광 통신(VLC: visible light communication)에 대한 관심 증가를 유발하고 있다.
가시광 통신(VLC)은 LED 강도를 변조하여 데이터를 전송하기 때문에, 전송된 데이터 비트의 분포는 빛의 밝기를 변화시킬 수 있다. 이러한 밝기 변동(fluctuation)은 깜박임(flicker)으로 인식되어, 눈을 빠르게 피로하게 할 수 있고 시력을 손상시킬 수 있다.
따라서, 가시광 통신에서 깜박거림(flickering)을 감소시키면서 통신 효율을 향상시키고 하드웨어 오버헤드를 감소시키는 기술이 필요하다.
한국공개특허 제10-2018-0068831호(2018.06.22.)
본 발명이 해결하고자 하는 과제는, 가시광 통신 시스템에서 데이터를 인코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템을 제공하는 것이다.
또한 본 발명이 해결하고자 하는 과제는, 가시광 통신 시스템에서 데이터를 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템을 제공하는 것이다.
본 발명의 실시예에 따르면, 가시광 통신(VLC: visible light communication) 시스템에서 인코더가 데이터를 인코딩하는 방법이 제공된다. 상기 인코딩 방법 은, 제1 데이터 및 상기 제1 데이터를 위한 연산 비트를 입력 받는 단계; 제1 데이터의 비트들을 해시 데이터를 통해 비트 셔플링(shuffling)하여, 제2 데이터를 생성하는 단계; 상기 제2 데이터, 상기 해시 데이터, 및 상기 연산 비트를 연접하여, 제3 데이터를 생성하는 단계; 및 제1 값을 가지는 연속적인 비트들의 개수에 기초해, 상기 제3 데이터의 유효성을 검사하는 단계를 포함한다.
상기 제2 데이터를 생성하는 단계는, 비트 셔플링을 위한 다수의 해시 후보들 각각을 상기 해시 데이터로써 상기 제1 데이터에 적용하여, 다수의 제2 데이터를 생성하는 단계를 포함할 수 있다.
상기 제3 데이터를 생성하는 단계는, 상기 다수의 제2 데이터 각각, 상기 해시 후보들 각각, 및 상기 연산 비트를 연접하여, 다수의 제3 데이터를 생성하는 단계를 포함할 수 있다.
상기 제1 값은 0 일 수 있다.
상기 제3 데이터의 유효성을 검사하는 단계는, 상기 다수의 제3 데이터 중 연속적인 0들의 개수가 임계값 보다 큰 제3 데이터를 제외하는 단계; 및 상기 다수의 제3 데이터 중 제외되지 않고 남은 제3 데이터를 유효 데이터로 판단하는 단계를 포함할 수 있다.
상기 인코딩 방법은, 상기 남은 제3 데이터 각각과 이전에 인코딩된 데이터 간의 해밍 거리(Hamming distance)를 계산하는 단계를 더 포함할 수 있다.
상기 인코딩 방법은, 상기 남은 제3 데이터 중 최대 해밍 거리를 가지는 제3 데이터를 송신 데이터로써 선택하는 단계를 더 포함할 수 있다.
상기 연산 비트는, 상기 제1 데이터에 반전 연산이 적용되는지를 나타내는 반전 연산 비트와 상기 제1 데이터에 XOR 연산이 적용되는지를 나타내는 XOR 연산 비트를 포함할 수 있다.
상기 송신 데이터에는 디코더에 의해, 상기 송신 데이터의 연산 비트에 대응하는 연산과 상기 송신 데이터의 해시 데이터에 기반한 비트 셔플링이 적용될 수 있다.
또한 본 발명의 다른 실시예에 따르면, 가시광 통신(VLC: visible light communication) 시스템에서 데이터를 인코딩하는 인코딩 장치가 제공된다. 상기 인코딩 장치는, 제1 데이터를 다수의 해시 후보들 각각을 통해 비트 셔플링(shuffling)하여, 다수의 제2 데이터를 생성하는 비트 셔플링부; 상기 다수의 제2 데이터 각각, 상기 다수의 해시 후보들 각각, 및 상기 제1 데이터를 위한 연산 비트를 연접하여, 다수의 제3 데이터를 생성하는 연접부; 소정의 값을 가지는 연속적인 비트들의 개수에 기초해, 상기 다수의 제3 데이터의 유효성을 검사하는 유효성 검사부; 및 상기 다수의 제3 데이터 중 유효성을 가지는 제3 데이터 각각과 이전에 인코딩된 데이터 간의 해밍 거리(Hamming distance)를 계산하는 해밍 거리 계산부를 포함한다.
본 발명의 실시예에 따르면, 가시광 통신 시스템에서 데이터를 인코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템이 제공될 수 있다.
또한 본 발명의 실시예에 따르면, 가시광 통신 시스템에서 데이터를 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템이 제공될 수 있다.
또한 본 발명의 실시예에 따르면, 비트 셔플링에 기반한 인코딩 또는 디코딩를 통해, 가시광 통신에서 깜박거림(flickering)이 감소되면서 통신 효율이 향상되고 하드웨어 오버헤드가 감소될 수 있다.
도 1은 본 발명의 실시예에 따른, 비트 셔플 코딩 스킴의 전체 구조를 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른, 8 비트 데이터를 셔플링하기 위한 오메가 네트워크를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른, 비트 셔플링 스킴의 인코딩을 나타내는 도면이다.
도 4는 코드워드들의 연속된 0의 길이에 대한 히스토그램을 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른, 가시광 통신 시스템에서 인코더가 데이터를 인코딩하는 방법을 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른, 가시광 통신 시스템에서 데이터를 인코딩하는 인코딩 장치를 나타내는 도면이다.
도 7은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서에서, 동일한 구성요소에 대해서 중복된 설명은 생략한다.
또한 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
또한, 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로써, 본 발명을 한정하려는 의도로 사용되는 것이 아니다.
또한 본 명세서에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
또한 본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품, 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다.
또한 본 명세서에서, '및/또는' 이라는 용어는 복수의 기재된 항목들의 조합 또는 복수의 기재된 항목들 중의 어느 항목을 포함한다. 본 명세서에서, 'A 또는 B'는, 'A', 'B', 또는 'A와 B 모두'를 포함할 수 있다.
또한 본 명세서에서, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략될 것이다.
본 명세서에서는, 가시광선 통신 내 깜박임(flicker) 완화를 위한 비트 셔플 코딩 장치 및 방법에 대해서 설명한다. 비트 셔플링을 이용한 인코딩 및 디코딩 기술에 의해서, 가시광 통신에서 깜박거림(flickering)이 감소되면서 통신 효율이 향상되고 하드웨어 오버헤드가 감소될 수 있다.
가시광선 통신(VLC: visible light communication)은 광 무선 통신 및 발광 다이오드(LED: light-emitting diode) 라이팅을 이용한 조명(illumination)을 제공할 수 있다.
비록 기존 RLL(run length limited) 코드가 유도된 깜박임(induced flicker) 변조를 완화하기 위해 사용되더라도, 성능 병목 현상을 야기시키는 데이터 전송률 감소 및 하드웨어 오버헤드가 발생할 수 있다.
본 명세서에서는, 비트 셔플링(bit shuffling)을 사용하는 VLC 데이터 인코딩 알고리즘에 대해서 설명한다. 비트 셔플링에 기반한 VLC 데이터 인코딩 알고리즘은 전송 효율을 향상시킬 수 있으며 라이트(light) 깜박임(flicker)을 줄이면서 하드웨어 오버헤드를 줄일 수 있다.
종래 RLL 코딩 방식과 다르게, 오메가 네트워크를 가지는 비트 셔플링은 동적으로 코드워드를 생성할 수 있다. 이는 연속적인 0들의 짧은 실행(short run)과 상대적으로 짧은 코드 길이를 보장한다. 깜박임(flicker)이 최소화되면서 높은 전송 효율이 획득되기 때문에, 비트 셔플 코딩이 효율적인 VLC 데이터 인코딩 기술이라는 것이 시뮬레이션 결과를 통해 확인되었다.
IEEE 802.15.7 표준에 따르면, 깜박임(flicker)은 5ms(광학 레잇 = 200Hz) 보다 작은 최대 플리커 기간(MFTP: maximum flicker time period)에서 인간의 눈에 지각될 수 없고, 런 길이 제한(RLL: run length limited) 코딩(예, 0과 1의 긴 실행을 완화)을 통해 LED 강도를 변조함으로써 감소될 수 있다.
표준에서, PHY I 및 PHY II 카테고리는 라이트 깜박임(flicker)을 줄이기 위해 맨체스터(Manchester), 4B6B, 및 8B10B 코드를 사용한다. 이러한 코드워드는 0과 1의 균형 잡힌 반복을 보존함으로써, 50% 디밍(dimming) 수준의 일정한 조명 강도를 유지한다. 표준에 따르면, 보상 심볼의 삽입을 통해 디밍 기능이 지원된다.
비록 표준에 따른 RLL 코딩 방법이 라이트 깜박임(flicker)을 줄일 수 있다하더라도, 전송 효율 및 하드웨어 오버헤드 측면에서 통신 성능을 제한한다. 맨체스터 인코딩이 사용되면, 각 논리 비트는 2개의 물리적 비트로 인해 표현되어 낮은 데이터 레잇을 가지는 제한된 서비스가 야기된다.
4B6B 및 8B10B 인코딩에서, 룩업 테이블은 입력 및 출력 데이터를 일치시키는데 필요하다. 이를 위해, 부가적인 비휘발성 메모리의 사용은 하드웨어 구현을 위해 필수 불가결하다. 이는 소규모 IoT(internet of things) 디바이스를 구현하는데 중요한 장애물이 된다.
VLC 시스템에서의 깜박임(flicker) 완화에 관한 최근 연구에서, 일정한 주파수 캐리어를 유지하면서 펄스의 상승 에지의 슬로프를 변화시키기 위해 펄스 슬로프 변조(PSM: pulse slope modulation)가 제안되었다.
또한, 폴라 코드(polar code)를 사용하는 깜박임(flicker) 없는 순방향 오류 정정(FEC: forward error correction) 부호화 기법이 제안되었다. PHY I 어플리케이션을 위한 밀러 코드가 사용되었고, 비교 대역폭과 채널 공존 측면에서 맨체스터 코드와의 성능 비교가 이루어졌다.
차세대 IoT 시대에서, VLC 시스템은 전송 효율을 향상시키면서 하드웨어 오버헤드를 최소화시키는 강한 요구사항을 가지는 IoT 어플리케이션에서 사용될 수 있다. 향상된 전송 효율 및 감소된 하드웨어 오버헤드를 고려하는 RLL 코딩 스킴(scheme)이 필요하다.
본 명세서에서는, 코드 길이와 하드웨어 오버헤드를 줄이면서 깜박임(flicker)를 완화하는 새로운 비트 셔플 코딩 스킴을 제안한다. 오메가 네트워크를 이용함으로써, 비트 셔플 방법은 비휘발성 메모리 사용 부담 없이 코드워드를 동적으로 생성하고, 코드워드 길이의 감소를 보장한다.
또한, 본 발명의 실시예에 따른 스킴(또는 방법, 장치)은 유효성 검사 및 해밍 거리 검사를 수행하여, 안정적인 LED 조명을 위하여 깜박이지 않는 라이트 및 낮은 DC 바이어스 분산을 달성한다. 이는 하드웨어 오버헤드를 줄이고 높은 전송 효율을 유발하여, IoT 디바이스의 구현에 필수적일 수 있다. 시뮬레이션 결과에 따르면, 본 발명의 실시예에 따른 스킴(또는 방법, 장치)은 전송 효율 및 깜박임(flicker) 완화 관점에서 기존의 RLL 코딩 스킴 보다 우위에 있다.
이하에서는, VLC에서 깜박임(flicker)을 최소화하고 출력 변동을 흐리게 하는 새로운 비트 셔플 코딩에 대해서 설명한다. 본 발명의 실시예에 따른 스킴(또는 방법, 장치)은 표준 기술과 비교하여, 하드웨어 오버헤드를 줄이면서 전송 효율을 크게 향상시킨다. 구체적으로, 이하에서는, 비트 셔플 코딩 스킴의 개념이 설명되고, 본 발명의 실시예에 따른 스킴(또는 방법, 장치)과 기존 RLL 스킴 간의 성능 비교가 깜박임(flicker) 완화 및 코딩 효율 관점에서 설명된다.
본 발명의 실시예에 따른 비트 셔플 코딩 및 이의 인코딩/디코딩 알고리즘을 위한 전체 아키텍처를 상세히 설명한다.
도 1은 본 발명의 실시예에 따른, 비트 셔플 코딩 스킴(또는 방법, 장치)의 전체 구조를 나타내는 도면이다. 구체적으로, 본 발명의 실시예에 따른 비트 셔플 코딩 스킴의 인코더-디코더(CODEC) 설계를 나타낸다.
VLC 시스템의 송신기에서, 비트 셔플링 기반 인코더는 인코딩된 데이터와 LED 조명에 의해 전송될 메타데이터의 쌍을 생성한다.
인코더 프로세스는 반전(inverse) 연산 및 XOR 연산을 입력 데이터 Din에 각각 적용하거나 적용하지 않음으로써, 4가지의 다른 입력 데이터 포맷 Din'(예, D0 in', D1 in', D2 in', D3 in')을 가지고 시작한다. 입력 데이터가 N 비트인 경우에, XOR 연산은 임의의 N 비트 시퀀스(예, 1010...10)를 이용해 수행된다.
비트 셔플링이 수행된다. 인코딩 알고리즘에서, 데이터 후보는 각 입력 데이터 포맷을 위한 N개의 후보를 생성하여 더 분기된다. 따라서 VLC의 전송 요구사항을 가능한 충족하는 인코딩된 출력이 생산될 수 있다.
유효성 및 해밍 거리가 확인된 후, 깜박임(flicker)이 없고 낮은 DC(direct current) 바이어스 분산의 최고 코드워드가 선택된다.
마지막으로, 인코더는 인코딩된 데이터 및 메타데이터의 연접 {D|M}en을 생성한다. 여기서, 메타데이터 M은 비트 셔플링을 위한 해시 H와 2개의 추가 플래그 비트(I, X)를 포함한다(예, M={H|I|X} ). 2개의 추가 플래그 비트(I, X)는 Din’가 반전되는지 또는 XOR되는지를 가리킨다.
수신기에서, 디코더는 수신된 메타데이터의 I 및 X 비트에 따라, XOR 및 반전 연산을 수행한다.
디코딩 알고리즘은 비트 셔플링을 수행하여, 인코딩된 데이터 및 해시 {D|H}en 으로부터 디코딩된 데이터 Dde를 획득한다.
아래의 알고리즘1은 N 비트 입력 데이터를 사용하는 인코딩 알고리즘을 나타낸다.
Figure 112018107155855-pat00001
알고리즘 입력은 이전에 인코딩된 데이터 및 메타데이터를 나타내는 {D|M}old, Din, I, 및 X, 새로운 입력 데이터, 반전 플래그, 및 XOR 플래그 각각 이다.
또한, 알고리즘 출력(예, {D|M}en )은 인코딩된 데이터 및 메타데이터의 연접(concatenation)이다. {D|M}i can은 인코딩된 데이터 및 메타데이터로써 선택될 수도 있는 데이터 및 메타데이터의 i번째 후보이다. Mi can은 i번째 해시 H, I, 및 X의 연접이다.
알고리즘1의 인코딩 알고리즘은 주로 다음 4단계(S110, S120, S130, S140)를 포함한다.
우선, S110 단계에서, 알고리즘은 입력 데이터를 N개의 다른 해시 후보들과 셔플링함으로써, N 데이터 후보들을 생성한다. 비트 셔플링을 수행하기 위해서, 다단계 상호 연결 네트워크로 널리 알려진 오메가 네트워크가 채용될 수 있다. 데이터 후보의 셔플된 비트 위치들은 입력 데이터의 각 비트 위치를 특정 해시 h와의 N개의 XOR 연산을 수행함으로써 계산된다. 예를 들어, 이러한 계산은 아래의 수학식 1과 같이 수행될 수 있다.
Figure 112018107155855-pat00002
수학식 1에서, n은 비트 위치를 나타내고, N은 입력 데이터의 비트의 수이고, bn '는 데이터 후보의 n 비트 위치의 셔플된 비트를 나타내고, bn은 입력 데이터의 n 비트 위치의 비트를 나타내고,
Figure 112018107155855-pat00003
은 XOR 연산을 나타낸다.
도 2는 본 발명의 실시예에 따른, 8 비트 데이터를 셔플링하기 위한 오메가 네트워크를 나타내는 도면이다. 구체적으로 도 2에는, 오메가 네트워크를 통해 8 비트 입력 데이터(b0, b1, b2, b3, b4, b5, b6, b7)를 3 비트 해시(h0, h1, h2)에 의해 셔플링하는 방법이 예시되어 있다.
만약 h가 3으로 설정되면(즉, h2=0, h1=1, h0=1), 데이터 비트 b0는 및 b1은 셔플되어 b' 3으로 전파되고, 데이터 비트 b1은 셔플되어 b' 2로 전파된다.
S120 단계에서, 인코딩 알고리즘은 연속적인 0들의 개수가 주어진 임계값을 초과하는 후보들을 제외하는 유효성 검사를 수행한다.
50% 보다 큰 디밍 레벨을 가지는 VLC 시스템이 가정되면, 연속적인 0들의 개수는 MFTP 조건을 만족하는지를 결정한다. MFTP 조건이 주목할만한 깜박임(flicker)을 결정한다. 다양한 VLC 어플리케이션들에 대해서, 연속적인 0들을 더 적게 가지는 코드워드들이 항상 선호된다.
S130 단계에서, 이전에 인코딩된 데이터 및 메타데이터로부터 N개의 다른 후보들의 해밍 거리를 추정한다. 이전에 인코딩된 데이터로부터 가장 큰 해밍 거리를 가지는 후보가 선택됨으로써, 디밍 레벨의 변화가 최소화될 수 있어 안정된 라이트 조명이 획득될 수 있다.
S140 단계에서, 알고리즘은 연접하고 최대 해밍 거리를 가지는 인코딩된 데이터 및 메타데이터의 유효한 세트를 리턴(반환)한다. 모든 후보들이 유효하지 않은 최악의 경우가 고려되면, 연속적인 0들의 개수가 가장 작은 후보가 인코딩된 출력으로 결정될 수 있다.
도 3은 본 발명의 실시예에 따른, 비트 셔플링 스킴(또는 방법, 장치)의 인코딩을 나타내는 도면이다.
구체적으로 도 3에는, 이전에 인코딩된 데이터 및 메타데이터가 각각 1010 및 1010 인 경우의 인코딩 방법이 예시되어 있다. 도 3의 예시에서, 새롭게 주어진 입력 데이터는 1001이고, I 및 X는 각각 0 및 1 이다. 도 3에서, 이전에 인코딩된 데이터(메타데이터 포함)는 PDATA이고, 새롭게 주어진 입력 데이터(I 및 X 포함)는 NDATA 이다.
먼저, 인코딩 알고리즘은 모든 해시(h1, h0) 후보들(예, 00, 01, 10, 및 11)을 사용하여 입력 데이터를 셔플링함으로써, 4개의 데이터 후보들(candidate0~3)을 생성한다. 예를 들어, 데이터 후보1(candidate1)에서, {b3, b2, b1, b0}의 입력 데이터 비트들은 01의 해시 후보에 의해 {b2, b3, b0, b1}의 데이터 후보 비트들로 셔플링된다.
그 후, 알고리즘은 연속적인 0들의 개수를 확인하여, 데이터 및 해시 후보들의 비트 시퀀스, I 및 X에 대한 유효성을 검사한다. 도 3에서, CheckValid는 유효성 검사를 위한 블록이다. 도 3의 예시에서, 4개의 후보들 각각은 연속적인 0들의 개수가 임계값 이하이므로, 유효(예, valid=1)하다.
깜박임(flicker) 제약을 만족하는 후보들에 대하여, 인코딩 알고리즘은 이전에 인코딩된 데이터 및 메타데이터로부터 4개의 모든 후보들의 해밍 거리를 계산한다. 최대 해밍 거리를 가지는 하나의 유효한 후보가 선택될 수 있다. 도 3에서, HDist는 해밍 거리를 계산하기 위한 블록이고, FindMaxHDist는 최대 해밍 거리를 가지는 후보를 찾기 위한 블록이다. 도 3의 예시에서, 4개의 유효한 후보들 중 후보1(candidate1)이 PDATA의 비트와 다른 값을 가지는 비트의 개수가 6개이므로, 최대 해밍 거리(예, 6)를 가진다.
마지막으로, 인코딩된 데이터 0110 및 메타데이터 0101의 쌍이 획득되고, 인코딩된 출력(예, 01100101)이 인코딩된 데이터 및 메타데이터를 연접함으로써 형성된다.
아래의 알고리즘2는 본 발명의 실시예에 따른 비트 셔플 코딩 스킴(또는 방법, 장치)의 디코딩 알고리즘을 나타낸다.
Figure 112018107155855-pat00004
Dde는 출력된 디코딩된 데이터를 나타내고, {D|H}en 는 입력된 인코딩된 데이터 및 해시의 연접을 나타낸다.
구체적으로, 알고리즘2의 디코딩 알고리즘은 인코딩된 데이터를 이의 해시를 사용하여 셔플링함으로써, 디코딩된 출력을 획득할 수 있다.
디코더는 반전 연산, XOR 연산, 및 비트 셔플링을 순서대로 수행한다.
종래의 RLL 코딩 스킴과 다르게, 본 발명의 실시예에 따른 스킴(또는 방법, 장치)는 룩업 테이블에 의존하지 않고, 매우 가볍게 하드웨어 방식으로 구현될 수 있다.
성능 평가를 위해, 본 발명의 실시예에 따른 비트 셔플 코딩 방식과 종래의 RLL 코딩 스킴(예, Manchester, 4B6B, 8B10B) 간의 비교 결과는 다음과 같다.
성능 지표로서, Monte-Carlo 시뮬레이션을 수행(예, 2000회 실행)하여 각 스킴의 코드워드 길이와 런 길이 히스토그램이 추정되었다. 비트 셔플 코딩의 고유한 특성을 관찰하기 위하여, 채널 코딩은 고려되지 않았다.
아래의 표 1(codeword lengths for various run length codes)은 데이터 길이들이 각각 8 및 16 인 경우에 RLL 코드들의 코드워드 길이들을 나타낸다.
Figure 112018107155855-pat00005
맨체스터 코딩에 비해, 본 발명의 실시예에 따른 스킴(표 1의 Bit shuffle)이 훨씬 더 짧은 코드워드들을 생성할 수 있다.
N-비트 입력 데이터가 인코딩되도록 주어지면, 맨체스터 코딩은 2N-비트 인코딩된 출력을 생산하기 때문에, 데이터 전송률의 심각한 감소를 유발한다. 반면에, 본 발명의 실시예에 따른 비트 셔플링 스킴(또는 방법, 장치)은 오직 (N + log2N + 2) 비트 인코딩된 출력 만을 리턴(반환)한다. 여기서, (N + log2N + 2) 비트 인코딩된 출력은, N 비트의 인코딩된 데이터, log2N 비트 해시, 반전 비트, 및 XOR 비트를 포함한다. 비트 셔플링 코드의 길이에 대한 이득은 데이터 길이가 커질수록 커진다.
도 4는 코드워드들의 런 길이 히스토그램을 나타내는 도면이다.
구체적으로 도 4에는, 본 발명의 실시예에 따른 비트 셔플 코딩 스킴(또는 방법, 장치) 및 종래 RLL 코딩 스킴에서 연속적인 0들의 개수에 대하여, 코드워드들의 런 길이 히스토그램이 도시되어 있다. 도 4의 (a)에는 데이터 길이가 8 비트인 경우가 예시되어 있고, 도 4의 (b)에는 데이터 길이가 16 비트인 경우가 예시되어 있다.
유효성 검사를 위한 임계값이 2로 설정된 경우의 성능이 측정되었다. 4B6B 및 8B10B 코딩에서 3개 이상의 연속적인 0들이 나타나고, 본 발명의 실시예에 따른 비트 셔플 코딩에서 연속적인 0들의 최대 길이는 단지 2이다.
만약 LED들의 광학 레잇이 충분히 빠르지 않다면, 3개 이상의 연속적인 0들은 라이트(light)의 깜박임(flicker)를 유발할 것이고, VLC의 전송 요구사항들을 만족하는 것을 실패할 것이다.
또한, 본 발명의 실시예에 따른 스킴(또는 방법, 장치)은 비교할 만한 깜박임(flicker) 완화를 획득하면서, 8과 16의 데이터 길이들에 대하여 코드워드 길이 관점에서 맨체스터 코딩을 능가한다.
또한, 본 발명의 실시예에 따른 스킴(또는 방법, 장치)은 동적 코드 생성을 수행하도록 설계되기 때문에, 워스트 케이스 성능 면에서 4B6B 및 8B10B 코딩을 능가한다. 4B6B 및 8B10B 코딩 스킴들은 입력 데이터를 인코딩된 데이터로 인코딩하기 위하여 룩업 테이블들을 이용하며, 그 반대의 경우도 마찬가지이다. 따라서, 많은 개수의 연속적인 0들을 야기하는 입력 데이터가 반복적으로 전송되면, 인코딩된 출력은 미리 결정된 룩업 테이블들에 의해 동일하게 생성되고, 심각한 깜박거림(flickering)을 유발할 것이다.
본 발명의 실시예에 따른 스킴(또는 방법, 장치)은 이전에 인코딩된 출력으로부터의 최대 해밍 거리에 대한 후보를 동적으로 취하기 때문에, 비록 입력 데이터가 동일하더라도 인코딩된 출력이 이전 것과 다르다.
또한, 비트 셔플 코딩 스킴(또는 방법, 장치)은 인코더 및 디코더의 비대칭 설계로 인해 본질적으로 단방향인 VLC 시스템들에 분명히 강건하고 적합하다. 디코더는 단지 반전, XOR, 및 비트 셔플링을 순서대로 수행하기 때문에, 이는 매우 가볍게 하드웨어 방식으로 구현될 수 있다. 4B6B 및 8B10B 코딩은 인코더 및 디코더 모두를 위한 룩업 테이블들을 구현하기 위해 상당한 양의 하드웨어 자원들을 소비하여, 성능 병목 현상이 발생한다. 따라서 본 발명의 실시예에 따른 스킴(또는 방법, 장치)은 제한된 하드웨어 자원들을 가지는 디바이스(예, IoT 디바이스)에 조차도 폭넓게 적용 가능하다.
지금까지 VLC 시스템들에서 비트 셔플링에 기반한 RLL 인코딩 및 디코딩 알고리즘에 대해서 설명했다. 비록 종래 RLL 코드들이 VLC에서의 깜박임(flicker) 완화 및 디밍 조정을 위해 사용되더라도, 전송 효율, 최악의 경우 시나리오, 및 하드웨어 오버헤드의 고려가 부족하다. 본 발명의 실시예에 따른 비트 셔플 코딩 스킴(또는 방법, 장치)은 상당히 짧은 코드워드를 동적 코드 생성을 통해 생성함으로써, 전송 효율을 향상시킨다. 또한, 본 발명의 실시예에 따른 코딩 스킴(또는 방법, 장치)은 미리 정의된 룩업 테이블들을 사용하지 않음으로써 하드웨어 오버헤드를 줄인다. 결국, 기존 RLL 기술에 비해, 본 발명의 실시예에 따른 비트 셔플 코딩 스킴(또는 방법, 장치)이 VLC에 확실히 강건하고 적합하다.
도 5는 본 발명의 실시예에 따른, 가시광 통신 시스템에서 인코더가 데이터를 인코딩하는 방법을 나타내는 도면이다. 도 6은 본 발명의 실시예에 따른, 가시광 통신 시스템에서 데이터를 인코딩하는 인코딩 장치(예, 인코더)를 나타내는 도면이다. 설명의 편의를 위해서, 도 3의 예시를 참고하여 설명한다.
구체적으로, 인코딩 장치(EC100)는 비트 셔플링부(EC110), 연접부(EC120), 유효성 검사부(EC130), 해밍 거리 계산부(EC140), 및 선택부(EC150)를 포함할 수 잇다.
인코딩 장치(EC100)에 제1 데이터(예, NDATA에서 연산 비트를 제외한 나머지, b3, b2, b1, b0) 및 제1 데이터를 위한 연산 비트가 입력될 수 있다. 여기서 연산 비트는, 제1 데이터에 반전 연산이 적용되는지를 나타내는 반전 연산 비트(I)와 제1 데이터에 XOR 연산이 적용되는지를 나타내는 XOR 연산 비트(X)를 포함할 수 있다.
비트 셔플링부(EC110)는 제1 데이터의 비트들(예, {b3, b2, b1, b0})을 해시 데이터를 통해 비트 셔플링하여, 제2 데이터를 생성할 수 있다(S210). 구체적으로, 비트 셔플링부(EC110)는 제1 데이터를 다수의 해시 후보들 각각을 통해 비트 셔플링하여, 다수의 제2 데이터를 생성할 수 있다. 즉, 비트 셔플링부(EC110)는 비트 셔플링을 위한 다수의 해시 후보들(예, {h1=0, h0=0}, {h1=0, h0=1}, {h1=1, h0=0}, {h1=1, h0=1} )각각을 해시 데이터로써 제1 데이터에 적용하여, 다수의 제2 데이터(예, {b3,b2,b1,b0}, {b2,b3,b0,b0},{b1,b0,b3,b2},{b0,b1,b2,b3} )를 생성할 수 있다.
연접부(EC120)는 제2 데이터, 해시 데이터, 및 연산 비트를 연접하여, 제3 데이터를 생성할 수 있다(S220). 구체적으로, 연접부(EC120)는 다수의 제2 데이터 각각, 다수의 해시 후보들 각각, 및 제1 데이터를 위한 연산 비트를 연접하여, 다수의 제3 데이터를 생성할 수 있다. 즉, 연접부(EC120)는 다수의 제2 데이터 각각, 해시 후보들 각각, 및 연산 비트를 연접(예, Data+Hash+I+X)하여, 다수의 제3 데이터(예, candidate0~candidate3)를 생성할 수 있다.
유효성 검사부(EC130)는 제1 값을 가지는 연속적인 비트들의 개수에 기초해, 제3 데이터의 유효성을 검사할 수 있다(S230). 구체적으로, 유효성 검사부(EC130)는 소정의 값(예, 0)을 가지는 연속적인 비트들의 개수에 기초해, 다수의 제3 데이터의 유효성을 검사할 수 있다. 즉, 유효성 검사부(EC130)는 다수의 제3 데이터 중 연속적인 0들의 개수가 임계값(예, 3) 보다 큰 제3 데이터를 제외할 수 있고, 다수의 제3 데이터 중 제외되지 않고 남은 제3 데이터를 유효 데이터로 판단할 수 있다. 예를 들어, 제3 데이터(예, candidate0)에 포함된 연속적인 0들의 개수는 3이고 제3 데이터(예, candidate1)에 포함된 연속적인 0들의 개수는 2이고 제3 데이터(예, candidate2)에 포함된 연속적인 0들의 개수는 2이고 제3 데이터(예, candidate3)에 포함된 연속적인 0들의 개수는 2이므로, 다수의 제3 데이터(예, candidate0~candidate3)는 유효 데이터로 판단될 수 있다. 다른 예를 들어, 유효성 검사를 위한 임계값이 2로 설정되면, 제3 데이터(예, candidate0)에 포함된 연속적인 0들의 개수는 3이므로 제3 데이터(예, candidate0)는 유효 데이터에서 제외될 수 있다.
해밍 거리 계산부(EC140)는 유효한 제3 데이터와 이전에 인코딩된 데이터(예, PDATA) 간의 해밍 거리를 계산할 수 있다(S240). 구체적으로, 해밍 거리 계산부(EC140)는 유효성을 가지는 제3 데이터 각각과 이전에 인코딩된 데이터 간의 해밍 거리를 계산할 수 있다. 즉, 해밍 거리 계산부(EC140)는 유효성 검사부(EC130)에 의해 제외되지 않고 남은 제3 데이터 각각과 이전에 인코딩된 데이터 간의 해밍 거리를 계산할 수 있다. 예를 들어, 유효한 제3 데이터(예, candidate0=10010001)는 PDATA(예, 10101010)의 비트와 다른 값을 가지는 비트의 개수가 5개이므로, 5의 해밍 거리를 가진다. 다른 예를 들어, 유효한 제3 데이터(예, candidate1=01100101)는 PDATA(예, 10101010)의 비트와 다른 값을 가지는 비트의 개수가 6개이므로, 6의 해밍 거리를 가진다. 또 다른 예를 들어, 유효한 제3 데이터(예, candidate2=01101001)는 PDATA(예, 10101010)의 비트와 다른 값을 가지는 비트의 개수가 4개이므로, 4의 해밍 거리를 가진다. 또 다른 예를 들어, 유효한 제3 데이터(예, candidate3=10011101)는 PDATA(예, 10101010)의 비트와 다른 값을 가지는 비트의 개수가 5개이므로, 5의 해밍 거리를 가진다.
선택부(EC150)는 유효한 제3 데이터 중 최대 해밍 거리를 가지는 제3 데이터를 선택할 수 있다(S250). 구체적으로, 선택부(EC150)는 유효성 검사부(EC130)에 의해 제외되지 않고 남은 제3 데이터 중 최대 해밍 거리를 가지는 제3 데이터를 송신 데이터로써 선택할 수 있다. 예를 들어, 선택부(EC150)는 6의 해밍 거리를 가지는 제3 데이터(예, candidate1=01100101)를 송신 데이터로써 선택할 수 있다.
한편, 송신 데이터는 디코딩 장치(예, 디코더)에 의해, 송신 데이터의 연산 비트(예, I, X)에 대응하는 연산(예, 반전 연산, XOR 연산)과 송신 데이터의 해시 데이터(예, {h1, h0})에 기반한 비트 셔플링이 적용될 수 있다.
도 7은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다. 도 7의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예, 인코딩 장치, 디코딩 장치, 비트 셔플 코딩 장치, 수신기, 송신기, VLC 시스템에 적용되는 장치 등)일 수 있다.
도 7의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.
메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다.
송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다.
한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 통상의 기술자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (8)

  1. 가시광 통신(VLC: visible light communication) 시스템에서 인코더가 데이터를 인코딩하는 방법으로서,
    제1 데이터 및 상기 제1 데이터를 위한 연산 비트를 입력 받는 단계;
    제1 데이터의 비트들을 해시 데이터를 통해 비트 셔플링(shuffling)하여, 제2 데이터를 생성하는 단계;
    상기 제2 데이터, 상기 해시 데이터, 및 상기 연산 비트를 연접하여, 제3 데이터를 생성하는 단계; 및
    제1 값을 가지는 연속적인 비트들의 개수에 기초해, 상기 제3 데이터의 유효성을 검사하는 단계를 포함하고,
    상기 제1 값은 0 이고,
    상기 제3 데이터의 유효성을 검사하는 단계는,
    다수의 상기 제3 데이터 중 연속적인 0들의 개수가 임계값 보다 큰 제3 데이터를 제외하는 단계; 및
    다수의 상기 제3 데이터 중 제외되지 않고 남은 제3 데이터를 유효 데이터로 판단하는 단계를 포함하는
    인코딩 방법.
  2. 제1항에 있어서,
    상기 제2 데이터를 생성하는 단계는,
    비트 셔플링을 위한 다수의 해시 후보들 각각을 상기 해시 데이터로써 상기 제1 데이터에 적용하여, 다수의 제2 데이터를 생성하는 단계를 포함하고,
    상기 제3 데이터를 생성하는 단계는,
    상기 다수의 제2 데이터 각각, 상기 해시 후보들 각각, 및 상기 연산 비트를 연접하여, 다수의 상기 제3 데이터를 생성하는 단계를 포함하는
    인코딩 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 남은 제3 데이터 각각과 이전에 인코딩된 데이터 간의 해밍 거리(Hamming distance)를 계산하는 단계
    를 더 포함하는 인코딩 방법.
  5. 제4항에 있어서,
    상기 남은 제3 데이터 중 최대 해밍 거리를 가지는 제3 데이터를 송신 데이터로써 선택하는 단계
    를 더 포함하는 인코딩 방법.
  6. 가시광 통신(VLC: visible light communication) 시스템에서 인코더가 데이터를 인코딩하는 방법으로서,
    제1 데이터 및 상기 제1 데이터를 위한 연산 비트를 입력 받는 단계;
    제1 데이터의 비트들을 해시 데이터를 통해 비트 셔플링(shuffling)하여, 제2 데이터를 생성하는 단계;
    상기 제2 데이터, 상기 해시 데이터, 및 상기 연산 비트를 연접하여, 제3 데이터를 생성하는 단계; 및
    제1 값을 가지는 연속적인 비트들의 개수에 기초해, 상기 제3 데이터의 유효성을 검사하는 단계를 포함하고,
    상기 연산 비트는,
    상기 제1 데이터에 반전 연산이 적용되는지를 나타내는 반전 연산 비트와 상기 제1 데이터에 XOR 연산이 적용되는지를 나타내는 XOR 연산 비트를 포함하는
    인코딩 방법.
  7. 제5항에 있어서,
    상기 송신 데이터에는 디코더에 의해,
    상기 송신 데이터의 연산 비트에 대응하는 연산과 상기 송신 데이터의 해시 데이터에 기반한 비트 셔플링이 적용되는
    인코딩 방법.
  8. 가시광 통신(VLC: visible light communication) 시스템에서 데이터를 인코딩하는 인코딩 장치로서,
    제1 데이터를 다수의 해시 후보들 각각을 통해 비트 셔플링(shuffling)하여, 다수의 제2 데이터를 생성하는 비트 셔플링부;
    상기 다수의 제2 데이터 각각, 상기 다수의 해시 후보들 각각, 및 상기 제1 데이터를 위한 연산 비트를 연접하여, 다수의 제3 데이터를 생성하는 연접부;
    소정의 값을 가지는 연속적인 비트들의 개수에 기초해, 상기 다수의 제3 데이터의 유효성을 검사하는 유효성 검사부;를 포함하고,
    상기 유효성 검사부는,
    상기 다수의 제3 데이터 중 연속적인 0들의 개수가 임계값 보다 큰 제3 데이터를 제외하며, 상기 다수의 제3 데이터 중 제외되지 않고 남은 제3 데이터를 유효 데이터로 판단하는 인코딩 장치.
KR1020180130550A 2018-10-30 2018-10-30 가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템 KR102097700B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180130550A KR102097700B1 (ko) 2018-10-30 2018-10-30 가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180130550A KR102097700B1 (ko) 2018-10-30 2018-10-30 가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템

Publications (1)

Publication Number Publication Date
KR102097700B1 true KR102097700B1 (ko) 2020-04-06

Family

ID=70281782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180130550A KR102097700B1 (ko) 2018-10-30 2018-10-30 가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템

Country Status (1)

Country Link
KR (1) KR102097700B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116406A (ko) * 2012-03-12 2013-10-24 한국전자통신연구원 가시광무선통신을 기반으로 한 led 조명 제어장치 및 그 방법
KR20180068831A (ko) 2016-12-14 2018-06-22 경희대학교 산학협력단 Led기반의 가시광 무선통신에서 가변적 코드 길이 조절 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116406A (ko) * 2012-03-12 2013-10-24 한국전자통신연구원 가시광무선통신을 기반으로 한 led 조명 제어장치 및 그 방법
KR20180068831A (ko) 2016-12-14 2018-06-22 경희대학교 산학협력단 Led기반의 가시광 무선통신에서 가변적 코드 길이 조절 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MISEON HAN et al., "Content-Aware Bit Shuffling for Maximizing PCM Endurance," ACM Transactions on Design Automation of Electronic Systems, Vol. 22, No. 3, Article 48, (2017. 05)* *

Similar Documents

Publication Publication Date Title
JP6858882B2 (ja) 符号化されたコードワードを送信する送信機、方法及び非一時的コンピューター可読記憶媒体
Fang et al. An efficient flicker-free FEC coding scheme for dimmable visible light communication based on polar codes
CN110495106B (zh) 带有动态冻结比特的极化编码
Tang et al. BER performance analysis of an on-off keying based minimum energy coding for energy constrained wireless sensor applications
Zuo et al. Weight threshold check coding for dimmable indoor visible light communication systems
Mejia et al. Code design for flicker mitigation in visible light communications using finite state machines
US9787432B2 (en) Communications method, system, and apparatus for optical network system
CN108288970B (zh) 一种极化码编译码方法及装置
CN108880682B (zh) 一种基于编码的可见光通信调光控制方法及系统
Wang et al. New RLL decoding algorithm for multiple candidates in visible light communication
Siddique et al. Joint rate-brightness control using variable rate MPPM for LED based visible light communication systems
CN106254030B (zh) 无速率Spinal码的双向编译码方法
CN110233698B (zh) 极化码的编码及译码方法、发送设备、接收设备、介质
CN105122688B (zh) 使用正交调幅的光学通信接口
Guo et al. Multilevel transmission scheme based on parity check codes for VLC with dimming control
Deng et al. MPPM based dimming control scheme in visible light communication systems
CN108540259B (zh) 一种极化码编译码方法及装置
KR102097700B1 (ko) 가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템
CN106899347A (zh) 基于2d tcm pam8实现高速信号传输的系统和方法
CN110278031A (zh) 基于多对一映射ps-pam4的直接探测光纤通信系统及通信方法
CN108540140B (zh) 一种极化码译码方法及装置
Han et al. Bit-shuffle coding for flicker mitigation in visible light communication
JP2002290333A (ja) テドン(tedons)の変調方式
CN110445554A (zh) 一种基于实际信道衰落统计的非相干水声通信方法及系统
KR20230050256A (ko) 데이터 부호화 방법 및 부호기와 데이터 복호화 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant