Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
How to obtain Transfer Function?

Subject: How to obtain Transfer Function?

From: Pepe Garcia

Date: 27 Oct, 2010 14:59:05

Message: 1 of 3

Hello,

I'm trying to obtain the transfer function of a recently obtained signal in frequency domain.
The idea is to evaluate that transfer function with other points ( eg. H(exp(i*omega)) , where omega =2*pi*f*Ts ).

So, I have used the following code:

[b,a] = invfreqz(H1,w,2,2,[],100); %H1 is the signal I have in frequency domain
sys=tf(b,a);
H = freqresp(sys,exp(j*ohm));

But what I obtain is really strange and doesn't work.


I have read about another method:

data = idfrd(H1,w,0);
model = oe(data, [nb nf]);
sys = tf(model)
H = freqresp(sys,exp(j*ohm));


I have the same result for that thing.

Could you please help me?

Thank you.

Subject: How to obtain Transfer Function?

From: Arkadiy Turevskiy

Date: 27 Oct, 2010 15:32:04

Message: 2 of 3

"Pepe Garcia" <raneo_@hotmail.com> wrote in message <ia9eno$iqu$1@fred.mathworks.com>...
> Hello,
>
> I'm trying to obtain the transfer function of a recently obtained signal in frequency domain.
> The idea is to evaluate that transfer function with other points ( eg. H(exp(i*omega)) , where omega =2*pi*f*Ts ).
>
> So, I have used the following code:
>
> [b,a] = invfreqz(H1,w,2,2,[],100); %H1 is the signal I have in frequency domain
> sys=tf(b,a);
> H = freqresp(sys,exp(j*ohm));
>
> But what I obtain is really strange and doesn't work.
>
>
> I have read about another method:
>
> data = idfrd(H1,w,0);
> model = oe(data, [nb nf]);
> sys = tf(model)
> H = freqresp(sys,exp(j*ohm));
>
>
> I have the same result for that thing.
>
> Could you please help me?
>
> Thank you.

What do you mean when you say the result is strange and it does not work?

Have you checked how well the transfer function you are getting matches your frequency response for the frequencies where you have measurements available?

Subject: How to obtain Transfer Function?

From: Pepe Garcia

Date: 27 Oct, 2010 22:00:22

Message: 3 of 3

I have measured an response and from there I obtain a H(f).

But I have to evaluate that response in H(exp(j*omega)).

How could I do that?

"Arkadiy Turevskiy" <arkadiy.turevskiy@mathworks.com> wrote in message <ia9glk$t96$1@fred.mathworks.com>...
> "Pepe Garcia" <raneo_@hotmail.com> wrote in message <ia9eno$iqu$1@fred.mathworks.com>...
> > Hello,
> >
> > I'm trying to obtain the transfer function of a recently obtained signal in frequency domain.
> > The idea is to evaluate that transfer function with other points ( eg. H(exp(i*omega)) , where omega =2*pi*f*Ts ).
> >
> > So, I have used the following code:
> >
> > [b,a] = invfreqz(H1,w,2,2,[],100); %H1 is the signal I have in frequency domain
> > sys=tf(b,a);
> > H = freqresp(sys,exp(j*ohm));
> >
> > But what I obtain is really strange and doesn't work.
> >
> >
> > I have read about another method:
> >
> > data = idfrd(H1,w,0);
> > model = oe(data, [nb nf]);
> > sys = tf(model)
> > H = freqresp(sys,exp(j*ohm));
> >
> >
> > I have the same result for that thing.
> >
> > Could you please help me?
> >
> > Thank you.
>
> What do you mean when you say the result is strange and it does not work?
>
> Have you checked how well the transfer function you are getting matches your frequency response for the frequencies where you have measurements available?

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us