How to customize transfer function block in Simulink to simulate Serdes system?

(Using Serdes toolbox in Simulink) If transfer function is frequency independent, the block is easy to customize just like 'VGA' block. However, if transfer function is frequency dependent, how can i customize the block (just like 'CTLE' block but it is difficult for me to modify) to do time domain simulation?

 Réponse acceptée

Hi,
If the transfer function of the block is frequency dependent, it may be difficult to directly customize the block for time-domain simulation in Simulink using the SerDes toolbox. In this case, you may need to use a different approach.
One possible solution is to approximate the frequency-dependent transfer function with a time-domain equivalent using techniques such as rational approximation or impulse response approximation. Once you have the time-domain approximation, you can use it to create a custom block in Simulink for time-domain simulation.
To approximate the frequency-dependent transfer function, you can use tools such as MATLAB's Control System Toolbox or Signal Processing Toolbox. These tools provide functions for calculating rational or impulse response approximations of transfer functions.
Once you have the time-domain approximation, you can create a custom block in Simulink using the MATLAB Function block or the S-Function block. You can implement the time-domain approximation in the MATLAB code of the block and use it in your simulation.
Alternatively, you can use Simulink's built-in frequency-domain analysis tools, such as the Frequency Response Analyzer (FRA) block, to analyze the frequency response of the system and generate a frequency-domain transfer function. You can then use this transfer function to create a custom block in Simulink for time-domain simulation.
Overall, the approach you take will depend on the complexity of the frequency-dependent transfer function and your specific simulation requirements.

6 commentaires

Thanks!So the key point is to approximate transfer function to rational or impulse response and then write S-function. If possible, could you give me relevant existing examples, thank you.
If you found the answer helpful, can you accept my answer please
Of course. But if you can give me some examples, it will be better.
Here are some examples of existing S-functions:
  1. The sfun_pade S-function in the MATLAB File Exchange implements the Padé approximation method for approximating transfer functions to rational functions.
  2. The sfun_cf2tf S-function in the MATLAB File Exchange implements the continued fraction expansion method for approximating transfer functions to impulse responses.
  3. The sfun_lsq S-function in the MATLAB File Exchange implements the Least Squares method for approximating transfer functions to impulse responses.
These S-functions can serve as a starting point for your own S-function implementation, or as a reference for understanding how to implement the different numerical techniques for approximating transfer functions.
Thank you very much!! Your answer is very detailed and I learn a lot from you!
Sorry, could you send me links about these S-function, i fail finding them in MATLAB File Exchange...

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Simulink dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by