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
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).
回答(1 个)
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Digital Filter Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!