Reply by November 15, 20132013-11-15
On Thursday, November 14, 2013 7:36:52 PM UTC-5, gyans...@gmail.com wrote:
> On Friday, November 15, 2013 5:39:36 AM UTC+13, cl...@claysturner.com wrote: > > > On Tuesday, November 12, 2013 2:11:37 PM UTC-5, Marc Jacob wrote: > > > > > > > How to calculate the -3d cut-off frequency of a given digital lowpass-filter? > > > > > > > > > > > > > > Given is a IIR filter in the form of H(z) = a / (1 - (1-a) z^-1). > > > > > > > > > > > > > > > > > > > > > > > > > > > > How to calculate the cut-off frequency? I thought about evaluating the magnitude of the DTFT (z-transform on unit-circle), for values where the DTFT exists. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Is this correct? Or are there other possibilities for doing that? > > > > > > > > > > > > From the plug and chug approach I find > > > > > > > > > > > > omega = acos((a^2+2a-2)/(2(a-1))) > > > > > > > > > > > > which is the cutoff frequency (mag^2 = 1/2) in radians per sample. > > > > > > > > > > > > Just multiply omega by Fs/(2pi) to convert to cycles per time. > > > > > > > > > > > > Clay > > > > Same as my result above, > > > > (a^2+2a-2)/(2(a-1))= (2(a-1) +a^2) / 2(a-1) = 1- (a^2/2(1-a)) > > > > so why did the other guy say he checked with Matlab and gets a different answer?
Good question! An alternate formulation is omega = 2 asin*( |a| / (2*sqrt(1-a)) ) Clay
Reply by November 14, 20132013-11-14
On Friday, November 15, 2013 5:39:36 AM UTC+13, cl...@claysturner.com wrote:
> On Tuesday, November 12, 2013 2:11:37 PM UTC-5, Marc Jacob wrote: > > > How to calculate the -3d cut-off frequency of a given digital lowpass-filter? > > > > > > Given is a IIR filter in the form of H(z) = a / (1 - (1-a) z^-1). > > > > > > > > > > > > How to calculate the cut-off frequency? I thought about evaluating the magnitude of the DTFT (z-transform on unit-circle), for values where the DTFT exists. > > > > > > > > > > > > Is this correct? Or are there other possibilities for doing that? > > > > From the plug and chug approach I find > > > > omega = acos((a^2+2a-2)/(2(a-1))) > > > > which is the cutoff frequency (mag^2 = 1/2) in radians per sample. > > > > Just multiply omega by Fs/(2pi) to convert to cycles per time. > > > > Clay
Same as my result above, (a^2+2a-2)/(2(a-1))= (2(a-1) +a^2) / 2(a-1) = 1- (a^2/2(1-a)) so why did the other guy say he checked with Matlab and gets a different answer?
Reply by November 14, 20132013-11-14
On Tuesday, November 12, 2013 2:11:37 PM UTC-5, Marc Jacob wrote:
> How to calculate the -3d cut-off frequency of a given digital lowpass-filter? > > Given is a IIR filter in the form of H(z) = a / (1 - (1-a) z^-1). > > > > How to calculate the cut-off frequency? I thought about evaluating the magnitude of the DTFT (z-transform on unit-circle), for values where the DTFT exists. > > > > Is this correct? Or are there other possibilities for doing that?
From the plug and chug approach I find omega = acos((a^2+2a-2)/(2(a-1))) which is the cutoff frequency (mag^2 = 1/2) in radians per sample. Just multiply omega by Fs/(2pi) to convert to cycles per time. Clay
Reply by November 13, 20132013-11-13
On Thursday, November 14, 2013 10:11:23 AM UTC+13, Marc Jacob wrote:
> > Well I don't know if it's the same but I get > > > Fc = (1/2Pi) Fs arccos(1-x) > > > where x=a^2/(2(1-a)) > > > > I cannot agree with your solution. I'm getting > > > > fc = (1/2Pi) arccos( (1-2a^2)(2x) + x/2) > > > > where x = (1-a) > > > > I compared these results with Matlab, and they match. > > > > Cheers Marc
I'm not going to argue, I did my calculation fairly quickly, it looks like Vlad Vampyre is wrong though too.
Reply by November 13, 20132013-11-13
On Thursday, November 14, 2013 10:11:23 AM UTC+13, Marc Jacob wrote:
> > Well I don't know if it's the same but I get > > > Fc = (1/2Pi) Fs arccos(1-x) > > > where x=a^2/(2(1-a)) > > > > I cannot agree with your solution. I'm getting > > > > fc = (1/2Pi) arccos( (1-2a^2)(2x) + x/2) > > > > where x = (1-a) > > > > I compared these results with Matlab, and they match. > > > > Cheers Marc
You missed Fs
Reply by Marc Jacob November 13, 20132013-11-13
> Well I don't know if it's the same but I get > Fc = (1/2Pi) Fs arccos(1-x) > where x=a^2/(2(1-a))
I cannot agree with your solution. I'm getting fc = (1/2Pi) arccos( (1-2a^2)(2x) + x/2) where x = (1-a) I compared these results with Matlab, and they match. Cheers Marc
Reply by November 13, 20132013-11-13
On Wednesday, November 13, 2013 1:13:43 PM UTC+13, Vladimir Vassilevsky wrote:
> On 11/12/2013 1:11 PM, Marc Jacob wrote: > > > > > How to calculate the -3d cut-off frequency of a given digital > > > lowpass-filter? Given is a IIR filter in the form of H(z) = a / (1 - > > > (1-a) z^-1). > > > > Fc = - Fs ln a / 2 Pi > > > > > How to calculate the cut-off frequency? I thought about evaluating > > > the magnitude of the DTFT (z-transform on unit-circle), for values > > > where the DTFT exists. > > > > Wow > > > > > Is this correct? Or are there other possibilities for doing that? > > > > Wow
Well I don't know if it's the same but I get Fc = (1/2Pi) Fs arccos(1-x) where x=a^2/(2(1-a))
Reply by Vladimir Vassilevsky November 12, 20132013-11-12
On 11/12/2013 1:11 PM, Marc Jacob wrote:

> How to calculate the -3d cut-off frequency of a given digital > lowpass-filter? Given is a IIR filter in the form of H(z) = a / (1 - > (1-a) z^-1).
Fc = - Fs ln a / 2 Pi
> How to calculate the cut-off frequency? I thought about evaluating > the magnitude of the DTFT (z-transform on unit-circle), for values > where the DTFT exists.
Wow
> Is this correct? Or are there other possibilities for doing that?
Wow
Reply by Marc Jacob November 12, 20132013-11-12
> z = e^(j*omega) = cos(omega) + j*sin(omega) > into the expression from the table. then plug-and-chug.
Just wanted to confirm that I already managed it. Cheers Marc
Reply by robert bristow-johnson November 12, 20132013-11-12
On 11/12/13 12:23 PM, Marc Jacob wrote:
> Hi Clay, > > >> Yes, letting z^-1 = e^-jwt and finding where the magnitude = 1/2 is probably the sanest way if you wish to work from first principles. > > You mean 1/sqrt(2), do you? > >> Another way is to look at a table of z-transform pairs and figure it that way. >> You should find this entry or one like it in the table >> 1/ (1-b*z^-1)<-> (b^n)*u[n] for |z|< |b| > > I know these tables, but how to derive the cut-off frequency omega from that? >
plug in z = e^(j*omega) = cos(omega) + j*sin(omega) into the expression from the table. then plug-and-chug. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."