Thanks Nigel - I have just been playing around with the pole/zero plotter (very 
helpful app for visualising the problem) and thinking about it. You guys are 
probably right the simplest approach is just to scale the output and using the 
peaking filter.

Additional optional mumblings:

I think really there are two 'correct' solutions to manipulating only the 
coefficients to my ends (that is, generation of coefficients which produce 
filters interpolating from bandpass to flat):

The first is to go from pole/zero to transfer function, basically as you 
(Nigel) described in your first message - stick the zeros in the centre, poles 
near the edge of the unit circle and reduce their radii - doing the maths to 
convert these into the appropriate biquad coefficients. This isn't really 
feasible for me to do in realtime though. I was trying to do a sort of tricksy 
workaround by lerping from one set of coefficients to another but on reflection 
I don't think there is any mathematical correctness there.

The second is to have an analogue prototype which somehow includes skirt gain 
and take the bilinear transform to get the equations for the coefficients. I'm 
not really very good with the s domain either so I actually wouldn't know how 
to go about this, but it's what I was originally thinking of.

Thanks for the help

-----Original Message-----
From: music-dsp-boun...@music.columbia.edu 
[mailto:music-dsp-boun...@music.columbia.edu] On Behalf Of Nigel Redmon
Sent: 03 January 2013 18:48
To: A discussion list for music-related DSP
Subject: Re: [music-dsp] Lerping Biquad coefficients to a flat response

Thomas-it's a matter of manipulating the A and Q relationships in the numerator 
and denominator of the peaking EQ analog prototypes. I'm not as good in 
thinking in the s domain as the z, so I'd have to plot it out and think-too 
busy right now, though it's pretty trivial. But just doing the gain adjustment 
to the existing peaking EQ, as Ross suggested, is trivial. Not much reason to 
go through the fuss unless you're concerned about adding a single multiply. (To 
add to the confusion, my peaking implementation is different for gain and 
boost, so that the EQ remains symmetrical, a la Zolzer).


On Jan 3, 2013, at 9:34 AM, Thomas Young <thomas.yo...@rebellion.co.uk> wrote:

>> I'm pretty sure that the BLT bandpass ends up with zeros at DC and 
>> nyquist
> 
> Yes I think this is essentially my problem, there are no stop bands per-se 
> just zeros which I was basically trying to lerp away - which I guess isn't 
> really the correct approach.
> 
> The solution you are proposing would work I believe; along the same lines 
> there is a different bandpass filter in the RBJCB which has a constant stop 
> band gain (or 'skirt gain' as he calls it) and peak gain for the passband - 
> so a similar technique would work there by scaling the output.
> 
> However I was hoping to avoid scaling the output since if I have to do that 
> then I might as well just change the wet/dry mix with the original signal for 
> essentially the same effect and less messing about. I feel in my gut there 
> must be some way to do it by just manipulating coefficients.
> 
> 
> -----Original Message-----
> From: music-dsp-boun...@music.columbia.edu 
> [mailto:music-dsp-boun...@music.columbia.edu] On Behalf Of Ross 
> Bencina
> Sent: 03 January 2013 17:16
> To: A discussion list for music-related DSP
> Subject: Re: [music-dsp] Lerping Biquad coefficients to a flat 
> response
> 
> On 4/01/2013 4:05 AM, Thomas Young wrote:
>> Is there a way to modify the bandpass coefficient equations in the 
>> cookbook (the one from the analogue prototype H(s) = s / (s^2 + s/Q +
>> 1)) such that the gain of the stopband may be specified? I want to be 
>> able
> 
> I'm pretty sure that the BLT bandpass ends up with zeros at DC and 
> nyquist so I'm not sure how you're going to define stopband gain in 
> this case :)
> 
> Maybe start with the peaking filter and scale the output according to your 
> desired stopband gain and then set the peak gain to give 0dB at the peak.
> 
> peakGain_dB = -stopbandGain_dB
> 
> (assuming -ve stopbandGain_dB).
> 
> Does that help?
> 
> Ross.
> --
> dupswapdrop -- the music-dsp mailing list and website:
> subscription info, FAQ, source code archive, list archive, book 
> reviews, dsp links http://music.columbia.edu/cmc/music-dsp
> http://music.columbia.edu/mailman/listinfo/music-dsp
> --
> dupswapdrop -- the music-dsp mailing list and website:
> subscription info, FAQ, source code archive, list archive, book 
> reviews, dsp links http://music.columbia.edu/cmc/music-dsp
> http://music.columbia.edu/mailman/listinfo/music-dsp

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp

Reply via email to