The Journal of the Acoustical Society of Korea. 31 January 2015. 82-91
https://doi.org/10.7776/ASK.2015.34.1.082

ABSTRACT


MAIN

  • I. 서 론

  • II. WCDMA 음성 채널

  •   2.1 AMR 음성 부호화기

  •   2.2 Discontinuous transmission (DTX) 기법

  •   2.3 음성 채널의 영향

  • III. 기존의 방법

  •   3.1 펄스위치기반 데이터 전송 방법

  •   3.2 파형맵핑에 기반한 데이터 전송 방법

  • IV. Minimax 최적화를 이용한 최적 코드북 설계 방법

  •   4.1 문제분석

  •   4.2 제안한 코드북 설계 방법

  • V. 성능 평가

  •   5.1 실험 환경

  •   5.2 실험 결과

  • VI. 결 론

I. 서  론

이동통신망의 음성채널을 통한 데이터 전송기술은 보안통신, 문자서비스, 사용자 인증 등을 목적으로 연구가 진행되어 왔다. 특히, 음성부호화기를 적용한 음성채널의 경우 음성부호화기의 특성상 일반적인 변조 신호와 복조 신호가 정상적으로 통과하기 어려우므로 이를 해결하기 위한 많은 연구가 이루어졌다.[1-8] 유럽에서는 Global System for Mobile communications(GSM) 망의 데이터 채널이 가지는 접속지연 문제로 인하여 GSM 음성채널을 통해 데이터 서비스를 제공하고자 하는 다양한 연구가 진행되었으며, 이 중 음성신호의 특성을 나타내는 파라미터에 데이터를 싣는 기법,[1-3] 전통적인 통신 기술을 적용한 기법,[4-6] 그리고 음성부호화기를 잘 통과하는 신호를 찾아 코드북을 구성하는 기법 등이 대표적이다.[7,8]

GSM 통신망에서 사용하는 GSM Enhanced Full-Rate (EFR) 음성부호화기는 다수의 펄스 조합으로 여기 신호를 나타낸다. Kondoz et al.[3]는 이에 주목하여 펄스의 위치정보를 데이터의 전송 수단으로 사용하는 모뎀 알고리듬을 개발하였다. 이 방법은 변조 시스템의 구조가 간단하고 기본 성능이 우수한 것으로 알려져 있으나, 잡음제거기와 음성검출기에 의한 신호 소실 문제와 송신측과 수신측의 정확한 동기가 필요하다는 단점을 가지고 있다. LaDue et al.[7]는 전송하고자 데이터를 코드북내의 코드워드 인덱스로 맵핑하여 전송 신호를 구성하는 방법을 선택하였다. 이 방식의 핵심은 음성부호화기가 적용된 음성채널을 미지의 시스템으로 가정하고 이를 잘 통과할 수 있는 심볼들로 구성된 최적의 코드북을 찾는 것이다. LaDue et al.[7]는 최적의 코드북 탐색에 유전자 알고리듬을 활용하였다. LaDue et al.[7]에 의해 제안된 방법은 Kondoz et al.[3]가 제안한 방법에 비해 성능이 우수하며, 코드북의 크기를 변경하여 전체적인 데이터 전송 시스템의 구조를 변경하는데 용이한 장점이 있다. 본 논문에서는 이에 주목하여 파형맵핑방식의 모뎀 알고리듬의 성능 향상을 위한 새로운 코드북 설계 방법을 제안하고자 한다.

논문의 구성은 다음과 같다. II장에서 데이터를 전송하기 위한 음성 채널의 특징을 알아보고, III장에서는 데이터를 음성 채널에 전송하기 위한 기존 연구방법의 내용과 한계점을 알아본다. IV장에서는 논문의 핵심인 음성 채널에 강인한 코드북 설계 방법에 대해 기술하고, V장에서는 제안한 방법의 성능을 평가한다. 마지막으로 VI장에서 결론을 맺는다.

II. WCDMA 음성 채널

이동통신 시스템의 음성 채널은 제한된 자원을 가지고 있으며 전송율을 낮추면서도 좋은 음질을 제공하기 위해 음성 부호화기를 사용한다. European Telecommunications Standards Institute(ETSI)와 Third Generation Partnership Project(3GPP)는 International Mobile Telecommunication 2000(IMT-2000) 서비스를 위한 음성 부호화기 표준으로 Adaptive Multi-Rate (AMR) 코덱을 선정하였다. 에릭슨, 노키아, 지멘스에 의해 공동으로 개발된 AMR 코덱은 무선 채널의 환경 변화에서도 가변 전송률을 이용하여 고품질의 음성을 제공할 수 있어 GSM 이동통신망 뿐 아니라, Wideband Code Division Multiple Access(WCDMA) 망의 기본 음성 코덱으로 널리 사용되고 있다.[9-12]

Table 1. AMR pulse positions for each track (12.2 kbps).

track

pulse

position

1

i0, i5

0, 5, 10, 15, 20, 25, 30, 35

2

i1, i6

1, 6, 11, 16, 21, 26, 31, 36

3

i2, i7

2, 7, 12, 17, 22, 27, 32, 37

4

i3, i8

3, 8, 13, 18, 23, 28, 33, 38

5

i4, i9

4, 9, 14, 19, 24, 29, 34, 39

2.1 AMR 음성 부호화기

AMR 음성부호화기는 Algebraic Code Excited Linear Prediction(ACELP) 알고리듬을 기반으로 8개의 전송모드를 갖는 다중 비율 음성 부호화기이다. 다음은 12.2 kbps 모드에서의 AMR 음성 부호화기의 동작을 설명한 것이다. 각 20 ms 음성 프레임마다 선형 예측 분석(linear prediction analysis)을 수행하여 10차의 Linear Prediction(LP) 계수를 찾고, 이를 Line Spectrum Pair(LSP)로 변환하여 Split Matrix Quantization (SMQ) 과정을 통해 양자화한다. 여기 신호는 20 ms 길이의 음성 프레임을 5 ms 의 길이를 갖는 4개의 부 프레임으로 나눈 후, 부 프레임마다 분석/합성 방법에 의해 음성 신호와 합성된 신호 사이의 오차가 최소화 되는 신호로 선택한다. 적응 코드북 파라미터는 피치 필터의 피치와 이득으로 구성되어 있고 각 부 프레임별로 구해진다. 적응 코드북 검색에서는 개루프 피치 분석에서 구해진 피치 값 주변에서 폐루프 피치 분석을 통해서 보다 정확한 피치를 구한다. 마지막으로 대수 코드북(Algebraic codebook) 여기 신호는 분석/합성 방법에 의해 심리 가중된 입력 신호와 합성신호의 오차가 최소가 되도록 선택한다. 이렇게 구해진 대수 코드북 여기 신호는 매 부 프레임마다 35 비트로 양자화되며, 다수의 펄스로 이루어진다. Table 1은 12.2 kbps 모드에서 코드벡터 구성을 설명하기 위한 것이다. 코드벡터는 10개의 펄스로 구성된다. 각 부 프레임에서 펄스가 올 수 있는 샘플 수는 40 샘플이며, 이를 5개의 트랙으로 구분한다. 각 트랙에 2개의 펄스를 위치시키며 각 펄스의 위치와 부호를 음성 부호화 데이터로 표시한다.

2.2 Discontinuous transmission (DTX) 기법

일반적으로 배경 잡음은 정상적이라고 가정되며, 배경 잡음의 에너지는 시간의 변화에 둔감하게 변화한다. AMR의 음성검출 알고리듬은 이와 같은 특성을 바탕으로 예측한 여기 신호 에너지와 적응 임계치를 비교하여 음성 신호의 유무를 판단한다.[10]

이동 통신망에 적용되는 AMR 부호화기는 부족한 채널 자원을 효율적으로 활용하기 위해 음성 신호의 유무에 따라 전송을 조절하는 Discontinuous Transmission (DTX) 기법을 사용한다.[11] 송신단에서는 입력 프레임이 음성이 아니라고 판단될 경우 신호 대신 묵음을 알리는 파라미터를 전송하여 대역폭을 절약하고, 수신단에서는 묵음 대신 편안한 잡음(comfort noise)를 생성하여 재생한다.[12] 따라서 이동통신망을 포함하는 통신망에서 음성채널을 통하여 데이터를 전송하려면 전송신호가 음성검출기를 통과할 수 있도록 설계되어야 한다.

2.3 음성 채널의 영향

이 절에서는 송신측과 수신측의 이동통신 사업자가 다른 상황에서 음성 통화가 이뤄지는 과정을 살펴보고 이를 통해 음성 채널에 데이터를 전송할 때 발생하는 문제에 대해 기술한다. 음성 통화에서 음성 신호는 음성 부호화기를 통해 인코딩되어 기지국으로 전송된다. 기지국에서는 디지털화된 음성 신호를 다른 기지국으로 송신하기 위해 Pulse Code Modulation(PCM) 혹은 Adaptive Differential Pulse Code Modulation(ADPCM) 형태로 변환한 후 전송한다. 이와 같이 전송된 신호는 마지막 기지국에서 다시 음성 부호화기를 통해 인코딩되어 수신 단말기로 전송된다. Fig. 1은 이를 도시한 것이다. 그림에 따르면 송신자의 음성은 최종 수신자에게 도달할 때까지 두 번의 트랜스코딩(transcoding)을 겪게 된다. 이 때, 송신자와 수신자가 귀로 듣는 음성의 품질은 트랜스코딩이 일어나기 전과 후에 큰 차이가 없으나, 음성의 파형을 비교하면 많은 차이를 보인다. 이와 같은 이유로 트랜스코딩이 발생하는 이기종망간의 음성채널을 통한 데이터 전송에 문제가 발생한다.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICCDD6.jpg

Fig. 1. General WCDMA communication outline.

III. 기존의 방법

3.1 펄스위치기반 데이터 전송 방법

Kondoz et al.[3]는 GSM 음성채널에 사용되는 음성부호화기(GSM-EFR)에서 여기 신호를 구성하는 방법에 착안하여 각 구간의 펄스 위치에 데이터를 실어 전송하는 방식을 제안하였다. 펄스위치기반 모뎀 알고리듬은 비교적 간단하다. 송신측에서는 프레임내의 미리 약속된 위치에 펄스를 세우고, 수신측에서는 펄스의 위치를 찾아서 그 위치에 해당하는 데이터를 복조해내는 방식이다. 송신측에서 펄스의 구성은 GSM 음성채널의 음성부호화기(GSM-EFR)의 여기 신호 구성을 고려하여 40 샘플 구간을 5개의 트랙으로 나누고 각 트랙별로 1개의 펄스를 사용하는 방식을 사용한다. Table 2는 데이터에 따른 각 트랙별 펄스 위치를 나타낸 것이다. 예를 들어, 전송하고자 하는 데이터를 '101011110010110'라고 가정하면, 데이터를 트랙별로 '101 | 011 | 110 | 010 | 110'과 같이 구분하고, 각 트랙별 데이터에 해당하는 위치('101' → 25, '011' → 16, '110' → 32, '010' → 13, '110' → 34)에 펄스를 세워서 프레임 구간의 전송신호를 생성한다.

Fig. 2는 펄스위치기반 데이터 전송시스템의 전체 구조를 나타낸 것이다. 데이터를 음성채널을 통하여 전송하기 위한 시스템은 크게 데이터를 변조하기 위한 변조 시스템과 음성채널을 거쳐 수신된 데이터를 복조하기 위한 복조 시스템으로 구성된다.

변조 시스템 내의 채널 인코딩(channel encoding)과 인터리빙(interleaving) 모듈은 디지털 통신 시 발생할 수 있는 전송오류를 극복하기 위한 역할을 하고, 변조(modulation) 모듈은 앞서 기술한 바와 같이 전송할 데이터에 상응하는 펄스를 세우는 역할을 하며, 스펙트럼 변형(spectral shaping) 모듈은 앞서 변조된 신호를 음성채널을 잘 통과할 수 있는 형태의 신호로 변형시키는 역할을 한다. 복조 시스템은 변조 시스템과 반대의 동작을 수행한다. 일반적으로 변조 신호는 채널을 통해 전송되는 과정 중에 지연과 감쇠와 같은 신호 왜곡을 겪게 된다. 이를 제대로 보상해주지 않을 경우, 송신 단말에서 전송한 원 신호를 찾을 수 없게 된다. 채널보상 필터링(equalization) 모듈은 음성채널을 거치면서 발생한 신호왜곡을 보상하여 수신 단말기에 수신된 신호가 송신 단말기에서 전송한 신호와 유사하도록 보정하는 역할을 한다. 또한, 스펙트럼 역변형(inverse spectral shaping) 모듈은 스펙트럼 변형 모듈에서 변형된 신호를 원래의 형태로 복원하는 역할을 한다. 이와 같이 채널 왜곡과 스펙트럼 변형이 보상된 신호를 이용하여 송신된 신호를 찾는 문제는 수신단에서 40 샘플 구간에서 5개 펄스의 위치를 찾아내는 문제로 생각할 수 있다. 따라서 215(=5×3)개의 패턴 중 가장 높은 우도를 가지는 패턴을 탐색하는 문제가 된다.

Table 2. Pulse positions for each track and corresponding data bit pattern.

data bits

000

001

010

011

100

101

110

111

track 1

0

5

10

15

20

25

30

35

track 2

1

6

11

16

21

26

31

36

track 3

2

7

12

17

22

27

32

37

track 4

3

8

13

18

23

28

33

38

track 5

4

9

14

19

24

29

34

39

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICCE73.gif

Fig. 2. Block diagram of the data transmission system based on pulse position method.

이러한 펄스 위치에 기반한 전송방식은 구조가 단순하고 기본 성능이 우수한 것으로 알려져 있지만, 잡음제거기와 음성검출기에 의한 신호 소실 문제와 데이터를 제대로 복호화하기 위해서 송/수신간의 정확한 동기가 필요하다는 단점이 있다.

3.2 파형맵핑에 기반한 데이터 전송 방법

Fig. 3은 파형맵핑방식 데이터 모뎀의 동작을 나타낸 것이다. 그림에서 보듯이, 파형맵핑방식의 모뎀은 입력 비트 스트림을 음성 채널에 강인한 특성을 가지는 파형 코드북신호로 변환한다. 이 방식은 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICCEB3.gif개의 심볼 혹은 파형을 미리 구성하고, 입력 비트 스트림을 일정 크기로 구분하여 그에 따른 심볼의 인덱스와 맵핑을 하는 방식이다.[7] 송신단에서는 위 방식으로 맵핑된 심볼을 전송하고, 수신단에서는 음성채널을 거쳐 수신된 심볼을 코드북과 비교하여 가장 상관 관계가 높은 인덱스를 찾아 비트 스트림으로 복구한다. 요컨대, 파형맵핑방식의 모뎀 알고리듬은 데이터 비트를 파형으로 구성되어 있는 코드북의 입력 인덱스로 직접 맵핑을 시키는 방식이다. 이 방식의 성능은 비트 오류율을 최소화하는 최적화된 코드북을 얼마나 잘 찾느냐에 따라 결정된다. Eq.(1)은 최적의 파형 코드북을 찾기 위한 비용 함수를 나타낸 것으로, 이동통신망의 채널을 통과한 후의 심볼 오류율 (Symbol Error Rate, SER) 을 의미한다.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICCF31.gif

Fig. 3. Block diagram of the data transmission system based on data modem method.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICCFAF.gif, (1)

여기서 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICCFDF.gif는 코드북 전체의 구성 요소를 나타내는 벡터이며, http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICCFEF.gif은 코드북의 크기를 나타내는 상수이며, http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD010.gif는 오류를 나타낸 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD020.gif번째 심볼의 개수, http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD050.gifhttp://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD061.gif번째 심볼의 전체 개수를 의미한다.

코드북 탐색은 가능한 탐색 구간을 모두 검색하여 최적의 코드북을 찾는 전수조사 방법에서부터 패턴 탐색과 유전자 알고리듬까지 다양한 방법이 가능하다.

전수조사 방법은 가장 직관적인 방법이긴 하나, 코드북의 크기가 증가할수록 탐색 공간의 크기가 기하급수적으로 증가하여 현실적으로 적용이 어렵다.[13] 반면에 패턴 탐색 방법은 어떠한 패턴을 유지하면서 최적해를 탐색하는 것이 효과적일 수 있다는 경험을 적용한 방법[14]으로 유전자 알고리듬[15]이나 시뮬레이티드 어닐링(simulated annealing)과 같은 경험적 최적화 방법과 유사하나, 유전자 알고리듬이나 시뮬레이티드 어닐링과 같은 추계론적 최적화와는 달리 탐색경로가 항상 일정한 결정론적 최적화 방법의 한 종류이다. 따라서 무작위 추출 및 탐색을 기본으로 하는 최적화 방법에 비하여 탐색시간이 상대적으로 짧으며, 또한 확장, 축소, 반사의 기본 동작을 가지고 있는 심플렉스 방법[16] 혹은 기울기 정보를 이용하는 다른 최적화 방법에 비해서는 전역적 최적해를 찾을 가능성이 높은 방법이다. 단, 비선형이 지배적인 최적화 문제인 경우에는 전역최소가 아닌, 국부최소에 수렴할 수 있는 단점이 있다.

패턴 탐색을 이용한 코드북 설계는 N개의 원소를 각각 두 가지 방향http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD091.gif으로 탐색하면서 비용함수가 최소화 되는 지점을 탐색함으로써 얻어진다. 즉, 패턴 탐색에 기반한 코드북 설계 방법은 생성된 코드북을 사용하여 실제 이동 통신망의 채널을 통과시키면서 심볼 오류율이 최저가 되는 지점을 탐색하고 다시 그 위치에서 패턴탐색 알고리즘을 반복적으로 적용하여 최적의 코드북을 구한다. 위의 목적 함수를 이용하여 탐색 공간 내에서 비용 함수가 최소화 되는 지점이 찾아지면 그 지점이 최적의 백터가 되고 이것을 코드북으로 변환하여 사용한다.

유전자 알고리듬은 자연의 진화과정에 기초한 계산 모델로 존 홀랜드에 의해 1975년 개발된 전역 최적화 기법으로, 생물 진화의 과정을 모방함으로써 근사값에 가까운 해답을 신속하게 찾아낼 수 있는 것으로 알려져 있다.[15] 유전자 알고리듬은 1계 도함수, 2계 도함수가 요구되는 고전적 최적화 방법과 달리 연속이며 미분 가능한 목적함수 구성이 요구되지 않는 장점이 있다. LaDue et al.[7]은 이와 같은 유전자 알고리듬을 코드북 설계에 응용하였다. LaDue et al.[7]이 제안한 코드북 설계 방법은 다음의 4단계로 구분된다.

1. 초기 코드북 생성

2. 가장 적합한 코드북 선정

3. 새로운 코드북 생성 및 코드북 갱신

4. 성능 목표치나 최대 반복수 도달할때까지 반복 수행

먼저 초기 코드북을 생성하고, 랜덤한 데이터 비트 스트림을 생성하여 그에 맞는 코드북을 송신하고 수신하여 송신한 심볼을 추정한다. 이를 통해 각 코드북의 심볼 오류율을 계산한다. 그리고 가장 적합한 즉 가장 낮은 심볼 오류율을 갖는 코드북을 선정한다. 이 때 적합한 코드북의 선택 방식은 순위 선정과 룰렛 휠방식을 결합하여 사용한다. 심볼 오류율에 따라 순위 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD0E0.gif를 주고 Eq.(2)와 같이 해당 코드북이 선택될 확률을 계산한다. 여기서 계산된 코드북의 확률은 룰렛에서 해당 코드북이 차지하는 영역의 크기와 비례한다. 이렇게 만들어진 룰렛을 돌려서 2개의 적합한 코드북을 선택한다.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD13F.gif, (2)

여기서 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD14F.gif는 0과 1사이의 값으로, http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD18F.gif 분포의 기울기를 결정하는 상수이다.

다음으로 새로운 코드북을 생성하고, 앞서 선택된 코드북과 교배와 돌연변이 과정을 수행한다. 교배는 코드북을 서로 섞는 과정이고, 돌연변이는 랜덤하게 특정 비트를 반전시키는 과정이며, 이를 통해 국소해를 피하고 전역해을 얻는데 도움을 준다. 위 과정을 원하는 목표치에 도달하거나 최대 반복수에 도달할때까지 반복한다.

IV. Minimax 최적화를 이용한 최적 코드북 설계 방법

앞서 언급한 바와 같이, 본 논문에서는 구조가 단순하며, GSM 이동통신망에서 좋은 성능을 보이는 것으로 알려진 파형 매핑 방식의 데이터 모뎀을 기초로 연구를 진행하였다. 파형 매핑 방식의 데이터 모뎀 알고리듬의 성능은 코드북을 생성하고 생성된 코드북을 훈련하는 방법에 따라 좌우된다. 이 장에서는 minimax 최적화 기법에 기반한 코드북 설계 방법을 제안한다.

4.1 문제분석

본 논문에서는 코드북의 송신 심볼이 AMR 부호화기를 통과한 후 수신된 심볼이 가우시안 분포를 가지는 것으로 가정하였다. Fig. 4는 송신 심볼이 AMR 부호화기에 의해 부호화 및 복호화 되고 난 후에 수신되는 심볼의 분포를 개념적으로 도시한 것이다.[7]

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD1CE.jpg

Fig. 4. Probability distribution of the transmitted symbol in the symbol space.

그림에서 보는 바와 같이 수신 심볼들간에 중첩되는 부분이 증가할수록 심볼 오류율이 증가하므로, 좋은 코드북을 설계하기 위해서는 심볼간의 중첩되는 부분을 최소화해야 한다. 본 논문에서는 심볼들간의 중첩이 많은, 즉, 심볼 오류율이 높은 심볼을 찾아 이를 최소화하도록 하는 방법을 택하였다. Eq.(3)은 이와 같은 목적 달성하기 위한 비용 함수이다.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD27B.gif, (3)

여기서 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD29B.gifhttp://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD2CB.gif 노름(norm)을 의미한다.

제안한 방법에 따른 코드북 설계 방법은 초기 코드북 값으로부터 심볼 오류율을 계산하고 이 중 가장 큰 오차를 가지는 심볼을 선택하여 이를 최소화하는 방법으로 최적화를 수행한다. 본 논문에서는 이와 같은 목적을 달성하기 위해 minimax 최적화 방법을 적용하였다. Minimax 관점에서 최적 코드북을 설계하기 위해서 Second-Order Cone Programming(SOCP)에 기반한 방법을 사용하였다.[17] SOCP 방법은 minimax Infinite-Impulse Response (IIR) 필터 설계에 사용되고 있으며, Yan[18]이 제안한 다양한 노름을 이용한 통합된 SOCP 프레임워크를 이용하면 Finite Impulse Response (FIR) 필터 설계에도 이용 가능하다. 다음 절에서 본 논문에서 제안한 minimax 최적화를 이용한 최적 코드북 설계 방법에 대해 구체적으로 설명한다.

4.2 제안한 코드북 설계 방법

앞서 II장에서 언급한 바와 같이 국내 이동통신망을 통한 음성 통신은 AMR 부호화기에 의한 트랜스코딩이 2회 발생하는 것을 가정하였고, 코드북의 코드워드로 사용될 심볼은 AMR 음성 부호화기의 입력 신호가 되므로 심볼의 대역을 음성 대역인 300 ~ 3400 Hz로 제한하였다. 이와 같은 제한 사항을 반영한 최적 코드북 설계 방법은 다음과 같다.

1. 코드북 생성

2. AMR 부호화기에 의한 2번의 트랜스코딩 수행

3. 심볼 디코딩을 통한 심볼 오류율 계산

4. 심볼 오류율이 가장 큰 심볼들을 최소화 하도록 심볼을 조정

각 항목에 대한 구체적인 내용은 다음과 같다.

1. 코드북 생성: 코드북이 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD31A.gif샘플 길이의 심볼을 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD33B.gif개 가진다고 가정하면 코드북의 크기는 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD3C8.gif이 된다. 본 논문에서는 LaDue et al.[7] 이 취한 방법과 같이 최적화 과정의 연산량을 줄이기 위해 주파수 영역에서 설계를 한 후 시간 영역으로 변환하는 방법을 취하였다. 만약 시간 영역에서 코드북 설계를 진행하다면 탐색 공간의 크기가 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD3E8.gif이 되며 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD3F9.gif이 커지면 탐색 공간이 매우 커져서 최적의 코드북 설계에 매우 많은 시간이 필요하게 된다. http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD429.gif개의 샘플 길이를 갖는 코드워드를 주파수 영역으로 변환하고 300 ~ 3400 Hz에 해당하는 주파수 빈의 개수를 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD449.gif라고 가정하면, 주파수 영역에서의 코드북 설계를 위한 랜덤 벡터의 크기는 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD489.gif이 된다. 이 벡터로부터 시간 영역의 실수 코드북을 생성하기 위해 다음과 같이 복소 켤레를 수행하여 남은 주파수 빈을 채우고 IFFT를 통해 시간 영역의 실수 코드북을 생성한다.

2. AMR 부호화기에 의한 2번의 트랜스코딩 수행: 생성된 심볼을 AMR 부호화기로 인코딩하고 디코딩하는 과정을 2회 수행한다.

3. 심볼 디코딩을 통한 심볼 오류율 계산: 수신된 심볼을 코드북의 심볼들과 상관도를 구하고 이 중 최대의 상관도를 가지는 심볼의 인덱스를 얻는다. 이 인덱스와 송신한 데이터를 비교하여 심볼 오류율을 구한다.

4. 심볼 오류율이 가장 큰 심볼들을 최소화 하도록 심볼을 조정: Eq.(3)의 비용 함수에 따라 앞서 계산된 심볼 오류율의 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD4A9.gif 노름을 계산하고 이를 최소화 하도록 SOCP에 기반한 minimax 최적화를 진행한다. Eq.(4)는 이를 나타낸 것이다.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD508.gif

subject to http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD528.gif

,

(4)

여기서 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD539.gif는 심볼의 주파수 스펙트럼을 의미한다.

즉, 코드북의 심볼들 중 심볼 오류율이 가장 큰 심볼 쌍을 찾아서 해당 심볼을 음성 대역으로 제한된 탐색 공간내의 다른 값으로 대체한다. 이와 같은 과정을 원하는 성능에 도달하거나 최대 반복 회수에 도달할 때까지 반복하여 수행한다.

Eqs. (1) ~ (3)의 비용 함수를 비교해보면, 기존의 코드북 설계 방법은 전체 심볼 오류율을 구해 최소화하도록 하는 최적 코드북을 찾았으며, 제안된 코드북 설계 방법은 전체 심볼 오류율 중 최대의 오차값을 갖는 심볼을 찾아 최소화되도록 하는 최적 코드북을 찾았다. 따라서 제안한 방법은 심볼들간의 중첩을 최소화하여 전체 데이터 전송 모뎀의 성능 향상을 얻을 수 있는 장점이 있다.

V. 성능 평가

5.1 실험 환경

Fig. 5는 제안한 방법의 성능을 확인하기 위한 실험 환경을 도시한 것이다. 먼저 랜덤한 입력 비트 스트림을 생성한다. 목표 데이터 전송율에 따라 코드북의 크기가 달라지고, 선택한 코드북에 따라 비트 처리 단위를 결정한다. 다음으로 코드북에서 입력 비트에 해당하는 심볼을 선택하여 AMR 부호화기를 통과시킨다. 본 논문에서는 트랜스코딩이 2회 일어나는 일반적인 이기종망간의 이동통신을 가정하였으므로, 입력 심볼은 AMR 부호화기를 2번 통과하도록 처리하였다. 다음으로 Eq.(5)와 같이 AMR 부호화기를 통과한 심볼과 코드북의 심볼들 간의 상관도를 구해 상관도가 최대가 되는 심볼의 인덱스로부터 입력 신호를 추정한다. 마지막으로 입력 신호와 추정된 신호와 비교하여 심볼 오류율을 계산한다.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD568.gif

Fig. 5. Simulation framework.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD5A8.gif

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD5E7.gif

Fig. 6. Symbol error rate as a function of codebook size.

Fig. 7. Symbol error rate as a function of data rate.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD617.gif, (5)

여기서 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD638.gif는 심볼 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD658.gif가 AMR 부호화기를 2번 통과한 후의 신호를 의미하고, http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD697.gif는 벡터의 내적을 의미한다.

5.2 실험 결과

Fig. 6은 모의 실험 결과를 나타낸 것이다. 그림에서 보는 바와 같이 4 kbps의 데이터 전송율에서는 코드북의 크기와 무관하게 10% 전후의 심볼 오류율을 가지며 이는 기존의 설계 기법과 동등한 수준의 성능이다. 2 kbps의 데이터 전송율에서는 코드북의 크기가 증가할수록 심볼 오류율이 감소하는 경향을 확인할 수 있다. 이는 제안한 코드북 설계 방법이 코드북의 크기가 증가할수록 좋은 성능을 가짐을 의미한다. 하지만 코드북의 크기가 증가하면 두 가지 측면에서 단점이 존재한다. 첫 번째, 코드북의 크기가 증가할수록 해를 얻기 위해 탐색해야 하는 탐색공간의 크기가 증가하여 목표하는 심볼 오류율을 달성하는데 소요되는 시간이 기하급수적으로 증가한다. 두 번째, 설계된 코드북을 파형맵핑방식의 데이터 전송 시스템에 적용하는 경우, 코드북 크기의 증가는 복조 시스템에서의 연산량 증가를 수반한다. 일반적으로 코드북의 설계는 오프라인으로 이뤄지므로, 코드북 설계에 많은 시간이 소요되는 것은 문제가 되지 않는다. 하지만 Fig. 6의 결과와 같이 코드북의 크기가 커질수록 성능이 좋아지는 특성은 실제 데이터 전송 시스템에 적용시 연산량 증가를 동반하므로, 작은 크기의 코드북에서 더욱 좋은 성능을 가지는 설계 방법에 대한 연구가 필요하다.

Fig. 7은 데이터 전송율에 따른 심볼 오류율을 나타낸 것이다. 2 kbps의 전송율에서는 약 0.06 %의 심볼 오류율을 가지고, 그 보다 낮은 1 kbps의 전송율에서는 약 0.0001 %의 전송율을 가지는데 반해, 3 kpbs 이상의 데이터 전송율에서는 심볼 오류율이 2 %를 초과한다. 이것은 파형맵핑방식의 데이터 전송 시스템에 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD6A8.gif 혹은 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD6C8.gif 크기의 코드북을 사용하는 것이 어려움을 의미한다.

앞서 설계된 코드북은 트랜스코딩이 2회 발생하는 이기종망간의 음성 채널을 통한 데이터 전송 상황을 가정하여 설계된 것이다. 이를 트랜스코딩이 1회 발생하는 상황, 즉 망내 통화 상황에 적용하면 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD6E8.gif 크기의 코드북에서 0.03 %의 심볼 오류율을 얻을 수 있다. 이는 트랜스코딩이 1회 발생하는 경우 음성 부호화기에 의한 신호 왜곡이 매우 작아 트랜스코딩이 2회 발생하는 상황에서 설계한 코드북을 사용해도 문제가 없음을 의미한다. 추가적으로 트랜스코딩이 1회 발생하는 상황을 가정하고 임의의 난수를 코드북으로 사용하여 모의 실험을 한 결과 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD6F9.gif 단위의 심볼 오류율을 얻었다. 이는 음성 부호화기에 의한 왜곡이 매우 작음을 증명하는 것이다.

다음으로 모의 실험을 통해 설계한 코드북을 파형맵핑방식의 데이터 전송 시스템에 적용하여 실제 이동통신망에서 실험을 진행하였다. 데이터 전송율은 많은 논문에서 목표로 삼고 있는 1.2 kbps를 기준으로 삼았으며, 16 × 16 크기의 코드북을 사용하였다. 실제 망을 고려하여 다음과 같은 추가적인 신호처리를 하였다.[19]

1. AMR 부호화기의 음성검출기를 회피하기 위해 신호 중간에 공백을 삽입

2. 실제 이동통신망을 고려한 채널 코딩 기법 삽입

먼저 음성검출기를 회피하기 위해 신호 중간에 520 샘플의 공백을 삽입하고 공백에 따른 AMR 부호화기의 영향을 고려해 80 샘플의 더미데이터를 추가하였다. 실제 데이터의 크기는 2880 샘플이므로, 데이터 전송율은 http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD719.gif 가 된다. 여기에 추가적인 에러 보정을 위해 리드 솔로몬 채널 코딩 기법을 적용하였는데, 1.2 kbps 데이터 전송율을 맞추기 위해 리드 솔로몬 코더는 15 심볼 중 11 샘플만큼 데이터를 사용하도록 설정하였다. 따라서 최종 데이터 전송율은 다음과 같다.

http://static.apub.kr/journalsite/sites/ask/2015-034-01/N0660340110/images/PICD749.gif. (6)

Table 3. Bit error rate (BER) in Korea on the 2 major WCDMA networks.

BER

Method

average

max.

min.

Pulse position method

1.48 %

1.82 %

1.06 %

Pattern search method

0.99 %

1.33 %

0.33 %

Proposed design method

0.39 %

0.72 %

0.00 %

성능을 측정하기 위해 SKT향 삼성 갤럭시 S4 LTE-A에서 KT향 삼성 갤럭시 S3 로 전화를 걸어 30 s씩 총 15회의 비트 오류율을 측정하였다. Table 3은 펄스위치기반 방식의 데이터 전송 시스템과 파형맵핑방식의 데이터 전송 시스템 2가지의 실제 이동통신망에서의 성능을 나타낸 것이다. 여기서 파형맵핑방식의 데이터 전송 시스템은 패턴 탐색을 통해 얻은 코드북과 제안한 방법을 통해 얻은 코드북을 이용한 두 가지 경우로 분류된다.

실제 이동통신망은 시간과 장소에 따라 통신망의 상태 변화가 발생할 수 있으므로, 표의 결과는 절대적인 비트 오류율 수치로 볼 수는 없고, 같은 장소와 유사한 시간대에 비트 오류율을 측정한 것이므로 데이터 전송 시스템에 따른 상대적인 비트 오류율 차이로 생각할 수 있다. 표에서 볼 수 있는 바와 같이, 펄스 위치 기반 방법에 비해 파형맵핑 방법이 우수한 성능을 보였으며, 파형맵핑 기반의 데이터 전송 시스템에서는 제안한 코드북 설계 방법을 이용한 경우가 패턴 탐색 기반의 방법을 이용한 경우보다 평균적으로 2배 이상 낮은 비트 오류율을 가짐을 확인할 수 있다.

VI. 결  론

본 논문에서는 음성채널에 데이터를 전송하기 위한 방법으로써, 파형맵핑방식에 기반한 모뎀 알고리듬의 코드북 설계 방법에 대해 제안하였다. 이를 위해 WCDMA 이동통신망에서 사용하는 AMR 음성 부호화기의 특성에 대해 알아보았으며, 기존의 GSM 이동통신망에서 제안된 방법들을 살펴보고 이들의 장단점을 비교해보았다. 본 논문에서 새롭게 제안된 코드북 설계 방법은 코드워드로 사용되는 심볼들간의 최대 중첩을 최소화하도록 하는 minimax 최적화 기법을 이용한 방법으로써, 모의 실험 결과 2 kbps 이하의 전송율에서 약 0.06 %의 낮은 심볼 오류율을 보였다. 또한 실제 이동통신망에서 파형맵핑방식의 데이터 전송 시스템에 제안한 방법으로 구한 코드북을 적용하여 실험한 결과 기존 방법에 비해 2배 이상의 낮은 심볼 오류율을 나타내었다.

References

1
1.N. N. Katugampala, S. Villette, and A. M. Kondoz, “Secure voice over GSM and other low bit rate systems,” IEE Seminar on Secure GSM and Beyond: End to End Security for Mobile Communications (2003).
2
2.S. P. Villette, S. N. Fabri, and A. M. Kondoz. Data trans-mission over a compressed speech channel, Patent: WO 03/071521 A1 (2003).
3
3.A. M. Kondoz, N. N. Katugampala, and T. K. Al-Naimi, S. Villette, Data transmission, Patent: WO2005/109923 A1 (2005).
4
4.B. L. Dorr, Modem for communication data over a voice channel of a communications system, Patent: US7,864,717 B2 (2011).
5
5.S. Sverrisson and X. Liang, “Digital communication over speech compressed channel,” Chalmers University of Tech-nology, 2008.
6
6.T. Chmayssani and G. Baudoin, “Data transmission over voice dedicated channels using digital modulations,” 18th International Conference Radioelektronika, 1-4 (2008).
7
7.C. K. LaDue, V. V. Sapozhnykov, and K. S. Fienberg, “A data modem for GSM voice channel,” IEEE Transactions on Vehicular Technology 57, 2205-2218 (2008).
8
8.A. Shahbazi, A. H. Rezaei, A. Sayadiyan, and S. Mosayyeb-pour, “Data transmission over GSM adaptive multi rate voice channel using speech-like symbols,” 10th International Conference on Signal Acquisition and Processing 63-67 (2010).
9
9.3GPP TS 26.071, Adaptive Multi-Rate(AMR) speech codec, General description, v9.0.0, 2009.
10
10.3GPP TS 26.094, Adaptive Multi-Rate(AMR) speech codec, Voice Activity Detector (VAD), v9.0.0, 2009.
11
11.3GPP TS 26.093, Adaptive Multi-Rate(AMR) speech codec, Source controlled rate operation, v9.0.0, 2009.
12
12.3GPP TS 26.090, Adaptive Multi-Rate(AMR) speech codec, Transcoding functions, v9.0.0, 2009.
13
13.R. Hooke and T. A. Jeeves, “Direct search solution of numerical and statistical problems,” ACM Journal 8, 212-229 (1961).
14
14.R. M. Lewis, V. Torczon, and M. W. Trosset, “Why pattern search works,” Institute for Computer Applications in Science and Engineering NASA Langley Research Center, NASA/CR-1998-208966 ICASE Report No. 98-57, 1998.
15
15.D. E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning (Addison-Wesley, Boston, 1989), pp. 7-14.
16
16.J. A. Nelder and R. Mead, “A simplex method for function minimization,” Computer Journal 7, 308-313 (1965).
17
17.W. S. Lu and T. Hinamoto, “Optimal design of IIR digital filters with robust stability using conic-quadratic-programming updates,” IEEE Trans. Signal Process. 51, 1581-1592 (2003).
18
18.S. F. Yan and Y. Ma, “A unified framework for designing FIR filters with arbitrary magnitude and phase response,” Digital Signal Process. 14, 510-522 (2004).
19
19.J. Son, J. Lee, D. W. Lee, and Y. Park, “Secure data communi-cation over heterogeneous network,” The Attached Institute of ETRI, Tech. Rep. 2013.
페이지 상단으로 이동하기