Back to the future or return from the future to the present ????   4 comments


So anybody remember that movie BACK TO THE FUTURE ? One of my most favourite scenes next to the “this amp goes to eleven” from Spinal Tap is the scene where Michael J Fox blows one of the biggest loudspeakers in this world to bits . The story tells about a guy travelling back & forth in time in a delorean sports car . The car is a time machine because it has a FLUX-capacitor build in . Because of power problems it needs a lightning strike to get back to the future . So what does “BACK TO THE FUTURE” have to do with audio ?

In order to explain first lets go and look at a loudspeaker . A single loudspeaker can not reproduce the full range frequency domain so we divide the full range signal in to slices (by using a cross-over) . Each slice now is “band limited” meaning lows mids and highs or only lows and highs depending on if you are using a 2 or 3 way set-up (can be more so 4 or 5 way depending on what system you use) .

By dividing the signal in to slices high low and band pass filters are used and by doing so group delay starts to “smear the time” of the original signal . The second thing causing the “time smear” is the physical placement of the loudspeakers . A 15” low driver can not be at the same place as a 1” or 2” high driver (not taking coaxial drivers in to account) . So we need to align them in time at the point where they share the same frequencies using delay and by doing so “smear” the time even more (the x-over point Alignment link 1).


To further complicate matters a driver will have problems reproducing frequencies with a wavelength larger than the dimension of the driver it self . The frequencies that have a smaller wavelength than the driver are time wise ahead of the frequencies with a larger wavelength than the dimensions of the driver reproducing them . All of the above factors are displayed in FFT analyzers in the phase display . If you look at a phase display of a 2 way loudspeaker you’re looking at the time domain of that loudspeaker .


So as you can expect there’s a formula when working with phase .

phase formula


phase formula distance

*I mostly work with the time formula so the temperature is already taken into account specially doing live measurements with a FFT analyzer . If i use the distance formula it is only to determine the maximum distance between sub-woofers in a line regarding the upper x-over frequency (in a line of subs 2/3 the wave length of the upper x-over point is the maximum distance between subs in a line).

So let us first examine what time means in a FFT analyzer and how time difference is displayed .

full range no time differance RBV

So this is what a FFT analyzer would display when the incoming signal (pink noise) is synchronised with the measurement point (mic or processor output) if the world were perfect . All frequencies @ 0° so no time difference between the 2 measurement points @ all frequencies . In the real world this is a picture you will never see not even measuring a digital processor . If you measure a processor with a FFT analyzer you would probably see phase differences at the very low and high ends of the screen (has to do with filters at the very low & high end and sample rate being higher than most modern day analyzers are capable of measuring vs. the sample rate of modern digital processors (* you might see it in a analogue processor with everything on bypass but I’ve never verified that so i do not know “yet”)) .

full range 1ms time differance RBV

If i put a 1ms delay on the signal without resynchronizing the FFT analyzer you would see the above display .

From frequencies 16Hz to 500Hz the phase goes down indicating there is a delay @ work . After that there’s a “wrap around” (from the bottom of the screen to the top) and the phase keeps going down after that and after each “wrap around” . The “wrap around” is there because the screen ends . The phase line from 500Hz to +/- 1500Hz should continue to go down as in the next screen shot . So the wrap around is a visual aid . It takes some time to get used to it at least it took me some time but it’s better than filling up the screen with only 1 display like the one below .

So if i use delay the phase trace goes down .

wrap arround

When checking the phase formula @ different frequencies you get : Time = (phase x 1000)/(freq x 360) so for

250  Hz :time(in the above screen shot)=(-90°x1000)/250Hzx360)=-90000/90000=-1ms (after the reference point).

500  Hz :time(in the above screen shot)=(-180°x1000)/(500Hzx360)=-180000/180000= -1ms (after the reference point).

1000Hz :time(in the above screen shot)=(-360°x1000)/(1000Hzx360)=-360000/360000=-1ms (after the reference point)

So what will happen if instead of delaying the input signal i put the input signal in front of the measured signal so a negative delay meaning instead of 1ms delay a –1ms delay . What would happen then with our FFT analyzer ?

FFT rbv negative delay edit


The above screenshot displays a negative delay (so input = ahead of the measured signal) . This can not be or maybe it can ?

250  Hz :time(in the above screen shot)=(90°x1000)/(250Hzx360)=90000/90000= 1ms ahead of the reference point

500  Hz :time(in the above screen shot)=(180°x1000)/(500Hzx360)=180000/180000=1ms ahead of the reference point

1000Hz  :time(in the above screen shot)=(360°x1000)/(1000Hzx360)=360000/360000=1ms ahead of the reference point

If i where to look at the Impulse response window you get the following .

ir window edit

The vertical line @ 0ms is the point of reference to the analyzer and is relative (depends on where you put the mic and if you are synchronized to that specific point).

RBV phase vs ir offset 1 ms delay edit

So the top screen gives you time offset relative to the point of reference . The red response is 1 ms late so in Back to the future language it’s in the past .

RBV phase vs ir offset 1 ms and -1ms delay edit

The red response is 1 ms late so in Back to the future language it’s in the past the green response however is early by 1ms so in Back to the future language it’s in the future to the analyzers point of reference .

RBV phase vs ir offset 1 ms and -1ms 4 ms pol rev edit

So i now there is 1 impulse response @ 4ms in the past where i also have a polarity reversal . The spike goes down and also the phase display starts @ 180° . If i would see this in a real live measurement it would mean that the orange spike would become my point of reference for the analyzer so my 0ms (blue) would go to 4ms . The other spikes (green blue & red in the top screen would than be in the future of my analyzers point of reference and by applying delay on them could be set to the 0ms(relative) point of the analyzer . To bad there is no such thing as a negative time corrector like THIS. (link funny!!!! read the specs)

BSS negative time correction

You might want to know more on the impulse response within FFT analyzers . Bob McCarthy explains it far better than i can  in his book : Sound Systems : Design and Optimization @ page 393 to 397 it’s explained .

Sound Systems : Design and Optimization (link)

So lets get back to the RBV prediction with a negative delay .

FFT rbv negative delay

If i would see this in a real world situation it would tell me a few things . 

*My measurement device might be out of synchronization . So i need to press auto small/large (working with SMAART 5) press find delay (F7 key) in SAT-live or if working with SIM3 press d and after that the F3 keys on my keyboard . When you perform these actions on the 3 programs mentioned a impulse response measurement is done giving you the time to resynchronize the analyzer .

*When doing a alignment of a 2 (or more) way system the loudspeaker I’m measuring is ahead in time compared to the other speaker(s) in that system @ the frequencies where the phase trace has a up worth angle .

So i need to delay the speaker with the phase trace going up .

example sim3 1 loudspeaker needs delay to start with 

A example of a 2-way system . The green trace is the low driver the blue the high driver . At about 630Hz the green trace goes up while the blue goes down . So when using delay only i need to delay the low driver to start with . So this is how most active 2 (or more) way loudspeakers are aligned . By using delay the phase traces of drivers that go “up” are pushed down so that the phase traces match @ the x-over point .

So now i get to get back to the start of this post ; the back to the future or return from the future to the present bit . The digital processor is my delorean sports car and my “flux capacitor” is a all-pass filter .

So to put in picture’s : Here is the processor .Delorean 3 edit

Here is my “flux capacitor” the all-pass filter .All pass 3 edit

So first let me try to explain with the simulation software . If i put within RBV a full range signal (pink noise in the real world) and give it a negative time of -1 ms (so ahead of the point of reference of my analyzer) the phase trace is going to go up .

FFT rbv negative delay  -1ms of time within RBV .

If i wanted to correct this without re-synchronizing and without changing the amplitude i need a filter that’s able to delay a part of the frequency domain and leave the rest untouched . So that’s what a all-pass filter does .

To speak in “Back to the future” language . The frequencies from 16Hz to 1kHz are in the future of the analyzers point of reference in time (not only to 1kHz but to 20 kHz because after each wrap around the trace keeps going up) and i need a “flux capacitor” to send them back to the present (the present being the point of reference in time for my analyzer so the auto small/large on smaart or F7 on sat-live or d & F3 on SIM keys) .

RBV vs compass complemantary allpass 2 @500Hz

So i pasted the phase response of a 2nd order all-pass in the top screen of RBV to explain what i mean . My “flux capacitor” the all-pass filter has a reverse phase response to the –1ms delay @ the frequencies from 16Hz to 500Hz . Above the 500Hz it does not work any more due to the bandwidth of the filter . Too bad the all-pass is a symmetric filter and not a-symmetric .

If i where to “play” the signal with the –1ms delay on it with the all-pass filter implemented on the signal as above the phase sum would be flat up to 500Hz and after that i need to implement more all-pass filters as much as i need to get the phase response back to zero .

So that’s the idea lets take a look if this also works in the real world .

*I first heard the idea of correcting the phase response of a loudspeaker by using all-pass filters at Mallorca (as in a experiment i posted on my blog about some time ago How to change the phase response of a loudspeaker) from MAGU and it kept me thinking about it so this was 1 of the things i wanted to try out if given the opportunity .

At the start of the measurement i always save what the system does without processing . This particular system is a line array system . To start i just measure 1 single cabinet without any filters or eq. applied to it (put the signal at very low level so you do not burn the high drivers also during measurements high levels are not necessary just stay about 10dB above the noise floor of the room) .

001 Strt full range no processing group

If this was a processed system i would be in deep sh*t but as i said this is the start no processing applied . So let’s look at al 3 speakers solo in this 3 way active set-up .

002 Strt full range no processing  single speakers group

As i said it’s a 3-way active system so 2 low drivers and 1 high driver each with there own channel of processing and amplifier . 2 things are rather obvious : the level of the high driver (blue) is way to much and both low-drivers (green & red) are the same (exactly the same because they are the same model) .

003 Strt full range no processing  single speakers group -9db on high

So i lowered the level on the high driver by about –9dB to start with .

004 high solo fr -9 and 24db lr

All traces you see here are from the high driver . The black trace is the original the blue is the same @ –9dB (as you see in the bottom trace the phase does not change if you change the level on a solo driver or if you play music or pink noise for that matter) . The green trace shows a difference in frequency & phase response . I have put a 24 dB Linkwitz-Riley high-pass filter on the high driver (meaning the level drops with 24dB per octave and the –6dB point falls @ the x-over frequency going to the left of the screen in this case) . The phase trace shows a large difference compared to the original trace . Remember what happened in RBV when i put delay on a signal that was flat phase ? The phase trace went down . The same thing happens here with 1 differentiation this is not a constant delay on all frequencies like what a 1ms delay does in a processor if you put a signal back in time . This is a part of the frequency response that gets delayed by a filter and is called group delay .

005 high 24db lr and pol inv

So now i have reversed polarity on the high driver (I’m going to use a 12dB Linkwitz-Riley on the mid&low-drivers so i need to reverse polarity in either the high or mid/low drivers otherwise i end up with a 180° phase difference to start with) . On solo drivers you can not see it in the frequency response only in the phase response . Every frequency just shifts with 180° in the phase trace . The angle of the phase trace does not change so time does not change . That’s why i call it polarity reversal and not phase because polarity reversal does not effect time .

006 mid vs mid hp lp edit 

The above screenshot is the frequency and phase response of 1 of the mid drivers . The green trace (1a/b) is the mid driver with no processing the blue (2a/b) has a high and low-pass filter on it (so it does not go as deep as the frequency response of the same speaker without a high-pass filter and the same goes the other way around at the high end of the response because of the low-pass filter on the blue trace) . The green phase trace goes up faster than the blue trace . So what does this tell me ?

To start with the green trace is from about 250Hz ahead in time meaning to the analyzers point of reference it’s in the future .

Secondly the blue trace got delayed by the filters i used to get it working in the frequency range i choose for that driver . You can see the blue phase trace also going up but not under the same angle and at a frequency higher up the scale (starts going up @ about 500Hz) . So by implementing the filters a larger part of this speaker is in the present of the analyzers point of reference in time . The point where the trace is going down means these frequencies are in the past or delayed to the analyzers point of reference .

007 high 24db lr and pol inv vs mid lp hp edit 

In the above screenshot i have the solo traces of the mid & high driver . The blue phase trace indicates it needs delay or something else from 500Hz up because from there the frequencies are ahead in time to the analyzers point of reference . Most people would choose to use delay but that is the easy way out . If you use delay the system gets a “time smear” witch is something i was trying to avoid . So what do i need to do here ?

I need a “flux capacitor” to speak in Back to the Future language so I’m going to use all-pass filters to push the frequencies that are in the future back to the present to the point of reference of the analyzer .

008 mid ap2 @ 1500 vs high 24 db lr    

Mid-driver (green): High/low-pass filters + one 2nd order all-pass filter @ 1500Hz . (for visibility i changed the phase window from 180°/-180° to 360°/0°)

009 mid ap2 @ 1500  ap2 @ 2876 vs high 24 db lr

Mid-driver (green) : High/low-pass filters + two 2nd order all-pass filters @ 1500Hz & @ 2876Hz (for visibility i changed the phase window from 180°/-180° to 360°/0°).

It’s now aligned with the high-driver over a large area @ the x-over point .

010 MID strt mid ap2 @ 1500  ap2 @ 2876

In the above screenshot you can see the difference between the mid-driver with only high/low-pass filters on it (blue) and the same driver with low/high-pass filters and the addition of 1 all-pass filter (green) and the second all-pass filter (red) .

011 MID HIGH sum 2 ap2 aligned edit

So now i need to verify if the alignment “holds” when i play signal trough both drivers together . In the top window you can see the low driver solo (red) the high driver solo (green) and the sum of them together (blue) . No big holes in the response so it works pretty good .

012 MID HIGH sum 2 ap2 aligned zoom xoverpoint edit

And if i zoom in the addition is about 6dB @ the x-over zone .

Well we have a other driver witch has the same frequency response as the first mid-driver . The problem is that i can’t give this driver the same settings as the one i just aligned with the high driver .

The reason for this lies in the off-axis behaviour . If i were to give this driver the same settings they would match perfectly on-axis but off-axis it would cause serious lobbing due to the physical distance between both drivers . Remember the phase formula ? There was 1 for time and 1 for distance . Whatever formula you use doesn’t matter the difference in time or distance is going to really cause phase differences at the higher frequencies from 1kHz up to 2K5 . If you use 8” drivers it starts even lower down the frequency response so i set the high/low-pass filters from about 125Hz to 500Hz .

So lets look @ the low driver .

013 low strt vs low hp lp 12db 

So again the phase trace starts to go up @ 250Hz in the original response of this driver (black and also remember the phase display is set from 180°/-180° to 360°/0°) . By adding the high/low-pass filters again the blue phase trace starts to go up higher up the frequency scale indicating the (group)delay caused by the filters .

Now let us take a look @ the low driver with high/low-pass filters on it vs. the mid-driver with the high/low-pass filters and the 2 2nd order all-pass filters on it .

014 MID vs low hp lp 12db

So again the blue phase trace (low-driver in this case) goes up at some point while the mid-driver (red) keeps going down . And again instead of using delay I’m going to use my “flux-capacitor” the all-pass filter to get it down to where the red trace goes .

015  low hp lp 12db ap 2250 ap3 100 vs mid

I used 2 2nd order all-pass filters (1 @ 2250Hz and 1 @ 3100Hz) to get the phase trace of the low-driver (blue) near enough to the phase trace of the mid-driver (red) .

I forgot to save the difference between the 2 all-pass filters and their separate influence on the original trace of the low-driver I’m sorry to say so but you should get the idea by now . 

So let’s move on .

I need to verify if they are aligned now .

016 High mid low aligned no delay yet zoom

Turns out we have a nice addition of about 6dB all over the overlap zone between the low-driver (blue) and the mid-driver (red) as the sum of both (black) shows (also notice the black phase trace taking the middle road between the red and blue trace ; this always happens between 2 sources it’s the sum of level and phase between them) .

017 High mid low aligned no delay yet edit

So now i have a aligned system with no delay used yet . Instead of delay I’ve used my “flux capacitor” the 2nd order all-pass filter . 4 of them to be accurate : 2 on the mid-driver and 2 on the low driver .

Still the system reaches over more than 540° reading from right to left so i need to do a phase correction on the high driver (you can also say a TIME correction because phase is time (or distance)) . 

I’m going to apply the same amount of delay on al drivers . Every driver gets a 0,5 ms delay . After that i have to resynchronize SIM3 to the new reference point .

018 offset on all 0,5ms vs high to 0,38ms delay

In the above screenshot i have resynchronized SIM3 to the new point of reference so the original time + 0,5ms . The black trace is the response of the original system . The delay on al drivers allows me to put a offset on the high-driver .

So the low & mid-driver are still @ the new point of reference in time but I’ve put the high-driver @ 0,38ms . It is now 0,12ms in the future compared to the reference point of SIM . The frequency response is not effected (the black trace is a bit different but that might be a eq point i did put in during the measurement (i do not like that frequency area the 3 to 4kHz area) . So the red trace is the same system as the black trace but the red system has les delay in the high-driver .

The red phase trace starts to go up @ about 2kHz so that’s a clear sign of the high-driver being ahead in time compared to the rest of the system from that frequency going up the frequency scale . So now I’m going to push all frequencies that are ahead in time back to somewhere around the in this case 180° line . Again I’ll need my “flux-capacitor” the all-pass filter to push the phase trace back down and try to get the phase to be a flat line .

019 phase correction ap1 on high after time offset

So the high-driver in solo mode with the first 2nd order all-pass filter (black) compared to the full-range system where the high-driver is ahead in time by 0,12ms .

020 phase correction 2 ap2 on high after time offset 

And  the high-driver in solo mode with the second 2nd order all-pass filter (black) compared to the full-range system where the high-driver is ahead in time by 0,12ms .

021 phase correction 3 ap2 on high after time offset

And  the high-driver in solo mode with the third 2nd order all-pass filter (black) compared to the full-range system where the high-driver is ahead in time by 0,12ms .

022 all pre high phase correction vs post high phase correction

So the red trace is the system before i phase corrected the high-driver (so @ the first point of reference in time) . The black trace is the system with the phase correction on the high-driver by using all-pass filters ( @ the new point in time so +0,5ms compared to the start of the measurement) .

This was the first of 3 day’s of measuring . The next day we changed 1 of the mid-drivers to a other model so i had to do the measurement al over again because it had a different phase response than the first 1 .

On the third day i tried to get a even flatter phase response than the preceding days by also phase correcting the mid-driver in the same way as i did with the high-driver as previously explained .

001 strt no processing ld The system with no processing applied yet .

Again i started with a system without processing and by applying high-low & all-pass filters and a 1ms delay on all drivers as described previously i ended up with the following (this time i took a 1 ms delay because i did not know the delay needed for phase correcting the mid-driver after aligning it to the high-driver) .

002 end system ready for eq ld   The system ready for eq . 

So if i would have to mix on a system that has a almost “flat phase response” like this i would only eq it a little and have a easy day . Dream on or as a earlier post taught me : TANSTAAFL  (There ain’t no such thing as a free lunch) .

If this was the only system in the venue i would not have to much problems but …… a line array system usually needs in-fills out-fills or other systems to cover zones not covered by the main system . So put in more speakers you would think witch indeed would happen . But you better make sure they have the same phase response otherwise all of the previously described measurements will be in vane .

So during the measurement i asked if the owner of the system had a conventional 2 way active loudspeaker in order to test if i could give this loudspeaker the same phase response using the same technique as described previously .

setup 1 aligned vs 2way conventional not aligned

So this is the challenge . The green trace is the conventional 2 way system with only high & low-pass filters applied to it . So no delay except a 1 ms x-tra to do the phase correction on the drivers after phase aligning the low & high-driver . The red trace is the response of the line array on the last day .

If i was to sum these two systems as they are in the above screenshot together i would have a nice big fat cancel @ 2K5 and at the high end the level would decrease significantly from about 12K5 up .

So i started to align the 2 way conventional loudspeaker in the same manner as the line array and using the line array as my “gold reference trace” .

2way conventional not aligned solo and summed response

So here is the 2 way conventional loudspeaker with the solo response of the low (green) and high-driver (blue) and the sum of both (black) with the only processing being high & low-pass filters . So clearly the low speaker needs all-pass filters to align with the high-driver .

2 way conv low 2 ap2 aligned 

By applying 2 2nd order all-pass filters the low driver aligns with the high-driver . So now the high-driver needs the phase correction as described previously in the line array tuning .

corrected high driver vs no corection

So again by reducing delay on the high-driver and than pushing the phase trace back to the 0° by applying all-pass filters the the black trace gets “converted” in to the high end of the blue trace (from about 1kHz to 20kHz) .

setup 1 aligned vs 2way conventional aligned

So if i have 2 different systems that for what ever reason have to be combined in a venue that have these responses i consider myself lucky .

I do not have to worry about cancels because of a different phase response and i can concentrate on how to put them together and get a unison coverage all over the venue in level and frequency response .

*You might say there’s a big difference @ the area around 3kHz but this is a phase difference of 60° between the red and blue trace . If both sources are the same level there they will not have a +6dB addition but a +4,77dB addition . Hey that’s live . I would accept that it’s not the maximum addition possible but pretty close .

*Secondly the phase trace @ the really high-end @ >16kHz still goes up meaning here the frequencies are ahead of the rest . You might want to put a low-pass filter in that area .

This has 1 disadvantage namely you probably have to redo the phase correction on the high-driver because of group-delay on that loudspeaker changing the phase on that loudspeaker .

The advantage of doing this less chance of burning the high-driver because of signals above the highest frequency it can reproduce and the phase trace will come down .

**The reason for me to use 12dB Linkwitz-riley filters on the mid & low driver is a larger overlap area in the x-over zone between drivers . It will give me more headroom in a larger area because of the addition @ the x-overpoint if properly phase aligned .

If something is not clear to you or if you like this article let me know . I find that by putting al of the above down on “paper” (or on screen if you like) makes me understand the whole phase game a bit better .

4 responses to “Back to the future or return from the future to the present ????

Subscribe to comments with RSS.

  1. En wanneer krijgen we de nederlandstalige uitleg? 🙂
    Leest iets gemakkelijker.

    vancoillie jeffrey
    • Sorry ik weet niet of ik het nog in het nederlands ga vertallen . Dit kost erg veel tijd en moeite .
      De moeite heb ik geen probleem mee maar het tijds apect wel . Mischien in de toekomst weet ’t niet
      Met vriendelijke groeten Timo

  2. Hey Timo,

    Bedankt voor het monnikenwerk!

    Ik heb alvast een afdrukje gemaakt zodat ik jouw werk vanavond in mn zetel eens grondig kan bestuderen!

    Groeten en leuk dat je me dit doorstuurde!


  3. Graag gedaan en mocht je vragen hebben of opmerkingen hoor ik het wel .
    De apex is een monster processor . Alleen zou het werken ermee sneller gaan met een paar aanpassingen in de interface zoals ik tijdens het gesprek een tijdje terug alweer aangaf .
    Ik heb hier wel ideen over maar dat komt wel een keer

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen. logo

Je reageert onder je account. Log uit / Bijwerken )


Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s

%d bloggers liken dit: