Re: bilinear transformation question
>>On May 13, 1:24=A0pm, "v333k" <v3...@yahoo.com> wrote:
>>> >On May 12, 8:28=3DA0am, "v333k" <v3...@yahoo.com> wrote:
>>> >> Hi all,
>>> >> I have a relatively basic question about applying a bilinear
>>> >> transformation using MATLAB. =3DA0I am familiar with the bilinear
>>> function,=3D
>>> > but
>>> >> the question states the following:
>>> >> apply the bilinear transform to Ha(s) in order to obtain H(z) such
>tha=
>>t
>>> w=3D
>>> >1
>>> >> =3D3D pi/4 radians.
>>>
>>> >> Ha(s) =3D3D 20/(s^4 + 2s^3 + 8s^2 + 20s + 20)
>>>
>>> >> my question/confusion is where does the w1 play a role in this?
>>>
>>> >> thanks in advance!
>>>
>>> >Perhaps this question has some context around it that you are not
>>> >posting here. In general the bilinear transform does a mapping
>between
>>> >Laplace and z-domains where 0 -> 0 and infinity -> pi and then a
>third
>>> >point is adjustable in the sense of where you do the mapping. I.e.
>>> >this is the "c" or whatever stadard variable you see in the bilinear
>>> >transform. =A0s =3D3D c (1-z^-1)/(1+z^-1) sometimes the "c" i
written
>a=
>>s 2/
>>> >T where "T" is the sampling period. =A0If the Laplace expression is
>>> >normalized to 1 rad/sec, then "c" is simply cot(pi*f) where "f" is
>the
>>> >normalized digital frequency that gets mapped to 1 rad/sec.
>>>
>>> >Clay
>>>
>>> Hi Clay,
>>> thanks for your reply.
>>> Since I am not fully understanding the question, maybe I left some
>info
>>> out thinking that it is irrelevant. =A0The first part of the question
>ask=
>>ed
>>> to plot the Ha(s) phase response in degrees and find the frequency
>OMEGA1
>>> when the phase is at -71 degrees).
>>> The second part was asking the original question in this thread, and
>the
>>> part I left out was w1 is the digital counterpart of OMEGA1)
=A0Also,
>we
>>> need to consider the frequency range 0<=3DOMEGA<=3D4 rad/sec.
>>>
>>> Thanks in advance (again).
>>>
>>> v333k- Hide quoted text -
>>>
>>> - Show quoted text -
>>
>>Now what you have added makes sense - thanks.
>>
>>
>>On your part A of the problem, I hope you found two spots where the
>>phase is -71 degrees. For these two spots OMEGA =3D approx 1.43 or 2.40
>>radians/sec.
>>
>>
>>For your bilinear transform, use
>>
>>s =3D c (1-z^-1)/(1+z^-1)
>>
>>
>>here c=3DOMEGA*cot(omega/2) where OMEGA is the analog frequency that we
>>are mapping to the digital frequency omega. For your case omega =3
pi/4
>>and OMEGA is equal to 1.43 or the 2.40 radians/sec number.
>>
>>These two values give a "c" equal to approx 3.45 or 5.78. You will
>>need to do this in full precision to get it to work well, but when you
>>get your bilinear transformed function, graph its phase and check the
>>location of the -71 degree spots. It should be right where the "c"
>>equation puts it.
>>
>>IHTH,
>>
>>Clay
>>
>>
Hi Clay,
Thank you very much for the time you took to explain this to me.
The only thing that I can't figure out (yet) is the last part, where you
say "graph its phase and check the location of the -71 degrees spot. It
should be right where the "c" equation puts it."
When I graph the phase, I get 0.11 for 71 degrees. I know I am doing
something wrong, but I can't seem to see my mistake. Here is the MATLAB
code I am using:
OMEGA_MAX = 4;
num_samples = 1000;
W = [0:1:num_samples]*OMEGA_MAX/num_samples;
B = 20;
A = [1 2 8 20 20];
freqs(B,A,W);
w1 = 0.25*pi; %pi/4
c = 1.43*cot(w1/2);
[b,a] = bilinear(B,A,c);
figure;
freqz(b,a); % plot the frequency response
Thanks once again.
|