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

조회 수: 1 (최근 30일)
Alessandro Longo
Alessandro Longo 2018년 1월 13일
답변: Star Strider 2018년 1월 13일
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에서 Digital Filter Analysis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by