A Low-Complexity Linear-Phase Graphic Audio Equalizer based on IFIR Filters
ABSTRACT Digital audio equalization is a very common procedure in the acoustic field that allows to improve the listening experience by adjusting the auditory frequency response. The design of graphic equalizers introduces several problems related to the necessity of implementing high performing filters with linear phase, usually characterized by high computational complexity. This paper proposes an innovative linear-phase graphic equalizer based on interpolated finite impulse response (IFIR) filters. IFIR filters seem to be suitable for a graphic equalizer thanks to their properties. In fact, they can reach very narrow transition bands, however with low computational complexity and linear phase, avoiding ripple between adjacent bands. The proposed IFIR equalizer has been compared with some state-of-the-art methods in terms of frequency response, distortion and computational cost. The experimental results have proved the effectiveness of the proposed equalizer, that has shown a considerable reduction on the computational complexity, meanwhile preserving the performances in terms of audio quality.
The proposed filter-bank is based on IFIR filters. Considering M as the number of bands, the input signal is filtered by C=ceil(M/2) filters Fi(z) interpolated by a factor Li with i=1,…,C. The output of Fi(z) is the same for the i-th and the (M-i+1)-th band. Then the filters Gm(z) are applied to each band with m=1,…,M. Three different cases have been considered with different values of M: M=9, M=21 and M=31 as represented in the following figures, where a) is the FFT based approach of [1], b) is the subband approach of [2] and c) is the proposed approach.
The following table reports the respective length of the filters Fi(z) and Gm(z), the employed interpolation factors Li, and the delay τm introduced by filtering process in each band. Three different cases are considered with different values of M: M=9, M=21 and M=31.
Band m |
Length of Fi(z) Λi |
Length of Gm(z) Γm |
Interpolation factor Li |
Delay τm |
||||||||
M=9 |
M=21 |
M=31 |
M=9 |
M=21 |
M=31 |
M=9 |
M=21 |
M=31 |
M=9 |
M=21 |
M=31 |
|
#1 |
244 |
148 |
124 |
65 |
69 |
67 |
6 |
10 |
12 |
761 |
769 |
771 |
#2 |
726 |
243 |
187 |
13 |
51 |
59 |
2 |
6 |
8 |
731 |
751 |
773 |
#3 |
725 |
362 |
248 |
23 |
35 |
53 |
2 |
4 |
6 |
735 |
739 |
767 |
#4 |
730 |
364 |
371 |
63 |
61 |
29 |
2 |
4 |
4 |
760 |
756 |
754 |
#5 |
184 |
726 |
370 |
53 |
15 |
41 |
8 |
2 |
4 |
758 |
732 |
758 |
#6 |
- |
723 |
370 |
63 |
19 |
61 |
- |
2 |
4 |
760 |
731 |
768 |
#7 |
- |
724 |
739 |
23 |
23 |
15 |
- |
2 |
2 |
735 |
734 |
745 |
#8 |
- |
724 |
737 |
13 |
31 |
15 |
- |
2 |
2 |
731 |
738 |
743 |
#9 |
- |
726 |
738 |
65 |
51 |
19 |
- |
2 |
2 |
761 |
750 |
746 |
#10 |
- |
726 |
738 |
- |
147 |
21 |
- |
2 |
2 |
- |
798 |
747 |
#11 |
- |
122 |
739 |
- |
61 |
27 |
- |
12 |
2 |
- |
756 |
751 |
#12 |
- |
- |
739 |
- |
147 |
33 |
- |
- |
2 |
- |
798 |
754 |
#13 |
- |
- |
738 |
- |
51 |
45 |
- |
- |
2 |
- |
750 |
759 |
#14 |
- |
- |
740 |
- |
31 |
73 |
- |
- |
2 |
- |
738 |
775 |
#15 |
- |
- |
745 |
- |
23 |
211 |
- |
- |
2 |
- |
734 |
849 |
#16 |
- |
- |
124 |
- |
19 |
49 |
- |
- |
12 |
- |
731 |
762 |
#17 |
- |
- |
- |
- |
15 |
211 |
- |
- |
- |
- |
732 |
849 |
#18 |
- |
- |
- |
- |
61 |
73 |
- |
- |
- |
- |
756 |
775 |
#19 |
- |
- |
- |
- |
35 |
45 |
- |
- |
- |
- |
739 |
759 |
#20 |
- |
- |
- |
- |
51 |
31 |
- |
- |
- |
- |
751 |
753 |
#21 |
- |
- |
- |
- |
69 |
27 |
- |
- |
- |
- |
769 |
751 |
#22 |
- |
- |
- |
- |
- |
21 |
- |
- |
- |
- |
- |
747 |
#23 |
- |
- |
- |
- |
- |
19 |
- |
- |
- |
- |
- |
746 |
#24 |
- |
- |
- |
- |
- |
15 |
- |
- |
- |
- |
- |
743 |
#25 |
- |
- |
- |
- |
- |
15 |
- |
- |
- |
- |
- |
745 |
#26 |
- |
- |
- |
- |
- |
61 |
- |
- |
- |
- |
- |
768 |
#27 |
- |
- |
- |
- |
- |
41 |
- |
- |
- |
- |
- |
758 |
#28 |
- |
- |
- |
- |
- |
29 |
- |
- |
- |
- |
- |
754 |
#29 |
- |
- |
- |
- |
- |
53 |
- |
- |
- |
- |
- |
767 |
#30 |
- |
- |
- |
- |
- |
59 |
- |
- |
- |
- |
- |
773 |
#31 |
- |
- |
- |
- |
- |
67 |
- |
- |
- |
- |
- |
771 |
- The filters coefficients are available at the following link with .mat format: https://www.dropbox.com/sh/xdripmjddcjeiku/AABajltHa2LtU4isLDQU5kaJa?dl=0
- The proposed equalizer has been compared with different state-of-the-art equalizers. In particular, the FFT-based equalizer of [1], the equalizer of [2] based on a subband approach, the IIR-based equalizer of [3] and the equalizer of [4] also based on IFIR filters, considering two different model filter length Nh. The following table reports the memory occupation in bytes of each method for the saving of the respective filters.
Equalizer |
Bytes |
||
M=9 |
M=21 |
M=31 |
|
FFT-based [1] |
98984 |
231064 |
345464 |
Subband of [2] |
10368 |
10752 |
10912 |
IIR of [3] |
3600 |
8400 |
12400 |
IFIR of [4] Nh=13 |
144 |
- |
- |
IFIR of [4] Nh=161 |
1328 |
- |
- |
Proposed |
23992 |
53392 |
80504 |
[1] H. Schopp and H. Hetzel, “A Linear Phase 512 Band Graphic Equalizer using the Fast Fourier Transform”, in Proc. 96th Audio Engineering Society Convention, Amsterdam, The Netherlands, Feb. 1994.
[2] S. Cecchi, L. Palestini, E. Moretti, and F. Piazza, “A new approach to digital audio equalization,” in 2007 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, 2007, pp. 62–65.
[3] V. Välimäki and J. Liski, “Accurate cascade graphic equalizer,” IEEE Signal Processing Letters, vol. 24, no. 2, pp. 176–180, 2017.
[4] R. Hergum, “A low complexity, linear phase graphic equalizer,” in Proceedings of the 85th Audio Engineering Society Convention, 1988.