<< Chapter < Page Chapter >> Page >

From an intuitive standpoint it would seem that a flat magnitude response in the frequency domain should correspond to an impulse response (time-domain) containing only a single delta function (recall that the impulse function anda constant-valued function constitute a Fourier transform pair). However, the all-pass filter's impulse response is actually a large negative impulse followed by a series of positive decaying impulses.

In this section, derive the transfer function and difference equation of the all-pass filter structure shown in . Note that the structure is approximately of the same level of complexity as the comb filter: it contains a delay line of N samples and an extra gainelement and summing element.

All-pass filter structure

Determine the transfer function H ( z ) MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamisaiaacIcacaWG6bGaaiykaaaa@3861@ for the all-pass filter structure of .

H ( z ) = g + z N 1 g z N MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamisaiaacIcacaWG6bGaaiykaiabg2da9maalaaabaGaeyOeI0Iaam4zaiabgUcaRiaadQhadaahaaWcbeqaaiabgkHiTiaad6eaaaaakeaacaaIXaGaeyOeI0Iaam4zaiaadQhadaahaaWcbeqaaiabgkHiTiaad6eaaaaaaaaa@44A8@

Based on your result for the previous exercise, write the difference equation for the all-pass filter.

y ( n ) = g x ( n ) + x ( n N ) + g y ( n N ) MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamyEaiaacIcacaWGUbGaaiykaiabg2da9iabgkHiTiaadEgacaWG4bGaaiikaiaad6gacaGGPaGaey4kaSIaamiEaiaacIcacaWGUbGaeyOeI0IaamOtaiaacMcacqGHRaWkcaWGNbGaamyEaiaacIcacaWGUbGaeyOeI0IaamOtaiaacMcaaaa@4B71@

All-pass filter impulse response

As described in the video of , two all-pass filters are placed in cascade (series) with the summed output of the parallel comb filters. An understanding of the all-pass filter impulse response reveals why a cascade connection increases the pulse density of thecomb filter in such a way as to emulate the effect of natural reverberation.

The screencast video derives the impulse response of the all-pass filter; the loop time and reverb time of the all-pass filter are also presented.

[video] Derivation of the all-pass filter impulse response

The screencast video demonstrates the sound of the all-pass filter impulse response compared to that of the comb filter. Moreover, the audible effect of increasing the comb filter pulse density with an all-pass filter is also demonstrated in the video.

Download the LabVIEW VI presented in the video: apfdemo.zip Refer to TripleDisplay to install the front-panel indicator required by the VI.

[video] Audio demonstration of the all-pass filter impulse response combined with comb filter

Project: implement the schroeder reverberator in labview

As described in the screencast video, two all-pass filters are placed in cascade (series) with the summed output of four parallel comb filters. The video of explains how the all-pass filter "fattens up" each comb filter output impulse with high density pulses that rapidly decay to zero. Selecting mutually-prime numbers for the loop times ensures that the comb filterimpulses do not overlap too soon, which further increases the effect of randomly-spaced impulses.

The table in lists the required reverb times (T60) and loop times (tau) of the Schroeder reverberator. Note that the comb filters all use the same value (the desired overall reverb time).

Reverb time and loop time values for the comb filters and all-pass filters of the Schroeder reverberator

The screencast video provides everything you need to know to build your own LabVIEW VI for the Schroeder reverberator.

Download the .wav reader subVI mentioned in the video : WavRead.vi .

[video] Suggested LabVIEW techniques to build your own Schroeder reverberator

References

  • Schroeder, M.R., and B.F. Logan, "Colorless Artificial Reverberation," Journal of the Audio Engineering Society 9(3):192, 1961.
  • Schroeder, M.R., "Natural Sounding Artificial Reverberation," Journal of the Audio Engineering Society 10(3):219-223, 1962.
  • Moore, F.R., "Elements of Computer Music," Prentice-Hall, 1990, ISBN 0-13-252552-6.
  • Dodge, C., and T.A. Jerse, "Computer Music: Synthesis, Composition, and Performance," 2nd ed., Schirmer Books, 1997, ISBN 0-02-864682-7.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Musical signal processing with labview (all modules). OpenStax CNX. Jan 05, 2010 Download for free at http://cnx.org/content/col10507/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Musical signal processing with labview (all modules)' conversation and receive update notifications?

Ask