![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Designer Filters | |
David McClain Member |
![]() ![]() ![]()
Attached sound zip includes a filter that does all that ("Spectral Shaping Windowed Tunable") by replacing the bank of filter templates from the 11-band EQ with a pulse generator, delay line, and offset/scale combo. These filters are also windowed with the Hanning window as described in the "cheap trick" posting. As a result these filters are astounding brick walls and can be made as narrow as 40-80 Hz at any frequency above 200 Hz. Below 200 Hz the 1024 point FFT's are not long enough to give solid performance but above that they are incredible performers with as much as 60 dB peak boost or notch depth. Effective rolloff rates are several hundred dB/octave. The use of block FFT processing imposes a considerable latency on the throughput, so you probably wouldn't want to use these for live performance situations. But with a 1024 point FFT these are equivalent to 1024-tap FIR filters! They are also completely phase linear. So you can add/subtract these filtered sounds with suitably delayed raw sounds without suffering any kind of phase cancellation. Although, now that this filter can do bandpass, lowpass, highpass, low-shelving, high-shelving, and notch, I'm not sure why you would want to do this. If you need multiple tunable bandpasses with independent bandwidths, just duplicate the pulse generator and delay line combo and feed any number of these into a mixer ahead of the offset/scaler. Using a filter like this one could easily remove spurious carriers at 15 KHz with a notch as narrow as 50 Hz and the rest of the audio would be unaffected. To get lowpass behavior, just specify a bandwidth greater than twice the center frequency, e.g., an 8 KHz LPF has center frequency of 4 KHz, and a bandwidth of 8 KHz. To get highpass behavior, do the same, but turn on Notch. Adjust the !Floor to get the amount of attenuation desired up to a practical maximum of around 60 dB. IP: Logged | |
David McClain Member |
![]() ![]() ![]()
This filter implements 3 adjacent bands with user definable edge frequencies and amplitudes. Instead of using a pulse generator followed by a delay line for each band, this one uses a ramp oscillator feeding a group of threshold detectors. The thresholds are set according to frequency band edges, and adjacent threshold outputs are subtracted in pairs. Each subtractor has a separate attenuator to set the level of the corresponding band. This is most likely less expensive computationally than using a pulse generator followed by a delay line. At the very least it is less expensive in terms of memory use. As long as all your bands are adjacent you can share one threshold between each successive difference block. Again, the output is Hanning windowed to produce incredibly tight rolloffs in each filter. The maximum practical attenuation depends on how close the band edges are to each other, but in general you should be able to get between 36 dB and 60 dB attenuation in any stopband above 200 Hz. - DM IP: Logged | |
cristian_vogel Member |
![]() ![]() ![]() SSC, David, these file attachments don't exist anymore - any chance of getting hold of these filter,s they sound like something excellent to study and use [This message has been edited by cristian_vogel (edited 05 June 2006).] IP: Logged | |
CharlieNorton Member |
![]() ![]() ![]() I agree, anyone out there got them? IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.