Merge branch 'master' of https://github.com/tdehaeze/cercalo_test
This commit is contained in:
commit
113e354957
84
index.org
84
index.org
@ -1,12 +1,90 @@
|
||||
#+TITLE:Test of Cercalo
|
||||
#+TITLE: Cercalo Test Bench
|
||||
:DRAWER:
|
||||
#+STARTUP: overview
|
||||
#+HTML_HEAD: <script type="text/javascript" src="../js/readtheorg.js"></script>
|
||||
|
||||
#+LANGUAGE: en
|
||||
#+EMAIL: dehaeze.thomas@gmail.com
|
||||
#+AUTHOR: Dehaeze Thomas
|
||||
|
||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
||||
#+PROPERTY: header-args:matlab+ :comments org
|
||||
#+PROPERTY: header-args:matlab+ :results output
|
||||
#+PROPERTY: header-args:matlab+ :results none
|
||||
#+PROPERTY: header-args:matlab+ :exports both
|
||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
||||
#+PROPERTY: header-args:matlab+ :tangle matlab/frf_processing.m
|
||||
#+PROPERTY: header-args:matlab+ :mkdirp yes
|
||||
:END:
|
||||
|
||||
|
||||
* Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
* Identification of the Plant
|
||||
#+begin_src matlab
|
||||
fs = 1e4;
|
||||
Ts = 1/fs;
|
||||
#+end_src
|
||||
|
||||
We generate white noise with the "random number" simulink block, and we filter that noise.
|
||||
|
||||
#+begin_src matlab
|
||||
Gi = (1)/(1+s/2/pi/100);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :results output replace
|
||||
c2d(Gi, Ts, 'tustin')
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
#+begin_example
|
||||
c2d(Gi, Ts, 'tustin')
|
||||
|
||||
ans =
|
||||
|
||||
0.030459 (z+1)
|
||||
--------------
|
||||
(z-0.9391)
|
||||
|
||||
Sample time: 0.0001 seconds
|
||||
Discrete-time zero/pole/gain model.
|
||||
#+end_example
|
||||
|
||||
#+begin_src matlab
|
||||
load('mat/data_001.mat', 't', 'ux')
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
figure; plot(t, ux)
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
[tf_est, freqs] = tfestimate(ux, yx, hanning(ceil(length(ux)/10)), [], [], fs);
|
||||
|
||||
% h = idfrd(tf_est, freqs*2*pi, Ts);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
figure;
|
||||
ax1 = subplot(2, 1, 1);
|
||||
hold on;
|
||||
plot(freqs, abs(tf_est),'--')
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
ylabel('Amplitude [m/N]');
|
||||
hold off;
|
||||
|
||||
ax2 = subplot(2, 1, 2);
|
||||
hold on;
|
||||
plot(freqs, mod(180+180/pi*phase(tf_est), 360)-180,'--')
|
||||
set(gca,'xscale','log');
|
||||
ylim([-180, 180]);
|
||||
yticks([-180, -90, 0, 90, 180]);
|
||||
xlabel('Frequency [$Hz$]'); ylabel('Phase [deg]');
|
||||
hold off;
|
||||
#+end_src
|
||||
|
Loading…
Reference in New Issue
Block a user