[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: transfer function estimation
From: |
Lukas Reichlin |
Subject: |
Re: transfer function estimation |
Date: |
Fri, 19 Oct 2012 22:56:33 +0200 |
On 19.10.2012, at 16:24, Rudolf Widmer-Schnidrig <address@hidden> wrote:
> Dear List,
>
> to estimate the transfer function of a liner system I feed a well defined
> input signal into the system and record the output.
>
> One way which I have followed so far is to FFT both the input and the output,
> divide output by input and feed
> the resulting spectrum into invfreqs. This gives me the desired pole-zero
> representation of my system.
>
> Question: can this be gotten without first FFTing the input and output?
> What routines would I call?
>
> I'd be glad to just get a sketch of the necessary steps.
>
> sincerely, -Ruedi
Hi Ruedi
For vectors u and y containing the input and output signals in time domain, you
can do the following:
dat = iddata (y, u)
sys = arx (dat, order)
where sys is a transfer function object of the desired order.
This requires the control package 2.4.0 to be installed. There are more system
identification functions than arx which return state-space models. You can
convert them to transfer functions by commands tf or tfdata. Details are to be
found in the user manual control.pdf in the doc folder of the control package.
Hope this helps,
Lukas