IIRFilter BandPassFilter Has No Effect!


#1

Im trying to setup the bandpassfilter but it seems to have no effect regardless of the values I choose whereas the lowpass or highpass work ok, is there something different with the implementation of the bandpassfilter.

[code]//This is OK
myfilterL.makeLowPass(sampleRate,200);
myfilterR.makeLowPass(sampleRate,200);

//This has no effect!
myfilterL.makeBandPass(sampleRate,400,2,1.0f);
myfilterR.makeBandPass(sampleRate,400,2,1.0f);[/code]

The bandpass should be passing frequecies within a certain range, Q value should be the center frequency of a filter divided by the bandwidth, so to map upper and lower bounds of a certain frequency range I calculate the appropriate Q value. How is the effect of the gainvalue here calculated? If I setup the bandpass filter as

makebandpass(samplerate,200,2,0.1f) This is passing High Frequencies why?(Should be passing 150-250Hz) Also setting the gain value to 1.0f makes the bandpass filter have no effect what so ever.


#2

The gain is the factor to boost the centre frequency by - so if it’s more than 1, it’ll boost, less than 1 and it’ll cut it.


#3

Thanks jules, but my question is if you try

Shouldn’t this be passing low frequencies? Q value of 2 implies bandwidth of 100 (200/100 = 2) therefore only a range between approx 150 to 250, but all you hear is high frequencies?


#4

If the gain is 1, it won’t do anything at all. It’s the same thing as the tracktion e.q. - have a play with that to see how it works visually.


#5