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."