2019-03-14 16:40:28 +01:00
<?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en" xml:lang = "en" >
< head >
2019-03-20 15:21:12 +01:00
<!-- 2019 - 03 - 20 mer. 15:17 -->
2019-03-14 16:40:28 +01:00
< meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > Spindle Analysis< / title >
< meta name = "generator" content = "Org mode" / >
< meta name = "author" content = "Thomas Dehaeze" / >
< style type = "text/css" >
<!-- /* --> <![CDATA[/*> <!-- */
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/-->
< / style >
< link rel = "stylesheet" type = "text/css" href = "../css/htmlize.css" / >
< link rel = "stylesheet" type = "text/css" href = "../css/readtheorg.css" / >
< script src = "../js/jquery.min.js" > < / script >
< script src = "../js/bootstrap.min.js" > < / script >
< script src = "../js/jquery.stickytableheaders.min.js" > < / script >
< script src = "../js/readtheorg.js" > < / script >
< script type = "text/javascript" >
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2019 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!-- /* --> <![CDATA[/*> <!-- */
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
< / script >
< script type = "text/x-mathjax-config" >
MathJax.Hub.Config({
displayAlign: "center",
displayIndent: "0em",
"HTML-CSS": { scale: 100,
linebreaks: { automatic: "false" },
webFont: "TeX"
},
SVG: {scale: 100,
linebreaks: { automatic: "false" },
font: "TeX"},
NativeMML: {scale: 100},
TeX: { equationNumbers: {autoNumber: "AMS"},
MultLineWidth: "85%",
TagSide: "right",
TagIndent: ".8em"
}
});
< / script >
< script type = "text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML">< / script >
< / head >
< body >
< div id = "content" >
< h1 class = "title" > Spindle Analysis< / h1 >
< div id = "table-of-contents" >
< h2 > Table of Contents< / h2 >
< div id = "text-table-of-contents" >
< ul >
2019-03-20 15:21:12 +01:00
< li > < a href = "#org4ef1ca3" > 1. Notes< / a > < / li >
< li > < a href = "#orge92ef42" > 2. Data Processing< / a >
2019-03-14 16:40:28 +01:00
< ul >
2019-03-20 15:21:12 +01:00
< li > < a href = "#orgbf2f91a" > 2.1. Load Measurement Data< / a > < / li >
< li > < a href = "#orge799cbd" > 2.2. Convert Signals from [deg] to [sec]< / a > < / li >
< li > < a href = "#orge0e840d" > 2.3. Convert Signals< / a > < / li >
< li > < a href = " # orgb79c23f " > 2.4. Ts and Fs for both measurements< / a > < / li >
< li > < a href = "#org545b4dc" > 2.5. Find Noise of the ADC [m/sqrt(Hz)]< / a > < / li >
< li > < a href = "#orgb7c25b7" > 2.6. Save all the data under spindle struct< / a > < / li >
< li > < a href = "#org707a6a0" > 2.7. Compute Asynchronous data< / a > < / li >
2019-03-14 16:40:28 +01:00
< / ul >
< / li >
2019-03-20 15:21:12 +01:00
< li > < a href = "#orga9ae55f" > 3. Time Domain Data< / a >
2019-03-14 16:40:28 +01:00
< ul >
2019-03-20 15:21:12 +01:00
< li > < a href = "#orga3598c8" > 3.1. Plot X-Y-Z position with respect to Time - 1rpm< / a > < / li >
< li > < a href = "#orgb1d7825" > 3.2. Plot X-Y-Z position with respect to Time - 60rpm< / a > < / li >
< li > < a href = "#org487e41f" > 3.3. Plot Synchronous and Asynchronous - 1rpm< / a > < / li >
< li > < a href = "#org5310667" > 3.4. Plot Synchronous and Asynchronous - 60rpm< / a > < / li >
< li > < a href = "#org037b157" > 3.5. Plot X against Y< / a > < / li >
< li > < a href = "#org067dc56" > 3.6. Plot X against Y - Asynchronous< / a > < / li >
2019-03-14 16:40:28 +01:00
< / ul >
< / li >
2019-03-20 15:21:12 +01:00
< li > < a href = "#org590c4a3" > 4. Model of the spindle< / a >
2019-03-14 16:40:28 +01:00
< ul >
2019-03-20 15:21:12 +01:00
< li > < a href = "#orgb7ea4e3" > 4.1. Parameters< / a > < / li >
< li > < a href = "#orge4e720c" > 4.2. Compute Mass and Stiffness Matrices< / a > < / li >
< li > < a href = "#org5d5795f" > 4.3. Compute resonance frequencies< / a > < / li >
< li > < a href = "#org2f89d7b" > 4.4. From model< sub > damping< / sub > compute the Damping Matrix< / a > < / li >
< li > < a href = "#org31812e9" > 4.5. Define inputs, outputs and state names< / a > < / li >
< li > < a href = "#org931a108" > 4.6. Define A, B and C matrices< / a > < / li >
< li > < a href = "#org6246054" > 4.7. Generate the State Space Model< / a > < / li >
< li > < a href = "#orgfed5d4b" > 4.8. Bode Plot< / a > < / li >
2019-03-14 16:40:28 +01:00
< / ul >
< / li >
2019-03-20 15:21:12 +01:00
< li > < a href = "#org90551c6" > 5. Power Spectral Density< / a >
2019-03-14 16:40:28 +01:00
< ul >
2019-03-20 15:21:12 +01:00
< li > < a href = "#org659372f" > 5.1. Compute the PSD< / a > < / li >
< li > < a href = "#org3690c18" > 5.2. Plot the computed PSD< / a > < / li >
< li > < a href = "#org0a6959c" > 5.3. Load the model of the spindle< / a > < / li >
< li > < a href = "#orgb977795" > 5.4. Plot the PSD of the Force using the model< / a > < / li >
< li > < a href = "#orgbd81578" > 5.5. Estimated Shape of the PSD of the force< / a > < / li >
< li > < a href = "#orgebea7be" > 5.6. PSD in [N]< / a > < / li >
< li > < a href = "#org4818470" > 5.7. PSD in [m]< / a > < / li >
< li > < a href = "#org408aad1" > 5.8. Compute the resulting RMS value [m]< / a > < / li >
< li > < a href = "#org97cda8b" > 5.9. Compute the resulting RMS value [m]< / a > < / li >
2019-03-14 16:40:28 +01:00
< / ul >
< / li >
2019-03-20 15:21:12 +01:00
< li > < a href = "#orgb0ca16b" > 6. Functions< / a >
2019-03-14 16:40:28 +01:00
< ul >
2019-03-20 15:21:12 +01:00
< li > < a href = "#org14006e0" > 6.1. getAsynchronousError< / a > < / li >
2019-03-14 16:40:28 +01:00
< / ul >
< / li >
< / ul >
< / div >
< / div >
2019-03-15 11:48:56 +01:00
< p >
< a href = "../index.html" > Back to main page< / a > .
< / p >
2019-03-20 15:21:12 +01:00
< p >
The report made by the PEL is accessible < a href = "documents/Spindle_report_test.pdf" > here< / a > .
< / p >
< div id = "outline-container-org4ef1ca3" class = "outline-2" >
< h2 id = "org4ef1ca3" > < span class = "section-number-2" > 1< / span > Notes< / h2 >
2019-03-14 16:40:28 +01:00
< div class = "outline-text-2" id = "text-1" >
2019-03-20 15:21:12 +01:00
< div id = "org4241ebb" class = "figure" >
< p > < img src = "./figs/setup_spindle.png" alt = "setup_spindle.png" / >
< / p >
< p > < span class = "figure-number" > Figure 1: < / span > Measurement setup at the PEL lab< / p >
< / div >
< / div >
< / div >
< div id = "outline-container-orge92ef42" class = "outline-2" >
< h2 id = "orge92ef42" > < span class = "section-number-2" > 2< / span > Data Processing< / h2 >
< div class = "outline-text-2" id = "text-2" >
2019-03-14 16:40:28 +01:00
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgbf2f91a" class = "outline-3" >
< h3 id = "orgbf2f91a" > < span class = "section-number-3" > 2.1< / span > Load Measurement Data< / h3 >
< div class = "outline-text-3" id = "text-2-1" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > spindle_1rpm_table = readtable< span style = "color: #DCDCCC;" > (< / span > '< span style = "color: #7CB8BB;" > ./< / span > data< span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 10turns_1rpm_icepap< / span > .txt'< span style = "color: #DCDCCC;" > )< / span > ;
spindle_60rpm_table = readtable< span style = "color: #DCDCCC;" > (< / span > '< span style = "color: #7CB8BB;" > ./< / span > data< span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 10turns_60rpm_IcepapFIR< / span > .txt'< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > spindle_1rpm_table< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > , < span style = "color: #7CB8BB;" > :< / span > < span style = "color: #DCDCCC;" > )< / span >
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > spindle_1rpm = table2array< span style = "color: #DCDCCC;" > (< / span > spindle_1rpm_table< span style = "color: #DCDCCC;" > )< / span > ;
spindle_60rpm = table2array< span style = "color: #DCDCCC;" > (< / span > spindle_60rpm_table< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orge799cbd" class = "outline-3" >
< h3 id = "orge799cbd" > < span class = "section-number-3" > 2.2< / span > Convert Signals from [deg] to [sec]< / h3 >
< div class = "outline-text-3" id = "text-2-2" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > speed_1rpm = < span style = "color: #BFEBBF;" > 360< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 60< / span > ; < span style = "color: #7F9F7F;" > % [deg/sec]< / span >
spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > = spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > speed_1rpm; < span style = "color: #7F9F7F;" > % From position [deg] to time [s]< / span >
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
speed_60rpm = < span style = "color: #BFEBBF;" > 360< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 1< / span > ; < span style = "color: #7F9F7F;" > % [deg/sec]< / span >
spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > = spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > speed_60rpm; < span style = "color: #7F9F7F;" > % From position [deg] to time [s]< / span >
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orge0e840d" class = "outline-3" >
< h3 id = "orge0e840d" > < span class = "section-number-3" > 2.3< / span > Convert Signals< / h3 >
< div class = "outline-text-3" id = "text-2-3" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > % scaling = < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 80000< / span > ; % < span style = "color: #BFEBBF;" > 80< / span > mV< span style = "color: #7CB8BB;" > /< / span > um
scaling = < span style = "color: #BFEBBF;" > 1e< / span > < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 6< / span > ; < span style = "color: #7F9F7F;" > % [um] to [m]< / span >
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #DCDCCC;" > )< / span > = scaling< span style = "color: #7CB8BB;" > *< / span > spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #DCDCCC;" > )< / span > ; < span style = "color: #7F9F7F;" > % [V] to [m]< / span >
spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #DCDCCC;" > )< / span > = spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > mean< span style = "color: #DCDCCC;" > (< / span > spindle_1rpm< span style = "color: #BFEBBF;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ; < span style = "color: #7F9F7F;" > % Remove mean< / span >
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #DCDCCC;" > )< / span > = scaling< span style = "color: #7CB8BB;" > *< / span > spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #DCDCCC;" > )< / span > ; < span style = "color: #7F9F7F;" > % [V] to [m]< / span >
spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #DCDCCC;" > )< / span > = spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > mean< span style = "color: #DCDCCC;" > (< / span > spindle_60rpm< span style = "color: #BFEBBF;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > :< / span > end< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ; < span style = "color: #7F9F7F;" > % Remove mean< / span >
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgb79c23f" class = "outline-3" >
< h3 id = "orgb79c23f" > < span class = "section-number-3" > 2.4< / span > Ts and Fs for both measurements< / h3 >
< div class = "outline-text-3" id = "text-2-4" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > Ts_1rpm = spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > end, < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #DCDCCC;" > (< / span > length< span style = "color: #BFEBBF;" > (< / span > spindle_1rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > ;
Fs_1rpm = < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #7CB8BB;" > /< / span > Ts_1rpm;
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
Ts_60rpm = spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > end, < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #DCDCCC;" > (< / span > length< span style = "color: #BFEBBF;" > (< / span > spindle_60rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > ;
Fs_60rpm = < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #7CB8BB;" > /< / span > Ts_60rpm;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org545b4dc" class = "outline-3" >
< h3 id = "org545b4dc" > < span class = "section-number-3" > 2.5< / span > Find Noise of the ADC [m/sqrt(Hz)]< / h3 >
< div class = "outline-text-3" id = "text-2-5" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > data = spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #DCDCCC;" > )< / span > ;
dV_1rpm = min< span style = "color: #DCDCCC;" > (< / span > abs< span style = "color: #BFEBBF;" > (< / span > data< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > data< span style = "color: #D0BF8F;" > (< / span > data < span style = "color: #7CB8BB;" > ~=< / span > data< span style = "color: #93E0E3;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #93E0E3;" > )< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
noise_1rpm = dV_1rpm< span style = "color: #7CB8BB;" > /< / span > sqrt< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 12< / span > < span style = "color: #7CB8BB;" > *< / span > Fs_1rpm< span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
data = spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #DCDCCC;" > )< / span > ;
dV_60rpm = min< span style = "color: #DCDCCC;" > (< / span > abs< span style = "color: #BFEBBF;" > (< / span > data< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 50< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > data< span style = "color: #D0BF8F;" > (< / span > data < span style = "color: #7CB8BB;" > ~=< / span > data< span style = "color: #93E0E3;" > (< / span > < span style = "color: #BFEBBF;" > 50< / span > < span style = "color: #93E0E3;" > )< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
noise_60rpm = dV_60rpm< span style = "color: #7CB8BB;" > /< / span > sqrt< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 12< / span > < span style = "color: #7CB8BB;" > *< / span > Fs_60rpm< span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgb7c25b7" class = "outline-3" >
< h3 id = "orgb7c25b7" > < span class = "section-number-3" > 2.6< / span > Save all the data under spindle struct< / h3 >
< div class = "outline-text-3" id = "text-2-6" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > spindle.rpm1.time = spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > ;
spindle.rpm1.deg = spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
spindle.rpm1.Ts = Ts_1rpm;
2019-03-15 11:48:56 +01:00
spindle.rpm1.Fs = < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #7CB8BB;" > /< / span > Ts_1rpm;
spindle.rpm1.x = spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #DCDCCC;" > )< / span > ;
spindle.rpm1.y = spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 4< / span > < span style = "color: #DCDCCC;" > )< / span > ;
spindle.rpm1.z = spindle_1rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
spindle.rpm1.adcn = noise_1rpm;
2019-03-15 11:48:56 +01:00
spindle.rpm60.time = spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > ;
spindle.rpm60.deg = spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
spindle.rpm60.Ts = Ts_60rpm;
2019-03-15 11:48:56 +01:00
spindle.rpm60.Fs = < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #7CB8BB;" > /< / span > Ts_60rpm;
spindle.rpm60.x = spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #DCDCCC;" > )< / span > ;
spindle.rpm60.y = spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 4< / span > < span style = "color: #DCDCCC;" > )< / span > ;
spindle.rpm60.z = spindle_60rpm< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > , < span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
spindle.rpm60.adcn = noise_60rpm;
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org707a6a0" class = "outline-3" >
< h3 id = "org707a6a0" > < span class = "section-number-3" > 2.7< / span > Compute Asynchronous data< / h3 >
< div class = "outline-text-3" id = "text-2-7" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #F0DFAF; font-weight: bold;" > for< / span > < span style = "color: #DFAF8F;" > direction< / span > = < span style = "color: #DCDCCC;" > {< / span > < span style = "color: #CC9393;" > 'x'< / span > < span style = "color: #CC9393;" > , 'y', 'z'< / span > < span style = "color: #DCDCCC;" > }< / span >
spindle.rpm1.< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > direction< span style = "color: #D0BF8F;" > {< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #D0BF8F;" > }< / span > , < span style = "color: #CC9393;" > 'async'< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > = getAsynchronousError< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.< span style = "color: #BFEBBF;" > (< / span > direction< span style = "color: #D0BF8F;" > {< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #D0BF8F;" > }< / span > < span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #BFEBBF;" > 10< / span > < span style = "color: #DCDCCC;" > )< / span > ;
spindle.rpm60.< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > direction< span style = "color: #D0BF8F;" > {< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #D0BF8F;" > }< / span > , < span style = "color: #CC9393;" > 'async'< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > = getAsynchronousError< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.< span style = "color: #BFEBBF;" > (< / span > direction< span style = "color: #D0BF8F;" > {< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #D0BF8F;" > }< / span > < span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #BFEBBF;" > 10< / span > < span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #F0DFAF; font-weight: bold;" > end< / span >
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orga9ae55f" class = "outline-2" >
< h2 id = "orga9ae55f" > < span class = "section-number-2" > 3< / span > Time Domain Data< / h2 >
< div class = "outline-text-2" id = "text-3" >
2019-03-14 16:40:28 +01:00
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orga3598c8" class = "outline-3" >
< h3 id = "orga3598c8" > < span class = "section-number-3" > 3.1< / span > Plot X-Y-Z position with respect to Time - 1rpm< / h3 >
< div class = "outline-text-3" id = "text-3-1" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.time, spindle.rpm1.x< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.time, spindle.rpm1.y< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.time, spindle.rpm1.z< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Time < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > s< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Amplitude < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > m< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > {< / span > 'tx < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1rpm< / span > ', 'ty < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1rpm< / span > ', 'tz < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1rpm< / span > '< span style = "color: #BFEBBF;" > }< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "org4532134" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_xyz_1rpm.png" alt = "spindle_xyz_1rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 2: < / span > Raw time domain translation - 1rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgb1d7825" class = "outline-3" >
< h3 id = "orgb1d7825" > < span class = "section-number-3" > 3.2< / span > Plot X-Y-Z position with respect to Time - 60rpm< / h3 >
< div class = "outline-text-3" id = "text-3-2" >
2019-03-14 16:40:28 +01:00
< p >
2019-03-20 15:21:12 +01:00
The measurements for the spindle turning at 60rpm are shown figure < a href = "#org624ade7" > 3< / a > .
2019-03-14 16:40:28 +01:00
< / p >
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.time, spindle.rpm60.x< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.time, spindle.rpm60.y< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.time, spindle.rpm60.z< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Time < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > s< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Amplitude < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > m< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > {< / span > 'tx < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 60rpm< / span > ', 'ty < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 60rpm< / span > ', 'tz < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 60rpm< / span > '< span style = "color: #BFEBBF;" > }< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "org624ade7" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_xyz_60rpm.png" alt = "spindle_xyz_60rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 3: < / span > Raw time domain translation - 60rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org487e41f" class = "outline-3" >
< h3 id = "org487e41f" > < span class = "section-number-3" > 3.3< / span > Plot Synchronous and Asynchronous - 1rpm< / h3 >
< div class = "outline-text-3" id = "text-3-3" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.time, spindle.rpm1.x< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.time, spindle.rpm1.xasync< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Time < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > s< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Amplitude < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > m< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > {< / span > 'tx < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1rpm< / span > < span style = "color: #7CB8BB;" > -< / span > Sync', 'tx < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1rpm< / span > < span style = "color: #7CB8BB;" > -< / span > Async'< span style = "color: #BFEBBF;" > }< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "orgaccc4b0" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_1rpm_sync_async.png" alt = "spindle_1rpm_sync_async.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 4: < / span > Comparison of the synchronous and asynchronous displacements - 1rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org5310667" class = "outline-3" >
< h3 id = "org5310667" > < span class = "section-number-3" > 3.4< / span > Plot Synchronous and Asynchronous - 60rpm< / h3 >
< div class = "outline-text-3" id = "text-3-4" >
2019-03-14 16:40:28 +01:00
< p >
2019-03-20 15:21:12 +01:00
The data is split into its Synchronous and Asynchronous part (figure < a href = "#orgdc342a6" > 5< / a > ). We then use the Asynchronous part for the analysis in the following sections as we suppose that we can deal with the synchronous part with feedforward control.
2019-03-14 16:40:28 +01:00
< / p >
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.time, spindle.rpm60.x< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.time, spindle.rpm60.xasync< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Time < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > s< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Amplitude < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > m< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > {< / span > 'tx < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 60rpm< / span > < span style = "color: #7CB8BB;" > -< / span > Sync', 'tx < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 60rpm< / span > < span style = "color: #7CB8BB;" > -< / span > Async'< span style = "color: #BFEBBF;" > }< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "orgdc342a6" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_60rpm_sync_async.png" alt = "spindle_60rpm_sync_async.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 5: < / span > Comparison of the synchronous and asynchronous displacements - 60rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org037b157" class = "outline-3" >
< h3 id = "org037b157" > < span class = "section-number-3" > 3.5< / span > Plot X against Y< / h3 >
< div class = "outline-text-3" id = "text-3-5" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.x, spindle.rpm1.y< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.x, spindle.rpm60.y< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'X Amplitude < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > m< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Y Amplitude < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > m< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > {< / span > '< span style = "color: #BFEBBF;" > 1rpm< / span > ', '< span style = "color: #BFEBBF;" > 60rpm< / span > '< span style = "color: #BFEBBF;" > }< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "org6fbaabf" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_xy_1_60rpm.png" alt = "spindle_xy_1_60rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 6: < / span > Synchronous x-y displacement< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org067dc56" class = "outline-3" >
< h3 id = "org067dc56" > < span class = "section-number-3" > 3.6< / span > Plot X against Y - Asynchronous< / h3 >
< div class = "outline-text-3" id = "text-3-6" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.xasync, spindle.rpm1.yasync< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.xasync, spindle.rpm60.yasync< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'X Amplitude < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > m< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Y Amplitude < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > m< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > {< / span > '< span style = "color: #BFEBBF;" > 1rpm< / span > ', '< span style = "color: #BFEBBF;" > 60rpm< / span > '< span style = "color: #BFEBBF;" > }< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "org2cad174" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_xy_1_60_rpm_async.png" alt = "spindle_xy_1_60_rpm_async.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 7: < / span > Asynchronous x-y displacement< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org590c4a3" class = "outline-2" >
< h2 id = "org590c4a3" > < span class = "section-number-2" > 4< / span > Model of the spindle< / h2 >
< div class = "outline-text-2" id = "text-4" >
2019-03-14 16:40:28 +01:00
< p >
2019-03-20 15:21:12 +01:00
The model of the spindle used is shown figure < a href = "#org5077262" > 8< / a > .
2019-03-14 16:40:28 +01:00
< / p >
< p >
\(f\) is the perturbation force of the spindle and \(d\) is the measured displacement.
< / p >
2019-03-20 15:21:12 +01:00
< div id = "org5077262" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "./figs/uniaxial-model-spindle.png" alt = "uniaxial-model-spindle.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 8: < / span > Model of the Spindle< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgb7ea4e3" class = "outline-3" >
< h3 id = "orgb7ea4e3" > < span class = "section-number-3" > 4.1< / span > Parameters< / h3 >
< div class = "outline-text-3" id = "text-4-1" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > mg = < span style = "color: #BFEBBF;" > 3000< / span > ; < span style = "color: #7F9F7F;" > % Mass of granite [kg]< / span >
ms = < span style = "color: #BFEBBF;" > 50< / span > ; < span style = "color: #7F9F7F;" > % Mass of Spindle [kg]< / span >
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
kg = < span style = "color: #BFEBBF;" > 1e8< / span > ; < span style = "color: #7F9F7F;" > % Stiffness of granite [N/m]< / span >
ks = < span style = "color: #BFEBBF;" > 5e7< / span > ; < span style = "color: #7F9F7F;" > % Stiffness of spindle [N/m]< / span >
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orge4e720c" class = "outline-3" >
< h3 id = "orge4e720c" > < span class = "section-number-3" > 4.2< / span > Compute Mass and Stiffness Matrices< / h3 >
< div class = "outline-text-3" id = "text-4-2" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > Mm = diag< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > ms, mg< span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > ;
Km = diag< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > ks, ks< span style = "color: #7CB8BB;" > +< / span > kg< span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > diag< span style = "color: #DCDCCC;" > (< / span > ks, < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > diag< span style = "color: #DCDCCC;" > (< / span > ks, < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org5d5795f" class = "outline-3" >
< h3 id = "org5d5795f" > < span class = "section-number-3" > 4.3< / span > Compute resonance frequencies< / h3 >
< div class = "outline-text-3" id = "text-4-3" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > A = < span style = "color: #DCDCCC;" > [< / span > zeros< span style = "color: #BFEBBF;" > (< / span > size< span style = "color: #D0BF8F;" > (< / span > Mm< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > eye< span style = "color: #BFEBBF;" > (< / span > size< span style = "color: #D0BF8F;" > (< / span > Mm< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > ; < span style = "color: #7CB8BB;" > -< / span > Mm< span style = "color: #7CB8BB;" > \< / span > Km zeros< span style = "color: #BFEBBF;" > (< / span > size< span style = "color: #D0BF8F;" > (< / span > Mm< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > ]< / span > ;
eigA = imag< span style = "color: #DCDCCC;" > (< / span > eigs< span style = "color: #BFEBBF;" > (< / span > A< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > pi< / span > ;
eigA = eigA< span style = "color: #DCDCCC;" > (< / span > eigA< span style = "color: #7CB8BB;" > > < / span > < span style = "color: #BFEBBF;" > 0< / span > < span style = "color: #DCDCCC;" > )< / span > ;
eigA = eigA< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #7CB8BB;" > :< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org2f89d7b" class = "outline-3" >
< h3 id = "org2f89d7b" > < span class = "section-number-3" > 4.4< / span > From model< sub > damping< / sub > compute the Damping Matrix< / h3 >
< div class = "outline-text-3" id = "text-4-4" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > modal_damping = < span style = "color: #BFEBBF;" > 1e< / span > < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 5< / span > ;
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
ab = < span style = "color: #DCDCCC;" > [< / span > < span style = "color: #BFEBBF;" > 0< / span > .< span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #7CB8BB;" > *< / span > eigA< span style = "color: #BFEBBF;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #BFEBBF;" > 0< / span > .< span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #7CB8BB;" > /< / span > eigA< span style = "color: #BFEBBF;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #BFEBBF;" > )< / span > ; < span style = "color: #BFEBBF;" > 0< / span > .< span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #7CB8BB;" > *< / span > eigA< span style = "color: #BFEBBF;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #BFEBBF;" > 0< / span > .< span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #7CB8BB;" > /< / span > eigA< span style = "color: #BFEBBF;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > ]< / span > < span style = "color: #7CB8BB;" > \< / span > < span style = "color: #DCDCCC;" > [< / span > modal_damping ; modal_damping< span style = "color: #DCDCCC;" > ]< / span > ;
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
Cm = ab< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > Mm < span style = "color: #7CB8BB;" > +< / span > ab< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > Km;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org31812e9" class = "outline-3" >
< h3 id = "org31812e9" > < span class = "section-number-3" > 4.5< / span > Define inputs, outputs and state names< / h3 >
< div class = "outline-text-3" id = "text-4-5" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > StateName = < span style = "color: #DCDCCC;" > {< / span > < span style = "text-decoration: underline;" > ...< / span >
< span style = "color: #CC9393;" > 'xs'< / span > , < span style = "text-decoration: underline;" > ...< / span > < span style = "color: #7F9F7F;" > % Displacement of Spindle [m]< / span >
< span style = "color: #CC9393;" > 'xg'< / span > , < span style = "text-decoration: underline;" > ...< / span > < span style = "color: #7F9F7F;" > % Displacement of Granite [m]< / span >
< span style = "color: #CC9393;" > 'vs'< / span > , < span style = "text-decoration: underline;" > ...< / span > < span style = "color: #7F9F7F;" > % Velocity of Spindle [m]< / span >
< span style = "color: #CC9393;" > 'vg'< / span > , < span style = "text-decoration: underline;" > ...< / span > < span style = "color: #7F9F7F;" > % Velocity of Granite [m]< / span >
< span style = "color: #DCDCCC;" > }< / span > ;
StateUnit = < span style = "color: #DCDCCC;" > {< / span > < span style = "color: #CC9393;" > 'm', 'm', 'm/s', 'm/s'< / span > < span style = "color: #DCDCCC;" > }< / span > ;
InputName = < span style = "color: #DCDCCC;" > {< / span > < span style = "text-decoration: underline;" > ...< / span >
< span style = "color: #CC9393;" > 'f'< / span > < span style = "text-decoration: underline;" > ...< / span > < span style = "color: #7F9F7F;" > % Spindle Force [N]< / span >
< span style = "color: #DCDCCC;" > }< / span > ;
InputUnit = < span style = "color: #DCDCCC;" > {< / span > < span style = "color: #CC9393;" > 'N'< / span > < span style = "color: #DCDCCC;" > }< / span > ;
OutputName = < span style = "color: #DCDCCC;" > {< / span > < span style = "text-decoration: underline;" > ...< / span >
< span style = "color: #CC9393;" > 'd'< / span > < span style = "text-decoration: underline;" > ...< / span > < span style = "color: #7F9F7F;" > % Displacement [m]< / span >
< span style = "color: #DCDCCC;" > }< / span > ;
OutputUnit = < span style = "color: #DCDCCC;" > {< / span > < span style = "color: #CC9393;" > 'm'< / span > < span style = "color: #DCDCCC;" > }< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org931a108" class = "outline-3" >
< h3 id = "org931a108" > < span class = "section-number-3" > 4.6< / span > Define A, B and C matrices< / h3 >
< div class = "outline-text-3" id = "text-4-6" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7F9F7F;" > % A Matrix< / span >
A = < span style = "color: #DCDCCC;" > [< / span > zeros< span style = "color: #BFEBBF;" > (< / span > size< span style = "color: #D0BF8F;" > (< / span > Mm< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > eye< span style = "color: #BFEBBF;" > (< / span > size< span style = "color: #D0BF8F;" > (< / span > Mm< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > ; < span style = "text-decoration: underline;" > ...< / span >
< span style = "color: #7CB8BB;" > -< / span > Mm< span style = "color: #7CB8BB;" > \< / span > Km < span style = "color: #7CB8BB;" > -< / span > Mm< span style = "color: #7CB8BB;" > \< / span > Cm< span style = "color: #DCDCCC;" > ]< / span > ;
< span style = "color: #7F9F7F;" > % B Matrix< / span >
B_low = zeros< span style = "color: #DCDCCC;" > (< / span > length< span style = "color: #BFEBBF;" > (< / span > StateName< span style = "color: #BFEBBF;" > )< / span > , length< span style = "color: #BFEBBF;" > (< / span > InputName< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
B_low< span style = "color: #DCDCCC;" > (< / span > strcmp< span style = "color: #BFEBBF;" > (< / span > StateName,< span style = "color: #CC9393;" > 'vs'< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #CC9393;" > , strcmp< / span > < span style = "color: #BFEBBF;" > (< / span > < span style = "color: #CC9393;" > InputName,'f'< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > = < span style = "color: #BFEBBF;" > 1< / span > ;
B_low< span style = "color: #DCDCCC;" > (< / span > strcmp< span style = "color: #BFEBBF;" > (< / span > StateName,< span style = "color: #CC9393;" > 'vg'< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #CC9393;" > , strcmp< / span > < span style = "color: #BFEBBF;" > (< / span > < span style = "color: #CC9393;" > InputName,'f'< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > = < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1< / span > ;
B = blkdiag< span style = "color: #DCDCCC;" > (< / span > zeros< span style = "color: #BFEBBF;" > (< / span > length< span style = "color: #D0BF8F;" > (< / span > StateName< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #BFEBBF;" > )< / span > , pinv< span style = "color: #BFEBBF;" > (< / span > Mm< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > B_low;
< span style = "color: #7F9F7F;" > % C Matrix< / span >
C = zeros< span style = "color: #DCDCCC;" > (< / span > length< span style = "color: #BFEBBF;" > (< / span > OutputName< span style = "color: #BFEBBF;" > )< / span > , length< span style = "color: #BFEBBF;" > (< / span > StateName< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
C< span style = "color: #DCDCCC;" > (< / span > strcmp< span style = "color: #BFEBBF;" > (< / span > OutputName,< span style = "color: #CC9393;" > 'd'< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #CC9393;" > , strcmp< / span > < span style = "color: #BFEBBF;" > (< / span > < span style = "color: #CC9393;" > StateName,'xs'< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > = < span style = "color: #BFEBBF;" > 1< / span > ;
C< span style = "color: #DCDCCC;" > (< / span > strcmp< span style = "color: #BFEBBF;" > (< / span > OutputName,< span style = "color: #CC9393;" > 'd'< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #CC9393;" > , strcmp< / span > < span style = "color: #BFEBBF;" > (< / span > < span style = "color: #CC9393;" > StateName,'xg'< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > = < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1< / span > ;
< span style = "color: #7F9F7F;" > % D Matrix< / span >
D = zeros< span style = "color: #DCDCCC;" > (< / span > length< span style = "color: #BFEBBF;" > (< / span > OutputName< span style = "color: #BFEBBF;" > )< / span > , length< span style = "color: #BFEBBF;" > (< / span > InputName< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org6246054" class = "outline-3" >
< h3 id = "org6246054" > < span class = "section-number-3" > 4.7< / span > Generate the State Space Model< / h3 >
< div class = "outline-text-3" id = "text-4-7" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > sys = ss< span style = "color: #DCDCCC;" > (< / span > A, B, C, D< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
sys.StateName = StateName;
sys.StateUnit = StateUnit;
sys.InputName = InputName;
sys.InputUnit = InputUnit;
sys.OutputName = OutputName;
sys.OutputUnit = OutputUnit;
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgfed5d4b" class = "outline-3" >
< h3 id = "orgfed5d4b" > < span class = "section-number-3" > 4.8< / span > Bode Plot< / h3 >
< div class = "outline-text-3" id = "text-4-8" >
2019-03-14 16:40:28 +01:00
< p >
2019-03-20 15:21:12 +01:00
The transfer function from a disturbance force \(f\) to the measured displacement \(d\) is shown figure < a href = "#org2a58760" > 9< / a > .
2019-03-14 16:40:28 +01:00
< / p >
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > freqs = logspace< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1< / span > , < span style = "color: #BFEBBF;" > 3< / span > , < span style = "color: #BFEBBF;" > 1000< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
< span style = "color: #7CB8BB;" > figure< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > freqs, abs< span style = "color: #BFEBBF;" > (< / span > squeeze< span style = "color: #D0BF8F;" > (< / span > freqresp< span style = "color: #93E0E3;" > (< / span > sys< span style = "color: #9FC59F;" > (< / span > < span style = "color: #CC9393;" > 'd', 'f'< / span > < span style = "color: #9FC59F;" > )< / span > < span style = "color: #CC9393;" > , freqs, 'Hz'< / span > < span style = "color: #93E0E3;" > )< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #7CB8BB;" > set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > gca< / span > , < span style = "color: #CC9393;" > 'XScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > gca, 'YScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Frequency < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > Hz< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Amplitude < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > m/N< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "org2a58760" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_f_to_d.png" alt = "spindle_f_to_d.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 9: < / span > Bode plot of the transfer function from \(f\) to \(d\)< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org90551c6" class = "outline-2" >
< h2 id = "org90551c6" > < span class = "section-number-2" > 5< / span > Power Spectral Density< / h2 >
< div class = "outline-text-2" id = "text-5" >
2019-03-14 16:40:28 +01:00
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org659372f" class = "outline-3" >
< h3 id = "org659372f" > < span class = "section-number-3" > 5.1< / span > Compute the PSD< / h3 >
< div class = "outline-text-3" id = "text-5-1" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > n_av = < span style = "color: #BFEBBF;" > 4< / span > ; < span style = "color: #7F9F7F;" > % Number of average< / span >
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
< span style = "color: #DCDCCC;" > [< / span > pxx_1rpm, f_1rpm< span style = "color: #DCDCCC;" > ]< / span > = pwelch< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.xasync, hanning< span style = "color: #BFEBBF;" > (< / span > ceil< span style = "color: #D0BF8F;" > (< / span > length< span style = "color: #93E0E3;" > (< / span > spindle.rpm1.xasync< span style = "color: #93E0E3;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > n_av< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #BFEBBF;" > []< / span > , < span style = "color: #BFEBBF;" > []< / span > , spindle.rpm1.Fs< span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #DCDCCC;" > [< / span > pyy_1rpm, < span style = "color: #7CB8BB;" > ~< / span > < span style = "color: #DCDCCC;" > ]< / span > = pwelch< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.yasync, hanning< span style = "color: #BFEBBF;" > (< / span > ceil< span style = "color: #D0BF8F;" > (< / span > length< span style = "color: #93E0E3;" > (< / span > spindle.rpm1.yasync< span style = "color: #93E0E3;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > n_av< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #BFEBBF;" > []< / span > , < span style = "color: #BFEBBF;" > []< / span > , spindle.rpm1.Fs< span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #DCDCCC;" > [< / span > pzz_1rpm, < span style = "color: #7CB8BB;" > ~< / span > < span style = "color: #DCDCCC;" > ]< / span > = pwelch< span style = "color: #DCDCCC;" > (< / span > spindle.rpm1.zasync, hanning< span style = "color: #BFEBBF;" > (< / span > ceil< span style = "color: #D0BF8F;" > (< / span > length< span style = "color: #93E0E3;" > (< / span > spindle.rpm1.zasync< span style = "color: #93E0E3;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > n_av< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #BFEBBF;" > []< / span > , < span style = "color: #BFEBBF;" > []< / span > , spindle.rpm1.Fs< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
< span style = "color: #DCDCCC;" > [< / span > pxx_60rpm, f_60rpm< span style = "color: #DCDCCC;" > ]< / span > = pwelch< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.xasync, hanning< span style = "color: #BFEBBF;" > (< / span > ceil< span style = "color: #D0BF8F;" > (< / span > length< span style = "color: #93E0E3;" > (< / span > spindle.rpm60.xasync< span style = "color: #93E0E3;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > n_av< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #BFEBBF;" > []< / span > , < span style = "color: #BFEBBF;" > []< / span > , spindle.rpm60.Fs< span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #DCDCCC;" > [< / span > pyy_60rpm, < span style = "color: #7CB8BB;" > ~< / span > < span style = "color: #DCDCCC;" > ]< / span > = pwelch< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.yasync, hanning< span style = "color: #BFEBBF;" > (< / span > ceil< span style = "color: #D0BF8F;" > (< / span > length< span style = "color: #93E0E3;" > (< / span > spindle.rpm60.yasync< span style = "color: #93E0E3;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > n_av< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #BFEBBF;" > []< / span > , < span style = "color: #BFEBBF;" > []< / span > , spindle.rpm60.Fs< span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #DCDCCC;" > [< / span > pzz_60rpm, < span style = "color: #7CB8BB;" > ~< / span > < span style = "color: #DCDCCC;" > ]< / span > = pwelch< span style = "color: #DCDCCC;" > (< / span > spindle.rpm60.zasync, hanning< span style = "color: #BFEBBF;" > (< / span > ceil< span style = "color: #D0BF8F;" > (< / span > length< span style = "color: #93E0E3;" > (< / span > spindle.rpm60.zasync< span style = "color: #93E0E3;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > n_av< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #BFEBBF;" > []< / span > , < span style = "color: #BFEBBF;" > []< / span > , spindle.rpm60.Fs< span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org3690c18" class = "outline-3" >
< h3 id = "org3690c18" > < span class = "section-number-3" > 5.2< / span > Plot the computed PSD< / h3 >
< div class = "outline-text-3" id = "text-5-2" >
2019-03-14 16:40:28 +01:00
< p >
2019-03-20 15:21:12 +01:00
The Amplitude Spectral Densities of the displacement of the spindle for the \(x\), \(y\) and \(z\) directions are shown figure < a href = "#org94523dd" > 11< / a > . They correspond to the Asynchronous part shown figure < a href = "#orgdc342a6" > 5< / a > .
2019-03-14 16:40:28 +01:00
< / p >
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > f_1rpm, < span style = "color: #BFEBBF;" > (< / span > pxx_1rpm< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > , 'DisplayName', '$P_< span style = "color: #BFEBBF;" > {< / span > xx< span style = "color: #BFEBBF;" > }< / span > $ < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1rpm< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_1rpm, < span style = "color: #BFEBBF;" > (< / span > pyy_1rpm< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > , 'DisplayName', '$P_< span style = "color: #BFEBBF;" > {< / span > yy< span style = "color: #BFEBBF;" > }< / span > $ < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1rpm< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_1rpm, < span style = "color: #BFEBBF;" > (< / span > pzz_1rpm< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > , 'DisplayName', '$P_< span style = "color: #BFEBBF;" > {< / span > zz< span style = "color: #BFEBBF;" > }< / span > $ < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1rpm< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
% plot(f_1rpm, spindle.rpm1.adcn< span style = "color: #7CB8BB;" > *< / span > ones(size(f_1rpm)), '< span style = "color: #7CB8BB;" > --< / span > k', 'DisplayName', 'ADC < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1rpm< / span > ');
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
< span style = "color: #7CB8BB;" > set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > gca< / span > , < span style = "color: #CC9393;" > 'XScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > gca, 'YScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Frequency < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > Hz< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > '< / span > ASD < span style = "color: #BFEBBF;" > [< / span > $m< span style = "color: #7CB8BB;" > /\< / span > sqrt< span style = "color: #D0BF8F;" > {< / span > Hz< span style = "color: #D0BF8F;" > }< / span > $< span style = "color: #BFEBBF;" > ]< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Location', 'northeast'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlim< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > f_1rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #D0BF8F;" > )< / span > , f_1rpm< span style = "color: #D0BF8F;" > (< / span > end< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "orgd766415" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_psd_xyz_1rpm.png" alt = "spindle_psd_xyz_1rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 10: < / span > Power spectral density of the Asynchronous displacement - 1rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, < span style = "color: #BFEBBF;" > (< / span > pxx_60rpm< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > , 'DisplayName', '$P_< span style = "color: #BFEBBF;" > {< / span > xx< span style = "color: #BFEBBF;" > }< / span > $ < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 60rpm< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, < span style = "color: #BFEBBF;" > (< / span > pyy_60rpm< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > , 'DisplayName', '$P_< span style = "color: #BFEBBF;" > {< / span > yy< span style = "color: #BFEBBF;" > }< / span > $ < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 60rpm< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, < span style = "color: #BFEBBF;" > (< / span > pzz_60rpm< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > , 'DisplayName', '$P_< span style = "color: #BFEBBF;" > {< / span > zz< span style = "color: #BFEBBF;" > }< / span > $ < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 60rpm< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
% plot(f_60rpm, spindle.rpm60.adcn< span style = "color: #7CB8BB;" > *< / span > ones(size(f_60rpm)), '< span style = "color: #7CB8BB;" > --< / span > k', 'DisplayName', 'ADC < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 60rpm< / span > ');
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
< span style = "color: #7CB8BB;" > set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > gca< / span > , < span style = "color: #CC9393;" > 'XScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > gca, 'YScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Frequency < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > Hz< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > '< / span > ASD < span style = "color: #BFEBBF;" > [< / span > $m< span style = "color: #7CB8BB;" > /\< / span > sqrt< span style = "color: #D0BF8F;" > {< / span > Hz< span style = "color: #D0BF8F;" > }< / span > $< span style = "color: #BFEBBF;" > ]< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Location', 'northeast'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlim< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > f_60rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #D0BF8F;" > )< / span > , f_60rpm< span style = "color: #D0BF8F;" > (< / span > end< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "org94523dd" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_psd_xyz_60rpm.png" alt = "spindle_psd_xyz_60rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 11: < / span > Power spectral density of the Asynchronous displacement - 60rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org0a6959c" class = "outline-3" >
< h3 id = "org0a6959c" > < span class = "section-number-3" > 5.3< / span > Load the model of the spindle< / h3 >
< div class = "outline-text-3" id = "text-5-3" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > load< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > './mat/spindle_model.mat', 'sys'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
Tfd = abs< span style = "color: #DCDCCC;" > (< / span > squeeze< span style = "color: #BFEBBF;" > (< / span > freqresp< span style = "color: #D0BF8F;" > (< / span > sys< span style = "color: #93E0E3;" > (< / span > < span style = "color: #CC9393;" > 'd', 'f'< / span > < span style = "color: #93E0E3;" > )< / span > < span style = "color: #CC9393;" > , f_60rpm, 'Hz'< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgb977795" class = "outline-3" >
< h3 id = "orgb977795" > < span class = "section-number-3" > 5.4< / span > Plot the PSD of the Force using the model< / h3 >
< div class = "outline-text-3" id = "text-5-4" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, < span style = "color: #BFEBBF;" > (< / span > pxx_60rpm< span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > ./< / span > Tfd, < span style = "color: #CC9393;" > 'DisplayName', '$P_< / span > < span style = "color: #BFEBBF;" > {< / span > < span style = "color: #CC9393;" > xx< / span > < span style = "color: #BFEBBF;" > }< / span > < span style = "color: #CC9393;" > $'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #7CB8BB;" > set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > gca< / span > , < span style = "color: #CC9393;" > 'XScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > gca, 'YScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Frequency < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > Hz< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > '< / span > ASD < span style = "color: #BFEBBF;" > [< / span > $N< span style = "color: #7CB8BB;" > /\< / span > sqrt< span style = "color: #D0BF8F;" > {< / span > Hz< span style = "color: #D0BF8F;" > }< / span > $< span style = "color: #BFEBBF;" > ]< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
xlim< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > f_60rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #D0BF8F;" > )< / span > , f_60rpm< span style = "color: #D0BF8F;" > (< / span > end< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "orgfe4f821" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_psd_f_60rpm.png" alt = "spindle_psd_f_60rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 12: < / span > Power spectral density of the force - 60rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgbd81578" class = "outline-3" >
< h3 id = "orgbd81578" > < span class = "section-number-3" > 5.5< / span > Estimated Shape of the PSD of the force< / h3 >
< div class = "outline-text-3" id = "text-5-5" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > s = tf< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 's'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
Wd_simple = < span style = "color: #BFEBBF;" > 1e< / span > < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 8< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #7CB8BB;" > +< / span > s< span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > pi< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 0< / span > .< span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #7CB8BB;" > +< / span > s< span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > pi< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 100< / span > < span style = "color: #DCDCCC;" > )< / span > ;
Wf_simple = Wd_simple< span style = "color: #7CB8BB;" > /< / span > tf< span style = "color: #DCDCCC;" > (< / span > sys< span style = "color: #BFEBBF;" > (< / span > < span style = "color: #CC9393;" > 'd', 'f'< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
TWf_simple = abs< span style = "color: #DCDCCC;" > (< / span > squeeze< span style = "color: #BFEBBF;" > (< / span > freqresp< span style = "color: #D0BF8F;" > (< / span > Wf_simple, f_60rpm, < span style = "color: #CC9393;" > 'Hz'< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
% Wf = < span style = "color: #BFEBBF;" > 0< / span > .< span style = "color: #BFEBBF;" > 48902< / span > < span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 327< / span > .< span style = "color: #BFEBBF;" > 9< / span > )< span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 109< / span > .< span style = "color: #BFEBBF;" > 6< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 1< / span > .< span style = "color: #BFEBBF;" > 687e04< / span > )< span style = "color: #7CB8BB;" > /< / span > ((s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 30< / span > .< span style = "color: #BFEBBF;" > 59< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 8541< / span > )< span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 29< / span > .< span style = "color: #BFEBBF;" > 11< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 3< / span > .< span style = "color: #BFEBBF;" > 268e04< / span > ));
% Wf = < span style = "color: #BFEBBF;" > 0< / span > .< span style = "color: #BFEBBF;" > 15788< / span > < span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 418< / span > .< span style = "color: #BFEBBF;" > 6< / span > )< span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 1697< / span > )< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 124< / span > .< span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 2< / span > .< span style = "color: #BFEBBF;" > 529e04< / span > )< span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 681< / span > .< span style = "color: #BFEBBF;" > 3< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 9< / span > .< span style = "color: #BFEBBF;" > 018e05< / span > )< span style = "color: #7CB8BB;" > /< / span > ((s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 23< / span > .< span style = "color: #BFEBBF;" > 03< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 8916< / span > )< span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 33< / span > .< span style = "color: #BFEBBF;" > 85< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 6< / span > .< span style = "color: #BFEBBF;" > 559e04< / span > )< span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 71< / span > .< span style = "color: #BFEBBF;" > 43< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 4< / span > .< span style = "color: #BFEBBF;" > 283e05< / span > )< span style = "color: #7CB8BB;" > *< / span > (s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 40< / span > .< span style = "color: #BFEBBF;" > 64< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 1< / span > .< span style = "color: #BFEBBF;" > 789e06< / span > ));
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
Wf = < span style = "color: #DCDCCC;" > (< / span > s< span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 1697< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #DCDCCC;" > (< / span > s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 114< / span > .< span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 2< / span > .< span style = "color: #BFEBBF;" > 278e04< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #DCDCCC;" > (< / span > s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 205< / span > .< span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 1< / span > .< span style = "color: #BFEBBF;" > 627e05< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #DCDCCC;" > (< / span > s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 285< / span > .< span style = "color: #BFEBBF;" > 8< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 8< / span > .< span style = "color: #BFEBBF;" > 624e05< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #DCDCCC;" > (< / span > s< span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 100< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > (< / span > s< span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 0< / span > .< span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #BFEBBF;" > 3012< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #BFEBBF;" > (< / span > s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 23< / span > .< span style = "color: #BFEBBF;" > 03< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 8916< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #BFEBBF;" > (< / span > s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 17< / span > .< span style = "color: #BFEBBF;" > 07< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 4< / span > .< span style = "color: #BFEBBF;" > 798e04< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #BFEBBF;" > (< / span > s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 41< / span > .< span style = "color: #BFEBBF;" > 17< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 4< / span > .< span style = "color: #BFEBBF;" > 347e05< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #BFEBBF;" > (< / span > s< span style = "color: #7CB8BB;" > ^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 78< / span > .< span style = "color: #BFEBBF;" > 99< / span > < span style = "color: #7CB8BB;" > *< / span > s < span style = "color: #7CB8BB;" > +< / span > < span style = "color: #BFEBBF;" > 1< / span > .< span style = "color: #BFEBBF;" > 789e06< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
2019-03-15 11:48:56 +01:00
TWf = abs< span style = "color: #DCDCCC;" > (< / span > squeeze< span style = "color: #BFEBBF;" > (< / span > freqresp< span style = "color: #D0BF8F;" > (< / span > Wf, f_60rpm, < span style = "color: #CC9393;" > 'Hz'< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgebea7be" class = "outline-3" >
< h3 id = "orgebea7be" > < span class = "section-number-3" > 5.6< / span > PSD in [N]< / h3 >
< div class = "outline-text-3" id = "text-5-6" >
2019-03-14 16:40:28 +01:00
< p >
2019-03-20 15:21:12 +01:00
Above \(200Hz\), the Amplitude Spectral Density seems dominated by noise coming from the electronics (charge amplifier, ADC, … ). So we don't know what is the frequency content of the force above that frequency. However, we assume that \(P_{xx}\) is decreasing with \(1/f\) as it seems so be the case below \(100Hz\) (figure < a href = "#org94523dd" > 11< / a > ).
2019-03-14 16:40:28 +01:00
< / p >
< p >
2019-03-20 15:21:12 +01:00
We then fit the PSD of the displacement with a transfer function (figure < a href = "#org54db7f7" > 14< / a > ).
2019-03-14 16:40:28 +01:00
< / p >
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, < span style = "color: #BFEBBF;" > (< / span > pxx_60rpm< span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > ./< / span > Tfd, < span style = "color: #CC9393;" > 'DisplayName', '< / span > $< span style = "color: #7CB8BB;" > \< / span > sqrt< span style = "color: #BFEBBF;" > {< / span > P_< span style = "color: #D0BF8F;" > {< / span > xx< span style = "color: #D0BF8F;" > }< / span > < span style = "color: #BFEBBF;" > }< / span > < span style = "color: #7CB8BB;" > /|< / span > T_< span style = "color: #BFEBBF;" > {< / span > d< span style = "color: #7CB8BB;" > /< / span > f< span style = "color: #BFEBBF;" > }< / span > < span style = "color: #7CB8BB;" > |< / span > $'< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, TWf, < span style = "color: #CC9393;" > 'DisplayName', 'Wf'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, TWf_simple, < span style = "color: #CC9393;" > '-k', 'DisplayName', 'Wfs'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #7CB8BB;" > set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > gca< / span > , < span style = "color: #CC9393;" > 'XScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > gca, 'YScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Frequency < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > Hz< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > '< / span > ASD < span style = "color: #BFEBBF;" > [< / span > $N< span style = "color: #7CB8BB;" > /\< / span > sqrt< span style = "color: #D0BF8F;" > {< / span > Hz< span style = "color: #D0BF8F;" > }< / span > $< span style = "color: #BFEBBF;" > ]< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
xlim< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > f_60rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #D0BF8F;" > )< / span > , f_60rpm< span style = "color: #D0BF8F;" > (< / span > end< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Location', 'northeast'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "org6eac4af" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_psd_f_comp_60rpm.png" alt = "spindle_psd_f_comp_60rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 13: < / span > Power spectral density of the force - 60rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org4818470" class = "outline-3" >
< h3 id = "org4818470" > < span class = "section-number-3" > 5.7< / span > PSD in [m]< / h3 >
< div class = "outline-text-3" id = "text-5-7" >
2019-03-14 16:40:28 +01:00
< p >
To obtain the PSD of the force \(f\) that induce such displacement, we use the following formula:
\[ \sqrt{PSD(d)} = |T_{d/f}| \sqrt{PSD(f)} \]
< / p >
< p >
And so we have:
\[ \sqrt{PSD(f)} = |T_{d/f}|^{-1} \sqrt{PSD(d)} \]
< / p >
< p >
2019-03-20 15:21:12 +01:00
The obtain Power Spectral Density of the force is displayed figure < a href = "#org6eac4af" > 13< / a > .
2019-03-14 16:40:28 +01:00
< / p >
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, pxx_60rpm< span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > , < span style = "color: #CC9393;" > 'DisplayName', '< / span > $< span style = "color: #7CB8BB;" > \< / span > sqrt< span style = "color: #BFEBBF;" > {< / span > P_< span style = "color: #D0BF8F;" > {< / span > xx< span style = "color: #D0BF8F;" > }< / span > < span style = "color: #BFEBBF;" > }< / span > $'< span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, TWf< span style = "color: #7CB8BB;" > .*< / span > Tfd, < span style = "color: #CC9393;" > 'DisplayName', '$|W_f|*|T_< / span > < span style = "color: #BFEBBF;" > {< / span > < span style = "color: #CC9393;" > d/f< / span > < span style = "color: #BFEBBF;" > }< / span > < span style = "color: #CC9393;" > |$'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #7CB8BB;" > set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > gca< / span > , < span style = "color: #CC9393;" > 'XScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > gca, 'YScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Frequency < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > Hz< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > '< / span > ASD < span style = "color: #BFEBBF;" > [< / span > $m< span style = "color: #7CB8BB;" > /\< / span > sqrt< span style = "color: #D0BF8F;" > {< / span > Hz< span style = "color: #D0BF8F;" > }< / span > $< span style = "color: #BFEBBF;" > ]< / span > '< span style = "color: #DCDCCC;" > )< / span > ;
xlim< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > f_60rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #D0BF8F;" > )< / span > , f_60rpm< span style = "color: #D0BF8F;" > (< / span > end< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Location', 'northeast'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "org54db7f7" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_psd_d_comp_60rpm.png" alt = "spindle_psd_d_comp_60rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 14: < / span > Comparison of the power spectral density of the measured displacement and of the model< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org408aad1" class = "outline-3" >
< h3 id = "org408aad1" > < span class = "section-number-3" > 5.8< / span > Compute the resulting RMS value [m]< / h3 >
< div class = "outline-text-3" id = "text-5-8" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, < span style = "color: #BFEBBF;" > 1e9< / span > < span style = "color: #7CB8BB;" > *< / span > cumtrapz< span style = "color: #BFEBBF;" > (< / span > f_60rpm, < span style = "color: #D0BF8F;" > (< / span > pxx_60rpm< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > , < span style = "color: #CC9393;" > '--', 'DisplayName', 'Exp. Data'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_60rpm, < span style = "color: #BFEBBF;" > 1e9< / span > < span style = "color: #7CB8BB;" > *< / span > cumtrapz< span style = "color: #BFEBBF;" > (< / span > f_60rpm, < span style = "color: #D0BF8F;" > (< / span > < span style = "color: #93E0E3;" > (< / span > TWf< span style = "color: #7CB8BB;" > .*< / span > Tfd< span style = "color: #93E0E3;" > )< / span > < span style = "color: #7CB8BB;" > .^< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > .^< / span > .< span style = "color: #BFEBBF;" > 5< / span > , < span style = "color: #CC9393;" > '--', 'DisplayName', 'Estimated'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
< span style = "color: #7CB8BB;" > set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > gca< / span > , < span style = "color: #CC9393;" > 'XScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Frequency < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > Hz< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'CPS < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > $nm$ rms< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlim< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > f_60rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #D0BF8F;" > )< / span > , f_60rpm< span style = "color: #D0BF8F;" > (< / span > end< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Location', 'southeast'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "orgf1eaaa3" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_cps_d_comp_60rpm.png" alt = "spindle_cps_d_comp_60rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 15: < / span > Cumulative Power Spectrum - 60rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org97cda8b" class = "outline-3" >
< h3 id = "org97cda8b" > < span class = "section-number-3" > 5.9< / span > Compute the resulting RMS value [m]< / h3 >
< div class = "outline-text-3" id = "text-5-9" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #7CB8BB;" > figure< / span > ;
2019-03-14 16:40:28 +01:00
hold on;
2019-03-15 11:48:56 +01:00
plot< span style = "color: #DCDCCC;" > (< / span > f_1rpm, < span style = "color: #BFEBBF;" > 1e9< / span > < span style = "color: #7CB8BB;" > *< / span > cumtrapz< span style = "color: #BFEBBF;" > (< / span > f_1rpm, < span style = "color: #D0BF8F;" > (< / span > pxx_1rpm< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #CC9393;" > '--', 'DisplayName', 'Exp. Data'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
plot< span style = "color: #DCDCCC;" > (< / span > f_1rpm, < span style = "color: #BFEBBF;" > 1e9< / span > < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #BFEBBF;" > (< / span > f_1rpm< span style = "color: #D0BF8F;" > (< / span > end< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > f_1rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > (< / span > length< span style = "color: #D0BF8F;" > (< / span > f_1rpm< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > cumsum< span style = "color: #BFEBBF;" > (< / span > pxx_1rpm< span style = "color: #BFEBBF;" > )< / span > , < span style = "color: #CC9393;" > '--', 'DisplayName', 'Exp. Data'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
hold off;
2019-03-15 11:48:56 +01:00
< span style = "color: #7CB8BB;" > set< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > gca< / span > , < span style = "color: #CC9393;" > 'XScale', 'log'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlabel< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Frequency < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > Hz< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #CC9393;" > ; ylabel< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'CPS < / span > < span style = "color: #BFEBBF;" > [< / span > < span style = "color: #CC9393;" > $nm$ rms< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #CC9393;" > '< / span > < span style = "color: #DCDCCC;" > )< / span > ;
xlim< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > [< / span > f_1rpm< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #D0BF8F;" > )< / span > , f_1rpm< span style = "color: #D0BF8F;" > (< / span > end< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > ]< / span > < span style = "color: #DCDCCC;" > )< / span > ;
legend< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #CC9393;" > 'Location', 'southeast'< / span > < span style = "color: #DCDCCC;" > )< / span > ;
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "org4fdbcb3" class = "figure" >
2019-03-14 16:40:28 +01:00
< p > < img src = "figs/spindle_cps_d_comp_1rpm.png" alt = "spindle_cps_d_comp_1rpm.png" / >
< / p >
2019-03-20 15:21:12 +01:00
< p > < span class = "figure-number" > Figure 16: < / span > Cumulative Power Spectrum - 1rpm< / p >
2019-03-14 16:40:28 +01:00
< / div >
< / div >
< / div >
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-orgb0ca16b" class = "outline-2" >
< h2 id = "orgb0ca16b" > < span class = "section-number-2" > 6< / span > Functions< / h2 >
< div class = "outline-text-2" id = "text-6" >
2019-03-14 16:40:28 +01:00
< / div >
2019-03-20 15:21:12 +01:00
< div id = "outline-container-org14006e0" class = "outline-3" >
< h3 id = "org14006e0" > < span class = "section-number-3" > 6.1< / span > getAsynchronousError< / h3 >
< div class = "outline-text-3" id = "text-6-1" >
2019-03-14 16:40:28 +01:00
< div class = "org-src-container" >
2019-03-15 11:48:56 +01:00
< pre class = "src src-matlab" > < span style = "color: #F0DFAF; font-weight: bold;" > function< / span > < span style = "color: #DCDCCC;" > [< / span > < span style = "color: #DFAF8F;" > Wxdec< / span > < span style = "color: #DCDCCC;" > ]< / span > = < span style = "color: #93E0E3;" > getAsynchronousError< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > data< / span > , < span style = "color: #DFAF8F;" > NbTurn< / span > < span style = "color: #DCDCCC;" > )< / span >
< span style = "color: #7F9F7F; font-weight: bold; text-decoration: overline;" > %%< / span >
L = length< span style = "color: #DCDCCC;" > (< / span > data< span style = "color: #DCDCCC;" > )< / span > ;
res_per_rev = L< span style = "color: #7CB8BB;" > /< / span > NbTurn;
P = < span style = "color: #BFEBBF;" > 0< / span > < span style = "color: #7CB8BB;" > :< / span > < span style = "color: #DCDCCC;" > (< / span > res_per_rev< span style = "color: #7CB8BB;" > *< / span > NbTurn< span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > ;
Pos = P' < span style = "color: #7CB8BB;" > *< / span > < span style = "color: #BFEBBF;" > 360< / span > < span style = "color: #7CB8BB;" > /< / span > res_per_rev;
< span style = "color: #7F9F7F;" > % Temperature correction< / span >
x1 = myfit2< span style = "color: #DCDCCC;" > (< / span > Pos, data< span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #7F9F7F;" > % Convert data to frequency domain and scale accordingly< / span >
X2 = < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #DCDCCC;" > (< / span > res_per_rev< span style = "color: #7CB8BB;" > *< / span > NbTurn< span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > *< / span > fft< span style = "color: #DCDCCC;" > (< / span > x1< span style = "color: #DCDCCC;" > )< / span > ;
f2 = < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 0< / span > < span style = "color: #7CB8BB;" > :< / span > L< span style = "color: #7CB8BB;" > -< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > < span style = "color: #7CB8BB;" > ./< / span > NbTurn; < span style = "color: #7F9F7F;" > %upr -> once per revolution< / span >
< span style = "color: #7F9F7F; font-weight: bold; text-decoration: overline;" > %%< / span >
X2dec = zeros< span style = "color: #DCDCCC;" > (< / span > size< span style = "color: #BFEBBF;" > (< / span > X2< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #7F9F7F;" > % Get only the non integer data< / span >
X2dec< span style = "color: #DCDCCC;" > (< / span > mod< span style = "color: #BFEBBF;" > (< / span > f2< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > < span style = "color: #D0BF8F;" > )< / span > , < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > ~=< / span > < span style = "color: #BFEBBF;" > 0< / span > < span style = "color: #DCDCCC;" > )< / span > = X2< span style = "color: #DCDCCC;" > (< / span > mod< span style = "color: #BFEBBF;" > (< / span > f2< span style = "color: #D0BF8F;" > (< / span > < span style = "color: #7CB8BB;" > :< / span > < span style = "color: #D0BF8F;" > )< / span > , < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > ~=< / span > < span style = "color: #BFEBBF;" > 0< / span > < span style = "color: #DCDCCC;" > )< / span > ;
Wxdec = real< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > (< / span > res_per_rev< span style = "color: #7CB8BB;" > *< / span > NbTurn< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #7CB8BB;" > /< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #7CB8BB;" > *< / span > ifft< span style = "color: #BFEBBF;" > (< / span > X2dec< span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #7F9F7F; font-weight: bold; text-decoration: overline;" > %%< / span >
< span style = "color: #F0DFAF; font-weight: bold;" > function< / span > < span style = "color: #DFAF8F;" > Y< / span > = < span style = "color: #93E0E3;" > myfit2< / span > < span style = "color: #DCDCCC;" > (< / span > < span style = "color: #DFAF8F;" > x< / span > ,< span style = "color: #DFAF8F;" > y< / span > < span style = "color: #DCDCCC;" > )< / span >
A = < span style = "color: #DCDCCC;" > [< / span > x ones< span style = "color: #BFEBBF;" > (< / span > size< span style = "color: #D0BF8F;" > (< / span > x< span style = "color: #D0BF8F;" > )< / span > < span style = "color: #BFEBBF;" > )< / span > < span style = "color: #DCDCCC;" > ]< / span > < span style = "color: #7CB8BB;" > \< / span > y;
a = A< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 1< / span > < span style = "color: #DCDCCC;" > )< / span > ; b = A< span style = "color: #DCDCCC;" > (< / span > < span style = "color: #BFEBBF;" > 2< / span > < span style = "color: #DCDCCC;" > )< / span > ;
Y = y < span style = "color: #7CB8BB;" > -< / span > < span style = "color: #DCDCCC;" > (< / span > a< span style = "color: #7CB8BB;" > *< / span > x < span style = "color: #7CB8BB;" > +< / span > b< span style = "color: #DCDCCC;" > )< / span > ;
< span style = "color: #F0DFAF; font-weight: bold;" > end< / span >
< span style = "color: #F0DFAF; font-weight: bold;" > end< / span >
2019-03-14 16:40:28 +01:00
< / pre >
< / div >
< / div >
< / div >
< / div >
< / div >
< div id = "postamble" class = "status" >
< p class = "author" > Author: Thomas Dehaeze< / p >
2019-03-20 15:21:12 +01:00
< p class = "date" > Created: 2019-03-20 mer. 15:17< / p >
2019-03-14 16:40:28 +01:00
< p class = "validation" > < a href = "http://validator.w3.org/check?uri=referer" > Validate< / a > < / p >
< / div >
< / body >
< / html >