Ecient frequency domain ltered-x realization of phantom ource iet C.W. ommen, Ronald M. Aart, Alexander W.M. Mathijen, John Gara, Haiyan He Abtract A phantom ound ource i a virtual ound image which can be utilized in many application like tereo bae widening, multimedia, and virtual reality engine. Generation of uch a virtual ound image uing adaptive lter that employ the ltered-x NM algorithm i dicued. uch lter are long and complex for the virtual ource to cover the whole audio frequency range. Due to thi complexity, real-time implementation on a ampleby-ample bai i not poible and block proceing technique, uch a block frequency domain adaptive lter, have to be ued. everal optimized verion of the ltered-x algorithm in frequency domain are derived and the dierent implementation are compared. Keyword Active Noie Cancellation, iltered-x, requency Domain Adaptive ilter, oudpeaker, hantom ound ource, ound Reproduction ound ource i a virtual ource which i perceived by the litener a a ource at a dierent poition than that of the real ource. The baic idea behind phantom ource generation i to alter the loudpeaker' input ignal in uch a way that the ound reure evel () at the litener' eardrum generated by the real loudpeaker i the ame a that would be generated by the phantom ource [4]. x w Real ource (econdary ource) w R R hantom ource (rimary ource) I. Introduction h ll h lr h rl h rr l When audio ignal are played by a normal tereo etup, the ound received by a litener contain both directional and ditance information, from which the litener can locate the poition of the ound ource. Experience how that when a tereo ignal i reproduced by two eparate loudpeaker, the perceived ound image would be between the two loudpeaker if the litener i in the center of the litening area. However, in ome application like TV and monitor, the ditance between the loudpeaker ha to be limited in order to obtain a compact arrangement. To give the loudpeaker bae a virtual broadening, we made ue of the phantom ound ource concept. Aphantom. ommen, A. Mathijen, J. Gara and H. He are with the Eindhoven Univerity of Technology, Building Eh 6.33,.O.Box 513, 56 MB Eindhoven, The Netherland, E-mail: p.c.w.ommen@ele.tue.nl R. Aart i with the hilip Reearch aboratorie WY81, 5656 AA Eindhoven, The Netherland, E-mail: rmaart@natlab.reearch.philip.com ig. 1. β r et-up for generating a phantom ource. ig. 1 how a ituation where a phantom ound ource p at angle i generated by two real loudpeaker at angle. w and w R are lter which are ued to alter the input ignal to an R. The deign of the lter w and w R i the main tak in generating a phantom ource. Thee lter repreent, in general, long and complex impule repone which are alo poition dependent. Therefore it i dicult to obtain an analytical olution for thee lter. or thi reaon, long adaptive lter are ued which are implemented very eciently in the frequency domain. Thee lter are applied a follow
(ee ig. 1): Initially three loudpeaker are ued, one un-ltered at the poition of the phantom ource, the other two ltered by adaptive lter. White noie i played through loudpeaker p while w and w R are adapted to minimize the meaured at the litener' eardrum. The method decribed above can hence be regarded a an active noie cancellation olution. The coecient of w and w R are then frozen and the third loudpeaker i removed. When the two loudpeaker are then driven through the ;w and ;w R, only the illuion of a third ource reult. II. iltered-x algorithm ig. model a implied (ingle point) verion of the ytem hown in ig. 1, with one primary ( )and one econdary (h ) acoutic path. The coecient of the adaptive lter w are updated by an algorithm that i baed on the Normalizeeat Mean quare (NM) algorithm. Thi algorithm update the adaptive weight vector w in the negative direction of the gradient vector 5. It i hown in [1] that an etimate of thi gradient vector i given by x r, in which x i the input ignal vector and r the reidual ignal and the update equation become: w new = w old ; x x r (1) where i the adaptation coecient which i normalized bythevariance of the input ignal x = Efx [k]g. A can be een in ig., the output ignal of the adaptive lter e i rt ltered by the econdary acoutic path h before it i added in the microphone. or thi reaon, we need a lightly dierent algorithm than that given by (1) the o-called ltered-x algorithm [1]. The update part of thi algorithm ue a ltered verion x f intead of the input ignal x itelf. Thi i achieved by ltering x by an etimate of the econdary acoutic path h a hown in ig.. A. Block requency Domain Adaptive iltering Becaue of the ytem complexity, real-time realization of a phantom ource that cover the whole audio frequency range i almot impoible, with the current technology, if carried out on a ample by ample bai. Therefore, block proceing technique have to x h etimation ig.. x f w Update e h ingle point ytem model. r + + MIC be ued. In thi work, the Block requency Domain Adaptive ilter (BDA) [3] ha been utilized. In thi ubection, the BDA will be decribed to introduce the notation and in ubequent ection, the ltered-x part will be dicued in more detail. ig. 3 how the BDA of the ingle point model hown in ig.. Thi gure i almot equivalent to the original BDA implementation. The only dierence i that the input ignal i ltered, in the box `lteredx', before it enter the update part of the algorithm. σ x X [k] f * Δ R[(k-1)] ig. 3. [(k-1)] filtered-x M r[k-+1] overlap M-1 - + W[k] econdary ource primary ource X[k] E[k] e[k-+1] Block requency Domain Adaptive ilter. Working on a block bai i reected in the fact that the whole implementation i performed on block of data rather than on ample. Each block contain new ample, with 1. The input ignal ample are converted from erial to parallel (box `/') while the output ample are converted again from paral- h +
lel to erial (box `/'). A direct conequence of thi block proceing approach i a proceing delay of ample it take ample before the rt block of e can be produced. On the other hand, thi proceing delay ha to be compenated, for ynchronization reaon, in the primary ource path (box ` '). or a gradient update algorithm uch a the NM conidered here, two main operation have to be computed [1]: a (linear) convolution to perform the ltering of the input ignal x with the M adaptive weight a (linear) correlation, between the input ignal x and the reidual ignal r. The rt calculate the lter output, and the econd calculate an etimate of the gradient 5 that i needed for the update of the adaptive weight. or large lter length M thee operation can be carried out very eciently by uing a block proceing approach, uch a the overlap-ave method [], implemented in the frequency domain. In thi cae, at ourier Tranform (T) are ued to perform the ignal tranformation back and forth between time and frequency. In the following the above mentioned convolution and correlation will be decribed when the overlap-ave method i ued (ee ig. 3). The convolution (performed by the right-hand part of ig. 3) of the `innite' input equence (the input ignal ample ) with the `nite' length equence (the M adaptive weight) i broken down into a equence of convolution between two `nite' equence of length. The `innite' input equence i rt divided into overlapping block. The overlap of M ; 1 ample i needed becaue the M adaptive weight have rt to be hifted in the equence of ample. On the other hand, performing the convolution in frequency domain produce a cyclic convolution reult. Therefore the overlap i ued to obtain a linear convolution reult from thi cyclic one. Together with the fact that every block contain new ample, the choen block length equal = M + ; 1. A depicted in ig. 3, the block with input ignal ample are tranformed to the frequency domain with an T of length (` ') reulting in a block that, for notational reaon, i repreented by the tranformed input ignal vector X[k]. The M adaptive weight are rt augmented by ;M zeroe to obtain block of length, then tranformed to frequency domain reulting in W[k]. The cyclic convolution i now performed by element-wie multiplying the two vector X[k] and W[k] E[k] =X[k] W[k]: () where the ymbol i ued to denote element-wie multiplication. Only the lat ample (in time) from thi cyclic convolution repreent the deired linear convolution reult. Therefore, the reult E[k] i tranformed back to time domain by aninvere T ( ;1 ) and the correct ample are ent to the econdary loudpeaker after going through the parallel B1 to erial operation. The correlation operation between the `innite' equence of input ignal ample x and the `nite' equence of reidual ignal ample r i performed by the left-hand part of ig. 3. The only dierence between the correlation and convolution operation i mirroring in time domain. Thi mirror operation can be performed in the ourier domain by imply applying a complex conjugate (`*') operator reulting in the vector X f [(k;1)] 1. At the ame time, conecutive ample of the reidual ignal are collected, padded with zero and tranformed to the frequency domain reulting in the vector R[(k ; 1)]. The, caled, gradient i now calculated by 5[(k ; 1)] = x X f [(k ; 1)] R[(k ; 1)] in which the caling i done by. ince the correlation i performed in the ourier domain, the reult x i alo cyclic and the gradient vector 5[(k ; 1)] ha to be tranformed back to time domain to elect the M correct gradient coecient, a done in the convolution operation. Thee gradient coecient are then augmented by zero and the reulting vector of length i tranformed to frequency domain and ued to update the adaptive weight. 1 Note that the input ignal to the correlation operation, here the ltered-x ignal X f [k], need to be delayed by for ynchronization reaon and the reidual ignal R[(k;1)] contain the ame delay.
B. iltered-x in frequency domain The `ltered-x' operation, that i needed for the update algorithm in ig. 3, i depicted in more detail in ig. 4. The function of thi `ltered-x' block i to l- X [k] f Append overlap A-1 B X[k] H B B A h ig. 4. iltered-x implementation type 1. ter (convolve) the input ignal with, an etimate of, the A weight of the econdary path h. Thi convolution i performed in frequency domain uing the overlap-ave method a explained before. Each block contain new input ignal ample while the egment have an overlap of A ; 1 ample. The reulting egment contain B = A + ; 1 input ignal ample. Thee are tranformed to the frequency domain (X[k]) and the convolution i performed by the element-wie vector multiplication with H which i obtained by padding the impule repone h with B ; A +1zero. The correct ample of the cyclic convolution have to be appended in time domain to A-1 previouly calculated ample to form egment of length. Thee are tranformed to frequency domain and reult in X f [k] thatuedinthe correlation operation decribed in the previou ubection. rom ig. 4 it follow that the `ltered-x' operation in itelf cot four T'. In the following ection we will how that thee four T' can be reduced tep by tep to only one. III. Efficient filtered-x The reduction from four T' to one i done in three tep [5]. The rt i reduction to three T' and obtained by combining more carefully the T' in ig. 3 and ig. 4. The next reduction to two T' tem from the fact that the convolution operation, needed for calculating the ltered-x input ignal, and the correlation operation, needed for the gradient etimate, can be interchanged. The lat reduction to one T i obtained by combining again T operation. tep 1: Combining two T' The rt optimization tep i to combine the two eparate ourier tranform that are ued to calculate the tranformed input ignal vector X[k] of length in ig. 3 and length B in ig. 4. The T B in ig. 4 can then be left out. The reult i depicted in ig. 5. X [k] f Append B1-A+1 H ig. 5. iltered-x implementation type. X[k] Here we have aumed that the length A of the econdary path i maller than the length M of the adaptive weight vector W (A <M). By augmenting the impule repone vector h of the econdary path with more zero than before a length vector i obtained that i tranformed to the frequency domain reulting in H. Thi vector i multiplied element-wie by the tranformed input ignal vector X[k] that wa available in ig. 3. The ret of the operation in ig. 5 are exactly the ame a in ig. 4. The reult i one T le in comparion with type 1 implementation hown in ig. 4. tep : Interchanging convolution/correlation The econd optimization tep i to interchange the order of the convolution operation of the `ltered-x' and the correlation operation. In ig. 3, the overlap-ave method ha to be ued in the ltered-x block ince the input ignal i innitely long. Becaue of the cyclic nature of thi convolution, the correct ample have to be elected in time domain coting one invere T and one forward T a hown in ig. 4 and ig. 5. Noting that both the impule repone (A) and the reidual ignal block () are of `nite' length, it i more ecient to rt calculate the convolution of thee two 'nite' equence. Thi will reult in a 'nite' equence of length A + ; 1. Implementing thi operation in frequency domain, with ourier tranform h A
of appropriate length, reult in a frequency domain vector that contain no cyclic (incorrect) reult. Thi frequency domain vector can now be ued traight on in the correlation with the 'innite' input ignal a before. The reult of thi approach i depicted in ig. 6. Thi realization can alo be referred to a 'ltered-r' σ x X[k] * H R[(k-1)] B 3 B 3 overlap M+A- M A h - + W[k] filtered-r r[k-+1] overlap M-1 econdary ource h primary ource e[k-+1] X[k] E[k] σ x H * R[(k-1)] B 3 B 3 M A h filtered-r r[k-+1] - + W[k] econdary ource h primary ource overlap M+A- B 3 A-1 X[k] E[k] e[k-+1] ig. 7. iltered-x implementation type 4. ecient implementation of the `ltered-x' (or `lteredr') algorithm in frequency domain that cot one more T compared to the original BDA. ig. 6. iltered-x implementation type 3. becaue the 'ltered-x' operation i in fact calculated by ltering rt the reidual ignal (`ltered-r'). No extra invere ourier tranform i needed, a in ig. 5. We only have to take care of a correct ourier tranform length B 3 = M ++A;. inally we note that only two T' are needed in comparion with ig. 4 and ig. 5. tep3: Combining two T' inally an equivalent tep a decribed in tep can be ued here. The ourier tranform that i needed in ig. 6 to calculate the tranformed input ignal vector X[k] can be combined with the ourier tranform that i needed at the right hand ide of the ame gure for the convolution with the adaptive weight vector. The reult i depicted in ig. 7. rom thi gure it follow that the output of the adaptive lter produce each block A + ; 1 correct reult from which only ample are ued and A; 1 are not ued. However the total reult i that we have introduced an IV. Complexity comparion In the previou ection, the number of T' in the ltered-x BDA implementation i reduced from 9 to 6. However, the T length are not equal and depend on the parameter A, and M. Therefore it i dicult to compare the complexity of the different type jut by looking at the number of T'. ig. 8 how the complexity of the four implementation decribed above. In thi gure we have ued a xed length for the econdary impule repone (h ) A = 18. urthermore we have choen the block length equal to the adaptive lter length (minu one), thu = M ; 1. We have approximated the complexity by the total number of multiplication needed for the computation of one output ample [5]. The total number of multiplication tem from the ued T' of length B, eachhaving a complexity of (B log ( B 8 )+4) (for real input (T) and real output (IT)), the element-wie multiplication (B ; ) and multiplication by a real calar (B). rom thi comparion it follow that, for the choen parameter
16 15 1: iltered x type : iltered x type 1 1 3 1: background noie : primary loudpeaker 3: B=51 4: B=48 3: iltered x type 3 4 computational complexity 14 13 1 11 4: iltered x type 4 3 4 power pectrum (db) 5 6 7 8 3 4 1 9 1 9 4 6 8 1 1 14 number of weight M 1 4 6 8 1 1 14 16 18 frequency (khz) ig. 8. Computational complexity of the implementation. et, type ha the lowet complexity when M < 76 (curve 1) and type 4 when M > 76 (curve 4). Thu for application where A i relatively mall compared to the adaptive lter length M (e.g. for noie cancellation application with headphone), type 4 i preferred. However when A i larger than ay half the lter length, type i preferred. V. imulation and experimental reult Experiment have been performed [5] on a one point noie cancellation ytem. The et-up for thi ytem conit of a primary loudpeaker, a econdary loudpeaker and a microphone, all placed in an anechoic room, where the primary loudpeaker i placed further away from the microphone than the econdary loudpeaker. The etimated impule repone h i xed during the noie cancellation. ig. 9 how the meaured power pectra of the reidual ignal. Curve 1i the pectrum of the background noie. Curve i the pectrum of the primary loudpeaker. Curve 3 and 4 are the pectra of the reidual ignal after cancellation with repectively M ; 1= = 56 and 14. The average attenuation over a frequency range from 1 to 15 khz i 9 db for M =57and 36 db for M =15. VI. Concluion ig. 9. ower pectrum of the background noie (curve 1), the reidual ignal before cancellation (curve )and after cancellation (curve 3, B=51 and curve 4, B=48). mented in real-time uing block proceing technique in a unitary tranformation domain, uch a ourier domain. everal implementation of the ltered-x block frequency domain adaptive lter are dicued and their complexitie are compared. imulation and experiment have hown that type implementation i the mot ecient when the length of the econdary ource path etimate i longer than half the length of the adaptive lter. When the adaptive lter length i much longer than the econdary path etimate, type 4 ha hown to be the mot ecient. Reference [1] B. Widrow and.d. tearn, Adaptive ignal roceing, rentice-hall, Inc., Englewood Cli, N.J., 1985. [] A.V. Oppenheim and R.W. chafer, Digital ignal roceing, rentice-hall, Englewood Cli, N.J., 1975. [3].C.W. ommen, Adaptive iltering Method, h.d. thei Eindhoven Univerity of Technology The Netherland, June 199, IBN 9-95143-. [4] R. Aart, H. He,. ommen, hantom ource applied to tereo-bae widening uing long frequency domain adaptive lter roceeding of the roric/ieee workhop 1996, pp 49-54 [5] A.W.M. Mathijen, Generation of phantom ound ource with Block requency Domain Adaptive iltering, Mater thei of Eindhoven Univerity of Technology, eptember 1997. Generation of a virtual ound image uing adaptive lter that employ the ltered-x M algorithm ha been dicued. uch complex lter are bet imple-