I. 서 론
디지털 보청기가 일반 오디오 증폭기와 다른 점은 주파수 채널별 압축 기능(compression feature)이라고 요약할 수 있다. 그 외 다른 기능들도 오디오 증폭기에서 실현할 수 있으나 일반 오디오 증폭기에서는 굳이 주파수 채널별 압축을 시도할 필요가 없기 때문에 보청기와 증폭기와의 가장 큰 차별성으로 압축 기능을 꼽는다. 왜냐하면 일반 오디오 증폭기는 사용자가 정상 청력을 가진 일반인인데 반해, 보청기는 청력 역치가 저하된 난청인이 주된 사용자이기 때문이다.
보청기 압축 기능은 비선형 증폭기를 사용하는 아날로그 보청기에서 주파수 채널별로 정밀한 압축이 가능한 디지털 보청기로 진화하고 있다. 디지털 보청기 압축 방법이란 마이크로폰으로 입력되는 입력 음압 레벨에 대비하여 비선형적으로 출력 음압을 산출하는(작은 입력 음압 레벨에 대해서는 신호 증폭을 크게 하고, 큰 입력 음압 레벨에 대해서는 오히려 신호를 감쇠시키는) 증폭이 이뤄진 후 리시버를 통해 증폭된 어음 신호가 출력되도록 하는, 입력음압레벨 대비 출력음압레벨 압축 곡선(I-O Compression Curve)를 실현하는 것이다. 이러한 I-O 압축 곡선을 실시간으로 수행하기 위해서는 입력 음압 레벨을 지속적으로 모니터링할 수 있어야 하는데, 기존 대부분의 디지털 보청기에서의 압축 기능을 위한 프로그래밍 알고리즘은 저역 통과 필터들을 사용하여 입력 음압 레벨을 모니터링하고 있다. 또한 압축이 주파수 채널 별로 이뤄져야 하기 때문에 다수의 밴드 통과 필터들을 병렬적으로 사용하여 주파수 채널별로 신호를 분리하는 프로그래밍 알고리즘을 주로 사용하였다 [1].
인공와우기를 필요로 하는 심도 난청 환자의 경우 와우관의 주파수 분해도가 낮은 이유로 압축보다는 스펙트럼 콘트라스트를 향상시키는 알고리즘을 적용하고 있는데 연산량의 증가 문제가 제기된다 [2,3]. 난청 역치로부터 보편화된 휘팅 포뮬라를 나라별 언어 특성을 감안하여 통계적으로 유도하여 제공하기도 한다 [4,5]. 현재까지의 임상적 보청기의 압축 관련 연구는 2채널 정도의 주로 낮은 채널 수를 적용하였다 [6].
난청인의 청력 역치 곡선이 주파수별로 굴곡이 심할수록 주파수 채널별 압축이 좀더 세밀해져야 하는데, 이를 위해서는 채널이 많아져야 하고 채널이 많아지기 위해서는 내부적으로 더 많은 밴드 통과 디지털 필터들이 소요된다. 밴드 통과 필터 수가 많아지면서 보청기용 DSP IC 칩에서의 연산량이 많아지게 되자 전력 소모도 높아지게 되었다. 그래서 주파수 채널별 압축 기능을 적은 연산량과 고속으로 실현할 방안을 찾게 되었다.
본 논문에서는 FFT(Fast Fourier Transformation)에 의한 주파수 채널별 압축 방식을 펌웨어로 개발하여 실제로 디지털 보청기로 실현시킨 후, 이를 전기음향 검사에 의해 검증해 보였다. 아울러 기존의 휘팅 포뮬라에 의한 휘팅 대신에 보청기를 착용한 상태에서 고막 근처의 음압을 측정하여 64개 주파수 채널별 비선형 압축 휘팅이 자동적으로 산출되도록 하였다. 본 논문의 목적은 디지털 보청기의 주요 기능인 비선형 압축을 DSP IC 칩으로 실현한 결과를 보여주는 것이다. 앞으로 비선형 압축에 관한 좋은 알고리즘이 새로이 발표되면, 이를 시뮬레이션이 아닌 실시간 동작으로 확인하는데 본 연구 결과가 활용될 것으로 사료된다.
II. FFT-iFFT 압축 기법
본 논문에서 활용한 디지털 보청기 탑재용 DSP IC Ezairo 5910 칩은 dual-MAC 24-bit DSP core(Clock 1.28 MHz)를 가지며 20-bit A/D 변환기 및 1 MHz PDM (Pulse Density Modulation) 출력 기능을 자체 내장하여 출시된 상용화 칩이다 [7].
그림 1은 디지털 보청기 신호처리 알고리즘의 전체적인 개요도를 보여준다. 마이크로폰으로 입력된 어음 신호는 전치 증폭된 후, 20 비트 분해도의 A/D를 거쳐 양자화 되어 디지털 신호 처리 과정이 수행되고, 다시 D/A를 거쳐 리시버로 출력된다. 디지털 신호 과정으로써 Analysis 과정에서는 입력 시간 영역 신호는 FFT에 의해 분해되어 스펙트럼 영역으로 옮겨지고, Gain 과정에서는 각 스펙트럼 채널 별로 적절한 증폭이 결정된 후, Synthesis 과정에서는 iFFT에 의해 다시 시간 영역으로 처리된 신호로 합성된 후 전력 증폭기를 통해 출력된다. 따라서 Gain 과정에서의 적응적인 주파수 채널별 증폭 정도가 결정되면 보청기로써의 중요한 압축 기능이 실현된다.
|
그림 1. 디지털 보청기 신호처리 알고리즘의 전체 개요 Fig. 1. Overall flowchart of digital hearing aid signal processing algorithm. |
본 논문에서는 FFT 처리 결과인 진폭과 위상 정보 중 위상은 보전하고 진폭 레벨만 변화시켰고 iFFT 과정에서 기 보전된 위상을 재활용하였다. A/D 변환을 위한 샘플링 주파수를 16 kHz로 하고, FFT 데이터 개수는 128개로 하여 FFT-iFFT 과정에서의 시간 지연은 8msec가 걸리도록 하였다. iFFT 출력 데이터가 출력 메모리 버퍼로 이동되면, 19계수를 가진 보간 함수에 의해 평활화가 이뤄져서 출력음의 신호 왜곡을 최소화 되도록 칩이 설계, 구성되었다. FFT-iFFT 수행에 따른 압축 방법은 별도의 저역 통과 필터들과 채널별 다수의 대역 통과 필터들의 필요성을 없애는 결과를 가져오고, 작동시간(attack time)과 해제시간(release time)이 모두 0이 됨으로써 기존의 필터들을 사용하면서 발생하던 압축 신호의 pumping 현상을 근원적으로 해소하였다 [8]. 128개 데이터로부터 FFT 계산된 64개수의 진폭 응답은 dB SPL 단위로 환산되어 처리되었다.
그림 2는 FFT 진폭 주파수 응답으로부터 계산된 선형 단위의 진폭으로부터 dB 단위의 압축 이득 계산 후 다시 선형 단위로 복원하는 과정을 보여준다. FFT 진폭 응답은 실수 와 허수 로부터 다음 식과 같이 계산되며 dB 단위를 갖는다.
|
그림 2.FFT 선형 진폭 응답으로부터 dB 단위의 이득 계산 및 역 dB 계산 알고리즘 Fig. 2.Gain [dB] and inverse dB calculation algorithm from FFT linear magnitude response. |
| $$dB=20\times\log_{10}(\sqrt{Re^2+Im^2})$$ | (1) |
어셈블러 언어로는 다음 식과 같이 계산된다.
| $$dB=3.0103\times\left(\log_2\left(\frac{Re^2+Im^2}2\right)+1\right)$$ | (2) |
입력 신호의 세기 dB에 대비하여 그에 대응하는 적절한 크기의 압축 정도가 dB 단위로 결정되면 다음 식과 같이 다시 선형 단위로 복원되는데,
| $$g=10^{\left(\overset{dB}{\underset{20}\leftrightarrow}\right)}$$ | (3) |
어셈블러 언어로 로그나 지수 함수의 계산은 15번의 클록 싸이클이 소요되어 계산량이 폭증하게 된다. 이를 해결하기 위해 LoopUp Table 방식으로 근사적으로 로그나 지수 함수를 계산한다. 또한 DSP IC 칩에서의 프로그래밍은 이진수의 포맷 제한이 많기 때문에 세밀한 주의가 요구된다.
그림 3은 64개 주파수 채널 중 임의의 어떤 채널에서의 I-O 압축 곡선의 예를 보여준다. 그림에서처럼 음성 음압 레벨의 범위가 25 dB~65 dB일 때, 25 dB에서는 50 dB까지는 45 dB씩 선형적으로 증폭시키고 50 dB에서 65 dB까지는 비선형적으로 증폭을 적용할 수 있다. 그리고 최대 출력을 115 dB로 제한하기도 한다. 그러면 입력 음압 레벨 25 dB~50 dB까지는 80 dB~105 dB의 선형증폭이 이뤄져서 낮은 진폭의 자음 음소에 대해서 감도가 좋도록 할 수 있고, 입력 음압 레벨 50 dB 이상은 주로 모음이 신호의 대부분 에너지를 차지하게 되므로 비선형 압축을 주어 감도가 낮아지더라도 어음 변별에 크게 어렵지 않게 된다. 115 dB 이상의 출력 발생은 귀에 과도한 불쾌감을 주므로 신호를 제한시키도록 하고, 25 dB 이하의 작은 소리에 대해서는 주변 소음으로 간주하여 증폭이 아닌 상대적 감쇠 기능을 동작시키어 주변 소음으로 인해 야기되는 불편함을 해소시킬 수 있다. 이러한 비선형적인 압축 휘팅의 변화는 상황에 따라 사용자의 사용 목적에 맞춰 다르게 적용하면 된다. 소음이 많은 지하철 운행 시, 순간 격음은 140 dB까지도 증가하기도 하는데 115 dB로 보청기 최대 출력을 제한시키면 귀를 소음으로부터 보호하게 된다 [9].
|
그림 3. 보청기의 주파수 채널별 비선형 I-O 압축 곡선 Fig. 3. Nonlinear I-O compression curve for each frequency channel in hearing aid. |
III. 마이크로폰-리시버 보정 실험
FFT-iFFT 압축 알고리즘의 펌웨어를 어셈블러 언어로 프로그래밍한 뒤, Ezairo 5910 칩으로 이식한 뒤, 디지털 보청기의 압축 성능을 검사하기 전에 마이크로폰과 리시버의 고유한 주파수 특성이 고려되어야 한다. 이를 위해 FONIX 7000과 같은 상용화된 전기음향 무향 chamber를 활용하였다. 마이크로폰 보정을 위해서는 전기음향 무향실에서 주파수별로 일정한 음압(90 dB SPL)이 발생토록 하면서 마이크로폰으로 감지된 신호에 대한 Ezairo 5910 칩 내에서의 FFT 진폭을 외부 PC로 수집하여 주파수 채널별 수신 감도의 변화를 측정하였다(그림 4).
리시버 보정을 위해서는 주파수 채널별로 일정한 세기(Ox00FFFF = 0.0078124)의 FFT 진폭을 Ezairo 5910 칩에서 발생토록 하고, 이를 iFFT 하여 리시버로 출력음을 발생시키면서 출력음을 2 cc 표준 전기 음향 커플러에 내장한 보정된 1/2인치 측정용 마이크로폰으로 측정하였다(그림 5). 보청기용 마이크로폰과 리시버의 주파수 특성곡선을 그림 4와 그림 5에서 비교해 보면, 동일한 음압에 대해 고주파수 대역에서 마이크로폰은 수신 감도가 저주파수 대역보다 커지는 반면에 리시버는 출력음압이 작아짐을 확인할 수 있다. 이는 일반적으로도 마이크로폰과 리시버의 특성 곡선과 유사하다.
IV. In-Situ 측정
64개의 주파수 채널별 압축은 주파수별 입력 음압레벨에 대한 출력 음압레벨을 결정하는 것과 같다. 64개나 되는 많은 채널별 압축을 일일이 수작업으로 휘팅하는 것은 매우 비효율적이다. 그래서 이를 해결하기 위해 채널별 I-O 압축곡선을 자동화하기 위해 보청기를 귓속에 삽입한 상태에서 외부 음압 대비 고막 근처에서의 음압을 In-Situ 측정하여 이를 토대로 64개 I-O 압축 곡선을 구현하였다.
우선, 출력음압레벨을 결정하기 위해서 난청인이 보청기를 착용한 상태에서 Ezairo 5910 칩으로부터 주파수별로 서로 다른 음압 세기의 순음을 발생시키면서 난청인이 느끼는 소리 세기의 정도를 주관적으로 평가하되 Soft 레벨(거의 들리는 정도), Comfort 레벨(편안하게 들리는 정도), Loud 레벨(불쾌하게 들리는 정도)한 3개의 레벨로 구분하여 을 검사 측정한다 (그림 6). 그림 6의 측정 결과를 분석하면, Soft 레벨이 고주파수 대역에서는 정상에 가까운 반면에 저주파수 대역에서 청력 역치가 떨어지고 있으며, Soft 레벨과 Comfort 레벨 사이의 간격에 비해 Comfort 레벨과 Loud 레벨 사이의 간격이 협소함을 알 수 있다. In-Situ 측정은 보청기를 외이도에 삽입한 상태에서 사용자의 주관에 의해 평가되는 것이어서 일반적인 청력 검사 결과와 평가 방법에 있어서는 동일하다.
V. 음성 음압의 주파수 분포 측정
64개 채널별 I-O 압축곡선을 산출하기 위해 앞서 수행한 In-Situ 측정은 출력음압레벨을 결정하기 위한 것이라면, 계속해서 입력음압레벨을 결정하기 위해서는 일반 발성자의 음성 음압에 대한 주파수 분포를 알아야 한다. 이를 위해, 난청인이 보청기를 착용한 상태에서 1 m 거리 밖에 떨어진 발화자가 임의 문장의 음성을 발성하면 이 음성을 Ezairo 5910 칩에서 수집한 뒤 PC로 전송하여 dB SPL 단위의 주파수별 음성 음압 레벨 분포 곡선을 산출한다 [10]. 그리고 주파수별 음압 레벨 분포도로부터 분포곡선의 최저 (Low) 레벨 및 최고(High) 레벨 그리고 중간(Median) 레벨의 문턱치들을 구분하여 계산하였다(그림 7). Low 레벨 문턱치에서는 특히 고주파수의 자음에 해당하는 영역의 문턱치를 주목하게 되고, High 레벨 문턱치에서는 저주파수의 모음에 해당하는 영역의 음압 레벨 문턱치에 주목한다. 이러한 측정결과는 I-O 압축 곡선 중 입력음압레벨의 분포도로 활용한다.
VI. I-O 압축 곡선
64개 주파수 채널별로 측정된 In-Situ 검사 결과와 음성 음압의 주파수 분포도를 근거로 I-O 압축 곡선을 자동으로 계산하였다 [11]. 그림 8은 임의의 1개 채널(1 kHz)에 대해 입력음압레벨 대비 출력음압레벨 I-O 압축 곡선(a)과 입력음압레벨 대비 증폭레벨 I-O 압축 곡선(b)을 보여준다. 그림에서 하늘색 점선은 사용자가 지정하는 채널별 최대출력음압레벨의 한계치를 보여주고, 녹색 점선은 입출력음압레벨의 기울기가 1:1을 가리킴으로써 선형 혹은 비선형성 압축의 변화를 보여준다.
그림 9는 본 논문에서 연구한 64 주파수 채널 FFT-iFFT 압축 알고리즘을 적용한 디지털 보청기의 전기음향 실험 결과이다. 입력 음압 레벨을 각각 50 dB SPL, 70 dB SPL, 90 dB SPL로 변화시켜주었을 때의 증폭률을 주파수 함수로 표기하였다. 각각의 주파수 채널별 I-O 압축에 따른 증폭이 달라질 수 있어 급격한 청력 역치 변화를 가지는 난청 환자들을 채널 별 난청 보정이 가능하게 되었다. 입력음압레벨 높아질수록 증폭률이 저화됨을 확인할 수 있다.
|
그림 9.64채널 주파수 응답 곡선 Fig. 9.64 channel frequency response. |
VII. 결 론
본 논문에서는 FFT-iFFT 방식의 압축 알고리즘을 디지털 보청기 DSP IC Ezairo 5910 칩으로 구현한 뒤, 이를 실험적으로 검증해 보였다 [12]. 그리고 64개의 많은 채널 별 입출력레벨 I-O 압축 곡선을 자동으로 산출하기 위해 음성음압레벨의 주파수별 분포도와 실제로 보청기를 착용한 상태에서 고막에서 느껴지는 In-Situ 음압을 Soft 레벨, Comfort 레벨, Loud 레벨로 구분한 뒤, 이들 측정을 바탕으로 주파수 채널 별 입력음압레벨 대비 출력음압레벨 I-O 압축 곡선을 자동 산출하였다. 기존의 방식처럼 청력 검사 결과표로부터 표준화된 증폭 휘팅 포뮬라를 적용하던 방식에서 탈피하여, 실제로 보청기를 착용하면서 감지한 결과를 바탕으로 I-O 압축 곡선을 산출함으로써, 난청인에게 어음 변별력을 향상시킬 수 있는 근본적인 처방을 제시하였다. 앞으로 환자들을 대상으로 본 논문의 결과를 임상 실험하여 부분적인 알고리즘 보완을 시도하고 자 한다 [13].












