Project Kick-Off ** IEEE 802.16 m *** Femto Cell **** Smart BS

Report
Hermes:
Data Transmission over Unknown Voice Channels
Mobile and Pervasive Computing Reading Group
2011. 03. 11
신승재
한국과학기술원 전산학과
순서
• Document Information
• Using Voice Channels to Data Transmission
• Technical Challenges
• Solutions: CDFSK, Trans-coding and Framing
• Performance Evaluations
• Discussion and Conclusion
2
Document Information
• 논문 정보
문헌정보: ACM Mobicom 2010
저자정보: A. Dhanajay, A. Sharma, M. Paik, J. Chen, T. Kuppusamy,, J. Li, L. Subrammanian (미국 뉴욕 대학교)
내용
3GPP 및 Mobile WiMAX와 같은 셀룰라 시스템 기반의 데이터 서비스 기술이 계속 발전하고 있지만, 제 3세계 개발
도상국들의 경우 이들을 상용화 하는 데는 상당한 시간이 걸릴 것으로 예상된다. 따라서 본 연구의 저자들은 음성
채널을 통해 데이터를 보낼 수 있는 기술을 제안하고 이를 Hermes (고대 그리스 신화의 전령신) 라고 명명하였다.
Hermes 시스템은 모바일 디바이스 peer 간에 모듈 형태로 탑재되며, 기지국이나 MSC(Mobile Switching Center)와
같은 인프라 시스템의 변경이 전혀 필요 없다. 따라서 2세대 음성 서비스인 GSM 및 CDMA 상에서 모두 사용이 가능
하다. 저자들이 만든 프로토타입 시스템을 통해 데이터 전송을 실험한 결과 단일 음성 채널을 통해 1.2kbps의
goodput을 달성하였으며, 이것은 기존 SMS 기반의 데이터 전송 서비스 보다 약 5배 정도 빠른 것이다.
3
Using Voice Channels to Data Tx
• Voice Channel Data Transmission
등장 배경
- 개발 도상국들의 경우 셀룰라 시스템 기반의 데이터 서비스의 실용화에 많은 시간이 필요할 것으로 예상됨
(아프리카 및 중동과 같은 제 3세계 국가들의 경우 2G 기반의 음성 서비스만 가능한 경우가 많음)
Voice channel data transmission 개념
- 데이터를 음성 정보로 변환하여 이동 전화망을 통해 전송하는 개념
- 단말에서 데이터 정보를 적절한 acoustic signal로 변환할 수 있으면, 인프라 시스템의 수정이 필요 없음
- 따라서 통화 서비스만 제공 가능한 2G 기반의 네트워크에서 소규모의 데이터 서비스가 가능하도록 함
(단말 당 할당되는 voice channel 대역폭이 3KHz임을 감안하면 현실적으로 대용량 전송은 어려움)
4
Using Voice Channels to Data Tx
• GSM (Global System for Mobile Communications)
5
Using Voice Channels to Data Tx
• Voice Channel Data Transmission on GSM
Traditional GSM
Binary
Data
Binary
Data
Hermes
3KHz
Voice-like
Signal
Digitizer
(Voice Codec)
Hermes
3KHz
Voice-like
Signal
Digitizer
(Voice Codec)
13
Kbps
13
Kbps
T
D
M
A
...
Binary
Data
Hermes
3KHz
Voice-like
Signal
GMSK
...
Digitizer
(Voice Codec)
13
Kbps
목표
- Binary Data를 3KHz 음성 signal로 변환할 수 있는 Digital-Analog Converting (Modulation) System을 개발하면 됨
- 그러나 기존의 데이터 modulation 기법을 그대로 사용하기가 어려움
6
Technical Challenges
Technical Challenge
- Voice Communication System 상으로 데이터를 전송하는 경우 bit-flipping / bit insertion / bit deletion과
같은 error를 유발할 수 있는 요소가 너무 많음
1. Narrow-band Channels
- 사람의 음성 주파수 대역은 [300Hz, 3400Hz] 사이에 있음
- 단말기는 물론 음성 통신 시스템에서는 band-pass filter를 통해 음성 주파수 대역이 아닌 신호들을 제거함
(음성 전송 시 잡음 제거를 위하여)
- 따라서 데이터를 음성 신호 변환 시 해당 대역을 벗어나지 않도록 해주어야 함
2. Voice Codec Distortion – Memory-ful Codec
- 많은 종류의 단말기에서 사용하는 음성 codec이 memory-ful 형식인 경우 distortion 유발
- 음성 신호는 memory-ful property를 가지고 있기 때문에, 현재 signal을 가지고 이후에 어떤 signal이 나타날
것인가를 예측할 수 있다. (따라서 모든 신호를 sampling 하지 않고 어떤 부분에 대해서는 이전 신호들
의 합을 가지고 예측한 것을 집어넣는 방법을 통해 압축률을 높일 수 있다: Linear Predictive Coding)
- 그러나 이러한 memory-ful codec에 memory-ful property를 지니지 않는 신호가 들어가면 신호 복원 시에
distortion이 발생한다.
- 많은 종류의 단말기에서 memory-ful codec을 사용하는 것을 감안하면, 데이터를 음성 신호로 변환할 때
memory-ful property를 지니도록 해 주어야 함
7
Technical Challenges
3. Voice Codec Distortion – AGC (Automatic Gain Control)
- 전자 공학의 발달로 인해 많은 종류의 시스템에서 신호의 강도를 일정하게 유지하기 위한 feedback loop
회로가 많이 사용하고 있다. 이것을 AGC라고 한다.
- 하지만 Amplitude Modulated Signal인 경우에 AGC는 도리어 신호 distortion의 원인이 된다.
- 결국 진폭을 통한 변조를 사용해서는 안 된다.
4. Voice Codec Distortion – VAD (Voice Activity Detection)
- 이동 전화망에서는 사람의 음성에서 미세한 파동이 존재한다는 점에 착안하여 파동이 없으면 사람의 음성이
아니라고 판단하여 noise로 간주하고 제거한다. 이를 통해 잡음 제거 및 대역폭 절감 효과를 볼 수 있다.
- 따라서 데이터를 음성 신호로 변환했을 때 미세한 떨림을 만들어 주어야 한다.
5. Errors and Distortions on MS – BS (Mobile Station – Base Station) and Intermediate Links
- 단말기와 기지국의 SINR 값에 따라 Codec의 압축 rate 및 전송률이 달라지기 때문에 이 과정에서 신호의
distortion이 발생할 수 있다.
- 기지국과 기지국을 잇는 중간 망 상에서 신호의 distortion이 발생할 수 있다.
해결책
- 상기에 제시한 신호 distortion의 원인을 가능하면 많이 줄이는 동시에 receiver 측의 error detection 및
correction 능력을 높여야 한다.
8
Solutions: CDFSK, Trans-coding and Framing
• Hermes System
Binary
Data
Framer
30byte
프레임
시퀀스
Trans-coder
Trans-coded
binary bit
string
CDFSK
Modulator
Acoustic
Waveform
Hermes: Data – to – analog 변환 시스템
- Framer: 데이터를 26바이트 단위로 나눈 다음 4byte CRC를 포함한 30byte 프레임들을 생성
- Trans-coder: framing 된 데이터들을 voice-like signal modulation, error detection/correction하기 좋은 bit string으로 변환
- CDFSK Modulator: Trans-coder가 만든 bit-string들을 voice-like signal로 modulation
9
Solutions: CDFSK, Trans-coding and Framing
• CDFSK: Constant Difference Frequency Shift Keying
CDFSK 개념
- Symbol 간의 Frequency 변화 (difference)를 가지고 0과 1을 구분하는 modulation 기법
- BFSK와 비슷하며 신호가 Trans-coding 기법과 결합되어 memory-ful property를 지니도록 함
Modulation
Demodulation
효과
- Trans-coding 기법과 결합되어 Memory-ful property를 지닌 signal 생성
- Frequency 기반 modulation 기법이기 때문에 AGC에 의해 야기되는 distortion을 방지
10
Solutions: CDFSK, Trans-coding and Framing
• Trans-coding
Trans-coding
- 입력 데이터 string을 같은 특성이 반복해서 나타나는 비트 string으로 변환 시킴
- 송신자 측 Trans-coding: 0 → 01 / 1 → 10
- 수신자 측 Reverse Trans-coding: 01 → 0 / 10 → 1
Trans-coded Bit String의 특징
- 생성된 string은 정확히 똑같은 수의 0과 1을 가진다.
- 길이가 4 이상인 모든 sub-string은 정확히 똑같은 수의 0과 1을 가진다.
- 똑같은 symbol이 세 번 이상 반복되지 않는다. (즉 000, 111이 나타날 수 없음)
효과
- 반복 패턴이 존재하기 때문에 CDFSK 기법과 결합되어 Memory-ful property를 지닌 signal 생성 가능
- 반복 패턴 특성을 Bit-flipping / Bit-insertion / Bit-deletion이 발생하는 지점을 유추할 수 있다.
- 주파수 변동 범위가 작기 때문에 변조된 acoustic 신호가 [300Hz, 3400Hz] 대역을 벗어나지 않는다.
11
Solutions: CDFSK, Trans-coding and Framing
• Trans-coding
Reverse Trans-coding with Error Detection
- 수신자 측에서 01 → 0 / 10 → 1 변환을 통해 기존 입력
string을 복원
- 복원 중에 Trans-coded bit-string의 특징을 만족하지 않는
경우에는 bit-flip / insertion / deletion이 의심되는 지점을
찾아 X로 표시함
0110010110 … 011011001 … 0101
Reverse Trans-coder
01001 … 0XXX1X … 00
Error Correction
- X로 표시된 부분들은 De-Framing 단계에서 CRC
checksum algorithm을 통해 정확한 값을 찾아 정정함
12
Solutions: CDFSK, Trans-coding and Framing
• Framing
CRC-checksum을 탑재하는 Framing
- Trans-coding 이전에 데이터를 30byte 크기의 frame으로 분할 (26byte 데이터 + 4byte CRC)
- CRC checksum은 Reverse Trans-code 이후 발생한 X bit 들에 대한 correction에 이용됨
13
Solutions: CDFSK, Trans-coding and Framing
• Overcoming VAD and AGC
Voice Codec Distortion – AGC (Automatic Gain Control)
- 전자 공학의 발달로 인해 많은 종류의 시스템에서 신호의 강도를 일정하게 유지하기 위한 feedback loop
회로가 많이 사용하고 있다. 이것을 AGC라고 한다.
- 하지만 Amplitude Modulated Signal인 경우에 AGC는 도리어 신호 distortion의 원인이 된다.
- 결국 진폭을 통한 변조를 사용해서는 안 된다.
Voice Codec Distortion – VAD (Voice Activity Detection)
- 이동 전화망에서는 사람의 음성에서 미세한 파동이 존재한다는 점에 착안하여 파동이 없으면 사람의 음성이
아니라고 판단하여 noise로 간주하고 제거한다. 이를 통해 잡음 제거 및 대역폭 절감 효과를 볼 수 있다.
- 따라서 데이터를 음성 신호로 변환했을 때 미세한 떨림을 만들어 주어야 한다.
AGC와 VAD의 극복
- Framing → Trans-coding → CDFSK를 거쳐 생성된 acoustic signal에 약간의 잡음을 추가하여 떨림을 생성
- CDFSK가 주파수 기반 변조이기 때문에 amplitude distortion에 대해서는 견고함
14
Performance Evaluation
• Implementation and Experimental Results
Implementation
- 데스크탑에서 Framing → Trans-coding → CDFSK를 수행하여 얻은 시그널을 안드로이드 기반 휴대폰에
인가하여 전송을 실험
실제 이동망 에서의 실험 결과 10만분의 1 정도의 Bit Error
Rate를 보임 → 상당히 안정적인 전송 성공률을 보임
CRC-checksum 까지 마쳤을 때 frame당 전송 성공률은
만 분의 1 정도의 Bit Rate만 되어도 90% 이상임
- 초당 1200bit의 전송이 가능 (1.2kbps)
- SMS가 5초에 140byte를 보내는 것을 감안하면 5배 정도가 빠름
- SMS는 건 당 5센트 ~ 25센트 / Hermes는 5초 간의 음성 통화료만 필요함 (가격 면에서 50배나 저렴함)
15
Conclusion and Discussion
• Conclusion
Hermes: A god of Messenger
- 음성 신호에 데이터를 실어 이동 전화를 통해 전송할 수 있는 기술
- Framing → Trans-coding → CDFSK 기법을 통해 어떤 종류의 데이터라도 voice-like 신호로 변조
(Voice-codec에 의한 distortion을 제거)
- Error의 탐지 능력을 강화하여 Error에 취약한 음성 채널을 통해 안정적인 데이터 전송이 가능
- Hermes로 SMS를 구현하는 경우 데이터 전송효율은 5배 상승, 가격은 50배 저렴
Discussion
- 우수한 이식성을 지니고 있으며, 실용화가 된다면 음성망을 통한 SMS 서비스 제공에 쓰일 수 있을 것 같음
(Voice Codec 입력 이전에 데이터 변환을 하므로 GSM, CDMA 등 하부 기술을 가리지 않고 거의 모든
종류의 음성 통신 시스템에서 사용 가능함)
- Hermes의 심볼당 전송 효율은 0.4bit/Hz이다. 이것을 높일 수 있을 것인가?
(GSM의 경우 3KHz 대역 신호가 codec을 통과하면 13kbps 데이터로 출력된다. Hermes의 throughput이
1.2Kbps임을 감안하면 codec 통과 시점에서는 데이터와 오버헤드 비율이 1:9나 됨)
- 결국 Trans-coding과 CDFSK에서 오버헤드는 줄이고 modulation rate을 높여야 하는데 이것이 가능한가?
16

similar documents