KR19990075511A - 보코더의 볼륨레벨 제어 방법 - Google Patents

보코더의 볼륨레벨 제어 방법 Download PDF

Info

Publication number
KR19990075511A
KR19990075511A KR1019980009744A KR19980009744A KR19990075511A KR 19990075511 A KR19990075511 A KR 19990075511A KR 1019980009744 A KR1019980009744 A KR 1019980009744A KR 19980009744 A KR19980009744 A KR 19980009744A KR 19990075511 A KR19990075511 A KR 19990075511A
Authority
KR
South Korea
Prior art keywords
energy
path
level
value
average
Prior art date
Application number
KR1019980009744A
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 KR1019980009744A priority Critical patent/KR19990075511A/ko
Publication of KR19990075511A publication Critical patent/KR19990075511A/ko

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 보코더의 PCM 라인에서 인코딩신호와 디코딩신호의 볼륨레벨을 제어하여 송/수화자의 현저한 신호레벨 차이가 발생할 때 송/수화자의 에너지 레벨을 측정하고 이들의 평균적인 레벨값을 구하여 손실 및 기타 영향으로 인한 낮은 쪽의 신호레벨에 대해 양 경로의 평균 레벨값에 적응하도록 볼륨값을 결정해주기 위한 것으로, 이러한 본 발명은 인코딩(디코딩)레벨이 시작되면 레벨알고리즘의 플래그를 점검하고, 플래그가 양호하면 인코딩(디코딩) 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하여 인코딩(디코딩) 경로의 평균에너지가 현재까지 각 경로의 평균값 에너지 보다 작거나 같으면 스케일 팩터를 계산하고, 인코딩(디코딩) 경로의 스케일 팩터로 레벨을 갱신한 다음, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 음의 왜곡을 방지함으로써, 보코더 프로그램 내에서 소프트웨어적으로 신호레벨을 측정하고 이에 따라 적절한 에너지 레벨의 안정 상태를 유지하여 이동통신 시스템의 음질 불안 요인 중 하나인 볼륨레벨의 불안정을 해결할 수 있게 되는 것이다.

Description

보코더의 볼륨레벨 제어 방법
본 발명은 이동통신 시스템의 보코더(Vocoder)에 관한 것으로, 특히 보코더의 PCM(Pulse Code Mudulation, 펄스부호변조) 라인에서 인코딩신호와 디코딩신호의 볼륨레벨을 제어하여 송/수화자의 현저한 신호레벨 차이가 발생할 때 송/수화자의 에너지 레벨을 측정하고 이들의 평균적인 레벨값을 구하여 손실 및 기타 영향으로 인한 낮은 쪽의 신호레벨에 대해 양 경로의 평균 레벨값에 적응하도록 볼륨값을 결정해줌으로써 송/수화자의 통화품질을 향상시킬 수 있는 방법에 관한 것이다.
일반적으로 이동통신 시스템은 이동단말기를 가지고서 이동하면서도 통신이 가능하도록 한 시스템이다.
이러한 일반적인 이동통신 시스템은, 도1에 도시된 바와 같이, 이동하거나 특정되어 있지 않은 지점에 정지하는 중에 운용되는 이동국(MS; Mobile Station)(10)과; 상기 이동국(10)의 호처리 요구를 수신하고, 제어국(30)의 호전송 요구를 상기 이동국(10)에 송신하는 기지국(BTS; Base Transceiver Station)(20)과; 상기 기지국(20)과 교환국(40) 간의 신호처리를 수행하기 위하여 상기 기지국(20)을 제어하는 제어국(BSC; Base Station Controller)(30)과; 상기 제어국(30)과 연결되어 상기 이동국(10)의 호처리 요구를 공중망 또는 전용망을 통해 공중전화교환망(PSTN; Public Switching Telephone Network)이나 AMPS(Advanced Mobile Phone Service)와 다른 통신망에 전송하여 이동통신 서비스가 이루어질 수 있도록 하는 교환기(MSC; Mobile Switching Center)(40)로 구성되었다.
이와 같이 구성된 일반적인 CDMA 시스템은, 가입자가 자신의 이동국(10)을 가지고 교환기(40)의 서비스 반경 이내에 있으면서 이동통신 서비스를 사용하고자 하면, 교환기(40)는 제어국(30)의 제어에 따라 이동국(10)의 위치를 파악하고, 이동국(10)의 요구에 따라 음성/팩스정보 서비스를 수행하거나 다른 통신망과 연결시켜 이동통신 서비스를 수행할 수 있도록 동작하였다.
도2는 이동통신 시스템에서 제어국의 상세블록도이다.
이에 도시된 바와 같이, 상기 기지국(20)의 패킷데이터를 입력받고, 입력받은 패킷데이터의 목적지(Destoination) 어드레스로 루딩을 수행하는 루터(Router)(31)와; 정확한 시간과 위치정보를 위성으로부터 안테나를 통해 수신하여 신호처리를 할 수 있도록 하는 GPS(Global Positioning System, 광역 지구 측위 시스템)(32)과; 상기 GPS(32)로부터 정확한 시간과 위치를 입력받아 클럭을 분배하는 클럭분배부(33)와; 상기 GPS(32)와 클럭분배부(33)의 클럭에 장애가 발생하면 이를 경보처리하여 상기 루터(31)에 알리는 경보처리부(34)와; 상기 루터(35)와 연결되어 호처리제어와 셀렉터(Selector) 관리와 소프트 핸드오프(Soft Handoff)를 지원하는 서브시스템인 호처리 프로세서(35)와; 상기 루터(31)와 연결되어 상기 제어국(30)와 상기 교환기(40) 간의 인터페이스를 수행하고, BTS(Burst Timing Synchronization)의 음성 패킷을 인코딩과 디코딩을 통해 송/수신하는 보코더(Vocoder)(36)로 구성되었다.
이와 같이 구성된 제어국(30)은 기지국(20)과 교환기(40) 사이의 인터페이스 동작을 수행하고, 핸드오프와 기지국(20)를 관리를 담당한다. 그리고 무선망의 데이터를 추출하고 저장 및 전송하며 교환망의 기본 속도인 64kpbs로 변화시키고 각 이동국(10)에 대한 채널 할당과 해제를 수행한다. 또한 이동국(10)과 기지국(20) 간의 송신 출력을 제어하고, 상위 계층의 신호를 중계하며 핸드오프를 수행한다.
그리고 보코더(36)는 기지국(20)의 채널소자에 대하여 이동국(10)까지 연결하는 루트(Route)를 형성하고 복수의 채널 소자에 대하여 양호한 채널을 선택하여 소프트 핸드오프를 지원하는 선택기능을 수행하며, 교환기(40) 방향에 대하여 64kpbs의 신호로 음성을 압축하고 인터컨넥션(Interconnection) 방향으로 압축된 신호를 복원해서 PCM 신호로 환원하도록 동작한다.
여기서 이동통신 시스템 또는 일반 전화망에서 송/수화자는 서로의 신호레벨 차이로 인한 상대편의 신호레벨 값이 작을 때, 종래에는 자신의 송/수화기의 볼륨 값을 수동적으로 높이거나, 볼륨을 일정 레벨로 세팅해두고 사용하여 볼륨을 높임으로써 이를 보상하는 방법을 사용하여 왔다.
그러나 종래의 방법은 시스템 및 기타 장치의 영향으로 인해 어느 한쪽 경로의 음 또는 양쪽 모두의 음이 연속적으로 변화할 때는 이를 효과적으로 보상할 수 없는 문제점이 있었다.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 보코더의 PCM 라인에서 인코딩신호와 디코딩신호의 볼륨레벨을 제어하여 송/수화자의 현저한 신호레벨 차이가 발생할 때 송/수화자의 에너지 레벨을 측정하고 이들의 평균적인 레벨값을 구하여 손실 및 기타 영향으로 인한 낮은 쪽의 신호레벨에 대해 양 경로의 평균 레벨값에 적응하도록 볼륨값을 결정해줌으로써 송/수화자의 통화품질을 향상시킬 수 있는 보코더의 볼륨레벨 제어 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명에 의한 보코더의 볼륨레벨 제어 방법은,
인코딩레벨이 시작되면 레벨알고리즘의 플래그를 점검하는 단계와; 상기 플래그가 양호하면 인코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계와; 상기 인코딩 경로의 평균에너지가 현재까지 각 경로의 평균값 에너지 보다 작거나 같으면 스케일 팩터(Scale Factor)를 계산하는 단계와; 상기 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 음의 왜곡을 방지하는 단계로 이루어짐을 그 기술적 구성상의 특징으로 한다.
또한 상기와 같은 목적을 달성하기 위하여 본 발명에 의한 보코더의 볼륨레벨 제어 방법은,
디코딩레벨이 시작되면 레벨알고리즘의 플래그를 점검하는 단계와; 상기 플래그가 양호하면 디코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계와; 상기 디코딩 경로의 평균에너지가 현재까지 각 경로의 평균값 에너지 보다 작거나 같으면 스케일 팩터를 계산하는 단계와; 상기 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 음의 왜곡을 방지하는 단계로 이루어짐을 그 기술적 구성상의 특징으로 한다.
도 1은 일반적인 이동통신 시스템의 블록구성도
도 2는 도1에서 제어국의 상세블록도,
도 3은 본 발명에 의한 보코더의 인코딩레벨에서의 볼륨레벨 제어 방법을 보인 흐름도,
도 4는 본 발명에 의한 보코더의 디코딩레벨에서의 볼륨레벨 제어 방법을 보인 흐름도,
도 5는 본 발명이 적용되는 보코더 내에서의 처리방법을 보인 블록도.
<도면의 주요 부분에 대한 부호의 설명>
10: 이동국 20: 기지국
30: 제어국 31: 루터
32: GPS 33: 클럭분배부
34: 경보처리부 35: 호처리 프로세서
36: 보코더 40: 교환기
이하, 상기와 같이 구성된 본 발명 보코더의 볼륨레벨 제어 방법의 기술적 사상에 따른 일실시예를 상세히 설명하면 다음과 같다.
도3은 본 발명에 의한 보코더의 인코딩레벨에서의 볼륨레벨 제어 방법을 보인 흐름도이다.
이에 도시된 바와 같이, 인코딩레벨이 시작되면 레벨알고리즘의 플래그를 점검하는 단계(ST11)와; 상기 플래그가 양호하면 인코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계(ST12 - ST16)와; 상기 인코딩 경로의 평균에너지가 현재까지 각 경로의 평균값 에너지 보다 작거나 같으면 스케일 팩터를 계산하는 단계(ST17)(ST18)와; 상기 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 볼륨왜곡을 방지하는 단계(ST19)(ST20)로 구성된다.
상기에서 플래그가 양호하면 인코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계(ST12 - ST16)는, 인코딩 경로의 프레임 에너지를 계산하여 입력신호 저장버퍼에 저장하는 단계(ST12)와; 상기 인코딩 프레임 에너지에 대하여 현재 값과 이전 값의 평균 에너지를 입력신호 전체버퍼에 저장하는 단계(ST13)와; 상기 인코딩 경로와 디코딩 경로의 에너지 계산값의 평균 에너지를 입/출력신호 저장버퍼에 저장하는 단계(ST14)와; 상기 각 경로의 에너지 계산 값에서 현재 값과 이전 값의 평균 에너지를 입/출력신호 전체버퍼에 저장하는 단계(ST15)와; 상기 현재까지 인코딩 경로의 평균 에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계(ST16)로 구성된다.
상기에서 스케일 팩터를 계산하는 단계(ST17)(ST18)는, 상기 현재까지 인코딩 경로의 평균 에너지를 분모로 하고 상기 현재까지 각 경로의 평균값 에너지를 분자로한 나눗셈 값을 제곱근으로 계산하여 입력신호 스케일버퍼에 저장하는 단계(ST17)와; 상기 계산된 스케일 팩터에 대하여 현재값과 이전값에 서로 다른 일정값의 가중치를 두어 최종적인 스케일 팩터를 구하여 갑작스런 업데이터를 방지하는 단계(ST18)로 구성된다.
상기에서 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 볼륨왜곡을 방지하는 단계(ST19)(ST20)는, 이전 인코딩 경로의 스케일 팩터를 입력버퍼에 있는 펄스폭변조 신호에 곱하여 볼륨레벨을 조정할 수 있게 하는 단계(ST19)와; 상기 인코딩 경로의 신호레벨을 갱신할 때 과도한 증폭에 의한 볼륨의 왜곡을 방지할 수 있도록 적절한 포화한계치를 설정하여 볼륨레벨의 상한치와 하한치를 결정하는 단계(ST20)로 구성된다.
도4는 본 발명에 의한 보코더의 디코딩레벨에서의 볼륨레벨 제어 방법을 보인 흐름도이다.
이에 도시된 바와 같이, 디코딩레벨이 시작되면 레벨알고리즘의 플래그를 점검하는 단계(ST21)와; 상기 플래그가 양호하면 디코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계(ST22 - ST26)와; 상기 디코딩 경로의 평균에너지가 현재까지 각 경로의 평균값 에너지 보다 작거나 같으면 스케일 팩터를 계산하는 단계(ST27)(ST28)와; 상기 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 볼륨왜곡을 방지하는 단계(ST29)(ST30)로 구성된다.
상기에서 플래그가 양호하면 디코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계(ST22 - ST26)는, 디코딩 경로의 프레임 에너지를 계산하여 입력신호 저장버퍼에 저장하는 단계(ST22)와; 상기 디코딩 프레임 에너지에 대하여 현재 값과 이전 값의 평균 에너지를 입력신호 전체버퍼에 저장하는 단계(ST23)와; 상기 인코딩 경로와 디코딩 경로의 에너지 계산값의 평균 에너지를 입/출력신호 저장버퍼에 저장하는 단계(ST24)와; 상기 각 경로의 에너지 계산 값에서 현재 값과 이전 값의 평균 에너지를 입/출력신호 전체버퍼에 저장하는 단계(ST25)와; 상기 현재까지 디코딩 경로의 평균 에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계(ST26)로 구성된다.
상기에서 스케일 팩터를 계산하는 단계(ST27)(ST28)는, 상기 현재까지 디코딩 경로의 평균 에너지를 분모로 하고 상기 현재까지 각 경로의 평균값 에너지를 분자로한 나눗셈 값을 제곱근으로 계산하여 입력신호 스케일버퍼에 저장하는 단계(ST27)와; 상기 계산된 스케일 팩터에 대하여 현재값과 이전값에 서로 다른 일정값의 가중치를 두어 최종적인 스케일 팩터를 구하여 갑작스런 업데이터를 방지하는 단계(ST28)로 구성된다.
상기에서 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 볼륨왜곡을 방지하는 단계(ST29)(ST30)는, 이전 디코딩 경로의 스케일 팩터를 입력버퍼에 있는 펄스폭변조 신호에 곱하여 볼륨레벨을 조정할 수 있게 하는 단계(ST29)와; 상기 디코딩 경로의 신호레벨을 갱신할 때 과도한 증폭에 의한 볼륨의 왜곡을 방지할 수 있도록 적절한 포화한계치를 설정하여 볼륨레벨의 상한치와 하한치를 결정하는 단계(ST30)로 구성된다.
이와 같이 구성된 본 발명에 의한 보코더의 볼륨레벨 제어 방법의 동작을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.
먼저 도5는 본 발명이 적용되는 보코더 내에서의 처리방법을 보인 블록도이다. 이는 현재 이동통신 시스템의 보코더 내에서 동작하는 프로그램의 알고리즘으로 실제적 수행은 보코더의 DSP(Digital Signal Process, 디지털 신호 처리) 칩내에서 수행된다.
여기서 보코더 내의 QCELP(Qualcomm Code Excited Linear Prediction) 소스에는 인코딩과 디코딩 알고리즘이 있는데, 인코딩은 교환기(40)로 들어온 신호를 패킷 데이터로 변환시키고, 디코딩은 패킷 데이터를 다시 PCM 신호로 변환시켜 주는 기능을 수행하게 된다.
이때 보코더 내로 들어온 PCM 데이터와 디코딩되어 나온 PCM 데이터의 에너지를 측정하여 그들의 연속적인 평균값을 구하고 난 후 또한 이들의 평균 레벨을 측정하고, 이 평균값 또한 지속적으로 버퍼에 저장한 후 신호 레벨이 작은 쪽의 에너지 레벨과 양 경로의 평균 에너지 레벨을 나눗셈(낮은 쪽 신호레벨을 분모로 하고 평균 레벨을 분자로 설정)하여 다시 나눗셈 되어 나온 값의 제곱근을 스케일 팩터로 계산하여 이들을 IIR(Interrupt Identification Register) 필터 형식의 계수를 곱한 후에 최종적으로 나온 스케일 팩터를 낮은 신호 레벨에 곱함으로써 볼륨레벨을 조정하고, 포화한계치의 범위 안으로 유도함으로써 적절한 볼륨레벨을 결정할 수 있게 된다.
그래서 각 샘플들(51)(61) 및 에너지 값(52)(62)들은 DSP의 램 버퍼에 라이트 및 리드되며, 각 스케일 팩터 측정(54)(64)들은 프로그래머블(Programmable)하게 저장된다.
이에 따라 인코딩을 수행할 경우에는 교환기 방향에서 신호입력경로로 PCM 직렬 인터페이스를 통해 데이터가 입력되면 이를 160 샘플 단위로 버퍼링(51)을 하게 된다. 그리고 에너지를 측정(52)하여 평균값을 계산(53)한 다음 측정된 에너지와 계산된 평균값으로 스케일 팩터를 측정(54)하여, 임시 저장된 160 샘플과 측정된 스케일 팩터를 곱하게(55) 된다. 그리고 입/출력신호대 입력신호(56)에 의해 160 샘플과 측정된 스케일 팩터를 곱한 값에 의해 포화한계치(57)를 설정하여 기지국 방향으로 패킷 인터페이스를 통해 인코딩이 수행된 데이터를 출력하여 볼륨 레벨 알고리즘이 수행되게 하였다.
또한 디코딩을 수행할 경우에는 기지국 방향에서 패킷 인터페이스를 통해 데이터가 입력되면 이를 40 샘플 단위로 버퍼링(61)을 하게 된다. 그리고 에너지를 측정(62)하여 평균값을 계산(63)한 다음 측정된 에너지와 계산된 평균값으로 스케일 팩터를 측정(64)하여, 임시 저장된 160 샘플과 측정된 스케일 팩터를 곱하게(65) 된다. 그리고 입/출력신호대 입력신호(66)에 의해 160 샘플과 측정된 스케일 팩터를 곱한 값에 의해 포화한계치(67)를 설정하여 디코딩이 수행된 데이터를 교환기 방향으로 PCM 직렬 인터페이스를 통해 출력하여 볼륨 레벨 알고리즘이 수행되게 하였다.
이와 같은 인코딩 알고리즘과 디코딩 알고리즘에 의한 상세한 동작을 살펴보면 다음과 같다.
먼저 인코딩레벨이 시작되면 레벨 알고리즘의 플래그를 점검하여 레벨 알고리즘의 온/오프를 수행한다(ST11).
그리고 플래그가 양호하면 인코딩 레벨의 알고리즘을 온시켜 인코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하게 된다. 즉, 인코딩 경로의 프레임 에너지를 계산하여 입력신호 저장버퍼(sin_ene buffer)에 저장하고(ST12), 인코딩 프레임 에너지(sin_ene)에 대하여 현재 값(현재sin_ene)과 이전 값(이전sin_ene)의 평균 에너지(sin_tot)를 입력신호 전체버퍼(sin_tot buffer)에 저장한다(ST13). 또한 인코딩 경로와 디코딩 경로의 에너지 계산값(sin_tot)(sout_tot)의 평균 에너지(sio_out)를 입/출력신호 저장버퍼(sio_tot buffer)에 저장한다(ST14). 그래서 각 경로의 에너지 계산 값에서 현재 값(현재sio_tot)과 이전 값(이전sio_tot)의 평균 에너지(sio_tot)를 입/출력신호 전체버퍼(sio_tot)에 저장하게 된다(ST15). 그리고 현재까지 인코딩 경로의 평균 에너지(sin_tot)와 현재까지 각 경로의 평균값 에너지(sio_tot)를 비교하게 된다(ST16).
그래서 인코딩 경로의 평균에너지(sin_tot)가 현재까지 각 경로의 평균값 에너지(sio_tot) 보다 작거나 같으면 스케일 팩터를 계산하게 된다. 즉, 현재까지 인코딩 경로의 평균 에너지(sin_tot)를 분모로 하고 현재까지 각 경로의 평균값 에너지(sio_tot)를 분자로한 나눗셈 값을 제곱근으로 계산(sin_scale)하여 입력신호 스케일버퍼(sin_scale buffer)에 저장한다. 이때 분자가 분모보다 4배 이상 크면 4배로 세팅되고, 각 값들이 0일 때는 나눗셈을 수행하지 않는다. 결과적으로 각 경로의 평균값 에너지(sio_tot)가 클 때만 이 루틴이 들어오게 되고, 각 경로의 평균값 에너지(sio_tot)가 인코딩 경로의 평균 에너지(sin_tot) 보다 4배 이상 큰 값은 4배로 셋팅되어 제곱근의 값은 2가 되며, 기타의 계산 결과에 대하여는 1보다 크거나 2보다 작은 값이 Q12 포맷으로 계산되어 입력신호 스케일버퍼(sin_scale buffer)에 저장되게 된다(ST17).
그리고 계산된 스케일 팩터에 대하여 현재값(현재sin_scale)에는 16분의 1일 0.0625를 가중치로 두고, 이전값(이전sin_scale)에는 0.9375의 가중치를 두어 최종적인 스케일 팩터를 구함으로서 갑작스런 업데이터를 방지하게 된다(ST18).
이에 따라 출력된 인코딩 경로의 스케일 팩터(sin_scale)를 입력버퍼에 있는 펄스폭변조 신호(160samples)에 곱하여 볼륨레벨을 적절하게 조정할 수 있게 한다(ST19). 그리고 인코딩 경로의 신호레벨을 갱신할 때 과도한 증폭에 의한 볼륨의 왜곡을 방지할 수 있도록 적절한 포화한계치를 설정하여 볼륨레벨의 상한치와 하한치를 결정하게 되는 것이다(ST20).
한편 먼저 디코딩레벨이 시작되면 레벨 알고리즘의 플래그를 점검하여 레벨 알고리즘의 온/오프를 수행한다(ST21).
그리고 플래그가 양호하면 디코딩 레벨의 알고리즘을 온시켜 디코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하게 된다. 즉, 디코딩 경로의 프레임 에너지를 계산하여 출력신호 저장버퍼(sout_ene buffer)에 저장하고(ST22), 디코딩 프레임 에너지(sout_ene)에 대하여 현재 값(현재sout_ene)과 이전 값(이전sout_ene)의 평균 에너지(sout_tot)를 출력신호 전체버퍼(sout_tot buffer)에 저장한다(ST23). 또한 인코딩 경로와 디코딩 경로의 에너지 계산값(sin_tot)(sout_tot)의 평균 에너지(sio_out)를 입/출력신호 저장버퍼(sio_tot buffer)에 저장한다(ST24). 그래서 각 경로의 에너지 계산 값에서 현재 값(현재sio_tot)과 이전 값(이전sio_tot)의 평균 에너지(sio_tot)를 입/출력신호 전체버퍼(sio_tot)에 저장하게 된다(ST25). 그리고 현재까지 디코딩 경로의 평균 에너지(sout_tot)와 현재까지 각 경로의 평균값 에너지(sio_tot)를 비교하게 된다(ST26).
그래서 디코딩 경로의 평균에너지(sout_tot)가 현재까지 각 경로의 평균값 에너지(sio_tot) 보다 작거나 같으면 스케일 팩터를 계산하게 된다. 즉, 현재까지 디코딩 경로의 평균 에너지(sout_tot)를 분모로 하고 현재까지 각 경로의 평균값 에너지(sio_tot)를 분자로한 나눗셈 값을 제곱근으로 계산(sout_scale)하여 출력신호 스케일버퍼(sout_scale buffer)에 저장한다. 이때 분자가 분모보다 4배 이상 크면 4배로 세팅되고, 각 값들이 0일 때는 나눗셈을 수행하지 않는다. 결과적으로 각 경로의 평균값 에너지(sio_tot)가 클 때만 이 루틴이 들어오게 되고, 각 경로의 평균값 에너지(sio_tot)가 디코딩 경로의 평균 에너지(sout_tot) 보다 4배 이상 큰 값은 4배로 셋팅되어 제곱근의 값은 2가 되며, 기타의 계산 결과에 대하여는 1보다 크거나 2보다 작은 값이 Q12 포맷으로 계산되어 출력신호 스케일버퍼(sout_scale buffer)에 저장되게 된다(ST27).
그리고 계산된 스케일 팩터에 대하여 현재값(현재sout_scale)에는 16분의 1일 0.0625를 가중치로 두고, 이전값(이전sout_scale)에는 0.9375의 가중치를 두어 최종적인 스케일 팩터를 구함으로서 갑작스런 업데이터를 방지하게 된다(ST28).
이에 따라 출력된 디코딩 경로의 스케일 팩터(sout_scale)를 출력버퍼에 있는 펄스폭변조 신호(40samples)에 곱하여 볼륨레벨을 적절하게 조정할 수 있게 한다(ST29). 그리고 디코딩 경로의 신호레벨을 갱신할 때 과도한 증폭에 의한 볼륨의 왜곡을 방지할 수 있도록 적절한 포화한계치를 설정하여 볼륨레벨의 상한치와 하한치를 결정하게 되는 것이다(ST30).
이처럼 조정된 값은 바로 인터럽트 루틴에 의하여 직렬 출력 경로로 나가게 된다.
이와 같이 본 발명은 보코더의 PCM 라인에서 인코딩신호와 디코딩신호의 볼륨레벨을 제어하여 송/수화자의 현저한 신호레벨 차이가 발생할 때 송/수화자의 에너지 레벨을 측정하고 이들의 평균적인 레벨값을 구하여 손실 및 기타 영향으로 인한 낮은 쪽의 신호레벨에 대해 양 경로의 평균 레벨값에 적응하도록 볼륨값을 결정하게 되는 것이다.
이상에서 살펴본 바와 같이, 본 발명에 의한 보코더의 볼륨레벨 제어 방법은 보코더 프로그램 내에서 소프트웨어적으로 신호레벨을 측정하고 이에 따라 적절한 에너지 레벨의 안정 상태를 유지하게끔 함으로써 이동통신 시스템의 음질 불안 요인 중 하나인 볼륨레벨의 불안정을 해결할 수 있는 효과가 있게 된다.

Claims (8)

  1. 인코딩레벨이 시작되면 레벨알고리즘의 플래그를 점검하는 단계와;
    상기 플래그가 양호하면 인코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계와;
    상기 인코딩 경로의 평균에너지가 현재까지 각 경로의 평균값 에너지 보다 작거나 같으면 스케일 팩터를 계산하는 단계와;
    상기 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 음의 왜곡을 방지하는 단계로 구성된 것을 특징으로 하는 보코더의 볼륨레벨 제어 방법.
  2. 제 1항에 있어서, 상기 플래그가 양호하면 인코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계는,
    인코딩 경로의 프레임 에너지를 계산하여 입력신호 저장버퍼에 저장하는 단계와; 상기 인코딩 프레임 에너지에 대하여 현재 값과 이전 값의 평균 에너지를 입력신호 전체버퍼에 저장하는 단계와; 상기 인코딩 경로와 디코딩 경로의 에너지 계산값의 평균 에너지를 입/출력신호 저장버퍼에 저장하는 단계와; 상기 각 경로의 에너지 계산 값에서 현재 값과 이전 값의 평균 에너지를 입/출력신호 전체버퍼에 저장하는 단계와; 상기 현재까지 인코딩 경로의 평균 에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계로 구성된 것을 특징으로 하는 보코더의 볼륨레벨 제어 방법.
  3. 제 1항에 있어서, 상기 스케일 팩터를 계산하는 단계는,
    상기 현재까지 인코딩 경로의 평균 에너지를 분모로 하고 상기 현재까지 각 경로의 평균값 에너지를 분자로한 나눗셈 값을 제곱근으로 계산하여 입력신호 스케일버퍼에 저장하는 단계와; 상기 계산된 스케일 팩터에 대하여 현재값과 이전값에 서로 다른 일정값의 가중치를 두어 최종적인 스케일 팩터를 구하여 갑작스런 업데이터를 방지하는 단계로 구성된 것을 특징으로 하는 보코더의 볼륨레벨 제어 방법.
  4. 제 1항에 있어서, 상기 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 볼륨왜곡을 방지하는 단계는,
    이전 인코딩 경로의 스케일 팩터를 입력버퍼에 있는 펄스폭변조 신호에 곱하여 볼륨레벨을 조정할 수 있게 하는 단계와; 상기 인코딩 경로의 신호레벨을 갱신할 때 과도한 증폭에 의한 볼륨의 왜곡을 방지할 수 있도록 적절한 포화한계치를 설정하여 볼륨레벨의 상한치와 하한치를 결정하는 단계로 구성된 것을 특징으로 하는 보코더의 볼륨레벨 제어 방법.
  5. 디코딩레벨이 시작되면 레벨알고리즘의 플래그를 점검하는 단계와;
    상기 플래그가 양호하면 디코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계와;
    상기 디코딩 경로의 평균에너지가 현재까지 각 경로의 평균값 에너지 보다 작거나 같으면 스케일 팩터를 계산하는 단계와;
    상기 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 볼륨왜곡을 방지하는 단계로 구성된 것을 특징으로 하는 보코더의 볼륨레벨 제어 방법.
  6. 제 5항에 있어서, 상기 플래그가 양호하면 디코딩 경로의 평균에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계는,
    디코딩 경로의 프레임 에너지를 계산하여 입력신호 저장버퍼에 저장하는 단계와; 상기 디코딩 프레임 에너지에 대하여 현재 값과 이전 값의 평균 에너지를 입력신호 전체버퍼에 저장하는 단계와; 상기 인코딩 경로와 디코딩 경로의 에너지 계산값의 평균 에너지를 입/출력신호 저장버퍼에 저장하는 단계와; 상기 각 경로의 에너지 계산 값에서 현재 값과 이전 값의 평균 에너지를 입/출력신호 전체버퍼에 저장하는 단계와; 상기 현재까지 디코딩 경로의 평균 에너지와 현재까지 각 경로의 평균값 에너지를 비교하는 단계로 구성된 것을 특징으로 하는 보코더의 볼륨레벨 제어 방법.
  7. 제 5항에 있어서, 상기 스케일 팩터를 계산하는 단계는,
    상기 현재까지 디코딩 경로의 평균 에너지를 분모로 하고 상기 현재까지 각 경로의 평균값 에너지를 분자로한 나눗셈 값을 제곱근으로 계산하여 입력신호 스케일버퍼에 저장하는 단계와; 상기 계산된 스케일 팩터에 대하여 현재값과 이전값에 서로 다른 일정값의 가중치를 두어 최종적인 스케일 팩터를 구하여 갑작스런 업데이터를 방지하는 단계로 구성된 것을 특징으로 하는 보코더의 볼륨레벨 제어 방법.
  8. 제 5항에 있어서, 상기 스케일 팩터로 레벨을 갱신하고, 신호레벨의 포화한계치를 설정하여 신호레벨의 과도한 증폭에 의한 볼륨왜곡을 방지하는 단계는,
    이전 디코딩 경로의 스케일 팩터를 입력버퍼에 있는 펄스폭변조 신호에 곱하여 볼륨레벨을 조정할 수 있게 하는 단계와; 상기 디코딩 경로의 신호레벨을 갱신할 때 과도한 증폭에 의한 볼륨의 왜곡을 방지할 수 있도록 적절한 포화한계치를 설정하여 볼륨레벨의 상한치와 하한치를 결정하는 단계로 구성된 것을 특징으로 하는 보코더의 볼륨레벨 제어 방법.
KR1019980009744A 1998-03-20 1998-03-20 보코더의 볼륨레벨 제어 방법 KR19990075511A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980009744A KR19990075511A (ko) 1998-03-20 1998-03-20 보코더의 볼륨레벨 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980009744A KR19990075511A (ko) 1998-03-20 1998-03-20 보코더의 볼륨레벨 제어 방법

Publications (1)

Publication Number Publication Date
KR19990075511A true KR19990075511A (ko) 1999-10-15

Family

ID=65909537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980009744A KR19990075511A (ko) 1998-03-20 1998-03-20 보코더의 볼륨레벨 제어 방법

Country Status (1)

Country Link
KR (1) KR19990075511A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100489043B1 (ko) * 2000-12-20 2005-05-11 엘지전자 주식회사 이동 통신 시스템에서 이동 단말기간 음성 호 연결시데이터 포맷방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61247195A (ja) * 1985-04-25 1986-11-04 Nec Corp レベル可変回路
JPS62180695A (ja) * 1986-02-04 1987-08-07 Nec Corp 通話音量調整方法
JPH06245246A (ja) * 1992-11-26 1994-09-02 Nec Corp デジタル音量制御装置
KR950005067A (ko) * 1993-07-29 1995-02-18 백중영 디지탈 간이 교환기의 음량 조절 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61247195A (ja) * 1985-04-25 1986-11-04 Nec Corp レベル可変回路
JPS62180695A (ja) * 1986-02-04 1987-08-07 Nec Corp 通話音量調整方法
JPH06245246A (ja) * 1992-11-26 1994-09-02 Nec Corp デジタル音量制御装置
KR950005067A (ko) * 1993-07-29 1995-02-18 백중영 디지탈 간이 교환기의 음량 조절 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100489043B1 (ko) * 2000-12-20 2005-05-11 엘지전자 주식회사 이동 통신 시스템에서 이동 단말기간 음성 호 연결시데이터 포맷방법

Similar Documents

Publication Publication Date Title
AU719645B2 (en) Method and transcoder for performing a distributed handover in the uplink direction
US4453247A (en) Speech packet switching method and device
US7450601B2 (en) Method and communication apparatus for controlling a jitter buffer
US5901358A (en) Mobile station locating system and method
USRE38244E1 (en) Method of bypassing vocoders in digital mobile communication system
JP2001513598A (ja) 可変レート通信システムにて受信データのレートを決定する方法及び装置
KR20020074394A (ko) 위치 측정을 행하는 이동 단말 장치
KR100245060B1 (ko) 통신 시스템에서의 시그널링 삽입 방법 및 장치(method and apparatus for inserting signaling in a communication system)
EP0956726B1 (en) A method for selecting a signal, and a cellular radio system
US8150703B2 (en) Method and apparatus for reducing access delay in discontinuous transmission packet telephony systems
US7567529B1 (en) Method and system for selecting vocoder data rates and transmit powers for air interface communications
KR19990007936A (ko) 배터리 수명이 향상된 배터리 전원 무선 송수신기 및 그 작동방법
KR20050121536A (ko) 휴대단말기의 비디오 오디오 동기장치 및 방법
US5884173A (en) Mobile radio system with improved handover facility
AU732247B2 (en) A transmisson method and a cellular radio system
US7830817B1 (en) Vocoder selection based on location of client device
KR19990075511A (ko) 보코더의 볼륨레벨 제어 방법
EP1269677B1 (en) Estimating communication quality
KR20060061848A (ko) 버퍼의 동작 특성들을 제어하기 위한 시스템 및 방법
JP2002540644A (ja) Wcdmaネットワークにおけるgps補助データの供給
JP3534763B2 (ja) スピーチデコード方法及びスピーチデコーダ
WO1997029602A1 (en) Intergrated speech encoding
JPH09510849A (ja) デコード方法
CN1278990A (zh) 移动通信系统中变码器的控制方法
RU2195076C2 (ru) Способ управления задержками распространения сигналов

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application