How to create a state space model from a custom transfer function?

1 次查看(过去 30 天)
Hello forum, I would create a state-space model (A, B, C and D) starting from a proper-build transfer function H. In particular, my H function is a sort of (flat) pulse function, so that:
- in the range 0-w1, H=1 (so the output is exactly equal to the input)
- in the range w1-w2, H=2 (output = 2 * input)
- in the range w2-wend, H=1 (as the same part).
How can I build A, B, C and D starting from these informations? I know about the command tf2ss but I have no idea about the a and b parameters that tf2ss needs as input.
  2 个评论
Star Strider
Star Strider 2018-1-13
If you only have the input and output values, you need to use system identification techniques, described in the System Identification Toolbox (link).
Alessandro Longo
Alessandro Longo 2018-1-13
I do not have input or output values. I could build something with no sense for my analysis. And then? I tried to open that link but it seems really full of informations.

请先登录,再进行评论。

回答(1 个)

Star Strider
Star Strider 2018-1-13
‘I do not have input or output values.’
You do, actually. With a specific input, your output is described as:
  • in the range 0-w1, H=1 (so the output is exactly equal to the input)
  • in the range w1-w2, H=2 (output = 2 * input)
  • in the range w2-wend, H=1 (as the same part)
So choose a frequency vector, then choose a vector of ones as your input the same length as your frequency vector, then choose ‘w1’ and ‘w2’, then choose a vector matching your described output again the same length, and use the System Identification Toolbox (there is a similar function, invfreqs and invfreqz in the Signal Processing Toolbox) to estimate your transfer function.
‘I could build something with no sense for my analysis. And then? I tried to open that link but it seems really full of informations.’
The approach here is not ‘something with no sense’, since it is what you have described as your system frequency-domain behaviour.
Another option is to use the Signal Processing Toolbox firls (link), firpm (link) or designfilt (link) to design a filter to your frequency specifications, and use the transfer function from it. Once you have that, you can implement your state-space representation.

类别

Help CenterFile Exchange 中查找有关 Linear Model Identification 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by