Ⅰ. 서 론
오디오 신호는 청취 환경에 영향을 받아 특정 대역이 감소하거나 증가하는데, 이를 보정하여 원음과 유사한 신호를 청취하기 위해 오디오 이퀄라이저 (equalizer, EQ)를 사용한다[1]. 또한, 오디오 신호 대역별로 서로 다른 이득을 적용하여 다양한 음향 효과를 생성하기 위하여 EQ를 사용하기도 한다[2]. 최근에는 디지털 기기의 발달로 인하여 디지털 EQ가 개발되어 여러 디지털 오디오 기기에 탑재되고 있다.
오디오 EQ는 주로 그래픽 이퀄라이저 (graphic equalizer, GEQ)와 파라메트릭 이퀄라이저 (parametric equalizer, PEQ)로 구분된다. GEQ는 가장 널리 사용되는 EQ로, 가청 주파수 영역을 미리 정의된 여러 개의 대역으로 나누고, 각 대역에서 피킹 필터 (peaking filter)를 사용하여 이득을 증감시킨다[3]. PEQ는 임의의 대역을 선택할 수 있는 여러 개의 피킹 필터와 쉘빙 필터 (shelving filter)를 사용하여 대역별 이득을 증감시킨다. EQ에서는 일반적으로 IIR (infinite impulse response) 필터를 사용하며, IIR 필터는 FIR (finite impulse response) 필터에 비하여 적은 필터 차수로 동일한 주파수 응답 특성을 얻을 수 있는 장점을 가진다[4].
EQ 사용자는 EQ 동작을 지정하기 위해 각 필터의 규격을 설정한다. 예로, GEQ에서는 미리 주어진 각 대역의 이득을 설정하고, PEQ에서는 각 필터의 중심 주파수, 대역폭, 이득을 설정하며, 직접 숫자를 입력하거나 그림 1과 같은 스펙트럼 상에서 그래픽으로 입력한다. 이때, EQ는 사용자에게 필터 설정의 편의성을 제공하기 위하여 사용자가 EQ 규격을 설정하면 그에 따라 결정된 EQ의 실제 주파수 응답을 그림 1과 같이 그래픽을 통해 즉시 제공해야 한다. 또한, 그래프로 제공하는 주파수 응답은 인간의 청각 구조에 맞게 주파수 축을 로그 스케일 (log scale)로 나타내야 한다[5]. 그러나 주파수 응답을 계산하는 DFT (discrete Fourier transform)는 선형 스케일 (linear scale)로 주파수 축을 나타내기 때문에, DFT로 구한 주파수 응답을 로그 스케일로 표현할 경우 저대역의 해상도가 낮아져서 주파수 응답이 왜곡되어 표현될 가능성이 있다. EQ의 주파수 응답이 왜곡되어 표현되면 왜곡된 시각적 정보에 의해 사용자가 잘못된 음향 효과를 적용하게 되는 문제점이 발생한다. 이와 같은 문제는 단순히 DFT 크기를 증가시켜 해결할 수 있지만, DFT 크기가 커질수록 DFT 계산량이 급격히 증가하여 주파수 응답 계산이 지연되므로 실시간 그래픽 환경에 적용하기 어렵다.
그림 1.EQ의 필터 규격 설정 구조와 최종 주파수 응답의 그래픽 표현 Fig. 1. Input of filter specification and graphic visualization of final frequency response of EQ
주파수 응답을 로그 스케일 축으로 나타내기 위하여 FPPO (fixed point per octave) 방법이 개발되었다[6]. FPPO는 서로 다른 크기를 갖는 DFT를 사용하여 여러 해상도의 주파수 응답을 복수로 구하고, 옥타브 대역마다 주파수 응답 포인트 수가 같도록 출력한다. 즉, 저대역에서는 큰 크기의 DFT를 수행하여 시정수 (time constant)를 길게 하고, 고대역에서는 작은 크기의 DFT를 수행하여 시정수를 짧게 하고, 주파수 응답을 옥타브당 24 또는 26 포인트로 나타낸다. 그러나 이 방법은 한 번의 주파수 응답을 구하기 위하여 여러 번의 DFT가 필요하고 저대역에서 큰 크기의 DFT 때문에 많은 계산량이 필요하므로 실시간 그래픽 표현에 사용하지 못한다.
본 논문에서는 이와 같은 문제점을 해결하기 위하여 적은 계산량으로 정확한 EQ 주파수 응답의 그래픽 표현을 고속으로 수행하는 방법을 제안한다. 제안한 방법은 사용자가 지정한 규격의 필터가 주어질 때, 작은 DFT 크기를 사용하여도 충분한 해상도를 가지는 중대역에서 필터의 가상(virtual) 주파수 응답 모양을 구하고, 이 모양을 지정된 중심 주파수 위치로 이동시키는 과정을 사용한다. 이와 같은 과정을 각 피킹 필터와 쉘빙 필터에 적용하여 각 필터의 중심 주파수 위치에 가상 주파수 응답을 위치시키고, 마지막으로 이를 모두 더하여 최종 EQ의 주파수 응답을 구한다. 제안하는 주파수 응답의 그래픽 표현 방법은 작은 DFT 크기만을 사용하기 때문에 매우 빠른 속도로 구현할 수 있으며, 높은 해상도가 필요한 저대역의 주파수 응답도 정확하게 구할 수 있다. 제안한 방법으로 구한 EQ의 주파수 응답과 매우 큰 DFT를 통하여 많은 계산량을 사용하여 정확하게 구한 주파수 응답을 비교하였으며, 제안한 방법으로 구한 주파수 응답이 많은 계산량으로 구한 주파수 응답과 동등한 모양을 가지는 것을 확인하였다.
Ⅱ. 주파수 응답 표현의 문제점 분석
EQ는 다수의 피킹 필터와 쉘빙 필터의 조합으로 구현된다. 따라서 EQ 동작 설정 및 주파수 응답 표현은 주어진 규격에 따라 피킹 필터와 쉘빙 필터를 설계하여 주파수 응답을 구하고, 각 필터의 주파수 응답들을 조합하는 과정으로 이루어진다.
일반적으로 디지털 EQ를 구성하는 필터는 식 (1)과 같은 2차 IIR 필터를 기본 모듈로 사용한다[7].
디지털 필터는 아날로그 필터로부터 설계되며, 2차 아날로그 피킹 필터, 저역 쉘빙 필터, 고역 쉘빙 필터의 전달 함수는 각각 식 (2), (3), (4)으로 주어진다. 여기서, 이득 값 A는 식 (5)와 같이 이득 g에 대한 관계식을 통하여 구한다. Q 값은 필터의 대역폭 특성을 나타내는 값으로, 값이 클수록 중심 주파수에서의 필터 응답이 날카롭다. Q는 식 (6)과 같이 중심 주파수 ωc와 주파수 대역폭 Δω에 대한 관계식을 통하여 구한다[8].
이와 같은 아날로그 전달 함수에 식 (7)에 주어진 쌍1차 변환법 (bilinear transform)을 적용하면 식 (1) 형태의 디지털 필터를 설계할 수 있다.
본 논문에서는 48kHz 샘플링 주파수를 사용하고, 212(=4096)개 포인트로 주파수 응답을 표현하기로 한다. 그림 2는 위와 같은 방법을 통하여 설계된 디지털 피킹 필터와 저역 쉘빙 필터의 주파수 응답을 보여준다. 그림 2(a)와 (b)는 중심 주파수 fc가 1kHz인 필터이고, 그림 2(c)와 (d)는 fc = 20Hz인 필터이고, 주파수 응답은 213(=8192)-point DFT를 사용하여 구하였고, 212개 포인트를 갖는 로그 스케일 주파수 축을 사용하여 나타내었다. 그림 2(a)와 (b)에서 보듯이 중심 주파수가 중대역에 위치하면 주파수 응답이 정확히 표현되고 있으나, 그림 2(c)와 (d)와 같이 중심 주파수가 저역대에 위치하면 주파수 해상도가 부족하여 중심 주파수 부근에서 주파수 응답이 왜곡되는 것을 확인할 수 있다.
그림 2.213-point DFT를 사용하여 구한 디지털 필터의 주파수 응답. (a) 피킹 필터, fc = 1kHz (b) 저역 쉘빙 필터, fc = 1kHz (c) 피킹 필터, fc = 20Hz (d) 저역 쉘빙 필터, fc = 20Hz. Fig. 2. Frequency response of digital filter using 213-point DFT. (a) Peaking filter, fc = 1kHz (b) Low shelving filter, fc = 1kHz (c) Peaking filter, fc = 20Hz (d) Low shelving filter, fc = 20Hz.
48kHz 샘플링 주파수에서 로그 스케일 주파수 축을 212개 포인트로 나타낼 경우, 축의 n번째 포인트에 해당하는 주파수는 식 (8)과 같다.
즉, n=0은 1Hz, n=1은 1.0024Hz, n=4096은 24kHz에 해당하고, 최대 주파수 해상도가 0.0024Hz이다. 따라서 만일 주파수 해상도를 0.0024Hz로 하면 저대역에서 정확한 주파수 응답을 구할 수 있고, 이를 위해 최소 225-point DFT가 필요하다.
그림 3은 20Hz 중심 주파수를 가지는 필터의 주파수 응답을 225-point DFT를 사용하여 구한 것이며, 필터의 정확한 주파수 응답을 보여준다. 이들을 그림 2(c), (d)와 비교하면 그림 2(c), (d)에서의 주파수 응답 왜곡을 확인할 수 있다. 그러나 225-point DFT를 실시간으로 구하는 것은 현실적으로 불가능하므로, 본 논문에서는 정확한 주파수 응답과 동등한 모양을 가지는 가상의 주파수 응답을 고속으로 구하는 방법을 제안한다.
그림 3.225-point DFT를 사용하여 구한 디지털 필터의 주파수 응답. (a) 피킹 필터, fc = 20Hz (b) 저역 쉘빙 필터, fc = 20Hz Fig. 3. Frequency response of digital filter using 225-point DFT. (a) Peaking filter, fc = 20Hz (b) Low shelving filter, fc = 20Hz
Ⅲ. 제안하는 주파수 응답의 고속 그래픽 표현 방법
필터의 주파수 응답을 가상의 주파수 응답을 활용하여 표현하기 위하여 다항 함수를 사용하거나 미리 저장된 모양을 사용하는 방법을 생각할 수 있다. 그러나 IIR 필터의 주파수 응답은 함수를 사용하여 정확하게 나타내기 어려우며, 미리 저장된 모양을 사용할 경우에는 대역폭에 따른 모든 모양을 저장해 놓아야 하는 문제점을 가진다. 따라서 본 논문에서는 주파수 응답의 대역 이동을 활용하는 방법을 제안한다.
음향 처리를 위한 IIR 필터들은 주로 옥타브 밴드 단위로 주파수응답을 나타내도록설계된다[9]. 이처럼 설계된필터들의 로그 스케일 축 주파수 응답은 그림 4와 같이 대역폭과 이득이 같을 경우 중심 주파수에 상관없이 그 모양이 매우 유사하다. 따라서 단순히 주파수 응답의 모양만을 표현할 경우에는 중심 주파수를고려할 필요가 없으며, 임의의 중심 주파수 위치에서 주파수 응답 모양을 구한후 해당 중심 주파수 위치로 이동시켜도 동등한 결과를 얻을 수 있다. 즉, 높은 해상도가 필요한 저대역의 주파수 응답 모양을 다른 대역에서 가상으로 생성한 후 이동시켜 나타내는 것이 가능하다.
그림 4.서로 다른 중심 주파수와 동일한 대역폭을 갖는 피킹 필터의 주파수 응답 Fig. 4. Frequency response of peaking filters with the same bandwidth and different center frequencies
이와 같은 배경에 따라 본 논문에서는 낮은 해상도로 표현 가능한 대역에서 필터의 가상 주파수 응답을 구하고, 이를 해당 중심 주파수 위치로 이동시켜 최종 주파수 응답을 표현하는 방법을 제안한다. 그림 5는 본 논문에서 제안하는 EQ 주파수 응답의 고속 그래픽 표현 방법의 전체 구조를 보여준다. 먼저, EQ를 구성하는 각 필터의 가상 주파수 응답을 구한다. 이를 위해 로그 스케일 주파수 축에서 중심에 해당하는 가상 중심 주파수 (virtual center frequency) fvc를 정한다. 즉, fvc는 식 (8)에서 n=2048에 해당하고 fvc = 154Hz이다. 사용자가 설정한 필터의 대역폭과 이득을 가지고 중심 주파수 fvc를 가지는 필터를 생성한 후, 213-point DFT를 사용하여 필터의 가상 주파수 응답을 구한다. DFT로 구한 주파수 응답은 선형 스케일 주파수 축을 가지므로, 식 (9)에 따른 주파수 축 변환을 통하여 선형 스케일 주파수 축의 주파수 응답 Hlinear(f)으로부터 로그 스케일 주파수 축의 주파수 응답 Hlog(n)를 구한다.
그림 5.제안하는 EQ 주파수 응답의 고속 표현 방법 Fig. 5. Proposed method of fast graphic visualization of EQ frequency response
식 (8)에서 정의하였듯이, 212개 포인트로 로그 스케일 주파수 축을 표현하도록 K 값을 설정한다. 예로, 그림 6은 213-point DFT를 사용하여 구한 중심 주파수 fvc = 154Hz, 대역폭 = 1.0oct, 이득 = 1.0dB를 가지는 피킹 필터와 저역 쉘빙 필터의 가상 주파수 응답을 보여준다.
그림 6.로그 스케일 주파수 축에서의 가상 주파수 응답 모양. (a) 피킹 필터, (b) 저역 쉘빙 필터 Fig. 6. Virtual frequency response in log-scale frequency. (a) Peaking filter, (b) Low shelving filter
다음, 설정된 대역폭과 이득을 가지고 중심 주파수 fvc를 가지는 필터의 가상 주파수 응답을 축 이동을 통하여 필터의 실제 중심 주파수 위치로 이동시킨다. 이와 같은 방법으로 EQ를 구성하는 각 필터에 대한 가상 주파수 응답을 생성한다. 마지막으로, 생성된 모든 필터의 가상 주파수 응답을 더하여 EQ의 최종 주파수 응답을 구한다.
제안한 방법은 각 필터 단위로 가상 주파수 응답을 구하고 더하는 과정으로 이루어지므로, 만일 사용자가 한 필터의 규격을 변경하면 변경된 필터의 가상 주파수 응답만 새로 구하여 EQ의 최종 주파수 응답을 구할 수 있다. EQ는 다수의 필터로 구성되고 사용자는 순차적으로 필터 규격을 설정하므로, 순차적 필터 설정에 따라 EQ 주파수 응답을 그래픽으로 표현할 때 실제로 필요한 계산량은 한 필터에 대한 DFT 계산량에 불과하다.
Ⅳ. 성능 분석
제안한 방법의 성능을 분석하기 위하여, 제안한 방법으로 구한 주파수 응답과 225-point DFT로 정확히 구한 주파 수 응답을 비교하는 실험을 진행하였다. 여기서, 225-point DFT는 매우 많은 계산량을 요구하므로 실제로 사용하기는 불가능하며, 225-point DFT로 구한 주파수 응답을 “목표 주파수 응답”이라 정의하고, 제안한 방법의 성능 목표로 사용한다. 성능 검증을 위하여 48kHz의 샘플링 주파수에서 동작하는 피킹 필터, 저역 쉘빙 필터, GEQ를 설계하였으며, 제안한 방법에서의 가상 주파수 응답은 213-point DFT를 사용하여 구한다. 표 1은 225-point DFT를 사용하는 방법과 제안한 방법의 연산량을 비교하여 보여준다.
표 1.주파수 응답 계산을 위한 연산량 비교 Table 1. Comparison of computational load for frequency response
그림 7은 그림 2의 주파수 응답을 제안한 방법으로 나타낸 그림이다. 중심 주파수가 1kHz인 경우, 제안한 방법에 의한 그림 7(a), (b)와 기존 방법에 의한 그림 2(a), (b)가 동등한 모양의 주파수 응답을 보여준다. 반면, 중심 주파수 20Hz인 경우, 기존 방법에서는 그림 2(c), (d)에서 보듯이 중심 주파수 부근에서 왜곡 현상이 나타나지만, 제안한 방법에 의한 그림 7(c), (d)에는 이와 같은 왜곡이 나타나지 않으며, 그림 3(a), (b)에 주어진 목표 주파수 응답과 동등한 모양을 가진다. 주파수 응답의 왜곡을 정량적으로 측정하기 위하여 식 (10)에 정의된 스펙트럼 왜곡(spectral distortion, SD)을 측정하였으며, 주파수 응답의 특성상 값이 0인 부분이 많으므로 필터가 적용되는 대역에 맞도록 N 값을 설정하였다[10]. 표 2는 그림 3(a), (b)에 주어진 목표 주파수 응답과 두 가지 방법으로 구한 주파수 응답 사이의 SD를 나타내며, 제안한 방법의 SD가 기존 방법에 비하여 모두 작은 것을 확인할 수 있다.
그림 7.제안한 방법으로 구한 그림 2의 주파수 응답. (a) 피킹 필터, fc = 1kHz (b) 저역 쉘빙 필터, fc = 1kHz (c) 피킹 필터, fc = 20Hz (d) 저역 쉘빙 필터, fc = 20Hz. Fig. 7. Frequency response of Fig. 2 using the proposed method. (a) Peaking filter, fc = 1kHz (b) Low shelving filter, fc = 1kHz (c) Peaking filter, fc = 20Hz (d) Low shelving filter, fc = 20Hz
표 2.EQ 주파수 응답의 스펙트럼 왜곡 Table 2. Spectral distortion of EQ frequency responses
따라서 기존 방법은 DFT의 저대역 해상도가 부족하여 저대역에서 모양이 왜곡된 주파수 응답을 구하지만, 가상 주파수 응답을 활용하는 제안한 방법은 목표 주파수 응답과 동등한 모양을 구하는 것을 확인할 수 있다.
그림 8은 실제 널리 사용되는 GEQ에 대하여 제안한 방법의 성능을 검증한 결과이다. GEQ 설정은 Syntrillium Software사의 cool edit pro 제품의 30-band popEQ와 동일하게 설정하였다. 그림 8(a)는 225-point DFT에 의한 목표 주파수 응답이며, (b)는 213-point DFT를 사용하는 기존 방법의 결과이고, (c)는 213-point DFT를 사용하는 제안한 방법의 결과이다. 중대역과 고대역에서는 그림 8(b)와 (c)가 모두 (a)의 목표 주파수 응답과 유사한 모양을 표현한다. 그러나 그림 8(b)의 저대역의 주파수 응답은 (a)와 큰 차이를 나타내고, 저대역에서 해상도가 낮아 (a)에서 보이는 주파수 응답의 미세한 변화를 표현하지 못한다. 반면, 그림 8(c)는 (a)와 유사한 모양을 나타내고, 특히 저대역에서 주파수 응답의 세밀한 변화를 정확히 나타내는 것을 확인할 수 있다. 그림 8(a)과 (b), 그림 8(a)과 (c) 사이의 SD는 각각 0.0386, 0.0018로 (c)의 왜곡이 더 작은 것을 알 수 있다. 따라서 제안한 방법이 작은 크기의 DFT를 사용하면서도 저대역에서 요구하는 해상도를 제공하여 목표 주파수 응답과 동등한 모양을 제공하는 것을 검증하였다.
그림 8.GEQ의 주파수 응답 비교. (a) 225-point DFT, (b) 213-point DFT를 사용하는 기존 방법, (c) 213-point DFT를 사용하는 제안한 방법 Fig. 8. Comparison of frequency response of GEQ. (a) 225-point DFT, (b) The conventional method using 213-point DFT, (c) The proposed method using 213-point DFT
Ⅴ. 결 론
본 논문에서는 오디오 EQ에서 주파수 응답의 그래픽 표현을 고속으로 제공하는 방법을 제안하였다. 제안한 방법은 EQ를 구성하는 각 필터에 대하여 사용자가 설정한 대역폭과 이득, 그리고 가상의 중심 주파수 fvc 를 가지는 가상 주파수 응답을 구하고, 가상 주파수 응답을 실제 필터의 중심 주파수 위치로 이동하여 각 필터의 주파수 응답을 구한다. 다음, EQ의 모든 필터의 주파수 응답을 더하여 EQ의 최종 주파수 응답을 구한다. 제안한 방법은 중대역에 위치한 가상의 중심 주파수에서의 주파수 응답만을 구하므로 DFT 크기를 작게 하여도 저대역에서 낮은 해상도에 의한 주파수 응답 왜곡이 나타나지 않는다.
제안한 방법을 사용하여 저대역에서의 필터 주파수 응답을 구하고, 이를 목표 주파수 응답과 비교하여 두 결과가 동등한 모양을 가지는 것을 확인하였다. 또한, 실제 EQ에 대하여 제안한 방법으로 구한 주파수 응답이 목표 주파수 응답과 동등한 모양을 가지는 것을 확인하였다. 이와 같은 검증을 통하여 제안한 방법이 매우 적은 계산량으로 목표 주파수 응답과 동등한 결과를 제공하는 것을 확인하였고, 제안한 방법을 사용하여 EQ 주파수 응답의 실시간 그래픽 표현을 구현할 수 있다.
References
- Y. Haneda, S. Makino, and Y. Kaneda, "Multiple-point equalization of room transfer functions by using common acoustical poles," IEEE Trans. on Speech and Audio Processing, vol. 5, no. 4, pp. 325-333, Jul. 1997 https://doi.org/10.1109/89.593306
- N. Ono, K. Miyamoto, H. Kameoka, and S. Sagayama, "A real-time equalizer of harmonic and percussive components in music signals," in Proc. of 9th Int. Conf. on Music Information Retrieval, pp. 139-144, Sept. 2008
- Y. H. Lee and R. C. Kim, "A digital graphic equalizer with variable Q-factor," Journal of Broadcast Engineering, vol. 8, no. 1, pp. 3-10, Mar. 2003
- K. T. Moon, M. H. Hong, J. S. Lee, and K. S. Kim, "Digital down converter system improving the computational complexity," Journal of Broadcast Engineering, vol. 10, no. 3, pp. 11-17, Jun. 2010
- J. O. Smith III and J. Abel, "Bark and ERB bilinear transforms," IEEE Trans. on Speech and Audio Processing, vol. 7, no. 6, pp. 697-708, Nov. 1999 https://doi.org/10.1109/89.799695
- P. D. Henderson, "The fundamentals of FFT-based audio measurements in SmaartLive," Whitinsville, MA, Estados Unidos: SIA Software Company, 2010
- P. Regalia and S. Mitra, "Tunable digital frequency response equalization filters," IEEE Trans. on Acoustics, Speech, and Signal Process, vol. 35, no. 1, pp. 118-120, Jan. 1987 https://doi.org/10.1109/TASSP.1987.1165037
-
R. Bristow-Johnson, "Cookbook formulae for audio EQ biquad filter coefficients,"
http://www.musicdsp.org/filses/Audio-EQ-Cookbook.txt - J. Huopaniemi, L. Savioja, and M. Karjalainen, "Modeling of reflection and air absorption in acoustical spaces: a digital filter design approach," in Proc. 1997 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, pp. 19-22, Oct. 1997
- Y. J. Wu and K. Tokuda, "Minimum generation error training by using original spectrum as reference for log spectral distortion measure," in Proc. of ICASSP, pp. 4013-4016, Apr. 2009.