<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-text-html" lang="x-unicode">
      <div class="moz-cite-prefix">Hi Claus,<br>
        <br>
        If I understand you correctly (as mentioned by Rafael "I do not
        see how you can “close the loop”, other that testing your
        theoretical model against experimental data?"<br>
        <br>
        1. you have a system which you have theoretical result
        (reference model)<br>
        2. you have another set of data which you want to compare with
        the reference model<br>
        <br>
        As you're the subject expert in your own code, I will leave it
        to you as it will take time to look into them. :)<br>
        <br>
        Instead, I illustrate something similar (I think) which you
        might be able to adopt into your own code. <br>
        <br>
        Codes below perform following steps:<br>
        1. Create a linear model in s domain.<br>
        2. Convert the model to z domain. <br>
        3. Get the impulse response from the z model.<br>
        4. From the impulse response data, find the frequency response
        (in your case, it should be the data H that you obtained
        somewhere?)<br>
        5. Compare the response in 4 with the model response. <br>
        <br>
        rgds,<br>
        CL<br>
        <pre style="font-family:Monospaced;font-style:normal;font-size:16.0;"><span style="color:rgb(100,174,100);font-style:italic;">// Linear System in Time Domain</span>
<span style="color:rgb(0,0,0);">s</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(218,112,214);">%s</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">G</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(174,92,176);text-decoration:underline;">syslin</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(188,143,143);">c</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(188,143,143);">10</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">s</span><span style="color:rgb(92,92,92);">^</span><span style="color:rgb(188,143,143);">2</span> <span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(188,143,143);">3</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">s</span><span style="color:rgb(92,92,92);">^</span><span style="color:rgb(188,143,143);">2</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">s</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(188,143,143);">2</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>

<span style="color:rgb(100,174,100);font-style:italic;">// Discreate Model </span>
<span style="color:rgb(0,0,0);">Ts</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">0.05</span><span style="color:rgb(0,0,0);">;</span>  <span style="color:rgb(100,174,100);font-style:italic;">// Sampling time for discrete model</span>
<span style="color:rgb(0,0,0);">SS_z</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(174,92,176);text-decoration:underline;">cls2dls</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(174,92,176);text-decoration:underline;">tf2ss</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">G</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">Ts</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">tz</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">0</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(0,0,0);">Ts</span> <span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">50</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">'</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">u</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(50,185,185);">ones</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">tz</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">y2_step</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(174,92,176);text-decoration:underline;">dsimul</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">SS_z</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">u</span><span style="color:rgb(92,92,92);">'</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>  <span style="color:rgb(100,174,100);font-style:italic;">//Step response</span>
<span style="color:rgb(0,0,0);">u</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(50,185,185);">zeros</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">tz</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span><span style="color:rgb(0,0,0);">u</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">y2_imp</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(174,92,176);text-decoration:underline;">dsimul</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">SS_z</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">u</span><span style="color:rgb(92,92,92);">'</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>   <span style="color:rgb(100,174,100);font-style:italic;">//Impulse response</span>

<span style="color:rgb(100,174,100);font-style:italic;">// Compute Bode plot from Impulse Response</span>
<span style="color:rgb(0,0,0);">tau_step</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">Ts</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">H</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">y2_imp</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">fs</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(0,0,0);">tau_step</span><span style="color:rgb(0,0,0);">;</span>

<span style="color:rgb(100,174,100);font-style:italic;">// Following part is the same code as earlier</span>
<span style="color:rgb(0,0,0);">b</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">poly</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">H</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">z</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">coeff</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">a</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(218,112,214);">%z</span><span style="color:rgb(92,92,92);">^</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(50,185,185);">length</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">H</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">Gz</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(174,92,176);text-decoration:underline;">syslin</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(188,143,143);">d</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">b</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">a</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">Gz</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">dt</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(0,0,0);">fs</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(74,85,219);">[</span><span style="color:rgb(0,0,0);">F</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">M</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(174,92,176);text-decoration:underline;">repfreq</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Gz</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">0.001</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">fs</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">0.01</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>

<span style="color:rgb(100,174,100);font-style:italic;">// Comparison</span>
<span style="color:rgb(174,92,176);text-decoration:underline;">bode</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">G</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(100,174,100);font-style:italic;">// Ideal frequency response</span>
<span style="color:rgb(174,92,176);text-decoration:underline;">plot</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">F</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">10</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">20</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(50,185,185);">log10</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">M</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">10</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(188,143,143);">r</span><span style="color:rgb(188,143,143);">.</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(100,174,100);font-style:italic;">// generated frequency response with repfreq</span></pre>
        <br>
        <img src="cid:part1.2EB86A11.E88916A3@tritytech.com" alt=""><br>
        <br>
      </div>
    </div>
  </body>
</html>