The problem is that b1 is embedded into the naive integrator. It can be expressed as feedback path instead:camsr wrote:I was thinking of how the naive step in the filter I'm using works, the b1 turns the naive integrator to a leaky integrator, and the a0 is the DC gain adjustment. I thought it might be possible to apply a0 and b1 in the same way to the trapezoidal integrator, and it is, just not in the way I expected. I'm hoping to make a 1p lowpass with improved accuracy in both frequency and phase near nyquist, but I do realize the tradeoffs involved. I'm not adept with figuring out the transfer functions like you did, but I'll study what you said and see what I can do!

u[n]=a0*x[n]

y[n]=u[n]+b1*y[n-1]=u[n]+( 1 - (1-b1) )*y[n-1]= ( u[n] - (1-b1)*y[n-1] ) + y[n-1]

Thus you get a naive integrator whose input is u[n] - (1-b1)*y[n-1]. Then in principle you can replace it with the trapezoidal one, but (depending on whether you feed back y[n], which is delayless feedback, or y[n-1]) you can get exactly the normal BLT TPT filter, most probably (too lazy to think about the details now) with offset cutoff and gain.

However, I'm not sure what you're aiming at. Maybe you first should decide what kind of frequency response you want to obtain. The frequency response is defined solely by the transfer function. Then you can decide on the topology. Also, there are not that many different transfer functions for a 1-pole filter. They all have the familiar form:

H(z)=(b0+b1*z^-1)/(1+a1*z^-1) (I've switched the usage of a and b coefficients to a more common one). The cutoff is determined by the a1 coefficient, whereas the b0 and b1 coefficients define the type of the filter response (lowpass, highpass etc). Note: to keep the response consistent for different cutoffs, b0 and b1 also generally should depend on a1.

Edit: roughly speaking, b0 and b1 define the mixture between the lowpass and highpass components of the output (this is more intuitively visible in the continuous-time domain, but the idea is totally similar) and that is all there to it. You can only choose the amount of mixing. In digital world there is some variation in regards to what you can choose as the "basis" lowpass and highpass signals, but in the end you get the same mixtures. So e.g. naive lowpass is the same as the BLT lowpass with some BLT highpass signal mixed in (the mixture coefficients may depend on the cutoff, I don't want to think about it too much now ).

Edit2: what you could do is a simple experiment. Choose a1 corresponding to some typical cutoff value, e.g. a1=-0.9. Under this limitation, the frequency response will be defined solely by the balance between b0 and b1 (because multiplying both b0 and b1 by the same value solely changes the total gain of the filter). Thus let b0=cos(alpha), b1=sin(alpha). By simply varying alpha you can obtain all possible 1-pole response shapes (for a given cutoff). This will include various versions of lowpass, highpass, low-shelving, high-shelving and allpass. The available shapes will vary with the cutoff choice though, as a1 is changed from values close to -1, corresponding to low cutoffs to 0 and even further to 1, corresponding to cutoffs close to Nyquist, where note that you need |a1|<1 to keep the filter stable.