From 719099b7ca40066f4481310babfaf13126bb668d Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Tue, 26 Mar 2019 14:47:27 +0100 Subject: [PATCH] Update analysis --- {Figures => figs}/D_x_y.pdf | Bin {Figures => figs}/G_sigma.pdf | Bin {Figures => figs}/G_sigma.png | Bin {Figures => figs}/G_sigma.svg | Bin {Figures => figs}/G_u_v.pdf | Bin {Figures => figs}/G_u_v_to_x_y.pdf | Bin {Figures => figs}/G_ws_pz.pdf | Bin {Figures => figs}/G_ws_pz.png | Bin {Figures => figs}/G_ws_pz.svg | Bin figs/G_ws_pz.tex | 600 ++++++ {Figures => figs}/G_ws_vc.pdf | Bin {Figures => figs}/G_ws_vc.png | Bin {Figures => figs}/G_ws_vc.svg | Bin figs/G_ws_vc.tex | 681 +++++++ {Figures => figs}/G_x_y.pdf | Bin {Figures => figs}/G_x_y_e.pdf | Bin {Figures => figs}/Gc_ws_pz.pdf | Bin {Figures => figs}/Gc_ws_pz.png | Bin {Figures => figs}/Gc_ws_pz.svg | Bin figs/Gc_ws_pz.tex | 507 +++++ {Figures => figs}/Gc_ws_vc.pdf | Bin {Figures => figs}/Gc_ws_vc.png | Bin {Figures => figs}/Gc_ws_vc.svg | Bin figs/Gc_ws_vc.tex | 566 ++++++ {Figures => figs}/Gtvc_loop_gain.pdf | Bin {Figures => figs}/Gtvc_loop_gain.png | Bin {Figures => figs}/Gtvc_loop_gain.svg | Bin figs/Gtvc_loop_gain.tex | 352 ++++ {Figures => figs}/Guu_ws.pdf | Bin {Figures => figs}/Guu_ws.png | Bin {Figures => figs}/Guu_ws.svg | Bin figs/Guu_ws.tex | 1522 ++++++++++++++ {Figures => figs}/Guu_ws_pz.pdf | Bin {Figures => figs}/Guu_ws_pz.png | Bin {Figures => figs}/Guu_ws_pz.svg | Bin {Figures => figs}/Guv_ws.pdf | Bin {Figures => figs}/Guv_ws.png | Bin {Figures => figs}/Guv_ws.svg | Bin figs/Guv_ws.tex | 1238 ++++++++++++ {Figures => figs}/Gvc_loop_gain.pdf | Bin {Figures => figs}/Gvc_loop_gain.png | Bin {Figures => figs}/Gvc_loop_gain.svg | Bin figs/Gvc_loop_gain.tex | 309 +++ {Figures => figs}/Gvc_speed.pdf | Bin {Figures => figs}/Gvc_speed.png | Bin {Figures => figs}/Gvc_speed.svg | Bin figs/Gvc_speed.tex | 685 +++++++ .../control_measure_fixed_2dof.png | Bin .../control_measure_rotating_2dof.png | Bin {Figures => figs}/coupling_heavy.pdf | Bin {Figures => figs}/coupling_heavy.png | Bin {Figures => figs}/coupling_heavy.svg | Bin figs/coupling_heavy.tex | 150 ++ {Figures => figs}/coupling_light.pdf | Bin {Figures => figs}/coupling_light.png | Bin {Figures => figs}/coupling_light.svg | Bin figs/coupling_light.tex | 129 ++ .../coupling_ratio_light_heavy.pdf | Bin .../coupling_ratio_light_heavy.png | Bin .../coupling_ratio_light_heavy.svg | Bin figs/coupling_ratio_light_heavy.tex | 233 +++ {Figures => figs}/coupling_simscape_heavy.pdf | Bin {Figures => figs}/coupling_simscape_heavy.png | Bin {Figures => figs}/coupling_simscape_heavy.svg | Bin {Figures => figs}/coupling_simscape_light.pdf | Bin {Figures => figs}/coupling_simscape_light.png | Bin {Figures => figs}/coupling_simscape_light.svg | Bin {Figures => figs}/coupling_small_m.pdf | Bin {Figures => figs}/coupling_small_m.png | Bin {Figures => figs}/coupling_small_m.svg | Bin {Figures => figs}/perfconp.pdf | Bin {Figures => figs}/perfconp.png | Bin {Figures => figs}/perfconp.svg | Bin {Figures => figs}/poles_w_pz.pdf | Bin {Figures => figs}/poles_w_pz.png | Bin {Figures => figs}/poles_w_pz.svg | Bin figs/poles_w_pz.tex | 93 + {Figures => figs}/poles_w_vc.pdf | Bin {Figures => figs}/poles_w_vc.png | Bin {Figures => figs}/poles_w_vc.svg | Bin figs/poles_w_vc.tex | 103 + {Figures => figs}/rotating_frame_2dof.png | Bin {Figures => figs}/simscape.png | Bin {Figures => figs}/simulink_ctrl.png | Bin index.html | Bin 9720 -> 94419 bytes index.org | 1758 ++++++++++++++++- matlab/control.m | 21 + matlab/id_non_rot_frame.m | 52 + matlab/id_rot_fix.m | 44 + matlab/identification.m | 46 + rotating_frame.html | Bin 92488 -> 0 bytes rotating_frame.org | 1757 ---------------- rotating_frame.slxc | Bin 0 -> 5024 bytes rotating_frame_ctrl.slx | Bin 0 -> 34640 bytes rotating_frame_ctrl.slxc | Bin 0 -> 4479 bytes 95 files changed, 9087 insertions(+), 1759 deletions(-) rename {Figures => figs}/D_x_y.pdf (100%) rename {Figures => figs}/G_sigma.pdf (100%) rename {Figures => figs}/G_sigma.png (100%) rename {Figures => figs}/G_sigma.svg (100%) rename {Figures => figs}/G_u_v.pdf (100%) rename {Figures => figs}/G_u_v_to_x_y.pdf (100%) rename {Figures => figs}/G_ws_pz.pdf (100%) rename {Figures => figs}/G_ws_pz.png (100%) rename {Figures => figs}/G_ws_pz.svg (100%) create mode 100644 figs/G_ws_pz.tex rename {Figures => figs}/G_ws_vc.pdf (100%) rename {Figures => figs}/G_ws_vc.png (100%) rename {Figures => figs}/G_ws_vc.svg (100%) create mode 100644 figs/G_ws_vc.tex rename {Figures => figs}/G_x_y.pdf (100%) rename {Figures => figs}/G_x_y_e.pdf (100%) rename {Figures => figs}/Gc_ws_pz.pdf (100%) rename {Figures => figs}/Gc_ws_pz.png (100%) rename {Figures => figs}/Gc_ws_pz.svg (100%) create mode 100644 figs/Gc_ws_pz.tex rename {Figures => figs}/Gc_ws_vc.pdf (100%) rename {Figures => figs}/Gc_ws_vc.png (100%) rename {Figures => figs}/Gc_ws_vc.svg (100%) create mode 100644 figs/Gc_ws_vc.tex rename {Figures => figs}/Gtvc_loop_gain.pdf (100%) rename {Figures => figs}/Gtvc_loop_gain.png (100%) rename {Figures => figs}/Gtvc_loop_gain.svg (100%) create mode 100644 figs/Gtvc_loop_gain.tex rename {Figures => figs}/Guu_ws.pdf (100%) rename {Figures => figs}/Guu_ws.png (100%) rename {Figures => figs}/Guu_ws.svg (100%) create mode 100644 figs/Guu_ws.tex rename {Figures => figs}/Guu_ws_pz.pdf (100%) rename {Figures => figs}/Guu_ws_pz.png (100%) rename {Figures => figs}/Guu_ws_pz.svg (100%) rename {Figures => figs}/Guv_ws.pdf (100%) rename {Figures => figs}/Guv_ws.png (100%) rename {Figures => figs}/Guv_ws.svg (100%) create mode 100644 figs/Guv_ws.tex rename {Figures => figs}/Gvc_loop_gain.pdf (100%) rename {Figures => figs}/Gvc_loop_gain.png (100%) rename {Figures => figs}/Gvc_loop_gain.svg (100%) create mode 100644 figs/Gvc_loop_gain.tex rename {Figures => figs}/Gvc_speed.pdf (100%) rename {Figures => figs}/Gvc_speed.png (100%) rename {Figures => figs}/Gvc_speed.svg (100%) create mode 100644 figs/Gvc_speed.tex rename {Figures => figs}/control_measure_fixed_2dof.png (100%) rename {Figures => figs}/control_measure_rotating_2dof.png (100%) rename {Figures => figs}/coupling_heavy.pdf (100%) rename {Figures => figs}/coupling_heavy.png (100%) rename {Figures => figs}/coupling_heavy.svg (100%) create mode 100644 figs/coupling_heavy.tex rename {Figures => figs}/coupling_light.pdf (100%) rename {Figures => figs}/coupling_light.png (100%) rename {Figures => figs}/coupling_light.svg (100%) create mode 100644 figs/coupling_light.tex rename {Figures => figs}/coupling_ratio_light_heavy.pdf (100%) rename {Figures => figs}/coupling_ratio_light_heavy.png (100%) rename {Figures => figs}/coupling_ratio_light_heavy.svg (100%) create mode 100644 figs/coupling_ratio_light_heavy.tex rename {Figures => figs}/coupling_simscape_heavy.pdf (100%) rename {Figures => figs}/coupling_simscape_heavy.png (100%) rename {Figures => figs}/coupling_simscape_heavy.svg (100%) rename {Figures => figs}/coupling_simscape_light.pdf (100%) rename {Figures => figs}/coupling_simscape_light.png (100%) rename {Figures => figs}/coupling_simscape_light.svg (100%) rename {Figures => figs}/coupling_small_m.pdf (100%) rename {Figures => figs}/coupling_small_m.png (100%) rename {Figures => figs}/coupling_small_m.svg (100%) rename {Figures => figs}/perfconp.pdf (100%) rename {Figures => figs}/perfconp.png (100%) rename {Figures => figs}/perfconp.svg (100%) rename {Figures => figs}/poles_w_pz.pdf (100%) rename {Figures => figs}/poles_w_pz.png (100%) rename {Figures => figs}/poles_w_pz.svg (100%) create mode 100644 figs/poles_w_pz.tex rename {Figures => figs}/poles_w_vc.pdf (100%) rename {Figures => figs}/poles_w_vc.png (100%) rename {Figures => figs}/poles_w_vc.svg (100%) create mode 100644 figs/poles_w_vc.tex rename {Figures => figs}/rotating_frame_2dof.png (100%) rename {Figures => figs}/simscape.png (100%) rename {Figures => figs}/simulink_ctrl.png (100%) create mode 100644 matlab/control.m create mode 100644 matlab/id_non_rot_frame.m create mode 100644 matlab/id_rot_fix.m create mode 100644 matlab/identification.m delete mode 100644 rotating_frame.html delete mode 100644 rotating_frame.org create mode 100644 rotating_frame.slxc create mode 100644 rotating_frame_ctrl.slx create mode 100644 rotating_frame_ctrl.slxc diff --git a/Figures/D_x_y.pdf b/figs/D_x_y.pdf similarity index 100% rename from Figures/D_x_y.pdf rename to figs/D_x_y.pdf diff --git a/Figures/G_sigma.pdf b/figs/G_sigma.pdf similarity index 100% rename from Figures/G_sigma.pdf rename to figs/G_sigma.pdf diff --git a/Figures/G_sigma.png b/figs/G_sigma.png similarity index 100% rename from Figures/G_sigma.png rename to figs/G_sigma.png diff --git a/Figures/G_sigma.svg b/figs/G_sigma.svg similarity index 100% rename from Figures/G_sigma.svg rename to figs/G_sigma.svg diff --git a/Figures/G_u_v.pdf b/figs/G_u_v.pdf similarity index 100% rename from Figures/G_u_v.pdf rename to figs/G_u_v.pdf diff --git a/Figures/G_u_v_to_x_y.pdf b/figs/G_u_v_to_x_y.pdf similarity index 100% rename from Figures/G_u_v_to_x_y.pdf rename to figs/G_u_v_to_x_y.pdf diff --git a/Figures/G_ws_pz.pdf b/figs/G_ws_pz.pdf similarity index 100% rename from Figures/G_ws_pz.pdf rename to figs/G_ws_pz.pdf diff --git a/Figures/G_ws_pz.png b/figs/G_ws_pz.png similarity index 100% rename from Figures/G_ws_pz.png rename to figs/G_ws_pz.png diff --git a/Figures/G_ws_pz.svg b/figs/G_ws_pz.svg similarity index 100% rename from Figures/G_ws_pz.svg rename to figs/G_ws_pz.svg diff --git a/figs/G_ws_pz.tex b/figs/G_ws_pz.tex new file mode 100644 index 0000000..61237c6 --- /dev/null +++ b/figs/G_ws_pz.tex @@ -0,0 +1,600 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +\definecolor{mycolor3}{rgb}{0.92900,0.69400,0.12500}% +\definecolor{mycolor4}{rgb}{0.49400,0.18400,0.55600}% +\definecolor{mycolor5}{rgb}{0.46600,0.67400,0.18800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=3.749in, +height=1.562in, +at={(0.599in,2.189in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=100, +xmax=1000, +xtick={100,1000}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=1e-10, +ymax=0.0001, +yminorticks=true, +ylabel={Magnitude [m/N]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +100 1.16032764806926e-08\\ +104.959323055823 1.17955037481002e-08\\ +109.91097009295 1.20036573449145e-08\\ +114.831241454351 1.22279256315283e-08\\ +119.695570235905 1.24682520779201e-08\\ +124.478714618791 1.27242755816029e-08\\ +129.154966501488 1.29952640286158e-08\\ +133.698374182495 1.32800427733653e-08\\ +138.401609657313 1.35993966065567e-08\\ +142.940453343176 1.3933741791273e-08\\ +147.28827239075 1.42806833986358e-08\\ +151.76833902834 1.46684761188553e-08\\ +156.024641436637 1.50685833417753e-08\\ +160.400310705682 1.55158759446058e-08\\ +164.898694447107 1.60184066825816e-08\\ +169.132951702965 1.65360661384163e-08\\ +173.475935923393 1.71180364145948e-08\\ +177.930438991858 1.77761932375574e-08\\ +182.079168009946 1.84531585501703e-08\\ +186.324631193156 1.92196239594071e-08\\ +190.669084051225 2.00936001940939e-08\\ +194.665634334226 2.09911211441876e-08\\ +198.745954958099 2.20161751015767e-08\\ +202.911801804668 2.31969296150435e-08\\ +206.688024962908 2.4406939815963e-08\\ +210.534524276671 2.5803477917944e-08\\ +214.452607597167 2.74320769217568e-08\\ +218.443607114943 2.93543941392175e-08\\ +221.996611911995 3.1343858306653e-08\\ +225.607406649686 3.37029506362116e-08\\ +229.276931286565 3.65436013894319e-08\\ +233.006141069693 4.00279999224146e-08\\ +236.250846547795 4.37088403103499e-08\\ +239.540735872088 4.8272287008919e-08\\ +242.876438246045 5.40765141404611e-08\\ +245.691646298279 6.02706056111706e-08\\ +248.53948574298 6.82731663868327e-08\\ +251.42033481428 7.90082627803005e-08\\ +253.749037973357 9.06500447479866e-08\\ +256.099310025846 1.06658543455238e-07\\ +258.471350746957 1.30052868913822e-07\\ +260.2647881969 1.56159358177294e-07\\ +262.070669648386 1.9606503639072e-07\\ +263.889081445751 2.64632027309843e-07\\ +265.108360190854 3.46306761755893e-07\\ +266.333272517498 5.02982739262217e-07\\ +267.563844455205 9.25638612385446e-07\\ +268.181260945302 1.60440326346294e-06\\ +268.800102153761 6.09301354310414e-06\\ +269.420371368188 3.36517437753094e-06\\ +270.042071883777 1.3147920193955e-06\\ +271.289780037247 5.90374439219657e-07\\ +272.543253128103 3.79398935034741e-07\\ +273.802517792786 2.7883269931178e-07\\ +275.702332560958 1.98852126090714e-07\\ +277.61532944368 1.54049209283683e-07\\ +280.18665564592 1.18018387856225e-07\\ +282.781797962534 9.5311061399819e-08\\ +285.400976982924 7.96924772738927e-08\\ +288.709091735923 6.59088224064869e-08\\ +292.055551218275 5.59976142485947e-08\\ +296.122543798803 4.72518401025593e-08\\ +300.246170908556 4.07146456347785e-08\\ +305.129701718287 3.49087207304792e-08\\ +310.092663593192 3.04274576951732e-08\\ +315.863540826782 2.64156465764922e-08\\ +321.741815067638 2.32368155897083e-08\\ +328.485736603004 2.03689956258859e-08\\ +335.371015200293 1.80472988403951e-08\\ +343.190719745904 1.59383627989555e-08\\ +352.003147279668 1.4043613139731e-08\\ +361.041859717334 1.24825084765454e-08\\ +371.167181947577 1.10673148715796e-08\\ +382.456972246701 9.79313050086957e-09\\ +394.999546122064 8.65155120818593e-09\\ +407.953450345245 7.6947786707899e-09\\ +422.304418720667 6.82958658739691e-09\\ +438.168993151419 6.05019223826551e-09\\ +455.678626584107 5.35017963221726e-09\\ +474.98148032285 4.72295568210039e-09\\ +497.389595879006 4.13498821705805e-09\\ +522.056752784699 3.61552280737255e-09\\ +550.478980785497 3.13768728340597e-09\\ +581.788007434494 2.71968850209866e-09\\ +617.718759733849 2.34059808631458e-09\\ +658.898955079996 2.00047438901722e-09\\ +707.701066118189 1.68909195927316e-09\\ +763.629826128226 1.41695754942003e-09\\ +831.610415323096 1.16879606314633e-09\\ +914.031074875622 9.48422492954474e-10\\ +1000 7.80186620172246e-10\\ +}; +\addplot [color=mycolor2, line width=1.5pt, forget plot] + table[row sep=crcr]{% +100 1.16032955643116e-08\\ +104.959323055823 1.17955243931447e-08\\ +109.91097009295 1.20036797610799e-08\\ +114.831241454351 1.22279500514962e-08\\ +119.695570235905 1.24682787577909e-08\\ +124.478714618791 1.2724304800327e-08\\ +129.154966501488 1.2995296085987e-08\\ +133.698374182495 1.3280077986057e-08\\ +138.401609657313 1.35994355734236e-08\\ +142.940453343176 1.39337849400606e-08\\ +147.28827239075 1.42807311670727e-08\\ +151.76833902834 1.46685293991434e-08\\ +156.024641436637 1.50686427066187e-08\\ +160.400310705682 1.55159426058846e-08\\ +164.898694447107 1.60184821861127e-08\\ +169.132951702965 1.65361514905304e-08\\ +173.475935923393 1.71181337711153e-08\\ +177.930438991858 1.77763054086171e-08\\ +182.079168009946 1.84532873905978e-08\\ +186.324631193156 1.92197735055395e-08\\ +190.669084051225 2.00937758398276e-08\\ +194.665634334226 2.09913264929038e-08\\ +198.745954958099 2.2016418159178e-08\\ +202.911801804668 2.31972213911363e-08\\ +206.688024962908 2.44072877255751e-08\\ +210.534524276671 2.58038989021698e-08\\ +214.452607597167 2.74325950614063e-08\\ +218.443607114943 2.9355044663336e-08\\ +221.996611911995 3.13446675171308e-08\\ +225.607406649686 3.37039788140279e-08\\ +229.276931286565 3.65449412454249e-08\\ +233.006141069693 4.00298003425042e-08\\ +236.250846547795 4.37112300260839e-08\\ +239.540735872088 4.82755691696099e-08\\ +242.876438246045 5.40812194896221e-08\\ +245.691646298279 6.0277228094131e-08\\ +248.53948574298 6.82829532710604e-08\\ +251.42033481428 7.90236853474264e-08\\ +253.749037973357 9.06736540264801e-08\\ +256.099310025846 1.06697524351417e-07\\ +258.471350746957 1.30124512134591e-07\\ +260.2647881969 1.56284686793256e-07\\ +262.070669648386 1.96315757863549e-07\\ +263.889081445751 2.65255533326327e-07\\ +265.108360190854 3.47716110706122e-07\\ +266.333272517498 5.07350676758877e-07\\ +266.947849403432 6.60920313070032e-07\\ +267.563844455205 9.5363714604068e-07\\ +268.181260945302 1.76020931957068e-06\\ +268.800102153761 2.16432106326091e-05\\ +270.042071883777 1.3987872216282e-06\\ +271.289780037247 5.97661261802233e-07\\ +272.543253128103 3.81332464929216e-07\\ +273.802517792786 2.79603806890569e-07\\ +275.702332560958 1.9913438371539e-07\\ +277.61532944368 1.54181753020979e-07\\ +280.18665564592 1.18078809463177e-07\\ +282.781797962534 9.53433342715989e-08\\ +285.400976982924 7.97116102549556e-08\\ +288.709091735923 6.59198396560063e-08\\ +292.055551218275 5.60044930917976e-08\\ +296.122543798803 4.72560632954838e-08\\ +300.246170908556 4.07174066953346e-08\\ +305.129701718287 3.49105060323219e-08\\ +310.092663593192 3.04286707179446e-08\\ +315.863540826782 2.64164641047225e-08\\ +321.741815067638 2.32373888998925e-08\\ +328.485736603004 2.03693950516004e-08\\ +335.371015200293 1.80475862778582e-08\\ +343.190719745904 1.59385684767569e-08\\ +352.003147279668 1.40437599133482e-08\\ +361.041859717334 1.24826160300955e-08\\ +371.167181947577 1.10673934320429e-08\\ +382.456972246701 9.79318779189722e-09\\ +394.999546122064 8.65159296926531e-09\\ +407.953450345245 7.69480974898947e-09\\ +422.304418720667 6.82960967566991e-09\\ +438.168993151419 6.05020937202062e-09\\ +455.678626584107 5.35019233838276e-09\\ +474.98148032285 4.72296510039822e-09\\ +497.389595879006 4.13499508905286e-09\\ +522.056752784699 3.61552782663994e-09\\ +550.478980785497 3.13769090112372e-09\\ +581.788007434494 2.71969111332231e-09\\ +617.718759733849 2.340599948587e-09\\ +658.898955079996 2.00047570236355e-09\\ +707.701066118189 1.6890928648955e-09\\ +763.629826128226 1.41695816786105e-09\\ +831.610415323096 1.16879647222247e-09\\ +914.031074875622 9.48422755465276e-10\\ +1000 7.80186794274733e-10\\ +}; +\addplot [color=mycolor3, line width=1.5pt, forget plot] + table[row sep=crcr]{% +100 1.16033528156347e-08\\ +104.959323055823 1.17955863288172e-08\\ +109.91097009295 1.20037470102021e-08\\ +114.831241454351 1.22280233121306e-08\\ +119.695570235905 1.24683587982597e-08\\ +124.478714618791 1.27243924575051e-08\\ +129.154966501488 1.29953922592848e-08\\ +133.698374182495 1.32801836255274e-08\\ +138.401609657313 1.35995524756882e-08\\ +142.940453343176 1.3933914388408e-08\\ +147.28827239075 1.42808744747468e-08\\ +151.76833902834 1.46686892428576e-08\\ +156.024641436637 1.50688208045759e-08\\ +160.400310705682 1.55161425938953e-08\\ +164.898694447107 1.6018708701862e-08\\ +169.132951702965 1.65364075532171e-08\\ +173.475935923393 1.71184258485994e-08\\ +177.930438991858 1.77766419318536e-08\\ +182.079168009946 1.84536739245766e-08\\ +186.324631193156 1.92202221602433e-08\\ +190.669084051225 2.00943027983851e-08\\ +194.665634334226 2.09919425667984e-08\\ +198.745954958099 2.20171473687734e-08\\ +202.911801804668 2.31980967693539e-08\\ +206.688024962908 2.44083315214244e-08\\ +210.534524276671 2.58051619469914e-08\\ +214.452607597167 2.74341496106847e-08\\ +218.443607114943 2.93569964262254e-08\\ +221.996611911995 3.13470954228144e-08\\ +225.607406649686 3.37070637564022e-08\\ +229.276931286565 3.65489614493564e-08\\ +233.006141069693 4.0035202643642e-08\\ +236.250846547795 4.37184008422021e-08\\ +239.540735872088 4.82854184843781e-08\\ +242.876438246045 5.40953407011822e-08\\ +245.691646298279 6.02971046723092e-08\\ +248.53948574298 6.83123314308909e-08\\ +251.42033481428 7.90699904164505e-08\\ +253.749037973357 9.07445578616391e-08\\ +256.099310025846 1.06814642396397e-07\\ +258.471350746957 1.30339925676379e-07\\ +260.2647881969 1.56661902626458e-07\\ +262.070669648386 1.97071835193489e-07\\ +263.889081445751 2.67143977730701e-07\\ +265.108360190854 3.52014351709129e-07\\ +266.333272517498 5.20924251809247e-07\\ +266.947849403432 6.91419117599942e-07\\ +267.563844455205 1.04884310116963e-06\\ +268.181260945302 2.48440241380066e-06\\ +268.800102153761 1.47381118775246e-06\\ +269.420371368188 5.94125701467284e-06\\ +270.042071883777 1.7302454612486e-06\\ +270.665207003325 8.98926951142246e-07\\ +271.915794303602 4.76457574972493e-07\\ +273.172159844137 3.26316688716301e-07\\ +275.067600790807 2.21514021045236e-07\\ +276.97619350369 1.67291156964759e-07\\ +278.898029238044 1.34079480394414e-07\\ +281.481236050758 1.05682085381333e-07\\ +284.088369018331 8.69389507062834e-08\\ +287.381269185107 7.08983981202714e-08\\ +290.712337727258 5.96408658510603e-08\\ +294.760625512486 4.989190403648e-08\\ +298.865287355038 4.2714729215968e-08\\ +303.726357970332 3.64173221400167e-08\\ +308.666494333727 3.16052406387041e-08\\ +314.410830314727 2.73325569526418e-08\\ +320.262069365765 2.39703834299611e-08\\ +326.974974451177 2.09546850257998e-08\\ +333.828586473176 1.85253346250364e-08\\ +341.612326858553 1.63278907898701e-08\\ +349.577557436328 1.45238380847744e-08\\ +358.553985745982 1.28806888765265e-08\\ +368.609536217215 1.13974191436924e-08\\ +379.821530619074 1.00670339640612e-08\\ +391.374560198039 8.95695056601832e-09\\ +404.20958397963 7.95198623284219e-09\\ +418.428850790158 7.04634374613242e-09\\ +434.14783300551 6.23304122978563e-09\\ +451.49677720361 5.50460944963767e-09\\ +470.622484984129 4.85355083683865e-09\\ +491.690357762802 4.27262539766899e-09\\ +516.074871038592 3.73130132691212e-09\\ +542.918617761894 3.25433519916794e-09\\ +573.797641421414 2.81746227960486e-09\\ +609.234915240071 2.42214684524624e-09\\ +649.84953544699 2.06818587591719e-09\\ +696.374473062824 1.75420632116214e-09\\ +751.408106111696 1.4702610776509e-09\\ +816.416760492149 1.21805383348013e-09\\ +895.265712599642 9.92587260766459e-10\\ +990.822809900379 7.95862295679234e-10\\ +1000 7.80187316582468e-10\\ +}; +\addplot [color=mycolor4, line width=1.5pt, forget plot] + table[row sep=crcr]{% +100 1.1603448236061e-08\\ +104.959323055823 1.17956895567351e-08\\ +109.91097009295 1.20038590941606e-08\\ +114.831241454351 1.2228145415625e-08\\ +119.695570235905 1.24684922018956e-08\\ +124.478714618791 1.27245385561557e-08\\ +129.154966501488 1.29955525520621e-08\\ +133.698374182495 1.3280359695963e-08\\ +138.401609657313 1.35997473183424e-08\\ +142.940453343176 1.39341301422684e-08\\ +147.28827239075 1.42811133287497e-08\\ +151.76833902834 1.46689556585477e-08\\ +156.024641436637 1.50691176459296e-08\\ +160.400310705682 1.55164759211619e-08\\ +164.898694447107 1.60190862452994e-08\\ +169.132951702965 1.65368343455119e-08\\ +173.475935923393 1.71189126708168e-08\\ +177.930438991858 1.77772028374424e-08\\ +182.079168009946 1.84543181901997e-08\\ +186.324631193156 1.92209699724439e-08\\ +190.669084051225 2.00951811338434e-08\\ +194.665634334226 2.09929694491204e-08\\ +198.745954958099 2.20183628407532e-08\\ +202.911801804668 2.31995558995359e-08\\ +206.688024962908 2.44100714045835e-08\\ +210.534524276671 2.58072673288955e-08\\ +214.452607597167 2.74367409606667e-08\\ +218.443607114943 2.93602499996318e-08\\ +221.996611911995 3.135114284669e-08\\ +225.607406649686 3.37122066905211e-08\\ +229.276931286565 3.65556639098432e-08\\ +233.006141069693 4.00442099499476e-08\\ +236.250846547795 4.37303577683728e-08\\ +239.540735872088 4.8301843457435e-08\\ +242.876438246045 5.4118893281564e-08\\ +245.691646298279 6.03302627650964e-08\\ +248.53948574298 6.83613534661448e-08\\ +251.42033481428 7.91472903169304e-08\\ +253.749037973357 9.08629848650077e-08\\ +256.099310025846 1.07010425635435e-07\\ +258.471350746957 1.30700569371218e-07\\ +260.2647881969 1.57294725935067e-07\\ +262.070669648386 1.9834516078314e-07\\ +263.889081445751 2.70352443709547e-07\\ +265.108360190854 3.59420992693554e-07\\ +266.333272517498 5.45244982537542e-07\\ +266.947849403432 7.49054705883674e-07\\ +267.563844455205 1.25835573873128e-06\\ +268.181260945302 7.92389917724315e-06\\ +268.800102153761 5.75765925708163e-07\\ +270.042071883777 2.85790795059678e-06\\ +270.665207003325 1.03049391572784e-06\\ +271.915794303602 4.95602850215036e-07\\ +273.172159844137 3.3248040565011e-07\\ +275.067600790807 2.23458374230451e-07\\ +276.97619350369 1.68136906004187e-07\\ +278.898029238044 1.34519370614016e-07\\ +281.481236050758 1.05900506056246e-07\\ +284.088369018331 8.70622717160072e-08\\ +287.381269185107 7.09664746958208e-08\\ +290.712337727258 5.96821201766962e-08\\ +294.760625512486 4.9916580826986e-08\\ +298.865287355038 4.27305545836514e-08\\ +303.726357970332 3.64273824484896e-08\\ +308.666494333727 3.16119875863788e-08\\ +314.410830314727 2.73370516037052e-08\\ +320.262069365765 2.39735066262805e-08\\ +326.974974451177 2.09568430738753e-08\\ +333.828586473176 1.85268772910486e-08\\ +341.612326858553 1.63289879953272e-08\\ +349.577557436328 1.45246404960962e-08\\ +358.553985745982 1.28812729097044e-08\\ +368.609536217215 1.13978431334824e-08\\ +379.821530619074 1.0067341461059e-08\\ +391.374560198039 8.95717860480707e-09\\ +404.20958397963 7.95215499468676e-09\\ +418.428850790158 7.0464684902212e-09\\ +434.14783300551 6.23313338183851e-09\\ +451.49677720361 5.50467750909509e-09\\ +470.622484984129 4.85360109990795e-09\\ +491.690357762802 4.27266251706549e-09\\ +516.074871038592 3.73132833467439e-09\\ +542.918617761894 3.25435487105237e-09\\ +573.797641421414 2.81747642538495e-09\\ +609.234915240071 2.42215689937297e-09\\ +649.84953544699 2.06819294473013e-09\\ +696.374473062824 1.75421123972541e-09\\ +751.408106111696 1.47026442677887e-09\\ +816.416760492149 1.21805606751655e-09\\ +895.265712599642 9.92588705923867e-10\\ +990.822809900379 7.95863203238805e-10\\ +1000 7.80188187096308e-10\\ +}; +\addplot [color=mycolor5, line width=1.5pt, forget plot] + table[row sep=crcr]{% +100 1.16035818279221e-08\\ +104.959323055823 1.17958340795941e-08\\ +109.91097009295 1.20040160160876e-08\\ +114.831241454351 1.22283163656348e-08\\ +119.695570235905 1.24686789729807e-08\\ +124.478714618791 1.27247431013095e-08\\ +129.154966501488 1.29957769702413e-08\\ +133.698374182495 1.32806062043418e-08\\ +138.401609657313 1.3600020109707e-08\\ +142.940453343176 1.39344322115653e-08\\ +147.28827239075 1.42814477409016e-08\\ +151.76833902834 1.46693286604652e-08\\ +156.024641436637 1.50695332478196e-08\\ +160.400310705682 1.55169426085599e-08\\ +164.898694447107 1.60196148422109e-08\\ +169.132951702965 1.65374318991443e-08\\ +173.475935923393 1.71195942773899e-08\\ +177.930438991858 1.7777988175684e-08\\ +182.079168009946 1.84552202509662e-08\\ +186.324631193156 1.92220170236984e-08\\ +190.669084051225 2.00964109530188e-08\\ +194.665634334226 2.09944072786495e-08\\ +198.745954958099 2.20200647591478e-08\\ +202.911801804668 2.32015990314876e-08\\ +206.688024962908 2.44125077102812e-08\\ +210.534524276671 2.58102155088617e-08\\ +214.452607597167 2.7440369763417e-08\\ +218.443607114943 2.93648063369308e-08\\ +221.996611911995 3.13568111611782e-08\\ +225.607406649686 3.37194096630535e-08\\ +229.276931286565 3.65650518104328e-08\\ +232.469705998565 3.95103047194665e-08\\ +235.706941399673 4.30779796565054e-08\\ +238.989256623105 4.74870184892424e-08\\ +242.31727942376 5.30728281710887e-08\\ +245.126006203334 5.90073939169392e-08\\ +247.967289250216 6.6635620421675e-08\\ +250.841505927754 7.68023977379675e-08\\ +253.164847863136 8.77466556184769e-08\\ +255.509709035251 1.02667214205907e-07\\ +257.87628875938 1.24227465720244e-07\\ +259.665597293487 1.47985088424934e-07\\ +261.46732118011 1.83786116601939e-07\\ +263.281546564802 2.44227359890615e-07\\ +264.498018242773 3.15202389081903e-07\\ +265.720110532451 4.51199080257502e-07\\ +266.333272517498 5.83397196668661e-07\\ +266.947849403432 8.48095551962732e-07\\ +268.181260945302 3.82733803921586e-06\\ +268.800102153761 3.09801496151256e-07\\ +269.420371368188 6.4173542032905e-07\\ +270.042071883777 3.21787457057808e-05\\ +270.665207003325 1.29577952081577e-06\\ +271.289780037247 7.33316954490178e-07\\ +272.543253128103 4.12878063226938e-07\\ +273.802517792786 2.91699462257087e-07\\ +275.702332560958 2.03465264434611e-07\\ +277.61532944368 1.56197195304877e-07\\ +280.18665564592 1.18992462027129e-07\\ +282.781797962534 9.58299974188778e-08\\ +285.400976982924 7.99996786581324e-08\\ +288.709091735923 6.60855258594287e-08\\ +292.055551218275 5.61078705872891e-08\\ +296.122543798803 4.73194975631755e-08\\ +300.246170908556 4.07588651315226e-08\\ +305.129701718287 3.49373061197648e-08\\ +310.092663593192 3.04468768561012e-08\\ +315.863540826782 2.64287326223004e-08\\ +321.741815067638 2.32459916499226e-08\\ +328.485736603004 2.03753881338202e-08\\ +335.371015200293 1.8051898820692e-08\\ +343.190719745904 1.59416542056878e-08\\ +352.003147279668 1.40459618381236e-08\\ +361.041859717334 1.24842295244739e-08\\ +371.167181947577 1.10685719523932e-08\\ +382.456972246701 9.79404722444569e-09\\ +394.999546122064 8.65221942519075e-09\\ +407.953450345245 7.69527594633719e-09\\ +422.304418720667 6.82995601466e-09\\ +438.168993151419 6.0504663874481e-09\\ +455.678626584107 5.35038293642444e-09\\ +474.98148032285 4.72310637826298e-09\\ +497.389595879006 4.13509817100069e-09\\ +522.056752784699 3.61560311686229e-09\\ +550.478980785497 3.13774516760035e-09\\ +581.788007434494 2.7197302820954e-09\\ +617.718759733849 2.34062788291558e-09\\ +658.898955079996 2.00049540269657e-09\\ +707.701066118189 1.68910644930686e-09\\ +763.629826128226 1.41696744451791e-09\\ +831.610415323096 1.1688026083862e-09\\ +914.031074875622 9.48426693138056e-10\\ +1000 7.80189405817666e-10\\ +}; +\end{axis} + +\begin{axis}[% +width=3.749in, +height=1.562in, +at={(0.599in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=100, +xmax=1000, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-180, +ymax=180, +ytick={-180, -90, 0, 90, 180}, +ylabel={Phase [deg]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +legend style={at={(0.683,1.035)}, anchor=south west, legend cell align=left, align=left, draw=black} +] +\addplot [color=mycolor1, line width=1.5pt] + table[row sep=crcr]{% +100 0\\ +268.800102153763 0\\ +269.420371368182 180\\ +1000 180\\ +}; +\addlegendentry{w = 0 [rpm]} + +\addplot [color=mycolor2, line width=1.5pt] + table[row sep=crcr]{% +100 -0\\ +268.181260945295 -1.54329882207094e-11\\ +268.800102153763 -179.99999999935\\ +269.420371368182 179.999999999918\\ +273.802517792786 180\\ +274.434330322828 -180\\ +1000 -180\\ +}; +\addlegendentry{w = 15 [rpm]} + +\addplot [color=mycolor3, line width=1.5pt] + table[row sep=crcr]{% +100 0\\ +268.181260945295 0\\ +268.800102153763 180\\ +269.420371368182 0\\ +270.042071883779 180\\ +1000 180\\ +}; +\addlegendentry{w = 30 [rpm]} + +\addplot [color=mycolor4, line width=1.5pt] + table[row sep=crcr]{% +100 0\\ +268.181260945295 1.00044417195022e-11\\ +268.800102153763 179.999999999999\\ +269.420371368182 1.70530256582424e-12\\ +270.042071883779 179.999999999996\\ +1000 180\\ +}; +\addlegendentry{w = 45 [rpm]} + +\addplot [color=mycolor5, line width=1.5pt] + table[row sep=crcr]{% +100 0\\ +267.563844455207 2.21689333557151e-12\\ +268.181260945295 179.999999999995\\ +268.800102153763 180\\ +269.420371368182 8.24229573481716e-13\\ +270.042071883779 179.999999999959\\ +1000 180\\ +}; +\addlegendentry{w = 60 [rpm]} + +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/G_ws_vc.pdf b/figs/G_ws_vc.pdf similarity index 100% rename from Figures/G_ws_vc.pdf rename to figs/G_ws_vc.pdf diff --git a/Figures/G_ws_vc.png b/figs/G_ws_vc.png similarity index 100% rename from Figures/G_ws_vc.png rename to figs/G_ws_vc.png diff --git a/Figures/G_ws_vc.svg b/figs/G_ws_vc.svg similarity index 100% rename from Figures/G_ws_vc.svg rename to figs/G_ws_vc.svg diff --git a/figs/G_ws_vc.tex b/figs/G_ws_vc.tex new file mode 100644 index 0000000..d394456 --- /dev/null +++ b/figs/G_ws_vc.tex @@ -0,0 +1,681 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +\definecolor{mycolor3}{rgb}{0.92900,0.69400,0.12500}% +\definecolor{mycolor4}{rgb}{0.49400,0.18400,0.55600}% +\definecolor{mycolor5}{rgb}{0.46600,0.67400,0.18800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=3.752in, +height=1.562in, +at={(0.551in,2.19in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xtick={0.01,0.1,1,10}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=1.62308112491305e-07, +ymax=8.47738781550122, +yminorticks=true, +ylabel={Magnitude [m/N]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00100013819355643\\ +0.0477176094893874 0.00100315612115271\\ +0.0807062014114951 0.00100908171632215\\ +0.112473717836475 0.00101779050508617\\ +0.143270295340983 0.001029190107648\\ +0.173876240021625 0.00104359537390347\\ +0.203849339825246 0.00106091540787421\\ +0.234082727617829 0.00108191422990503\\ +0.263281546564802 0.00110592387381733\\ +0.292055551218275 0.00113360421653162\\ +0.319524750575921 0.00116424016292906\\ +0.347168681892656 0.00119981227409566\\ +0.374605003274899 0.00124053889640877\\ +0.401424249049932 0.00128643224387801\\ +0.427199396630678 0.00133719776186114\\ +0.45149677720361 0.00139211342538038\\ +0.477176094893874 0.00145904278500236\\ +0.500840798984821 0.00153045350014675\\ +0.525679112201842 0.00161767608696813\\ +0.547947233690029 0.00170900303017546\\ +0.571158647812643 0.0018206836688071\\ +0.595353313081437 0.00195983611607607\\ +0.616296625513294 0.00210444953354136\\ +0.637976680860628 0.00228513838994765\\ +0.66041939623303 0.00251669281978596\\ +0.683651600451024 0.00282325670042115\\ +0.702824426430835 0.00314989971156092\\ +0.722534949178722 0.00358871988881533\\ +0.742798248256491 0.00420833866255023\\ +0.758367791499719 0.00487024030126694\\ +0.774263682681128 0.00582526993364689\\ +0.790492762269642 0.00732187315490172\\ +0.80150069615654 0.00889975784948678\\ +0.812661920009195 0.011432614673708\\ +0.823978568452851 0.0161609974157796\\ +0.835452805838287 0.0281151825299002\\ +0.841249704973612 0.0451714803322501\\ +0.84708682665574 0.117360791849098\\ +0.852964449974102 0.189178260508357\\ +0.858882855954626 0.051853672408325\\ +0.870843149769072 0.0208896426846295\\ +0.88296999554941 0.0129436662327427\\ +0.89526571259964 0.00930498535677328\\ +0.914031074875622 0.00647742160385687\\ +0.933189771573324 0.00491925452713226\\ +0.959360828709315 0.00368024942662198\\ +0.986265846131283 0.0029065452900212\\ +1.02096066230605 0.00227130126020364\\ +1.0568759711848 0.00184029709420348\\ +1.10164594963366 0.00147728348086282\\ +1.15628013120738 0.00118012190324452\\ +1.21362379834424 0.000966045645977689\\ +1.28264983052806 0.000785402054237929\\ +1.36500780654601 0.000635109933941714\\ +1.46273335620113 0.000511151954578007\\ +1.57833140565212 0.000409482718630417\\ +1.72678090388436 0.000320507909311836\\ +1.90230118866895 0.000249988246146251\\ +2.12484535249888 0.000190893158908134\\ +2.4231727942376 0.000140582090876763\\ +2.82130767593947 0.000100016212440773\\ +3.3769803108251 6.77625676206677e-05\\ +4.21332174384729 4.25010307386016e-05\\ +5.63314267060136 2.3339439906966e-05\\ +8.41249704973612 1.0332049997469e-05\\ +10 7.28998669449722e-06\\ +}; +\addplot [color=mycolor2, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00109475002683073\\ +0.0401424249049932 0.00109821259630434\\ +0.0669616005485321 0.00110486620174354\\ +0.0926759330114688 0.00111454469381578\\ +0.118051652856881 0.00112746257391964\\ +0.142283045721435 0.00114317314306706\\ +0.166810053720006 0.00116276658099305\\ +0.190230118866895 0.0011853404823743\\ +0.212484535249888 0.00121074181642482\\ +0.234082727617829 0.00123959324317588\\ +0.256099310025846 0.00127391797758379\\ +0.276338529005317 0.00131057391351607\\ +0.296122543798803 0.00135196617323305\\ +0.315136348486648 0.00139788369604224\\ +0.333060034362459 0.00144773965182027\\ +0.352003147279668 0.0015088054363158\\ +0.36946012051993 0.00157438107091569\\ +0.387782841458945 0.00165514665190907\\ +0.404209583979631 0.00174059771890323\\ +0.421332174384729 0.00184646319506413\\ +0.436153778920801 0.00195590359031536\\ +0.45149677720361 0.00209198964285426\\ +0.467379510799246 0.00226558085788189\\ +0.480487043965513 0.00244302693687394\\ +0.493962174387832 0.00267036128628789\\ +0.507815211232767 0.00297203335304531\\ +0.522056752784698 0.00339172879558473\\ +0.532999408084409 0.00383299339996398\\ +0.544171428686589 0.00445828213628769\\ +0.555577622239888 0.00541389463759958\\ +0.563314267060135 0.00639218387306326\\ +0.571158647812643 0.00790508645333722\\ +0.579112264764176 0.0105578457704107\\ +0.587176639073325 0.0164240123585278\\ +0.591250841383188 0.0231843174319082\\ +0.595353313081437 0.0403613878725119\\ +0.599484250318941 0.172978117607189\\ +0.607832312829722 0.0291666847708527\\ +0.616296625513294 0.0129151999961305\\ +0.624878807200689 0.00805928555083166\\ +0.637976680860628 0.00495471395397213\\ +0.65134909462728 0.00343611980913347\\ +0.669616005485322 0.00230602666058021\\ +0.697981390783065 0.00137656908667507\\ +0.737679760252773 0.000692426161988808\\ +0.758367791499719 0.00045695261947101\\ +0.774263682681128 0.00030591350228695\\ +0.785045620020451 0.00021382973079968\\ +0.795977700231498 0.000126912310746782\\ +0.80150069615654 8.49940217848893e-05\\ +0.807062014114951 4.39092500615882e-05\\ +0.812661920009195 3.52140259473586e-06\\ +0.818300681586739 3.63011285899417e-05\\ +0.823978568452851 7.56863567965111e-05\\ +0.835452805838287 0.000153646954642128\\ +0.84708682665574 0.000231362790965064\\ +0.864842327573173 0.00034974925835103\\ +0.88296999554941 0.000473766694439158\\ +0.907732652521022 0.000656193276974287\\ +0.959360828709315 0.00115109608797202\\ +0.99310918137498 0.00166940134161709\\ +1.02096066230605 0.00239185325282759\\ +1.0423606739764 0.00339149348399832\\ +1.0568759711848 0.00461157768221739\\ +1.07159339982267 0.0070755815163412\\ +1.07902879151618 0.00958489079242115\\ +1.08651577465254 0.0147595861375025\\ +1.09405470720574 0.0317048291681167\\ +1.10164594963366 0.229632367462628\\ +1.10928986489522 0.0250117202422168\\ +1.11698681846782 0.0132658514111486\\ +1.13254131515281 0.00686531230526269\\ +1.14831241454351 0.00464090197076941\\ +1.1723818032866 0.00312630777090112\\ +1.19695570235904 0.00235579613596348\\ +1.22204468663149 0.00188702166754881\\ +1.25631660247412 0.00148650457123864\\ +1.29154966501488 0.00122105816064994\\ +1.33698374182495 0.000992033793946689\\ +1.39361927422414 0.000802439798323623\\ +1.45265392594678 0.000667089159202486\\ +1.52469572701757 0.000550736190433321\\ +1.61141427725302 0.000452320193413574\\ +1.71488196987054 0.000369796815399409\\ +1.83765620038817 0.000300938170480245\\ +1.99664245010979 0.000239195971654538\\ +2.18443607114943 0.000189440190999248\\ +2.4231727942376 0.000146834936544237\\ +2.74434330322837 0.000109719193688506\\ +3.17322963473498 7.91767810463352e-05\\ +3.772042493417 5.43952134717887e-05\\ +4.70622484984128 3.40902088832877e-05\\ +6.2487880720069 1.89794947856209e-05\\ +9.26759330114688 8.51687779324179e-06\\ +10 7.3039037765062e-06\\ +}; +\addplot [color=mycolor3, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00152873891886742\\ +0.0261467321180109 0.00153463140205263\\ +0.0412682084570295 0.00154505713149307\\ +0.0555577622239888 0.00155948654472438\\ +0.0697981390783065 0.00157859493653819\\ +0.0835452805838287 0.00160190562263513\\ +0.0972720319245054 0.00163044522739027\\ +0.110164594963366 0.00166260652785142\\ +0.123052400435926 0.00170062892339175\\ +0.135560178532937 0.00174395713603851\\ +0.14728827239075 0.00179122992138073\\ +0.158928286562298 0.00184555808894101\\ +0.170306502925284 0.00190704804157669\\ +0.181241754737424 0.00197540726561404\\ +0.191550055557353 0.00204976902185534\\ +0.20244465099768 0.00214099579588196\\ +0.212484535249888 0.00223907338609269\\ +0.223022329796594 0.00235993652645274\\ +0.232469705998565 0.00248778210828306\\ +0.24231727942376 0.00264597402098134\\ +0.250841505927754 0.00280911581774798\\ +0.259665597293487 0.00301120438369611\\ +0.268800102153761 0.00326742191238662\\ +0.278255940220713 0.00360201809818771\\ +0.286059553517574 0.00395292593462488\\ +0.294082017058706 0.0044155638137306\\ +0.302329468440578 0.00505235883184931\\ +0.308666494333727 0.00571229328132168\\ +0.315136348486648 0.00662952066026614\\ +0.321741815067637 0.00798969677745884\\ +0.328485736603005 0.0102136944344422\\ +0.333060034362459 0.012690092418694\\ +0.337698031082509 0.0169785406925608\\ +0.342400613797143 0.0262109498394042\\ +0.344776405473446 0.0364319664236147\\ +0.347168681892656 0.0605471144237862\\ +0.349577557436327 0.186973972600418\\ +0.352003147279668 0.164973107754804\\ +0.354445567397044 0.0564307224830849\\ +0.359381366380463 0.0239136130237531\\ +0.364385898376354 0.014924575772995\\ +0.372023668141307 0.00934772409360628\\ +0.379821530619074 0.00667485602608982\\ +0.390473523688556 0.00471924533610826\\ +0.401424249049932 0.00356624134117702\\ +0.415545533471887 0.00265536019048801\\ +0.43314832233764 0.00195781446080018\\ +0.45462954695324 0.00142752550227041\\ +0.490558370636505 0.000905317268497118\\ +0.540421642070592 0.000507528911950681\\ +0.567222897164455 0.00036830538721531\\ +0.587176639073325 0.000284387044322361\\ +0.607832312829722 0.000210427924793992\\ +0.624878807200689 0.00015708626355661\\ +0.637976680860628 0.000119927336181379\\ +0.65134909462728 8.48737056876268e-05\\ +0.66041939623303 6.25416676164295e-05\\ +0.669616005485322 4.09543930851072e-05\\ +0.674262224177834 3.0418760647303e-05\\ +0.678940681269611 2.00442910569794e-05\\ +0.683651600451024 9.82314068484122e-06\\ +0.68839520696455 2.52325385564989e-07\\ +0.69317172761554 1.01895496992575e-05\\ +0.697981390783065 1.99957981442292e-05\\ +0.707701066118189 3.92436381484003e-05\\ +0.717556091893692 5.80510035881697e-05\\ +0.732596542821523 8.55522463840736e-05\\ +0.747952251562183 0.000112355880818573\\ +0.763629826128224 0.000138631608225121\\ +0.785045620020451 0.000173136369087423\\ +0.807062014114951 0.000207409894074512\\ +0.835452805838287 0.000250584729219164\\ +0.870843149769072 0.000304134673798405\\ +0.914031074875622 0.000371545169739484\\ +1.06420924406472 0.000682609010048687\\ +1.10928986489522 0.00083267618260422\\ +1.14831241454351 0.00101108644015838\\ +1.18051652856881 0.0012161825264589\\ +1.21362379834424 0.00152375184594956\\ +1.23906215694792 0.00188125325891126\\ +1.2650337203959 0.00246242998199542\\ +1.28264983052806 0.00310722564330395\\ +1.30051125217341 0.00422109588216983\\ +1.31862140139475 0.006613387885237\\ +1.32777082935543 0.00925628482239021\\ +1.33698374182495 0.0154737756497603\\ +1.34626057929891 0.0476939686007752\\ +1.35560178532937 0.0435650686613485\\ +1.36500780654601 0.0148917234424735\\ +1.38401609657313 0.00639278303844388\\ +1.40328908478587 0.00404921689551433\\ +1.42283045721435 0.00295109346300216\\ +1.45265392594678 0.00208563127951972\\ +1.48310251433611 0.0016033311593988\\ +1.52469572701757 0.00121625332858118\\ +1.5674554102056 0.000972320742717071\\ +1.62259528707809 0.000770176323572982\\ +1.67967487209265 0.000631634579608454\\ +1.75082703173572 0.000513684364226624\\ +1.83765620038817 0.000415911529431671\\ +1.92879150802078 0.000344531999372041\\ +2.03849339825246 0.000283472209371881\\ +2.16938351838519 0.000231919517353119\\ +2.32469705998565 0.000188744051989147\\ +2.52582002696278 0.000149968420647057\\ +2.76338529005317 0.000118712413507016\\ +3.06539529505653 9.19616148352668e-05\\ +3.47168681892656 6.86775978593793e-05\\ +4.01424249049933 4.9535675430832e-05\\ +4.77176094893875 3.40179473337479e-05\\ +5.91250841383188 2.16228368580608e-05\\ +7.79636013040524 1.22040903643924e-05\\ +10 7.34583427847428e-06\\ +}; +\addplot [color=mycolor4, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00453101830059306\\ +0.0139361927422414 0.00457141601353119\\ +0.0177520801171764 0.00462439703498558\\ +0.0215443469003188 0.00469151215368621\\ +0.0252582002696278 0.00477245218317652\\ +0.028804441533963 0.0048652308845991\\ +0.032397426295282 0.00497646106567911\\ +0.0356904934567523 0.00509555396024981\\ +0.0390473523688556 0.00523615411389688\\ +0.0424255643071778 0.00540012299069549\\ +0.045462954695324 0.00556983162102058\\ +0.0487178021879463 0.00577908995439784\\ +0.0518459354389291 0.00601171733351188\\ +0.0547947233690028 0.0062647377253243\\ +0.0579112264764176 0.00657506099705162\\ +0.0607832312829722 0.00690854970118615\\ +0.0637976680860628 0.00731926388311971\\ +0.0665001803043112 0.00775334595749935\\ +0.069317172761554 0.00828987665609179\\ +0.0722534949178721 0.00896733314534911\\ +0.0747952251562181 0.00968212046801476\\ +0.0774263682681126 0.0105909996496593\\ +0.080150069615654 0.011782151960433\\ +0.0823978568452851 0.0130363394810918\\ +0.084708682665574 0.0146974005830505\\ +0.0870843149769072 0.0169974651966685\\ +0.0889096598952915 0.0193976321961421\\ +0.0907732652521022 0.0227613434644872\\ +0.0926759330114688 0.0278091064402178\\ +0.0946184819472199 0.0362182708658711\\ +0.0959360828709315 0.0458151256406128\\ +0.0972720319245054 0.0630422352465336\\ +0.0986265846131281 0.102978994078703\\ +0.099310918137498 0.152376998723317\\ +0.1 0.297144255036158\\ +0.100693863147603 8.47738781550121\\ +0.101392540755881 0.314423516964446\\ +0.102096066230605 0.153123581227986\\ +0.103517795563018 0.0746803283460899\\ +0.104959323055823 0.0488550427807674\\ +0.107159339982267 0.0317328058902229\\ +0.109405470720574 0.0232047564635368\\ +0.112473717836475 0.0168284264814708\\ +0.115628013120738 0.0130149623391712\\ +0.119695570235904 0.00997533187293677\\ +0.123906215694792 0.00795811399877147\\ +0.129154966501488 0.00628656619179516\\ +0.135560178532937 0.00493648520636096\\ +0.143270295340983 0.00385863840716838\\ +0.152469572701757 0.00300153568314534\\ +0.163385387780986 0.00232002362210437\\ +0.178752552590424 0.00169539663751902\\ +0.206688024962908 0.00104491177011397\\ +0.238989256623105 0.00064029014889373\\ +0.259665597293487 0.000474998925631336\\ +0.276338529005317 0.000373081054262977\\ +0.292055551218275 0.000295186341160203\\ +0.306539529505652 0.000235256667135457\\ +0.319524750575921 0.000189157826490408\\ +0.330764978074424 0.000154023966359949\\ +0.342400613797143 0.00012156758673611\\ +0.352003147279668 9.73581898753128e-05\\ +0.361874981241128 7.45807348221263e-05\\ +0.36946012051993 5.8371728813786e-05\\ +0.3772042493417 4.28643672347655e-05\\ +0.3824569722467 3.28960263493344e-05\\ +0.387782841458945 2.32103427572626e-05\\ +0.393182875570577 1.37964306518848e-05\\ +0.395911026646846 9.18809794202592e-06\\ +0.398658107358044 4.64380740277752e-06\\ +0.401424249049932 1.62308112491305e-07\\ +0.404209583979631 4.25762832250677e-06\\ +0.407014245321944 8.61720838947502e-06\\ +0.412682084570295 1.71600194534791e-05\\ +0.418428850790158 2.54753614740083e-05\\ +0.424255643071778 3.35721575337827e-05\\ +0.43314832233764 4.53263728089333e-05\\ +0.44222739805059 5.66361588817962e-05\\ +0.45149677720361 6.75281720950144e-05\\ +0.464158883361278 8.1444851576741e-05\\ +0.477176094893874 9.4721404652286e-05\\ +0.490558370636505 0.000107412247922278\\ +0.507815211232767 0.000122530834239654\\ +0.525679112201842 0.000136911320815336\\ +0.547947233690029 0.000153322729351542\\ +0.571158647812643 0.000168955947553232\\ +0.599484250318941 0.000186408706148706\\ +0.629214610961034 0.000203236732548977\\ +0.665001803043112 0.000222007421817765\\ +0.712611543011175 0.000245327320240089\\ +0.785045620020451 0.000279208420646451\\ +0.907732652521022 0.00033904662702861\\ +0.972720319245054 0.000375537772261408\\ +1.02804473209331 0.000411355749794632\\ +1.07902879151618 0.000449920540854421\\ +1.12473717836475 0.000490717958180033\\ +1.1723818032866 0.000541816774917564\\ +1.21362379834424 0.0005957061655971\\ +1.25631660247412 0.000664654181713336\\ +1.30051125217341 0.000756265650452901\\ +1.33698374182495 0.000854706638176982\\ +1.37447909267754 0.000988747584769564\\ +1.41302599059953 0.00118212923617096\\ +1.44264395121816 0.00139463300403259\\ +1.4728827239075 0.00171304352866434\\ +1.50375532129974 0.00224287326743262\\ +1.52469572701757 0.00284710134393563\\ +1.54592773641948 0.00393122583147375\\ +1.5674554102056 0.00644339910567548\\ +1.57833140565212 0.00954954393723037\\ +1.58928286562298 0.0186468843858676\\ +1.6003103137387 0.520505575684362\\ +1.61141427725302 0.0198356564647494\\ +1.62259528707809 0.00967226376986916\\ +1.64519058775366 0.00473273404676204\\ +1.66810053720006 0.00310673794571656\\ +1.70306502925285 0.00202849299111685\\ +1.73876240021625 0.00149120429559516\\ +1.78752552590424 0.00108918322539869\\ +1.83765620038817 0.000848490456274208\\ +1.90230118866895 0.00065637194921138\\ +1.96922025547917 0.000528649545117315\\ +2.05263775270925 0.000422592765793052\\ +2.13958887134342 0.00034719506092547\\ +2.24569799553978 0.000282965940997104\\ +2.37342425002387 0.000229343583905914\\ +2.52582002696278 0.000185085375585373\\ +2.70665207003324 0.0001487882357568\\ +2.92055551218275 0.000119129861410815\\ +3.17322963473498 9.49573942726165e-05\\ +3.49577557436328 7.40067628137319e-05\\ +3.90473523688556 5.64892548778022e-05\\ +4.45295850994266 4.15952387009608e-05\\ +5.18459354389291 2.95938049755255e-05\\ +6.2057288067765 2.0053060515934e-05\\ +7.79636013040524 1.2399726445939e-05\\ +10 7.41632088093813e-06\\ +}; +\addplot [color=mycolor5, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00263238947622504\\ +0.0154592773641948 0.00265042524605343\\ +0.0208122156998634 0.00267600437295551\\ +0.0261467321180109 0.00270968615899963\\ +0.0312964801067075 0.00275048123643326\\ +0.0364385898376354 0.00279999105794678\\ +0.0415545533471887 0.00285877171487515\\ +0.0464158883361277 0.00292436036538669\\ +0.0511338753841432 0.00299813406882873\\ +0.0559432570616938 0.00308488604704319\\ +0.0607832312829722 0.00318558812378521\\ +0.065134909462728 0.003289287350251\\ +0.0697981390783065 0.00341641944213625\\ +0.0742798248256491 0.00355680626519763\\ +0.0785045620020451 0.00370838405540079\\ +0.082969585208349 0.00389272098577888\\ +0.0870843149769072 0.00408891577146563\\ +0.0914031074875622 0.00432787531278412\\ +0.0952750047242728 0.00457728414863314\\ +0.099310918137498 0.00488117668505667\\ +0.103517795563018 0.00525813579910645\\ +0.107902879151618 0.00573623965583215\\ +0.111698681846782 0.00624328368782295\\ +0.115628013120738 0.00689188461146861\\ +0.119695570235904 0.00774855349780589\\ +0.123052400435926 0.00865878015634284\\ +0.12650337203959 0.00987746973590478\\ +0.130051125217341 0.0115902461245331\\ +0.132777082935543 0.0134095909112939\\ +0.135560178532937 0.0160160459053251\\ +0.138401609657313 0.020056943202116\\ +0.141302599059953 0.0271575104459733\\ +0.143270295340983 0.0358789920855178\\ +0.145265392594678 0.0534534845428542\\ +0.146273335620113 0.0711998474366117\\ +0.14728827239075 0.107211373634123\\ +0.14831025143361 0.219561570470591\\ +0.149339321612425 3.64900957636142\\ +0.150375532129974 0.193840713027287\\ +0.151418932530435 0.0990053609047371\\ +0.153527502878042 0.0496131043811587\\ +0.155665435927106 0.032846495104206\\ +0.158928286562298 0.0215871455518451\\ +0.162259528707809 0.0159360462556001\\ +0.166810053720006 0.0116918897690647\\ +0.171488196987054 0.00914587788779211\\ +0.177520801171764 0.00711239512751928\\ +0.183765620038817 0.00576092245760399\\ +0.191550055557353 0.00463989612373447\\ +0.199664245010979 0.00384429138875452\\ +0.209566239948043 0.00316803855201538\\ +0.219959306803007 0.00266626029417807\\ +0.232469705998565 0.0022329977240762\\ +0.245691646298279 0.00190146976928667\\ +0.261467321180109 0.00161250284516209\\ +0.278255940220713 0.00138669796952882\\ +0.298177229001967 0.0011890294355478\\ +0.319524750575921 0.0010324996519364\\ +0.342400613797143 0.000906709952509714\\ +0.366914237840249 0.000804463308924409\\ +0.393182875570577 0.000720625165208552\\ +0.421332174384729 0.000651440314163974\\ +0.45149677720361 0.000594106532883281\\ +0.483820966492596 0.000546499518451182\\ +0.518459354389291 0.000506990624930768\\ +0.551749237612913 0.000477312030685281\\ +0.587176639073325 0.000452457801829404\\ +0.624878807200689 0.000431868356161529\\ +0.665001803043112 0.000415114947725158\\ +0.702824426430835 0.000403188118961833\\ +0.742798248256491 0.000393896272386071\\ +0.785045620020451 0.000387160115368208\\ +0.823978568452851 0.00038335536963165\\ +0.864842327573173 0.000381548455063659\\ +0.907732652521022 0.000381844598547494\\ +0.946184819472201 0.000383904517956285\\ +0.986265846131283 0.000387804390482431\\ +1.02804473209331 0.000393776348833743\\ +1.07159339982267 0.000402141504245486\\ +1.11698681846782 0.000413344229647985\\ +1.16430313292088 0.000428005154407078\\ +1.20526093687084 0.000443489473769809\\ +1.24765955263087 0.000462694090123144\\ +1.29154966501488 0.0004866145041479\\ +1.33698374182495 0.00051667724790736\\ +1.38401609657313 0.00055499550700619\\ +1.43270295340983 0.000604831952066955\\ +1.4728827239075 0.000656453337887166\\ +1.51418932530435 0.000723151214364206\\ +1.55665435927106 0.000812106830006854\\ +1.6003103137387 0.00093597055881714\\ +1.63385387780986 0.00106572234458852\\ +1.66810053720006 0.00124805767822457\\ +1.70306502925285 0.00152230154517323\\ +1.73876240021625 0.00198007286632525\\ +1.76297537528721 0.00250330943535896\\ +1.78752552590424 0.0034440045949363\\ +1.81241754737424 0.00563031376958014\\ +1.82499324481615 0.00834426006197661\\ +1.83765620038817 0.016357975506944\\ +1.8504070195423 0.681883122776397\\ +1.86324631193156 0.016901550135263\\ +1.87617469143912 0.00827966429239068\\ +1.90230118866895 0.00404879532737294\\ +1.92879150802078 0.00265068649556657\\ +1.96922025547917 0.00172260051928762\\ +2.0104964162605 0.00126022242287964\\ +2.06688024962908 0.000914663674688515\\ +2.12484535249888 0.000708215110449834\\ +2.19959306803007 0.000543922926769324\\ +2.27697025538168 0.000435128411498591\\ +2.37342425002387 0.000345217079027074\\ +2.47396410088682 0.000281655035108669\\ +2.59665597293487 0.00022784749653108\\ +2.74434330322837 0.000183256280947719\\ +2.92055551218275 0.000146757536590849\\ +3.12964801067075 0.000117093862362893\\ +3.3769803108251 9.3084668720933e-05\\ +3.66914237840249 7.37039597355263e-05\\ +4.04209583979631 5.70699420717764e-05\\ +4.48385594802119 4.40342159753354e-05\\ +5.07815211232768 3.27382936159559e-05\\ +5.83130511352623 2.38752838795007e-05\\ +6.8839520696455 1.65656121232172e-05\\ +8.41249704973612 1.07918553375186e-05\\ +10 7.51628466129388e-06\\ +}; +\end{axis} + +\begin{axis}[% +width=3.752in, +height=1.562in, +at={(0.551in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-180, +ymax=180, +ytick={-180, -90, 0, 90, 180}, +ylabel={Phase [deg]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +legend style={at={(0.629,1.026)}, anchor=south west, legend cell align=left, align=left, draw=black} +] +\addplot [color=mycolor1, line width=1.5pt] + table[row sep=crcr]{% +0.01 0\\ +0.847086826655735 0\\ +0.852964449974123 180\\ +10 180\\ +}; +\addlegendentry{w = 0 [rpm]} + +\addplot [color=mycolor2, line width=1.5pt] + table[row sep=crcr]{% +0.01 0\\ +0.599484250318932 6.82121026329696e-13\\ +0.603643850607596 180\\ +0.812661920009201 180\\ +0.818300681586717 0\\ +1.09405470720574 2.27373675443232e-13\\ +1.10164594963369 179.999999999998\\ +10 180\\ +}; +\addlegendentry{w = 15 [rpm]} + +\addplot [color=mycolor3, line width=1.5pt] + table[row sep=crcr]{% +0.01 0\\ +0.349577557436321 0\\ +0.352003147279672 180\\ +0.683651600451004 180\\ +0.688395206964551 0\\ +1.3462605792989 0\\ +1.3556017853294 180\\ +10 180\\ +}; +\addlegendentry{w = 30 [rpm]} + +\addplot [color=mycolor4, line width=1.5pt] + table[row sep=crcr]{% +0.01 0\\ +0.100693863147606 0\\ +0.101392540755881 180\\ +0.401424249049931 180\\ +0.404209583979642 0\\ +1.60031031373875 0\\ +1.61141427725301 180\\ +10 180\\ +}; +\addlegendentry{w = 45 [rpm]} + +\addplot [color=mycolor5, line width=1.5pt] + table[row sep=crcr]{% +0.01 180\\ +0.148310251433614 180\\ +0.149339321612423 -0\\ +1.85040701954232 -1.44382283906452e-10\\ +1.86324631193151 -179.999999999996\\ +10 -180\\ +}; +\addlegendentry{w = 60 [rpm]} + +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/G_x_y.pdf b/figs/G_x_y.pdf similarity index 100% rename from Figures/G_x_y.pdf rename to figs/G_x_y.pdf diff --git a/Figures/G_x_y_e.pdf b/figs/G_x_y_e.pdf similarity index 100% rename from Figures/G_x_y_e.pdf rename to figs/G_x_y_e.pdf diff --git a/Figures/Gc_ws_pz.pdf b/figs/Gc_ws_pz.pdf similarity index 100% rename from Figures/Gc_ws_pz.pdf rename to figs/Gc_ws_pz.pdf diff --git a/Figures/Gc_ws_pz.png b/figs/Gc_ws_pz.png similarity index 100% rename from Figures/Gc_ws_pz.png rename to figs/Gc_ws_pz.png diff --git a/Figures/Gc_ws_pz.svg b/figs/Gc_ws_pz.svg similarity index 100% rename from Figures/Gc_ws_pz.svg rename to figs/Gc_ws_pz.svg diff --git a/figs/Gc_ws_pz.tex b/figs/Gc_ws_pz.tex new file mode 100644 index 0000000..1a9db66 --- /dev/null +++ b/figs/Gc_ws_pz.tex @@ -0,0 +1,507 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +\definecolor{mycolor3}{rgb}{0.92900,0.69400,0.12500}% +\definecolor{mycolor4}{rgb}{0.49400,0.18400,0.55600}% +\definecolor{mycolor5}{rgb}{0.46600,0.67400,0.18800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=3.749in, +height=1.562in, +at={(0.599in,2.19in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=100, +xmax=1000, +xtick={100,1000}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=4.20527933710217e-13, +ymax=3.15157109970002e-05, +yminorticks=true, +ylabel={Magnitude [m/N]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor2, line width=1.5pt, forget plot] + table[row sep=crcr]{% +100 9.30165475909552e-12\\ +104.717681948552 1.00492817159882e-11\\ +109.405470720574 1.08509951326271e-11\\ +114.039960197004 1.17086824023633e-11\\ +118.87076977119 1.26807783664599e-11\\ +123.620954373677 1.37250411629892e-11\\ +128.264983052806 1.4842663086645e-11\\ +133.083472465408 1.61180252421071e-11\\ +137.765076954906 1.74869278552599e-11\\ +142.611370719413 1.90598416329822e-11\\ +147.28827239075 2.0752285034727e-11\\ +152.118551798611 2.27105525840124e-11\\ +156.74554102056 2.48214660024695e-11\\ +161.513269350309 2.72808905827842e-11\\ +166.042865718753 2.99343307253409e-11\\ +170.699493403841 3.30466492918859e-11\\ +175.082703173573 3.6402820613131e-11\\ +179.57846470021 4.03640587554682e-11\\ +184.189668079971 4.50919611463143e-11\\ +188.48434090338 5.02392135364863e-11\\ +192.879150802078 5.64273782648704e-11\\ +197.376432630026 6.39682890369063e-11\\ +201.513573381556 7.22715033530797e-11\\ +205.737431343292 8.24775676479401e-11\\ +210.049824165392 9.5234476650169e-11\\ +213.958887134342 1.09475915117862e-10\\ +217.940698430296 1.2746631168675e-10\\ +221.996611911995 1.50682018817216e-10\\ +225.607406649686 1.77052270388154e-10\\ +229.276931286565 2.11542742021132e-10\\ +233.006141069693 2.57937192379449e-10\\ +236.250846547795 3.11842360789727e-10\\ +239.540735872088 3.85659694651025e-10\\ +242.876438246045 4.90727463058425e-10\\ +245.691646298279 6.16664949413701e-10\\ +248.53948574298 8.00494003231076e-10\\ +251.42033481428 1.08450345848264e-09\\ +253.749037973357 1.4409693060743e-09\\ +256.099310025846 2.01353964763298e-09\\ +258.471350746957 3.02199768117934e-09\\ +260.2647881969 4.3883726502894e-09\\ +262.070669648386 6.96913492334039e-09\\ +263.889081445751 1.27978197214667e-08\\ +265.108360190854 2.20556561272718e-08\\ +266.333272517498 4.69573307120002e-08\\ +267.563844455205 1.63186621991904e-07\\ +268.181260945302 5.23316278519018e-07\\ +268.800102153761 2.45024563660002e-05\\ +270.665207003325 1.27324785185218e-07\\ +271.915794303602 4.04283406981609e-08\\ +273.172159844137 1.95839522390518e-08\\ +275.067600790807 9.21205437754155e-09\\ +276.97619350369 5.31773476807312e-09\\ +278.898029238044 3.44807510178157e-09\\ +281.481236050758 2.1656726859819e-09\\ +284.088369018331 1.48052559049878e-09\\ +287.381269185107 9.96651553248912e-10\\ +290.712337727258 7.1371807992619e-10\\ +294.082017058707 5.34415938747858e-10\\ +298.177229001967 3.9456176136691e-10\\ +302.329468440578 3.02086721391009e-10\\ +307.246884270901 2.29130810509849e-10\\ +312.244282309286 1.79005439276214e-10\\ +318.055201533293 1.38889108649287e-10\\ +323.97426295282 1.10400675674328e-10\\ +330.764978074424 8.72743322479114e-11\\ +337.698031082509 7.03846266968181e-11\\ +345.571993676214 5.6494756354002e-11\\ +353.629550135505 4.61080730791723e-11\\ +362.710025233065 3.74681915252871e-11\\ +372.023668141307 3.08774596779589e-11\\ +382.456972246701 2.53411094733651e-11\\ +393.182875570577 2.10464289517843e-11\\ +405.142317111466 1.74087906828329e-11\\ +418.428850790158 1.43527800889026e-11\\ +433.148322337639 1.18014200227817e-11\\ +448.385594802118 9.79919580681657e-12\\ +465.22995239602 8.11117598400454e-12\\ +483.820966492596 6.69501190447232e-12\\ +504.315948717137 5.51166250075194e-12\\ +526.892142135069 4.52613447926005e-12\\ +551.749237612914 3.70768373452885e-12\\ +579.112264764177 3.02968841681522e-12\\ +610.640754223204 2.4468696488001e-12\\ +645.37154016467 1.97197661062396e-12\\ +685.229159528406 1.57192756476257e-12\\ +730.909932860292 1.23991260707971e-12\\ +783.23825991792 9.68049116656925e-13\\ +843.190929286625 7.48190578590929e-13\\ +914.031074875622 5.68018553400976e-13\\ +997.697764236321 4.23751274325163e-13\\ +1000 4.20527933710217e-13\\ +}; +\addplot [color=mycolor3, line width=1.5pt, forget plot] + table[row sep=crcr]{% +100 1.86034572326991e-11\\ +104.717681948552 2.0098730009066e-11\\ +109.405470720574 2.17021783983162e-11\\ +114.039960197004 2.34175775324252e-11\\ +118.87076977119 2.53617992643274e-11\\ +123.620954373677 2.7450359167774e-11\\ +128.264983052806 2.96856423789646e-11\\ +133.083472465408 3.22364149593561e-11\\ +137.765076954906 3.4974275979224e-11\\ +142.611370719413 3.81201727473551e-11\\ +147.28827239075 4.15051401302096e-11\\ +152.118551798611 4.54217763764479e-11\\ +156.74554102056 4.96437217635518e-11\\ +161.513269350309 5.45627215150691e-11\\ +166.042865718753 5.98697793317356e-11\\ +170.699493403841 6.6094644633807e-11\\ +175.082703173573 7.28072574543335e-11\\ +179.57846470021 8.07300848626033e-11\\ +184.189668079971 9.01863544329673e-11\\ +188.48434090338 1.00481421802726e-10\\ +192.879150802078 1.12858505718998e-10\\ +197.376432630026 1.27941361950764e-10\\ +201.513573381556 1.44549076418341e-10\\ +205.737431343292 1.6496299600202e-10\\ +210.049824165392 1.9047937908837e-10\\ +213.958887134342 2.18965548170576e-10\\ +217.940698430296 2.54951146511539e-10\\ +221.996611911995 3.0138982822592e-10\\ +225.607406649686 3.54140044386169e-10\\ +229.276931286565 4.2313603256006e-10\\ +233.006141069693 5.15949356198264e-10\\ +236.250846547795 6.23794100744959e-10\\ +239.540735872088 7.71486404449302e-10\\ +242.876438246045 9.81724948998522e-10\\ +245.691646298279 1.23375585755121e-09\\ +248.53948574298 1.6017051490857e-09\\ +251.42033481428 2.17032230301044e-09\\ +253.749037973357 2.88425993238134e-09\\ +256.099310025846 4.03161108142683e-09\\ +258.471350746957 6.05420483521947e-09\\ +260.2647881969 8.79828521230811e-09\\ +262.070669648386 1.39926615461739e-08\\ +263.889081445751 2.5779631004486e-08\\ +265.108360190854 4.46605947577821e-08\\ +266.333272517498 9.64398062938692e-08\\ +266.947849403432 1.66151657247255e-07\\ +267.563844455205 3.59042686251801e-07\\ +268.181260945302 1.47785712468051e-06\\ +269.420371368188 7.4342912527264e-06\\ +270.042071883777 8.48451044860091e-07\\ +270.665207003325 2.74109910954402e-07\\ +271.915794303602 8.27214880774144e-08\\ +273.172159844137 3.9600373724863e-08\\ +275.067600790807 1.8519255070312e-08\\ +276.97619350369 1.06671114387928e-08\\ +278.898029238044 6.90944270410972e-09\\ +281.481236050758 4.33658729458624e-09\\ +284.088369018331 2.96350120479405e-09\\ +287.381269185107 1.99441383811264e-09\\ +290.712337727258 1.42800614815219e-09\\ +294.082017058707 1.06915172568813e-09\\ +298.177229001967 7.89298087228518e-10\\ +302.329468440578 6.04275919142506e-10\\ +307.246884270901 4.58320692743567e-10\\ +312.244282309286 3.58047012379678e-10\\ +318.055201533293 2.7780003277329e-10\\ +323.97426295282 2.20815179525753e-10\\ +330.764978074424 1.7455734079491e-10\\ +337.698031082509 1.40774921495793e-10\\ +345.571993676214 1.12993184192126e-10\\ +353.629550135505 9.22186061878577e-11\\ +362.710025233065 7.49380190268166e-11\\ +372.023668141307 6.17560389380155e-11\\ +382.456972246701 5.06829798591601e-11\\ +393.182875570577 4.20933878664238e-11\\ +405.142317111466 3.48179480624961e-11\\ +418.428850790158 2.87058126823615e-11\\ +433.148322337639 2.36030133102593e-11\\ +448.385594802118 1.95985129759959e-11\\ +465.22995239602 1.62224366195868e-11\\ +483.820966492596 1.33900826533886e-11\\ +504.315948717137 1.10233657903303e-11\\ +526.892142135069 9.05229716221751e-12\\ +551.749237612914 7.41538692686661e-12\\ +579.112264764177 6.05939022854123e-12\\ +610.640754223204 4.89374834583365e-12\\ +645.37154016467 3.9439593266268e-12\\ +685.229159528406 3.14385917972901e-12\\ +730.909932860292 2.47982785864517e-12\\ +783.23825991792 1.93609993406004e-12\\ +843.190929286625 1.49638223506057e-12\\ +914.031074875622 1.13603777098147e-12\\ +997.697764236321 8.47502946960309e-13\\ +1000 8.41056260476457e-13\\ +}; +\addplot [color=mycolor4, line width=1.5pt, forget plot] + table[row sep=crcr]{% +100 2.79055551420173e-11\\ +104.717681948552 3.01485114642778e-11\\ +109.405470720574 3.25537379396077e-11\\ +114.039960197004 3.51268981292104e-11\\ +118.87076977119 3.80433052387198e-11\\ +123.620954373677 4.11762308727899e-11\\ +128.264983052806 4.45292541028633e-11\\ +133.083472465408 4.83555336518328e-11\\ +137.765076954906 5.24624646713896e-11\\ +142.611370719413 5.71814828631116e-11\\ +147.28827239075 6.22591353956147e-11\\ +152.118551798611 6.81343426474632e-11\\ +156.74554102056 7.44675571205299e-11\\ +161.513269350309 8.1846433248432e-11\\ +166.042865718753 8.98074638324063e-11\\ +170.699493403841 9.91453322502723e-11\\ +175.082703173573 1.09214926981075e-10\\ +179.57846470021 1.21100045980961e-10\\ +184.189668079971 1.35285612423291e-10\\ +188.48434090338 1.50729620106198e-10\\ +192.879150802078 1.69297132360651e-10\\ +197.376432630026 1.9192400378428e-10\\ +201.513573381556 2.16838790573712e-10\\ +205.737431343292 2.47464148223004e-10\\ +210.049824165392 2.85745136851574e-10\\ +213.958887134342 3.2848262275078e-10\\ +217.940698430296 3.82473036489358e-10\\ +221.996611911995 4.52149233401457e-10\\ +225.607406649686 5.31298849159124e-10\\ +229.276931286565 6.34830460151793e-10\\ +233.006141069693 7.74111535179996e-10\\ +236.250846547795 9.35964726417887e-10\\ +239.540735872088 1.15764738491776e-09\\ +242.876438246045 1.47326297491003e-09\\ +245.691646298279 1.85169966245651e-09\\ +248.53948574298 2.40435272000697e-09\\ +251.42033481428 3.25877723700238e-09\\ +253.749037973357 4.33220567031753e-09\\ +256.099310025846 6.05878012911059e-09\\ +258.471350746957 9.10694618517457e-09\\ +260.2647881969 1.32516313701778e-08\\ +262.070669648386 2.1126395614609e-08\\ +263.889081445751 3.91383488537675e-08\\ +265.108360190854 6.84106607173802e-08\\ +266.333272517498 1.5144642945272e-07\\ +266.947849403432 2.70078665345642e-07\\ +267.563844455205 6.46403833671096e-07\\ +268.181260945302 7.07525091432498e-06\\ +268.800102153761 1.96375877144496e-06\\ +269.420371368188 2.50350974329246e-06\\ +270.042071883777 2.1009329366808e-06\\ +270.665207003325 4.71177080531192e-07\\ +271.915794303602 1.29042423364654e-07\\ +273.172159844137 6.05141624029374e-08\\ +275.067600790807 2.8020052137435e-08\\ +276.97619350369 1.60804024996813e-08\\ +278.898029238044 1.03975666130763e-08\\ +281.481236050758 6.51802810505984e-09\\ +284.088369018331 4.45139038991384e-09\\ +287.381269185107 2.9944017117834e-09\\ +290.712337727258 2.1434357090574e-09\\ +294.082017058707 1.60452784616937e-09\\ +298.177229001967 1.18438379893714e-09\\ +302.329468440578 9.0667018513269e-10\\ +307.246884270901 6.87628768978304e-10\\ +312.244282309286 5.37160877321851e-10\\ +318.055201533293 4.16754599191575e-10\\ +323.97426295282 3.31257345456702e-10\\ +330.764978074424 2.61857704785643e-10\\ +337.698031082509 2.11176554001692e-10\\ +345.571993676214 1.69498955781915e-10\\ +353.629550135505 1.38334059785307e-10\\ +362.710025233065 1.12411118713933e-10\\ +372.023668141307 9.26368574942681e-11\\ +382.456972246701 7.6026372143802e-11\\ +393.182875570577 6.31414067497981e-11\\ +405.142317111466 5.22278388605984e-11\\ +418.428850790158 4.30593502991035e-11\\ +433.148322337639 3.54049531351918e-11\\ +448.385594802118 2.93980728746337e-11\\ +465.22995239602 2.43338665610864e-11\\ +483.820966492596 2.00852710927969e-11\\ +504.315948717137 1.65351506584896e-11\\ +526.892142135069 1.35785162531052e-11\\ +551.749237612914 1.11231290351303e-11\\ +579.112264764177 9.08911883026575e-12\\ +610.640754223204 7.34064513943296e-12\\ +645.37154016467 5.91595425344265e-12\\ +685.229159528406 4.71579889513333e-12\\ +730.909932860292 3.71974839919824e-12\\ +783.23825991792 2.90415415296397e-12\\ +843.190929286625 2.24457604729199e-12\\ +914.031074875622 1.70405831692312e-12\\ +997.697764236321 1.27125541621644e-12\\ +1000 1.26158537335574e-12\\ +}; +\addplot [color=mycolor5, line width=1.5pt, forget plot] + table[row sep=crcr]{% +100 3.72080962216548e-11\\ +104.717681948552 4.01987926825789e-11\\ +109.405470720574 4.34058619180015e-11\\ +114.039960197004 4.6836856954397e-11\\ +118.87076977119 5.07255388621766e-11\\ +123.620954373677 5.49029331697548e-11\\ +128.264983052806 5.9373814524709e-11\\ +133.083472465408 6.4475745869517e-11\\ +137.765076954906 6.99519142928464e-11\\ +142.611370719413 7.62442615774575e-11\\ +147.28827239075 8.30148410369421e-11\\ +152.118551798611 9.0848922790697e-11\\ +156.74554102056 9.92937620680471e-11\\ +161.513269350309 1.0913296643863e-10\\ +166.042865718753 1.19748502504947e-10\\ +170.699493403841 1.3220005871479e-10\\ +175.082703173573 1.45627446109687e-10\\ +179.57846470021 1.61475910385979e-10\\ +184.189668079971 1.80392168526768e-10\\ +188.48434090338 2.00986804910078e-10\\ +192.879150802078 2.25747009806497e-10\\ +197.376432630026 2.55921001912277e-10\\ +201.513573381556 2.89146720529587e-10\\ +205.737431343292 3.2998889238254e-10\\ +210.049824165392 3.8104218697747e-10\\ +213.958887134342 4.38040873771603e-10\\ +217.940698430296 5.10050531398067e-10\\ +221.996611911995 6.02986068704243e-10\\ +225.607406649686 7.08564259015388e-10\\ +229.276931286565 8.46676693432361e-10\\ +233.006141069693 1.03249891776304e-09\\ +236.250846547795 1.24846399944582e-09\\ +239.540735872088 1.54431037305765e-09\\ +242.876438246045 1.96561304819966e-09\\ +245.691646298279 2.47092526554626e-09\\ +248.53948574298 3.20916029149941e-09\\ +251.42033481428 4.35119964382917e-09\\ +253.749037973357 5.78716539457326e-09\\ +256.099310025846 8.09968123995905e-09\\ +258.471350746957 1.21907796974395e-08\\ +260.2647881969 1.77710246251307e-08\\ +262.070669648386 2.84290799872542e-08\\ +263.889081445751 5.30856596916038e-08\\ +265.108360190854 9.40033657415067e-08\\ +266.333272517498 2.16123781960271e-07\\ +266.947849403432 4.07879038171393e-07\\ +268.181260945302 4.56100353915037e-06\\ +268.800102153761 1.41408221097581e-06\\ +269.420371368188 1.60043147630928e-06\\ +270.042071883777 3.15157109970002e-05\\ +270.665207003325 7.8957728175032e-07\\ +271.915794303602 1.8225653350658e-07\\ +273.172159844137 8.28603177441323e-08\\ +275.067600790807 3.7819746991265e-08\\ +276.97619350369 2.15911681836245e-08\\ +278.898029238044 1.39262579029883e-08\\ +281.481236050758 8.71536483067158e-09\\ +284.088369018331 5.94668389640129e-09\\ +287.381269185107 3.99773831482848e-09\\ +290.712337727258 2.86058130765585e-09\\ +294.082017058707 2.1408660625192e-09\\ +298.177229001967 1.57999423235419e-09\\ +302.329468440578 1.20937234254859e-09\\ +307.246884270901 9.17114262688539e-10\\ +312.244282309286 7.16383240516531e-10\\ +318.055201533293 5.55774657425745e-10\\ +323.97426295282 4.41741018825206e-10\\ +330.764978074424 3.49184109057815e-10\\ +337.698031082509 2.81595196825337e-10\\ +345.571993676214 2.26015744958096e-10\\ +353.629550135505 1.84456895190393e-10\\ +362.710025233065 1.49889127262245e-10\\ +372.023668141307 1.23521035324846e-10\\ +382.456972246701 1.01372047461692e-10\\ +393.182875570577 8.41910156938415e-11\\ +405.142317111466 6.96388298483074e-11\\ +418.428850790158 5.74136454861958e-11\\ +433.148322337639 4.72074127864646e-11\\ +448.385594802118 3.91979968792914e-11\\ +465.22995239602 3.2445550468366e-11\\ +483.820966492596 2.67806360719533e-11\\ +504.315948717137 2.20470578968409e-11\\ +526.892142135069 1.8104819957227e-11\\ +551.749237612914 1.48309295180531e-11\\ +579.112264764177 1.21188876174302e-11\\ +610.640754223204 9.78756907812792e-12\\ +645.37154016467 7.88796749661598e-12\\ +685.229159528406 6.28775076126974e-12\\ +730.909932860292 4.95967687327292e-12\\ +783.23825991792 3.87221347414013e-12\\ +843.190929286625 2.99277309317682e-12\\ +914.031074875622 2.27208085541186e-12\\ +997.697764236321 1.69500908040658e-12\\ +1000 1.68211566540707e-12\\ +}; +\end{axis} + +\begin{axis}[% +width=3.749in, +height=1.562in, +at={(0.599in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=100, +xmax=1000, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-180, +ymax=180, +ytick={-180, -90, 0, 90, 180}, +ylabel={Phase [deg]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +legend style={at={(0.683,1.026)}, anchor=south west, legend cell align=left, align=left, draw=black} +] +\addplot [color=mycolor1, line width=1.5pt] + table[row sep=crcr]{% +100 0\\ +1000 0\\ +}; +\addlegendentry{w = 0 [rpm]} + +\addplot [color=mycolor2, line width=1.5pt] + table[row sep=crcr]{% +100 90\\ +268.181260945304 89.9999999999846\\ +268.800102153763 -89.9999999993504\\ +269.42037136819 89.9999999999184\\ +1000 90\\ +}; +\addlegendentry{w = 15 [rpm]} + +\addplot [color=mycolor3, line width=1.5pt] + table[row sep=crcr]{% +100 90\\ +268.181260945304 90\\ +268.800102153763 -90\\ +269.42037136819 -90\\ +270.042071883779 90\\ +1000 90\\ +}; +\addlegendentry{w = 30 [rpm]} + +\addplot [color=mycolor4, line width=1.5pt] + table[row sep=crcr]{% +100 90\\ +268.181260945304 90.00000000001\\ +268.800102153763 -90.0000000000007\\ +269.42037136819 -89.9999999999983\\ +270.042071883779 89.9999999999964\\ +1000 90\\ +}; +\addlegendentry{w = 45 [rpm]} + +\addplot [color=mycolor5, line width=1.5pt] + table[row sep=crcr]{% +100 90\\ +267.563844455207 90.0000000000022\\ +268.181260945304 -90.0000000000048\\ +269.42037136819 -89.9999999999992\\ +270.042071883779 89.999999999959\\ +1000 90\\ +}; +\addlegendentry{w = 60 [rpm]} + +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/Gc_ws_vc.pdf b/figs/Gc_ws_vc.pdf similarity index 100% rename from Figures/Gc_ws_vc.pdf rename to figs/Gc_ws_vc.pdf diff --git a/Figures/Gc_ws_vc.png b/figs/Gc_ws_vc.png similarity index 100% rename from Figures/Gc_ws_vc.png rename to figs/Gc_ws_vc.png diff --git a/Figures/Gc_ws_vc.svg b/figs/Gc_ws_vc.svg similarity index 100% rename from Figures/Gc_ws_vc.svg rename to figs/Gc_ws_vc.svg diff --git a/figs/Gc_ws_vc.tex b/figs/Gc_ws_vc.tex new file mode 100644 index 0000000..9494429 --- /dev/null +++ b/figs/Gc_ws_vc.tex @@ -0,0 +1,566 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +\definecolor{mycolor3}{rgb}{0.92900,0.69400,0.12500}% +\definecolor{mycolor4}{rgb}{0.49400,0.18400,0.55600}% +\definecolor{mycolor5}{rgb}{0.46600,0.67400,0.18800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=3.752in, +height=1.562in, +at={(0.551in,2.19in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xtick={0.01,0.1,1,10}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=3.67626015639989e-07, +ymax=8.4749923687392, +yminorticks=true, +ylabel={Magnitude [m/N]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor2, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 8.27947641257939e-06\\ +0.0372023668141307 3.09444285937041e-05\\ +0.0616296625513294 5.1712484078702e-05\\ +0.0852964449974102 7.24834394066365e-05\\ +0.108651577465254 9.38814936982324e-05\\ +0.131862140139475 0.000116329886049959\\ +0.154592773641948 0.000139780576066056\\ +0.177520801171764 0.000165282566162142\\ +0.199664245010979 0.000192096046650984\\ +0.221485523372636 0.000221104864673919\\ +0.243998629725955 0.00025434316177172\\ +0.265108360190854 0.000289267052089719\\ +0.286059553517574 0.000328367095850069\\ +0.308666494333727 0.000376737725300706\\ +0.330764978074424 0.000431862406488288\\ +0.352003147279668 0.000494219177982361\\ +0.372023668141307 0.000563877566765188\\ +0.393182875570577 0.000652572952121654\\ +0.412682084570295 0.000752606109394029\\ +0.43314832233764 0.000883550048804568\\ +0.45149677720361 0.00103255521714493\\ +0.470622484984128 0.00123408157672107\\ +0.487178021879463 0.00146495342631423\\ +0.504315948717136 0.00178959207513879\\ +0.518459354389291 0.00216152230629221\\ +0.532999408084409 0.00270856141594337\\ +0.544171428686589 0.00332247117753548\\ +0.555577622239888 0.00426575722910611\\ +0.567222897164455 0.00589615562586397\\ +0.575121707184161 0.00785008628069444\\ +0.583130511352622 0.0116277654114744\\ +0.591250841383188 0.0219925542606588\\ +0.595353313081437 0.0391640710468981\\ +0.599484250318941 0.171775088033726\\ +0.607832312829722 0.03038163949011\\ +0.616296625513294 0.0141427859965518\\ +0.624878807200689 0.00930026096636117\\ +0.633580499265825 0.00697695321691816\\ +0.646860766154632 0.00512664112588261\\ +0.66041939623303 0.00409336097004646\\ +0.674262224177834 0.0034376022171791\\ +0.69317172761554 0.00286808237979901\\ +0.712611543011175 0.00249339351008997\\ +0.732596542821523 0.00223395127870642\\ +0.753142016597438 0.00204958642318716\\ +0.774263682681128 0.00191823378678345\\ +0.790492762269642 0.00184668155280898\\ +0.807062014114951 0.00179454929612444\\ +0.823978568452851 0.0017599092366336\\ +0.841249704973612 0.00174185744034306\\ +0.852964449974102 0.0017390183123711\\ +0.864842327573173 0.00174380068713476\\ +0.876885609458743 0.00175667516559301\\ +0.889096598952915 0.00177837241139827\\ +0.901477631452492 0.00180994804240059\\ +0.920373199661821 0.00187922224112271\\ +0.939664831495469 0.00198185643126623\\ +0.959360828709315 0.00213064738455534\\ +0.979469667069539 0.00234795036953853\\ +1 0.00267589628740336\\ +1.02096066230605 0.00320354898501721\\ +1.03517795563018 0.00376494954680481\\ +1.04959323055823 0.00466370885052705\\ +1.06420924406472 0.00631366029019195\\ +1.07902879151618 0.0102790461328956\\ +1.08651577465254 0.0154407038251657\\ +1.09405470720574 0.0323732344742915\\ +1.10164594963366 0.228976360415331\\ +1.10928986489522 0.0243678079779524\\ +1.11698681846782 0.0126337406268644\\ +1.13254131515281 0.00625596304814593\\ +1.14831241454351 0.00405325235897115\\ +1.1723818032866 0.00256936116297658\\ +1.19695570235904 0.00182751519133536\\ +1.23052400435926 0.00127585430340192\\ +1.2650337203959 0.000950102401414243\\ +1.30953502048267 0.000695357205540882\\ +1.36500780654601 0.000504513615108707\\ +1.42283045721435 0.00038074375794043\\ +1.49339321612425 0.000283793377776712\\ +1.57833140565212 0.000209531784982031\\ +1.67967487209265 0.000153462432602194\\ +1.79992850678248 0.000111550548508121\\ +1.94217468148903 8.04651694983899e-05\\ +2.12484535249888 5.60315797331523e-05\\ +2.34082727617829 3.87745173707932e-05\\ +2.61467321180109 2.59751865065625e-05\\ +2.98177229001967 1.64716105240642e-05\\ +3.47168681892656 9.91135326924879e-06\\ +4.15545533471888 5.53926557427457e-06\\ +5.18459354389291 2.75611995770185e-06\\ +6.93171727615541 1.1230140747019e-06\\ +10 3.67626015639989e-07\\ +}; +\addplot [color=mycolor3, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 3.22775658510676e-05\\ +0.0268800102153761 8.72336041990055e-05\\ +0.0424255643071778 0.000138989530730418\\ +0.0575121707184161 0.000190945723399246\\ +0.0722534949178721 0.000244040649207917\\ +0.0870843149769072 0.000300545129901014\\ +0.101392540755881 0.000358829796035324\\ +0.115628013120738 0.000421458237300875\\ +0.130051125217341 0.000490822821082097\\ +0.144264395121816 0.000566459654460649\\ +0.157833140565212 0.000647106099528859\\ +0.171488196987054 0.000738717759184408\\ +0.18504070195423 0.000842756329149199\\ +0.198288394912707 0.000960618768485505\\ +0.21102034285686 0.00109337990269237\\ +0.223022329796594 0.00124136480271628\\ +0.234082727617829 0.00140350147652341\\ +0.245691646298279 0.00160915324028478\\ +0.256099310025846 0.00183531524113613\\ +0.266947849403432 0.00212972483538489\\ +0.276338529005317 0.00245293849951091\\ +0.286059553517574 0.00288541304373277\\ +0.296122543798803 0.00349416676643973\\ +0.30442722120643 0.00419493171893552\\ +0.312964801067075 0.00523572138674042\\ +0.319524750575921 0.00642169624551237\\ +0.326222200971167 0.00828701000468656\\ +0.333060034362459 0.0116500424073255\\ +0.337698031082509 0.0159407680313517\\ +0.342400613797143 0.025175411002033\\ +0.344776405473446 0.0353975276199233\\ +0.347168681892656 0.0595137640981142\\ +0.349577557436327 0.185941698964931\\ +0.352003147279668 0.166004316723847\\ +0.354445567397044 0.0574608790491894\\ +0.359381366380463 0.0249417025532264\\ +0.364385898376354 0.0159506502969678\\ +0.36946012051993 0.0117366850236864\\ +0.3772042493417 0.00841766182102304\\ +0.385110700232557 0.00657079970254527\\ +0.395911026646846 0.00509196269293818\\ +0.407014245321944 0.004162980439731\\ +0.418428850790158 0.0035254673494871\\ +0.43314832233764 0.00296402805061976\\ +0.448385594802119 0.00256124194168958\\ +0.464158883361278 0.00225852483113847\\ +0.483820966492596 0.0019821202842648\\ +0.504315948717136 0.00177002369251422\\ +0.525679112201842 0.00160270085761603\\ +0.551749237612913 0.00144801429649998\\ +0.579112264764176 0.00132535483638273\\ +0.607832312829722 0.00122675693818487\\ +0.637976680860628 0.00114694303782231\\ +0.669616005485322 0.00108235227620282\\ +0.702824426430835 0.00103058940829595\\ +0.732596542821523 0.000995241372961539\\ +0.763629826128224 0.000967602482608313\\ +0.790492762269642 0.000950279836234783\\ +0.818300681586739 0.000938186887557768\\ +0.84708682665574 0.000931552508674003\\ +0.870843149769072 0.00093046970664178\\ +0.89526571259964 0.000933524479759408\\ +0.920373199661821 0.000941229490929823\\ +0.946184819472201 0.000954301474313228\\ +0.972720319245054 0.000973740632121895\\ +1 0.0010009549980393\\ +1.02804473209331 0.00103796143391223\\ +1.0568759711848 0.00108772353898221\\ +1.08651577465254 0.00115474807386534\\ +1.11698681846782 0.00124620315467829\\ +1.14039960197003 0.00133780240478596\\ +1.16430313292088 0.00145811659406056\\ +1.1887076977119 0.00162094859545995\\ +1.21362379834424 0.00185081621898326\\ +1.23906215694792 0.00219583128033563\\ +1.2650337203959 0.00276503756546561\\ +1.28264983052806 0.00340212704383431\\ +1.30051125217341 0.00450850208473706\\ +1.31862140139475 0.00689350308731999\\ +1.32777082935543 0.00953282905294981\\ +1.33698374182495 0.0157467975369679\\ +1.34626057929891 0.0479635159995797\\ +1.35560178532937 0.0432989486537028\\ +1.36500780654601 0.0146289844713234\\ +1.38401609657313 0.00613666997327343\\ +1.40328908478587 0.00379955286701641\\ +1.43270295340983 0.00235475269612231\\ +1.46273335620113 0.00166574076119108\\ +1.50375532129974 0.00116510428249482\\ +1.54592773641948 0.000872843370486481\\ +1.6003103137387 0.00064497304229525\\ +1.66810053720006 0.000473768844797929\\ +1.73876240021625 0.000361913654637895\\ +1.82499324481615 0.000273390249616833\\ +1.92879150802078 0.000204690448488533\\ +2.05263775270925 0.000152031338455606\\ +2.19959306803007 0.000112022197635833\\ +2.38989256623105 7.96192713856896e-05\\ +2.61467321180109 5.62370267398694e-05\\ +2.90043049386399 3.84369977971842e-05\\ +3.28485736603005 2.48567066422787e-05\\ +3.79821530619074 1.52500767600512e-05\\ +4.5149677720361 8.68873531925475e-06\\ +5.59432570616938 4.40681233777446e-06\\ +7.37679760252773 1.86965579014029e-06\\ +10 7.38079880080969e-07\\ +}; +\addplot [color=mycolor4, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.000421822980302664\\ +0.0145265392594678 0.000619638259774308\\ +0.0190230118866895 0.000823999681807647\\ +0.0234082727617829 0.00103368685683301\\ +0.0276338529005317 0.00124844657583639\\ +0.0319524750575921 0.00148441961466384\\ +0.0361874981241128 0.00173627490196166\\ +0.0401424249049932 0.00199440698427118\\ +0.044222739805059 0.00228980161121337\\ +0.0480487043965512 0.00260035446976487\\ +0.0518459354389291 0.00294903606140993\\ +0.0555577622239888 0.00333919553322615\\ +0.0591250841383188 0.00377287318611557\\ +0.0624878807200689 0.00424948779698539\\ +0.0660419396233031 0.00484682210511408\\ +0.069317172761554 0.00551053546036469\\ +0.0727548352919623 0.00636734306272657\\ +0.0758367791499719 0.00733025180221591\\ +0.0790492762269642 0.00861839129271704\\ +0.0818300681586739 0.0100808414136451\\ +0.084708682665574 0.0121228844985785\\ +0.0870843149769072 0.0144515260962398\\ +0.089526571259964 0.0178693533257445\\ +0.0914031074875622 0.0217076599643952\\ +0.0933189771573324 0.0276289740708928\\ +0.0952750047242728 0.037966165128209\\ +0.0966017479952265 0.0505623817602757\\ +0.0979469667069539 0.0756377573404464\\ +0.0986265846131281 0.100562036347375\\ +0.099310918137498 0.14996721191789\\ +0.1 0.294741638501525\\ +0.100693863147603 8.4749923687392\\ +0.101392540755881 0.316811795707286\\ +0.102096066230605 0.155504692777545\\ +0.103517795563018 0.077047109883042\\ +0.104959323055823 0.0512075013502882\\ +0.107159339982267 0.0340637964313016\\ +0.109405470720574 0.0255143030930225\\ +0.111698681846782 0.0203900885746368\\ +0.114831241454351 0.0160763816895605\\ +0.118051652856881 0.0132622979522902\\ +0.122204468663149 0.0108732045794168\\ +0.12650337203959 0.00920551348236213\\ +0.130953502048267 0.00797423332138363\\ +0.136500780654601 0.00686316993031676\\ +0.142283045721435 0.00601593676783986\\ +0.149339321612425 0.00524982290663736\\ +0.156745541020559 0.0046483776779337\\ +0.165660595894992 0.00410114350052535\\ +0.17629753752872 0.00361139840472268\\ +0.187617469143912 0.00321663895458463\\ +0.20104964162605 0.00285847566426829\\ +0.216938351838518 0.00253619768736891\\ +0.235706941399673 0.00224771596851083\\ +0.25787628875938 0.00199033307024125\\ +0.28408836901833 0.00176122890521817\\ +0.315136348486648 0.00155774736814027\\ +0.352003147279668 0.00137755550429377\\ +0.395911026646846 0.00121873153063678\\ +0.44222739805059 0.00109395869068792\\ +0.493962174387832 0.000989103319999196\\ +0.547947233690029 0.000906459778510213\\ +0.599484250318941 0.000845906274711947\\ +0.65134909462728 0.0007986255941252\\ +0.702824426430835 0.000762441807421061\\ +0.753142016597438 0.000735637649588895\\ +0.80150069615654 0.000716793749236767\\ +0.84708682665574 0.000704665087517141\\ +0.889096598952915 0.000698083050685985\\ +0.926759330114688 0.000695881361716346\\ +0.966017479952265 0.000697388188613019\\ +1 0.000701983387146575\\ +1.03517795563018 0.000710210039499241\\ +1.07159339982267 0.000722838272932936\\ +1.10928986489522 0.000740938196996316\\ +1.14039960197003 0.000760361733492231\\ +1.1723818032866 0.000785344490121881\\ +1.20526093687084 0.000817411797724434\\ +1.23906215694792 0.000858752476988231\\ +1.27381132318648 0.000912620280983286\\ +1.30953502048267 0.00098406715823147\\ +1.34626057929891 0.00108137942590221\\ +1.37447909267754 0.00117971914005663\\ +1.40328908478587 0.00131112893532255\\ +1.43270295340983 0.00149408566386978\\ +1.46273335620113 0.00176407651503702\\ +1.49339321612425 0.00219902053203032\\ +1.51418932530435 0.00267176945002224\\ +1.53527502878042 0.00346023716595094\\ +1.55665435927106 0.0050335860548827\\ +1.5674554102056 0.00659914300970827\\ +1.57833140565212 0.00970361258441717\\ +1.58928286562298 0.0187992945049644\\ +1.6003103137387 0.520656343847902\\ +1.61141427725302 0.0196865138393267\\ +1.62259528707809 0.00952473041821925\\ +1.64519058775366 0.00458837105618892\\ +1.66810053720006 0.00296548206388569\\ +1.70306502925285 0.00189178174095984\\ +1.73876240021625 0.00135890187818153\\ +1.78752552590424 0.000962554511726469\\ +1.83765620038817 0.000727309372868423\\ +1.90230118866895 0.000541695168173558\\ +1.98288394912707 0.000400790432585436\\ +2.06688024962908 0.00030793750505963\\ +2.16938351838519 0.000233913322077842\\ +2.29276931286565 0.00017606192273048\\ +2.43998629725955 0.00013141932309112\\ +2.61467321180109 9.72824761906349e-05\\ +2.84088369018331 6.94603824727455e-05\\ +3.12964801067075 4.80104575117668e-05\\ +3.49577557436328 3.21800595641826e-05\\ +3.95911026646846 2.09252050049892e-05\\ +4.60960448682844 1.26091937094516e-05\\ +5.51749237612913 7.05938961955854e-06\\ +6.93171727615541 3.4437589155556e-06\\ +9.33189771573324 1.37649381810328e-06\\ +10 1.11424454773425e-06\\ +}; +\addplot [color=mycolor5, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.000190492479671114\\ +0.0169132951702965 0.000324928161511612\\ +0.0235706941399673 0.0004584788424532\\ +0.0300246170908555 0.000593522603770663\\ +0.0364385898376354 0.000735056749626642\\ +0.0427199396630678 0.000882838346254727\\ +0.0490558370636505 0.00104360643520734\\ +0.0551749237612913 0.00121291820370545\\ +0.061204983724767 0.00139669679790492\\ +0.0669616005485321 0.00159174033605199\\ +0.0727548352919623 0.00181226392930513\\ +0.0785045620020451 0.00206149860574988\\ +0.0841249704973612 0.00234248866175493\\ +0.089526571259964 0.00265749268142725\\ +0.0946184819472199 0.00300699659452367\\ +0.1 0.00345002237085017\\ +0.104959323055823 0.00394893734095421\\ +0.109405470720574 0.0044977975885144\\ +0.114039960197003 0.00521309547034339\\ +0.118051652856881 0.00599996029917514\\ +0.122204468663149 0.00705611479412348\\ +0.12650337203959 0.00855023729060073\\ +0.130051125217341 0.0102822176568456\\ +0.133698374182495 0.0128802140443538\\ +0.136500780654601 0.0158800153480534\\ +0.139361927422414 0.0206871650532595\\ +0.141302599059953 0.0259072312065912\\ +0.143270295340983 0.0346383477014984\\ +0.145265392594678 0.0522224753019155\\ +0.146273335620113 0.0699736555735019\\ +0.14728827239075 0.10598999885873\\ +0.14831025143361 0.218345012372026\\ +0.149339321612425 3.65022131831484\\ +0.150375532129974 0.195047639488109\\ +0.151418932530435 0.100207472646294\\ +0.153527502878042 0.0508055894874874\\ +0.155665435927106 0.0340293581182317\\ +0.158928286562298 0.0227555860574321\\ +0.162259528707809 0.0170900799010422\\ +0.165660595894992 0.0136805049824813\\ +0.170306502925284 0.0108021563465353\\ +0.175082703173572 0.00892049309298834\\ +0.181241754737424 0.00732060269358221\\ +0.187617469143912 0.00620254858478393\\ +0.194217468148902 0.00537644863393424\\ +0.20244465099768 0.00463059658625862\\ +0.21102034285686 0.00406163731384216\\ +0.221485523372636 0.00354704694926808\\ +0.232469705998565 0.00314304450083631\\ +0.245691646298279 0.00277550472602882\\ +0.261467321180109 0.00244669126705073\\ +0.278255940220713 0.00218180938393322\\ +0.298177229001967 0.0019416988028414\\ +0.321741815067637 0.00172593517977176\\ +0.349577557436327 0.00153317628461472\\ +0.3824569722467 0.00136168571491288\\ +0.418428850790158 0.00121958690138798\\ +0.460960448682843 0.00109191566140064\\ +0.507815211232767 0.000985056913353208\\ +0.559432570616938 0.000895092535755225\\ +0.616296625513294 0.000819286342843124\\ +0.674262224177834 0.00075991809036756\\ +0.732596542821523 0.000713655236338313\\ +0.790492762269642 0.000678068519019724\\ +0.84708682665574 0.000651314320939112\\ +0.901477631452492 0.000631926748115481\\ +0.95275004724273 0.000618672997944914\\ +1 0.000610448946004225\\ +1.04959323055823 0.0006057745745134\\ +1.09405470720574 0.00060502026236575\\ +1.14039960197003 0.000607804913521888\\ +1.18051652856881 0.000613345566557097\\ +1.22204468663149 0.000622428958773347\\ +1.2650337203959 0.00063586226461032\\ +1.30051125217341 0.000650491411908017\\ +1.33698374182495 0.000669433227866836\\ +1.37447909267754 0.000693801630989304\\ +1.41302599059953 0.000725171565380983\\ +1.45265392594678 0.000765842016537226\\ +1.49339321612425 0.00081930251111079\\ +1.53527502878042 0.000891113928850218\\ +1.57833140565212 0.000990707470725073\\ +1.61141427725302 0.00109356171829229\\ +1.64519058775366 0.00123465193714165\\ +1.67967487209265 0.0014384334934294\\ +1.71488196987054 0.00175598468907421\\ +1.73876240021625 0.00208686236152996\\ +1.76297537528721 0.00260804029707388\\ +1.78752552590424 0.00354671018685362\\ +1.81241754737424 0.00573102707181411\\ +1.82499324481615 0.00844398946727237\\ +1.83765620038817 0.0164567291168757\\ +1.8504070195423 0.681980908644843\\ +1.86324631193156 0.016804724002059\\ +1.87617469143912 0.00818378993575126\\ +1.90230118866895 0.00395480083776092\\ +1.92879150802078 0.00255854060734408\\ +1.96922025547917 0.00163316973647393\\ +2.0104964162605 0.00117343851793981\\ +2.06688024962908 0.00083130499054589\\ +2.12484535249888 0.000628165571179017\\ +2.19959306803007 0.000467851073586427\\ +2.29276931286565 0.000346137767915399\\ +2.38989256623105 0.000265928274046802\\ +2.50841505927754 0.00020198456879346\\ +2.65108360190854 0.000152014032269917\\ +2.82130767593947 0.000113456349344109\\ +3.02329468440578 8.39758158500521e-05\\ +3.28485736603005 5.99519487136268e-05\\ +3.61874981241128 4.14331882327128e-05\\ +4.04209583979631 2.77682491218653e-05\\ +4.57784053837663 1.80544994014955e-05\\ +5.32999408084409 1.08782729844161e-05\\ +6.37976680860628 6.08979792956289e-06\\ +8.01500696156541 2.97055108287151e-06\\ +10 1.49911521781529e-06\\ +}; +\end{axis} + +\begin{axis}[% +width=3.752in, +height=1.562in, +at={(0.551in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-180, +ymax=180, +ytick={-180, -90, 0, 90, 180}, +ylabel={Phase [deg]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +legend style={at={(0.629,1.026)}, anchor=south west, legend cell align=left, align=left, draw=black} +] +\addplot [color=mycolor1, line width=1.5pt] + table[row sep=crcr]{% +0.01 0\\ +10 0\\ +}; +\addlegendentry{w = 0 [rpm]} + +\addplot [color=mycolor2, line width=1.5pt] + table[row sep=crcr]{% +0.01 90\\ +0.599484250318932 90.0000000000007\\ +0.603643850607596 -90.0000000000003\\ +1.09405470720574 -89.9999999999998\\ +1.10164594963365 89.9999999999983\\ +10 90\\ +}; +\addlegendentry{w = 15 [rpm]} + +\addplot [color=mycolor3, line width=1.5pt] + table[row sep=crcr]{% +0.01 90\\ +0.349577557436332 90\\ +0.352003147279672 -90\\ +1.3462605792989 -90\\ +1.35560178532935 90\\ +10 90\\ +}; +\addlegendentry{w = 30 [rpm]} + +\addplot [color=mycolor4, line width=1.5pt] + table[row sep=crcr]{% +0.01 90\\ +0.100693863147603 90\\ +0.101392540755881 -90\\ +1.6003103137387 -90\\ +1.61141427725301 90\\ +10 90\\ +}; +\addlegendentry{w = 45 [rpm]} + +\addplot [color=mycolor5, line width=1.5pt] + table[row sep=crcr]{% +0.01 90\\ +0.148310251433609 90\\ +0.149339321612423 -90\\ +1.85040701954232 -90.0000000001444\\ +1.86324631193157 90.0000000000036\\ +10 90\\ +}; +\addlegendentry{w = 60 [rpm]} + +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/Gtvc_loop_gain.pdf b/figs/Gtvc_loop_gain.pdf similarity index 100% rename from Figures/Gtvc_loop_gain.pdf rename to figs/Gtvc_loop_gain.pdf diff --git a/Figures/Gtvc_loop_gain.png b/figs/Gtvc_loop_gain.png similarity index 100% rename from Figures/Gtvc_loop_gain.png rename to figs/Gtvc_loop_gain.png diff --git a/Figures/Gtvc_loop_gain.svg b/figs/Gtvc_loop_gain.svg similarity index 100% rename from Figures/Gtvc_loop_gain.svg rename to figs/Gtvc_loop_gain.svg diff --git a/figs/Gtvc_loop_gain.tex b/figs/Gtvc_loop_gain.tex new file mode 100644 index 0000000..f0a6539 --- /dev/null +++ b/figs/Gtvc_loop_gain.tex @@ -0,0 +1,352 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=3.752in, +height=1.562in, +at={(0.535in,2.189in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=100, +xtick={0.01,0.1,1,10,100}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=0.0500697908788934, +ymax=100000, +yminorticks=true, +ylabel={Amplitude [m/N]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 7494.37074833558\\ +0.0167580786453077 4523.53848746328\\ +0.0231400538013065 3329.45032061213\\ +0.0294082017058706 2675.71263506056\\ +0.0353629550135504 2281.42035393769\\ +0.0413634368406327 2010.21392827516\\ +0.0470622484984128 1827.00394037538\\ +0.0525679112201842 1697.45342820981\\ +0.0576448828292587 1608.76328730356\\ +0.0626320745219869 1544.40989085142\\ +0.0674262224177834 1500.3544746413\\ +0.0719211887222119 1472.99362149806\\ +0.0760117761795532 1458.92028307531\\ +0.0803350197712474 1454.84359362931\\ +0.0841249704973612 1460.40538900393\\ +0.0880937190447399 1475.72164717858\\ +0.0922497005259217 1502.94761253153\\ +0.0957152153899186 1535.34585383969\\ +0.099310918137498 1579.57171906754\\ +0.103041699495059 1638.77778766941\\ +0.106912633917347 1717.51931129892\\ +0.110928986489522 1822.61593083045\\ +0.115096220088503 1964.73651970155\\ +0.119420002813353 2161.52708810311\\ +0.122769104798836 2362.99847315953\\ +0.126212131452255 2635.21296196125\\ +0.129751716865759 3018.54346669054\\ +0.133390569003906 3591.08226426818\\ +0.137131471775395 4524.55747746901\\ +0.139683511798874 5545.35201729017\\ +0.142283045721435 7232.10131650645\\ +0.144930957412622 10362.1703240988\\ +0.147628147190939 16137.8088453862\\ +0.148995507285285 18318.4731485408\\ +0.150375532129974 16863.9654975357\\ +0.157469771464309 5646.03602821681\\ +0.16188596901782 3698.50237770208\\ +0.16642601764859 2684.95815563284\\ +0.172678090388436 1918.23039785156\\ +0.17916503273639 1460.11079513364\\ +0.187617469143912 1098.03040253035\\ +0.196468664618044 861.049183947698\\ +0.207643010725577 668.225059004872\\ +0.219452908620331 534.530267240625\\ +0.234082727617829 423.905736469924\\ +0.249687842888433 344.308349578895\\ +0.268800102153761 277.881638408649\\ +0.289375301905095 228.931104243333\\ +0.314410830314726 187.965855028679\\ +0.341612326858552 157.335531531091\\ +0.371167181947577 133.995939302585\\ +0.403278998219371 115.953556259506\\ +0.438168993151419 101.857884563974\\ +0.471708469091701 91.8755786684689\\ +0.507815211232767 83.7901738774999\\ +0.546685729972018 77.2472933112365\\ +0.588531577519145 71.9817119844581\\ +0.62776601058065 68.2654973439938\\ +0.669616005485322 65.2769923268463\\ +0.714255928554312 62.9446446756908\\ +0.7618717702323 61.2209856656048\\ +0.805203967082547 60.2091461995685\\ +0.851000724712225 59.6257332991154\\ +0.899402217409205 59.4853435926003\\ +0.950556592010119 59.8213848184314\\ +0.995400828762152 60.5063945277899\\ +1.0423606739764 61.6135668212381\\ +1.09153593533139 63.2174537051874\\ +1.14303112911448 65.4258906671293\\ +1.19695570235904 68.3967944702775\\ +1.2534242654614 72.3669068153574\\ +1.30051125217341 76.502749182565\\ +1.34936714058831 81.7955161625354\\ +1.4000583824681 88.6833554192254\\ +1.45265392594678 97.8694672392402\\ +1.50722530931076 110.555112615089\\ +1.54949503931463 123.638965920925\\ +1.59295021257212 141.601761525879\\ +1.63762407452169 167.612898321141\\ +1.6835508029612 208.287957238304\\ +1.73076553419572 279.846833041614\\ +1.76297537528721 365.979916028077\\ +1.7957846470021 524.81895125495\\ +1.84614694632455 953.460826507892\\ +1.86324631193156 900.930213273414\\ +1.96922025547917 262.127438741801\\ +2.0244465099768 179.801189552582\\ +2.08122156998634 134.484011107837\\ +2.15940615210357 98.8043904092752\\ +2.24052786930002 76.7993408681749\\ +2.34622884814226 58.9616588943543\\ +2.45691646298279 47.0185350069904\\ +2.59665597293487 37.0943147061521\\ +2.76976193503689 29.0939333237852\\ +2.95440799888038 23.4235035080737\\ +3.18055201533292 18.7201386117946\\ +3.45571993676214 14.8825863895059\\ +3.78947091907467 11.7859479111714\\ +4.19394395566719 9.30685481173093\\ +4.64158883361278 7.47616409587711\\ +5.18459354389291 5.98213293785038\\ +5.84476113163364 4.77317880161612\\ +6.65001803043112 3.8012523829639\\ +7.63629826128224 3.02323094756541\\ +8.85007491447344 2.40144692756074\\ +10.4476597156081 1.87857843995823\\ +12.7969686821594 1.41003954216278\\ +25.0841505927754 0.550361127299228\\ +30.163343472592 0.417557114689076\\ +35.9381366380463 0.317142815871463\\ +42.8185179865242 0.237719610023965\\ +51.488674501375 0.173073228723647\\ +62.487880720069 0.122285074244284\\ +77.248114514034 0.0823890829041777\\ +98.1729840618884 0.0519126307709851\\ +100 0.0500697908788934\\ +}; +\end{axis} + +\begin{axis}[% +width=3.752in, +height=1.562in, +at={(0.535in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=100, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-180, +ymax=180, +ytick={-180, 0, 180}, +ylabel={Phase [deg]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 93.1823168224593\\ +0.0108651577465251 93.4572090029393\\ +0.0118051652856881 93.7557633722929\\ +0.0128264983052803 94.0799934722503\\ +0.0139361927422416 94.4320777524231\\ +0.0151418932530433 94.8143713157222\\ +0.0164519058775369 95.2294180216759\\ +0.0178752552590422 95.6799628207593\\ +0.0194217468148908 96.1689641519208\\ +0.0211020342856859 96.6996061902545\\ +0.0229276931286557 97.2753106857407\\ +0.024911300260678 97.8997480943394\\ +0.0270665207003317 98.5768476829021\\ +0.0294082017058709 99.3108063133512\\ +0.0319524750575915 100.106095721071\\ +0.0347168681892662 100.967468369168\\ +0.0377204249341695 101.899962507053\\ +0.0409838367175735 102.908908100542\\ +0.0445295850994262 103.999937201584\\ +0.048382096649261 105.179005750353\\ +0.0525679112201842 106.452439968958\\ +0.0571158647812626 107.827031745781\\ +0.0620572880677654 109.310228399919\\ +0.0674262224177818 110.910502875563\\ +0.0732596542821532 112.63807318387\\ +0.0795977700231485 114.506319483057\\ +0.0864842327573189 116.534669218552\\ +0.0931041348706901 118.497196083865\\ +0.10023075482839 120.649974702832\\ +0.106912633917349 122.746975593257\\ +0.112993393803321 124.779692475111\\ +0.118324062745835 126.734493283782\\ +0.122769104798839 128.574810835273\\ +0.127381132318649 130.831643637859\\ +0.130953502048267 132.99729171795\\ +0.13462605792989 135.911982760018\\ +0.137131471775393 138.612766225917\\ +0.139683511798871 142.463294609878\\ +0.142283045721431 148.621676902085\\ +0.143600898465122 153.40293810481\\ +0.144930957412626 160.328945224677\\ +0.146273335620117 170.993841904154\\ +0.147628147190943 -171.94991649932\\ +0.151768339028343 -99.6052088278921\\ +0.154592773641949 -78.857140969994\\ +0.157469771464309 -69.5027566705087\\ +0.160400310705681 -64.2568497130524\\ +0.163385387780984 -60.8287655257783\\ +0.167967487209262 -57.3260143960273\\ +0.17267809038843 -54.8261534915466\\ +0.179165032736394 -52.280573524198\\ +0.18589566796357 -50.2243566706055\\ +0.194665634334225 -48.034880516068\\ +0.205737431343286 -45.7290607006511\\ +0.221485523372639 -42.9667383701544\\ +0.24287643824604 -39.807849139542\\ +0.268800102153763 -36.5742922251028\\ +0.300246170908546 -33.2599614974684\\ +0.338477285594596 -29.8818483023502\\ +0.381576466127131 -26.7057203203696\\ +0.430163575810668 -23.719535191901\\ +0.484937406733521 -20.9122917151821\\ +0.546685729972028 -18.2723740854719\\ +0.616296625513279 -15.7879353074228\\ +0.694771254846023 -13.448158388571\\ +0.783238259917936 -11.2451550490193\\ +0.874866812047975 -9.33123901903534\\ +0.97721469697258 -7.53965246425818\\ +1.07159339982264 -6.15764847207745\\ +1.1536181017365 -5.14802607825507\\ +1.2192312516491 -4.46859010800063\\ +1.27675070431924 -3.9737972615288\\ +1.32471398786616 -3.64245076221493\\ +1.36186523675611 -3.44449427296982\\ +1.38720978054164 -3.34332836837183\\ +1.41302599059955 -3.27258737532313\\ +1.42611370719414 -3.25061511885309\\ +1.43932264471941 -3.23886946121394\\ +1.45265392594678 -3.23850574601539\\ +1.46610868404698 -3.25086152608952\\ +1.47968806268638 -3.27749358009513\\ +1.49339321612424 -3.32022431146783\\ +1.52118551798608 -3.46296778132421\\ +1.54949503931459 -3.70166449552539\\ +1.57833140565207 -4.06916078149845\\ +1.60770442167387 -4.61511024861409\\ +1.63762407452172 -5.41817347978392\\ +1.66810053720008 -6.6105079629011\\ +1.69914417203464 -8.43160875364552\\ +1.73076553419573 -11.361337661589\\ +1.7629753752872 -16.5025881273994\\ +1.77930438991856 -20.6923196519713\\ +1.79578464700207 -26.9080254035205\\ +1.81241754737421 -36.6433604854208\\ +1.82920450484626 -52.4534480366498\\ +1.88050405512853 -123.983830069447\\ +1.91550055557359 -144.900207931598\\ +1.95114834684666 -153.738517051985\\ +1.98745954958102 -158.259270034209\\ +2.02444650997683 -160.887528991488\\ +2.06212180399915 -162.537577907889\\ +2.10049824165391 -163.620348110683\\ +2.1395888713434 -164.345832453883\\ +2.17940698430292 -164.831972246326\\ +2.21996611911991 -165.149932592063\\ +2.26128006633722 -165.345130229714\\ +2.3033628731422 -165.447882457624\\ +2.32469705998571 -165.471415649477\\ +2.34622884814232 -165.479186438358\\ +2.36796006783313 -165.472905315806\\ +2.38989256623109 -165.454038082037\\ +2.43436887354314 -165.383429680231\\ +2.47967289250217 -165.275600936849\\ +2.54921465445141 -165.057451567221\\ +2.64498018242767 -164.684343561214\\ +2.76976193503698 -164.119477752829\\ +2.92729483504285 -163.336874859099\\ +3.12244282309282 -162.320178151958\\ +3.39258338274108 -160.89716283194\\ +3.78947091907461 -158.863286682493\\ +4.43247859124037 -155.830853348075\\ +5.89889642550864 -150.280252814238\\ +6.58898955079985 -148.272531667006\\ +7.22534949178734 -146.716945469588\\ +7.85045620020441 -145.434067669217\\ +8.45136633068495 -144.403964475774\\ +9.01477631452495 -143.598661287279\\ +9.52750047242714 -142.986269691626\\ +10.0693863147606 -142.450693518227\\ +10.5444279352618 -142.066084817487\\ +11.0418805085416 -141.739866607454\\ +11.4566872863485 -141.522201828523\\ +11.8870769771187 -141.343945064789\\ +12.2204468663152 -141.236550357205\\ +12.5631660247414 -141.151988668017\\ +12.9154966501489 -141.0904821515\\ +13.1558562404571 -141.062378815923\\ +13.4006889636394 -141.044650132272\\ +13.5248087041786 -141.039688350237\\ +13.65007806546 -141.037333764445\\ +13.7765076954903 -141.037589900716\\ +13.9041083409004 -141.04045981131\\ +14.0328908478584 -141.045946074723\\ +14.2940453343172 -141.064775604522\\ +14.5600599502069 -141.094089640426\\ +14.8310251433614 -141.13389175413\\ +15.2469572701759 -141.213249259009\\ +15.674554102056 -141.316148830887\\ +16.1141427725301 -141.442507057221\\ +16.7194975973196 -141.64726096329\\ +17.3475935923388 -141.893108298288\\ +18.1659978837536 -142.257420505544\\ +19.0230118866895 -142.683896233312\\ +19.9204570845384 -143.171021036516\\ +21.0534524276677 -143.833110657334\\ +22.2508879812839 -144.576430946363\\ +23.7342425002384 -145.540934149731\\ +25.5509709035258 -146.762787772574\\ +27.5067600790807 -148.101013794384\\ +29.886528735503 -149.730090401913\\ +33.0764978074424 -151.872790122269\\ +36.946012051994 -154.362877861435\\ +42.4255643071768 -157.636950440277\\ +51.9655724382751 -162.62421045714\\ +100 -178.940056965866\\ +}; +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/Guu_ws.pdf b/figs/Guu_ws.pdf similarity index 100% rename from Figures/Guu_ws.pdf rename to figs/Guu_ws.pdf diff --git a/Figures/Guu_ws.png b/figs/Guu_ws.png similarity index 100% rename from Figures/Guu_ws.png rename to figs/Guu_ws.png diff --git a/Figures/Guu_ws.svg b/figs/Guu_ws.svg similarity index 100% rename from Figures/Guu_ws.svg rename to figs/Guu_ws.svg diff --git a/figs/Guu_ws.tex b/figs/Guu_ws.tex new file mode 100644 index 0000000..7d25ae9 --- /dev/null +++ b/figs/Guu_ws.tex @@ -0,0 +1,1522 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +\definecolor{mycolor3}{rgb}{0.92900,0.69400,0.12500}% +\definecolor{mycolor4}{rgb}{0.49400,0.18400,0.55600}% +\definecolor{mycolor5}{rgb}{0.46600,0.67400,0.18800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=5.002in, +height=1.562in, +at={(0.551in,2.189in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=100, +xtick={0.01,0.1,1,10,100}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=7.23775084133253e-08, +ymax=1, +yminorticks=true, +ylabel={Magnitude [m/N]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00100013809481948\\ +0.0488302208687788 0.00100330313238249\\ +0.0825879938784427 0.00100950731341172\\ +0.115096220088503 0.00101863163447499\\ +0.146273335620113 0.00103044118431718\\ +0.177520801171764 0.0010454906326672\\ +0.207643010725577 0.00106329760411887\\ +0.238439047009372 0.00108518210816718\\ +0.268800102153761 0.00111081077343849\\ +0.297490754721444 0.00113919339688891\\ +0.326222200971167 0.00117222768610663\\ +0.354445567397044 0.00120983476362808\\ +0.381576466127125 0.00125156910971437\\ +0.407014245321944 0.00129649326982411\\ +0.434147833005509 0.00135169060767264\\ +0.458840412645476 0.00140966573990404\\ +0.484937406733523 0.00148058931217477\\ +0.507815211232767 0.00155261154185516\\ +0.531772317785097 0.00164008180764063\\ +0.556859644428641 0.00174804891675323\\ +0.583130511352622 0.00188401059916129\\ +0.605036787939122 0.0020205450102613\\ +0.62776601058065 0.00219143884542331\\ +0.65134909462728 0.00241081349180292\\ +0.675818116816111 0.00270171343845309\\ +0.694771254846024 0.00298998728411285\\ +0.714255928554312 0.00336940332287818\\ +0.734287044716676 0.00388994766662743\\ +0.754879928165343 0.00464575183217344\\ +0.776050333513357 0.00583622890166314\\ +0.790492762269642 0.00709117176619922\\ +0.805203967082547 0.00908146644219212\\ +0.82018894992022 0.0126025662516184\\ +0.843190929286625 0.0241553280980556\\ +0.851000724712225 0.026444693108858\\ +0.858882855954626 0.0233887950779062\\ +0.89114823228402 0.00951906131819794\\ +0.907732652521022 0.00693101030621867\\ +0.933189771573324 0.00482002519988776\\ +0.959360828709315 0.00363578940696928\\ +0.986265846131283 0.00288325502407987\\ +1.02331657833024 0.00222599420433043\\ +1.061759183483 0.0017867441087463\\ +1.11184960481927 0.00140875472753093\\ +1.16430313292088 0.00114334516301169\\ +1.23052400435926 0.000914419186371688\\ +1.30051125217341 0.000747253800153538\\ +1.38720978054162 0.000602371154837896\\ +1.49339321612425 0.000480156063431581\\ +1.62259528707809 0.000378951017603237\\ +1.77930438991858 0.000296259039878859\\ +1.96922025547917 0.00022940796130334\\ +2.21996611911996 0.000172104613532046\\ +2.54921465445143 0.000125312266700331\\ +3.00939003444972 8.68474153126671e-05\\ +3.68609536217216 5.62590065338682e-05\\ +4.77176094893875 3.28270832035487e-05\\ +6.71161176749629 1.63285501988772e-05\\ +11.1441525146679 5.86157769105685e-06\\ +28.804441533963 8.73035730610953e-07\\ +100 7.23775084133253e-08\\ +}; +\addplot [color=mycolor2, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00109474989730861\\ +0.0409838367175726 0.00109836739285079\\ +0.0680507369673521 0.00110520318410874\\ +0.0939664831495469 0.00111510660657332\\ +0.119420002813353 0.00112823827400976\\ +0.144930957412622 0.00114507015814275\\ +0.169523234155412 0.00116513169162758\\ +0.192879150802078 0.00118808501189511\\ +0.215443469003188 0.00121434504105231\\ +0.238439047009372 0.00124584228893638\\ +0.259067785868801 0.00127880443681261\\ +0.278898029238044 0.00131538563910246\\ +0.300246170908555 0.00136109140240577\\ +0.320262069365765 0.00141106217173911\\ +0.338477285594598 0.00146376333031829\\ +0.357728509936787 0.00152858561622577\\ +0.374605003274899 0.00159486291390548\\ +0.392277675892772 0.00167604590593049\\ +0.410784088996565 0.00177742091186792\\ +0.426215882901533 0.00187839045371866\\ +0.44222739805059 0.00200376234912698\\ +0.458840412645476 0.00216331009539139\\ +0.476077523022637 0.00237288036289671\\ +0.489428989611453 0.00257870556555634\\ +0.503154894503806 0.00284728948332512\\ +0.517265738721601 0.00321224795703365\\ +0.531772317785097 0.00373624698472083\\ +0.541668691103315 0.00423326304400885\\ +0.551749237612913 0.00493088441968895\\ +0.562017384808319 0.00597574189429946\\ +0.572476623970218 0.00768777334681447\\ +0.583130511352622 0.0108356803056474\\ +0.593982669392035 0.0165930194170543\\ +0.599484250318941 0.0187560275240274\\ +0.605036787939122 0.0172093492860462\\ +0.633580499265825 0.00540106239934618\\ +0.65134909462728 0.00335489068014166\\ +0.675818116816111 0.00202826173096688\\ +0.754879928165343 0.000507715878606555\\ +0.768928372075831 0.000374094361075545\\ +0.783238259917919 0.000257526469195551\\ +0.805203967082547 0.000128693148699918\\ +0.812661920009195 0.000114123179742001\\ +0.82018894992022 0.00012337381666672\\ +0.858882855954626 0.000327965964178703\\ +0.88296999554941 0.000484700851366868\\ +0.907732652521022 0.000662593767427476\\ +1.01392540755882 0.00211845988529694\\ +1.03279473191895 0.00275574660837035\\ +1.05201521761616 0.00380966162906829\\ +1.07159339982267 0.00578749494483396\\ +1.09153593533139 0.00930666438261483\\ +1.10164594963366 0.0102357729825387\\ +1.11184960481927 0.00909508363450743\\ +1.15361810173648 0.00389455220313787\\ +1.17508713090481 0.00290329472306031\\ +1.20804213467733 0.00208257943818985\\ +1.24192135270178 0.00161388662136118\\ +1.27675070431927 0.00131073379977125\\ +1.32471398786612 0.00104051974919572\\ +1.37447909267754 0.00085562320693958\\ +1.43932264471941 0.000692393766264404\\ +1.50722530931076 0.000574580134863776\\ +1.59295021257212 0.000470071053597229\\ +1.69914417203463 0.000380340729781692\\ +1.82920450484629 0.000304821414404843\\ +1.98745954958099 0.000242093410146908\\ +2.17940698430296 0.00019050409412777\\ +2.43436887354311 0.000145201180713526\\ +2.76976193503689 0.000107417776225833\\ +3.21001089554318 7.71852763152205e-05\\ +3.85999361767977 5.17784014567106e-05\\ +4.86056423214214 3.18719144037261e-05\\ +6.58898955079996 1.70286763303486e-05\\ +10.16265089393 7.06987178513711e-06\\ +21.0534524276671 1.63613511162524e-06\\ +100 7.237886573443e-08\\ +}; +\addplot [color=mycolor3, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00152873856562469\\ +0.0265720110532451 0.001534856305993\\ +0.0417465528925313 0.00154546019311429\\ +0.0565917016324624 0.00156069802773153\\ +0.0706071771413777 0.00157980898595415\\ +0.0849041520408874 0.00160445390090566\\ +0.0983995229627823 0.00163299262175003\\ +0.111956431948388 0.00166745341984103\\ +0.125053858729039 0.0017070137325388\\ +0.137131471775395 0.00174976110092478\\ +0.148995507285285 0.00179852688158161\\ +0.160400310705682 0.00185277493289658\\ +0.171093390726901 0.00191132765032189\\ +0.182499324481615 0.00198350245236772\\ +0.192879150802078 0.00205959413139998\\ +0.203849339825246 0.00215308988479347\\ +0.213466303332425 0.00224850883002263\\ +0.22353696459098 0.0023650566206318\\ +0.234082727617829 0.00250994616147045\\ +0.242876438246045 0.00265340423914987\\ +0.252000499376409 0.00283017551059111\\ +0.261467321180109 0.00305271414327472\\ +0.271289780037246 0.00334054191926765\\ +0.278898029238044 0.00361798552751897\\ +0.286719649749377 0.00397197312476102\\ +0.294760625512486 0.0044382893771718\\ +0.303027108286639 0.00507892158936483\\ +0.311525422355548 0.00601102534235832\\ +0.317322963473497 0.00690704680496233\\ +0.323228397818138 0.00818236752936358\\ +0.329243733300777 0.0101272770184915\\ +0.335371015200293 0.0133913701482509\\ +0.341612326858552 0.0195491493149619\\ +0.34796979038877 0.0300565505066638\\ +0.351192753045073 0.031939261621835\\ +0.354445567397044 0.0274918605097911\\ +0.364385898376354 0.0133558041735967\\ +0.371167181947577 0.00925328685758568\\ +0.381576466127125 0.00610436688597751\\ +0.392277675892772 0.00442362480984301\\ +0.403278998219371 0.00338767103115101\\ +0.418428850790158 0.00250256172156573\\ +0.438168993151419 0.0018050793461588\\ +0.463090280179974 0.00127288918311734\\ +0.567222897164455 0.000370471549518531\\ +0.588531577519145 0.000281900510816009\\ +0.610640754223204 0.000204756288564748\\ +0.62776601058065 0.00015316649640494\\ +0.64537154016467 0.000106484993280277\\ +0.657382014340959 7.83342971016794e-05\\ +0.682077673286568 3.6553931933341e-05\\ +0.68839520696455 3.37702917864429e-05\\ +0.694771254846024 3.60699438356372e-05\\ +0.734287044716676 9.40475952282797e-05\\ +0.754879928165343 0.00012784560234935\\ +0.776050333513357 0.000161594907458645\\ +0.797814457207663 0.000195284954379908\\ +0.827785696619847 0.000240572209776377\\ +0.858882855954626 0.000287137643316501\\ +0.899402217409205 0.000349010572197075\\ +0.977214696972572 0.000481408534874593\\ +1.0423606739764 0.000622669858324761\\ +1.09153593533139 0.000765442622285674\\ +1.13254131515281 0.000926732712891124\\ +1.16430313292088 0.00109564810973367\\ +1.19695570235904 0.00133624917241797\\ +1.23052400435926 0.00170897314226212\\ +1.2534242654614 0.00209693808827801\\ +1.27675070431927 0.00270563250700915\\ +1.30051125217341 0.00377051186833723\\ +1.34936714058831 0.0083246356781806\\ +1.36186523675608 0.00763074680419042\\ +1.41302599059953 0.00315793580971447\\ +1.43932264471941 0.00230526810459626\\ +1.4796880626864 0.00161411869536321\\ +1.5211855179861 0.00122763474580963\\ +1.56384675830224 0.000981950112352056\\ +1.62259528707809 0.000766710932623072\\ +1.6835508029612 0.00062205248883441\\ +1.76297537528721 0.000496587192005406\\ +1.84614694632455 0.000407612971891794\\ +1.95114834684662 0.000329990937342996\\ +2.06212180399914 0.000272589051900023\\ +2.19959306803007 0.000222174960959684\\ +2.36796006783308 0.000179027328048999\\ +2.57282596744793 0.000142752964083163\\ +2.84743916646725 0.00011010347507963\\ +3.18055201533292 8.4213301641143e-05\\ +3.61874981241128 6.24713875279286e-05\\ +4.23278906557355 4.40855729511114e-05\\ +5.13701354335135 2.90680434151222e-05\\ +6.52852114112785 1.75928968634125e-05\\ +9.01477631452492 9.07066693579625e-06\\ +14.4264395121816 3.50222286569079e-06\\ +33.3828586473176 6.50279156947592e-07\\ +100 7.23829378674595e-08\\ +}; +\addplot [color=mycolor4, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00453100880243252\\ +0.0139361927422414 0.00457139647260131\\ +0.0178752552590424 0.00462630967659553\\ +0.0216938351838518 0.00469441408855397\\ +0.0253749037973357 0.00477517131210144\\ +0.0288709091735923 0.00486700300797105\\ +0.0325471160553185 0.0049813265973059\\ +0.0360210656235707 0.00510825162823813\\ +0.0394999546122064 0.0052563994205083\\ +0.0429173237842216 0.00542560830775485\\ +0.0462024137175131 0.00561408114020214\\ +0.0492824957004051 0.00581777961294743\\ +0.0525679112201842 0.0060692317838669\\ +0.0555577622239888 0.00633474017477073\\ +0.0587176639073325 0.00666151832901995\\ +0.0614877765381002 0.0069955971775547\\ +0.0643885742724041 0.00740439770703744\\ +0.0674262224177834 0.00791368397898208\\ +0.0699592016543538 0.00841904457347833\\ +0.0725873365081725 0.00904318805643356\\ +0.0753142016597438 0.00983105657764612\\ +0.0781435060784454 0.0108534154863427\\ +0.0810790980673168 0.0122284339071683\\ +0.0833529396509819 0.0136131514732042\\ +0.0856905505126835 0.015469873624851\\ +0.0880937190447399 0.0180818917248627\\ +0.0905642837944529 0.0220112197249136\\ +0.0922497005259217 0.0259351974877476\\ +0.0939664831495469 0.0317715701842193\\ +0.0957152153899186 0.0412336438041302\\ +0.0974964918348408 0.058439744360694\\ +0.100230754828386 0.109047165691251\\ +0.101159111222383 0.108162776002149\\ +0.103041699495059 0.0692147355088877\\ +0.104959323055823 0.0442810247537727\\ +0.106912633917347 0.0314348519549427\\ +0.10991097009295 0.0213332850852519\\ +0.112993393803322 0.0158341195671782\\ +0.11616226326085 0.0124045609064759\\ +0.120526093687084 0.00945078758487747\\ +0.125053858729039 0.00749836101472995\\ +0.130953502048267 0.00583200847697934\\ +0.137131471775395 0.00466951641447524\\ +0.144930957412622 0.00367177237587794\\ +0.154592773641948 0.00284416590529281\\ +0.16642601764859 0.00217125844228329\\ +0.184189668079971 0.00153245845013101\\ +0.252000499376409 0.000531919839134091\\ +0.271289780037246 0.000403347296936269\\ +0.289375301905095 0.000309482675212188\\ +0.305833803237843 0.000240333899675182\\ +0.320262069365765 0.000189491571034166\\ +0.332293251639897 0.000152746691015413\\ +0.344776405473446 0.000119205934017477\\ +0.354445567397044 9.60676534621894e-05\\ +0.364385898376354 7.46944064824653e-05\\ +0.374605003274899 5.53310659098152e-05\\ +0.395911026646846 2.76807641770864e-05\\ +0.399578030189527 2.60619615922113e-05\\ +0.403278998219371 2.57858117379399e-05\\ +0.407014245321944 2.6821045292581e-05\\ +0.414588849683291 3.19377685399307e-05\\ +0.430163575810679 4.79206470673195e-05\\ +0.44222739805059 6.12706142122064e-05\\ +0.45462954695324 7.46189333624469e-05\\ +0.467379510799246 8.76573370059352e-05\\ +0.480487043965513 0.000100280633446446\\ +0.498537346387389 0.000116424341934011\\ +0.517265738721601 0.000131806188238302\\ +0.536697694554048 0.000146489474778991\\ +0.562017384808319 0.000163984826314451\\ +0.588531577519145 0.000180688475655034\\ +0.616296625513294 0.000196783158895606\\ +0.65134909462728 0.000215561839626116\\ +0.694771254846024 0.000237177330242179\\ +0.754879928165343 0.000265470223417464\\ +0.924625711640573 0.000348040729620002\\ +0.986265846131283 0.000383656497744298\\ +1.0423606739764 0.000421224371416454\\ +1.09153593533139 0.000459877970028892\\ +1.14303112911448 0.000508311565405046\\ +1.18597101233767 0.000557228547463497\\ +1.23052400435926 0.000619366955951463\\ +1.27675070431927 0.0007012111566009\\ +1.31255683577184 0.000782087218296142\\ +1.34936714058831 0.000888545558421988\\ +1.38720978054162 0.00103502575270533\\ +1.42611370719413 0.00124910846600158\\ +1.46610868404699 0.00159040122930502\\ +1.49339321612425 0.00195591243885547\\ +1.5211855179861 0.00254719260009364\\ +1.54949503931463 0.0036202912482008\\ +1.59295021257212 0.0068249799886497\\ +1.60770442167383 0.00683861697083998\\ +1.62259528707809 0.0056658531059577\\ +1.66810053720006 0.00283351462719729\\ +1.69914417203463 0.00201779609877187\\ +1.74679621512725 0.00137717767686307\\ +1.7957846470021 0.00102868509760296\\ +1.84614694632455 0.000811331529805221\\ +1.91550055557353 0.000624001453745202\\ +1.98745954958099 0.000500016222322578\\ +2.08122156998634 0.000394002778658669\\ +2.17940698430296 0.000319870723980494\\ +2.30336287314213 0.000256070215938932\\ +2.43436887354311 0.000209521266871118\\ +2.59665597293487 0.000169167680813125\\ +2.79541599906785 0.000135090434163504\\ +3.03726357970331 0.000106821039569931\\ +3.33060034362459 8.36704606993826e-05\\ +3.72023668141307 6.34652611298252e-05\\ +4.19394395566719 4.77451678013335e-05\\ +4.86056423214214 3.41391611923227e-05\\ +5.79112264764176 2.32590741961593e-05\\ +7.15904108596489 1.48200028120474e-05\\ +9.3534315202924 8.50719003815489e-06\\ +13.5248087041788 4.0093711764637e-06\\ +23.9540735872088 1.26660846279912e-06\\ +77.9636013040524 1.19113426423878e-07\\ +100 7.23897253216056e-08\\ +}; +\addplot [color=mycolor5, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.00263238763824358\\ +0.0155665435927106 0.00265085521242058\\ +0.021102034285686 0.00267761063446644\\ +0.0263281546564802 0.00271096604110321\\ +0.0316592411198352 0.00275365298785911\\ +0.0366914237840249 0.00280262809251829\\ +0.0417465528925313 0.00286112098695606\\ +0.0466303492974273 0.00292741162971425\\ +0.0516074871038591 0.00300602712898433\\ +0.0565917016324624 0.00309740480777506\\ +0.0614877765381002 0.00320127163157821\\ +0.0661943345877439 0.00331633857641735\\ +0.0706071771413777 0.00343996673659213\\ +0.0753142016597438 0.0035915352146716\\ +0.0795977700231498 0.00375033971121424\\ +0.0841249704973612 0.00394406849701478\\ +0.0880937190447399 0.00414018818430965\\ +0.0922497005259217 0.00437755069567735\\ +0.0966017479952265 0.00466929670848456\\ +0.101159111222383 0.00503475829170299\\ +0.104959323055823 0.00539961253205411\\ +0.108902296226373 0.00585328433422654\\ +0.112993393803322 0.00643083359177963\\ +0.11723818032866 0.00718846737521856\\ +0.120526093687084 0.007930207024634\\ +0.123906215694792 0.00889307149163279\\ +0.127381132318648 0.0101901334417979\\ +0.130953502048267 0.0120263800874313\\ +0.134626057929891 0.0148138500311998\\ +0.137131471775395 0.0176270548670954\\ +0.139683511798874 0.0218636089582029\\ +0.142283045721435 0.0288521710778471\\ +0.144930957412622 0.0418232197822657\\ +0.147628147190939 0.0658862588785988\\ +0.148995507285285 0.0752151242629756\\ +0.150375532129974 0.0696343778881547\\ +0.157469771464309 0.0239652859561379\\ +0.160400310705682 0.0180083168719697\\ +0.164898694447106 0.0129149102007058\\ +0.169523234155412 0.00994589008897616\\ +0.174277467840892 0.00801271173130618\\ +0.180824493487795 0.00629287215774189\\ +0.187617469143912 0.0051265233860524\\ +0.196468664618044 0.00411166013730106\\ +0.205737431343291 0.00339279168261666\\ +0.215443469003188 0.00285906171121906\\ +0.227697025538168 0.00237795340028933\\ +0.240647515001542 0.00201378633782839\\ +0.256690271549195 0.00168900389006952\\ +0.273802517792786 0.00143920193019118\\ +0.292055551218275 0.0012426771653486\\ +0.314410830314726 0.0010654414186161\\ +0.338477285594598 0.000925517198872963\\ +0.364385898376354 0.000813531930110634\\ +0.392277675892772 0.000722979883964115\\ +0.422304418720667 0.000649212354585407\\ +0.45462954695324 0.000588829534807019\\ +0.489428989611453 0.000539300022099051\\ +0.522056752784698 0.000503352509131219\\ +0.556859644428641 0.000473262257987813\\ +0.593982669392035 0.00044825773657644\\ +0.633580499265825 0.000427741016802623\\ +0.669616005485322 0.000413381945269827\\ +0.707701066118189 0.000401780182316224\\ +0.747952251562183 0.000392796568377682\\ +0.790492762269642 0.000386360108737935\\ +0.835452805838287 0.000382473266866633\\ +0.874866812047991 0.000381241820417069\\ +0.916140245713852 0.000381944355430034\\ +0.959360828709315 0.000384748197643302\\ +1.00462042134681 0.000389902263160027\\ +1.05201521761616 0.000397765933212564\\ +1.09153593533139 0.000406346801088642\\ +1.13254131515281 0.000417350290153662\\ +1.17508713090481 0.00043126748208547\\ +1.21923125164911 0.000448772179365818\\ +1.2650337203959 0.000470807724975816\\ +1.31255683577184 0.000498729328431242\\ +1.36186523675608 0.000534548015105206\\ +1.41302599059953 0.000581371897150102\\ +1.45265392594678 0.000626640300111331\\ +1.49339321612425 0.000684244321177737\\ +1.53527502878042 0.000759511207314972\\ +1.57833140565212 0.000861365208970708\\ +1.62259528707809 0.00100593575607436\\ +1.66810053720006 0.00122550192567945\\ +1.69914417203463 0.00144677040852195\\ +1.73076553419572 0.00177899424245619\\ +1.76297537528721 0.00232422656206305\\ +1.7957846470021 0.00332947875794013\\ +1.82920450484629 0.00521629187817228\\ +1.84614694632455 0.00603874238626341\\ +1.86324631193156 0.00570272578415346\\ +1.95114834684662 0.00193232979294217\\ +1.98745954958099 0.0014381451333862\\ +2.04319732019527 0.00101871413962947\\ +2.10049824165392 0.000775823966107316\\ +2.15940615210357 0.000618447047515262\\ +2.24052786930002 0.000479074626283722\\ +2.32469705998565 0.000384990589137906\\ +2.43436887354311 0.000303502544021448\\ +2.54921465445143 0.000246058857285478\\ +2.69420371368188 0.000196423046777576\\ +2.84743916646725 0.000160170990782843\\ +3.03726357970331 0.00012878422056333\\ +3.26974974451177 0.000102363903058059\\ +3.55263467657814 8.05504361113088e-05\\ +3.8957456157755 6.27907030605225e-05\\ +4.31156199031823 4.84887674598817e-05\\ +4.86056423214214 3.62793773442668e-05\\ +5.58144624945497 2.63508672646703e-05\\ +6.58898955079996 1.82219338898666e-05\\ +7.99655452589235 1.20141787459959e-05\\ +10.16265089393 7.26869794760481e-06\\ +14.0328908478587 3.74589012868168e-06\\ +22.2508879812837 1.47283401156832e-06\\ +50.0840798984821 2.88946766380108e-07\\ +100 7.23992289456693e-08\\ +}; +\end{axis} + +\begin{axis}[% +width=5.002in, +height=1.562in, +at={(0.551in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=100, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-180, +ymax=180, +ytick={-180, -90, 0, 90, 180}, +ylabel={Phase [deg]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +legend style={at={(4.673,2.408)}, anchor=south west, legend cell align=left, align=left, draw=black} +] +\addplot [color=mycolor1, line width=1.5pt] + table[row sep=crcr]{% +0.01 -0.0254593602807347\\ +0.0133083472465411 -0.0338858100148229\\ +0.0170699493403842 -0.0434704905855483\\ +0.0212974853574551 -0.0542485300369151\\ +0.0260865361762251 -0.0664679490455455\\ +0.0313686982456683 -0.0799603339249018\\ +0.037031266758699 -0.0944450852321097\\ +0.0433148322337641 -0.110548008957238\\ +0.0501996513311016 -0.128233746897365\\ +0.0571158647812626 -0.146051274716768\\ +0.0649849535446982 -0.166395163537061\\ +0.0732596542821532 -0.187881253768097\\ +0.0818300681586717 -0.210249721948884\\ +0.0905642837944531 -0.233180370028947\\ +0.10023075482839 -0.258735697663639\\ +0.10991097009295 -0.284534823716342\\ +0.120526093687088 -0.313090636599441\\ +0.13216641839466 -0.344757880830628\\ +0.143600898465122 -0.376263938933306\\ +0.156024641436638 -0.410991506065841\\ +0.167967487209262 -0.444910903749303\\ +0.180824493487798 -0.482073011599681\\ +0.194665634334225 -0.522903708268842\\ +0.20956623994805 -0.567914081529239\\ +0.223536964590981 -0.611211141554833\\ +0.238439047009369 -0.658683935066534\\ +0.254334576130472 -0.710940510569912\\ +0.271289780037248 -0.768724103265669\\ +0.286719649749373 -0.823342912034747\\ +0.303027108286649 -0.883405867108706\\ +0.320262069365769 -0.949785414324708\\ +0.338477285594596 -1.02356308761989\\ +0.357728509936777 -1.10609656144396\\ +0.374605003274907 -1.18279577096246\\ +0.392277675892774 -1.26802768483503\\ +0.41078408899656 -1.36337294351958\\ +0.430163575810668 -1.47084004678541\\ +0.450457325175955 -1.5930204479848\\ +0.471708469091704 -1.73331624685787\\ +0.489428989611449 -1.8616065793631\\ +0.507815211232757 -2.00745064568358\\ +0.526892142135084 -2.17487023611974\\ +0.546685729972028 -2.36922653410747\\ +0.567222897164457 -2.59782734307129\\ +0.58853157751914 -2.87089721016747\\ +0.605036787939111 -3.11351941107588\\ +0.622004882563454 -3.3980495489937\\ +0.639448842855712 -3.73659456870618\\ +0.657382014340971 -4.14641899185665\\ +0.675818116816117 -4.6530111334271\\ +0.694771254846023 -5.29562464887167\\ +0.707701066118183 -5.82951561443798\\ +0.720871503378203 -6.48018530476378\\ +0.734287044716661 -7.29070892559207\\ +0.747952251562161 -8.32814557043901\\ +0.761871770232323 -9.70273695143229\\ +0.776050333513376 -11.6087421767075\\ +0.790492762269657 -14.4211073780124\\ +0.797814457207674 -16.3905245772462\\ +0.805203967082557 -18.9584764034979\\ +0.812661920009201 -22.4299352031948\\ +0.820188949920225 -27.3379450085348\\ +0.827785696619849 -34.662285102672\\ +0.835452805838285 -46.2217944124978\\ +0.843190929286622 -64.8107013943226\\ +0.858882855954615 -116.811313665525\\ +0.866837993001965 -134.807071918212\\ +0.874866812047975 -145.976972442573\\ +0.88296999554939 -153.079848570712\\ +0.89940221740918 -161.251526356015\\ +0.91614024571388 -165.70272763335\\ +0.933189771573347 -168.472350669564\\ +0.950556592010137 -170.354315136267\\ +0.968246611930323 -171.714118596061\\ +0.986265846131287 -172.741836695644\\ +1.00462042134681 -173.545641523472\\ +1.03279473191894 -174.469036157883\\ +1.06175918348298 -175.165056077337\\ +1.09153593533136 -175.708676229077\\ +1.12214776820801 -176.145215385038\\ +1.1536181017365 -176.503661763274\\ +1.18597101233768 -176.803413264248\\ +1.23052400435925 -177.134476418169\\ +1.27675070431924 -177.406634296324\\ +1.32471398786616 -177.634540541505\\ +1.37447909267756 -177.828355609107\\ +1.42611370719414 -177.995345181682\\ +1.47968806268638 -178.14084184098\\ +1.54949503931459 -178.298491119161\\ +1.62259528707813 -178.434565773686\\ +1.69914417203464 -178.553337540125\\ +1.77930438991856 -178.658010636478\\ +1.86324631193151 -178.751035356303\\ +1.95114834684666 -178.834317327631\\ +2.06212180399915 -178.923491174874\\ +2.17940698430292 -179.002827009395\\ +2.3033628731422 -179.073912258748\\ +2.43436887354314 -179.138000186345\\ +2.57282596744791 -179.196093637411\\ +2.74434330322828 -179.257368110551\\ +2.92729483504285 -179.312624564293\\ +3.12244282309282 -179.362699123956\\ +3.33060034362469 -179.408271398958\\ +3.58553985745983 -179.455553213391\\ +3.85999361767968 -179.498366216924\\ +4.15545533471895 -179.537271646658\\ +4.47353305449843 -179.572734654798\\ +4.86056423214227 -179.608998560161\\ +5.28107971193432 -179.641862489655\\ +5.73797641421395 -179.671716479765\\ +6.29214610961035 -179.7017576363\\ +6.8998371214298 -179.728874486232\\ +7.63629826128223 -179.755714348167\\ +8.45136633068495 -179.779781596997\\ +9.44006478941749 -179.803245602043\\ +10.5444279352618 -179.82413821547\\ +11.8870769771187 -179.844219297056\\ +13.5248087041786 -179.863243034558\\ +15.5307057393347 -179.881020276728\\ +17.9992850678251 -179.897417033532\\ +21.0534524276677 -179.912351246685\\ +24.8539485742973 -179.925788159287\\ +29.886528735503 -179.938306968674\\ +36.6069514759701 -179.949646384814\\ +45.6730127016882 -179.95964933559\\ +58.582482001525 -179.96854544797\\ +77.9636013040541 -179.976366963908\\ +100 -179.981575693961\\ +}; +\addlegendentry{w = 0 [rpm]} + +\addplot [color=mycolor2, line width=1.5pt] + table[row sep=crcr]{% +0.01 -0.0278693778053878\\ +0.0131862140139471 -0.0367563706163878\\ +0.0167580786453079 -0.0467261670823405\\ +0.0207164967560208 -0.0577861172340874\\ +0.025142033481428 -0.0701684775245042\\ +0.0299554933435982 -0.0836613292064214\\ +0.0353629550135508 -0.0988565938035038\\ +0.0409838367175735 -0.11470096556576\\ +0.0470622484984116 -0.131901108891583\\ +0.0535462089927357 -0.150336141456023\\ +0.0603643850607596 -0.169832667207316\\ +0.0674262224177818 -0.190162479662035\\ +0.0753142016597439 -0.21305637669056\\ +0.0833529396509846 -0.236614911641794\\ +0.0922497005259214 -0.262988649167312\\ +0.101159111222386 -0.289754616020957\\ +0.110928986489522 -0.319562781193781\\ +0.120526093687088 -0.349363507380815\\ +0.130953502048267 -0.382394221437039\\ +0.140977287162893 -0.414858110849877\\ +0.151768339028343 -0.45067473146517\\ +0.163385387780984 -0.490353344855919\\ +0.174277467840897 -0.528731910550022\\ +0.18589566796357 -0.571068760452448\\ +0.198288394912704 -0.618007843838797\\ +0.20956623994805 -0.662509926334963\\ +0.221485523372639 -0.711614043456819\\ +0.234082727617828 -0.766105227840598\\ +0.247396410088675 -0.826971338313257\\ +0.259067785868806 -0.883462343422565\\ +0.271289780037248 -0.946172530976952\\ +0.284088369018327 -1.0162623042111\\ +0.297490754721436 -1.09521095793019\\ +0.311525422355555 -1.18493350596421\\ +0.326222200971169 -1.28795223305389\\ +0.338477285594596 -1.38217883152527\\ +0.351192753045066 -1.48935157696613\\ +0.364385898376366 -1.61247167412333\\ +0.378074666359942 -1.75554162675212\\ +0.392277675892774 -1.9240126168589\\ +0.407014245321941 -2.12549114407128\\ +0.418428850790151 -2.30465672865174\\ +0.430163575810668 -2.51485015541118\\ +0.442227398050602 -2.76488979834903\\ +0.454629546953248 -3.06719349417489\\ +0.46737951079925 -3.43978166263202\\ +0.480487043965512 -3.90976474202211\\ +0.489428989611449 -4.29729015476445\\ +0.498537346387382 -4.7652422847778\\ +0.507815211232757 -5.34058937875429\\ +0.517265738721588 -6.06349970541973\\ +0.526892142135084 -6.99638248638487\\ +0.536697694554061 -8.24141902449705\\ +0.546685729972028 -9.9774381375243\\ +0.556859644428648 -12.5459398036322\\ +0.562017384808323 -14.3432920519938\\ +0.567222897164457 -16.6806315377937\\ +0.572476623970219 -19.8247318399223\\ +0.577779011797049 -24.2356104722223\\ +0.58313051135262 -30.7495538035391\\ +0.58853157751914 -40.9286570417284\\ +0.593982669392029 -57.3953769049991\\ +0.610640754223191 -128.851546078059\\ +0.616296625513279 -141.362841266887\\ +0.622004882563454 -149.178750290357\\ +0.627766010580631 -154.315431259779\\ +0.639448842855712 -160.434411403979\\ +0.651349094627294 -163.796883070117\\ +0.663470812109245 -165.789830410015\\ +0.675818116816117 -166.977584068004\\ +0.682077673286572 -167.355479801196\\ +0.688395206964551 -167.614075605265\\ +0.694771254846023 -167.763496006069\\ +0.701206358900715 -167.808717547687\\ +0.707701066118183 -167.750115051713\\ +0.714255928554305 -167.583507099202\\ +0.720871503378203 -167.299711534241\\ +0.72754835291961 -166.883523727574\\ +0.734287044716661 -166.311904631493\\ +0.741088151564139 -165.55096792789\\ +0.747952251562161 -164.551005672469\\ +0.75487992816532 -163.238126952738\\ +0.761871770232323 -161.499752680127\\ +0.768928372075853 -159.158425713579\\ +0.776050333513376 -155.922399526284\\ +0.783238259917936 -151.288714980824\\ +0.790492762269657 -144.35193264229\\ +0.797814457207674 -133.476435809397\\ +0.805203967082557 -116.195491427851\\ +0.827785696619849 -48.378868406548\\ +0.835452805838285 -36.8101783821946\\ +0.843190929286622 -29.4678709820909\\ +0.851000724712218 -24.5942199218466\\ +0.866837993001965 -18.7696009150412\\ +0.88296999554939 -15.6022389775096\\ +0.89940221740918 -13.7767088510956\\ +0.91614024571388 -12.747180195899\\ +0.9246257116406 -12.4469446779303\\ +0.933189771573347 -12.2655270357023\\ +0.941833153464815 -12.1930237455259\\ +0.950556592010137 -12.2246305737893\\ +0.959360828709328 -12.3601292477171\\ +0.968246611930323 -12.6038697410831\\ +0.97721469697258 -12.9652464634547\\ +0.986265846131287 -13.4597663440555\\ +1.00462042134681 -14.9534308930715\\ +1.02331657833024 -17.4419534988473\\ +1.03279473191894 -19.2816661583958\\ +1.04236067397639 -21.7443684588976\\ +1.05201521761614 -25.1417799922945\\ +1.06175918348298 -30.0214945928476\\ +1.07159339982264 -37.3932447769883\\ +1.08151870255226 -49.1282473432621\\ +1.09153593533136 -68.036589962747\\ +1.1118496048193 -119.813497748371\\ +1.12214776820801 -137.32700974148\\ +1.13254131515284 -148.163559240945\\ +1.1430311291145 -155.050298058134\\ +1.16430313292089 -162.958420102997\\ +1.18597101233768 -167.241430733065\\ +1.20804213467733 -169.884030462485\\ +1.23052400435925 -171.661843108919\\ +1.25342426546138 -172.932581890184\\ +1.27675070431924 -173.882316545041\\ +1.30051125217337 -174.616832261621\\ +1.33698374182498 -175.449255205636\\ +1.37447909267756 -176.066757349245\\ +1.41302599059955 -176.541851229185\\ +1.45265392594678 -176.918066006588\\ +1.49339321612424 -177.223029194093\\ +1.53527502878039 -177.475072809304\\ +1.57833140565207 -177.686811149273\\ +1.63762407452172 -177.921528414087\\ +1.69914417203464 -178.115052743698\\ +1.7629753752872 -178.277452701263\\ +1.82920450484626 -178.415788253194\\ +1.89792164283904 -178.53514722159\\ +1.96922025547921 -178.639283329915\\ +2.06212180399915 -178.752286631777\\ +2.15940615210354 -178.849994401001\\ +2.26128006633722 -178.935433452596\\ +2.36796006783313 -179.010874498352\\ +2.47967289250217 -179.078053146059\\ +2.62070669648381 -179.149639177391\\ +2.76976193503698 -179.21305717515\\ +2.92729483504285 -179.269687904041\\ +3.09378757173011 -179.320606923653\\ +3.26974974451167 -179.36666472823\\ +3.48772747481423 -179.41515679484\\ +3.72023668141304 -179.458820490913\\ +3.96824610456936 -179.498344340812\\ +4.27199396630681 -179.539152635256\\ +4.59899209052235 -179.575944236808\\ +4.95102015955645 -179.60925743095\\ +5.37936150398065 -179.643120897995\\ +5.84476113163379 -179.67364766638\\ +6.35042516859595 -179.701256648114\\ +6.96374473062844 -179.728931831955\\ +7.63629826128223 -179.753829203998\\ +8.45136633068495 -179.778401368452\\ +9.3534315202923 -179.800381018107\\ +10.4476597156082 -179.821765479972\\ +11.7779870119709 -179.842259588707\\ +13.4006889636394 -179.86162680681\\ +15.3881775003836 -179.879688132959\\ +17.8341022071005 -179.896319425387\\ +20.8602408924844 -179.911447460941\\ +24.6258591635048 -179.925044979454\\ +29.6122543798796 -179.937703493272\\ +36.2710025233077 -179.949162567811\\ +45.2538627817026 -179.959266630095\\ +58.0448594276896 -179.968249861051\\ +77.248114514036 -179.976146268157\\ +100 -179.981574887766\\ +}; +\addlegendentry{w = 15 [rpm]} + +\addplot [color=mycolor3, line width=1.5pt] + table[row sep=crcr]{% +0.01 -0.0389326818659868\\ +0.0127087870920203 -0.0495123046762842\\ +0.015710723892474 -0.061265248323167\\ +0.0188919277620761 -0.0737602410910654\\ +0.022508800520954 -0.0880273025856297\\ +0.0263281546564798 -0.103176826625941\\ +0.0305129701718286 -0.119892364939659\\ +0.0347168681892662 -0.136826543250237\\ +0.0391374560198028 -0.154810607405267\\ +0.0441209286319117 -0.175333149175685\\ +0.0492824957004062 -0.196904994397244\\ +0.0545427130532976 -0.219263774228125\\ +0.0598104096238105 -0.242080613726756\\ +0.0655868565957134 -0.267650804870527\\ +0.0712611543011191 -0.293394161335897\\ +0.0774263682681121 -0.322149611183846\\ +0.0833529396509846 -0.350649811098691\\ +0.0897331581458357 -0.382378385191373\\ +0.095715215389917 -0.413220732322912\\ +0.102096066230607 -0.447414202656546\\ +0.108902296226373 -0.485524060883421\\ +0.115096220088501 -0.521836944731774\\ +0.12164242938574 -0.562093308325302\\ +0.128560960694331 -0.606972826662343\\ +0.13587299019027 -0.657323425088066\\ +0.142283045721431 -0.704225514317329\\ +0.148995507285289 -0.756438699404526\\ +0.156024641436638 -0.814922045963698\\ +0.163385387780984 -0.8808778182688\\ +0.171093390726897 -0.95583179881001\\ +0.179165032736394 -1.04174715263824\\ +0.18589566796357 -1.12006962977765\\ +0.192879150802077 -1.20872154524224\\ +0.2001249798969 -1.30984977285303\\ +0.207643010725571 -1.42622342074299\\ +0.215443469003193 -1.56147219311714\\ +0.223536964590981 -1.7204422483143\\ +0.231934505927442 -1.90974280406061\\ +0.238439047009369 -2.07704658277507\\ +0.245126006203328 -2.27182949380222\\ +0.252000499376417 -2.50118485571372\\ +0.259067785868806 -2.77481459029727\\ +0.266333272517501 -3.10633560581479\\ +0.273802517792786 -3.51545413980497\\ +0.281481236050756 -4.0317619384731\\ +0.286719649749373 -4.45743850160892\\ +0.292055551218269 -4.97128818136574\\ +0.297490754721436 -5.60281514560032\\ +0.303027108286649 -6.39612135935499\\ +0.308666494333735 -7.42011086650911\\ +0.314410830314732 -8.78853803992908\\ +0.320262069365769 -10.7028979179087\\ +0.326222200971169 -13.5547246067035\\ +0.329243733300778 -15.5670662502119\\ +0.332293251639897 -18.2066433509872\\ +0.335371015200292 -21.7989223840239\\ +0.338477285594596 -26.9165890849837\\ +0.341612326858549 -34.6173125777178\\ +0.344776405473441 -46.852101568987\\ +0.347969790388763 -66.4427587724861\\ +0.354445567397035 -118.196556623423\\ +0.357728509936777 -135.185497606866\\ +0.361041859717323 -145.703841634891\\ +0.364385898376366 -152.425480890358\\ +0.371167181947586 -160.207874409219\\ +0.378074666359942 -164.461792165379\\ +0.385110700232562 -167.100812091082\\ +0.392277675892774 -168.878540515104\\ +0.399578030189527 -170.144638802078\\ +0.407014245321941 -171.081809885793\\ +0.414588849683285 -171.794223266841\\ +0.422304418720659 -172.345293760122\\ +0.430163575810668 -172.775593265265\\ +0.438168993151433 -173.112062683267\\ +0.446323392671051 -173.373064321427\\ +0.454629546953248 -173.571297022102\\ +0.463090280179979 -173.715543653546\\ +0.471708469091704 -173.811744388423\\ +0.476077523022638 -173.843075330924\\ +0.480487043965512 -173.863658606717\\ +0.484937406733521 -173.873687939462\\ +0.489428989611449 -173.87325939782\\ +0.493962174387827 -173.862374160171\\ +0.498537346387382 -173.840939144355\\ +0.503154894503796 -173.808765543258\\ +0.512518692705321 -173.71094482995\\ +0.522056752784682 -173.565291240416\\ +0.531772317785112 -173.36615974619\\ +0.541668691103327 -173.105338565294\\ +0.551749237612921 -172.771181742558\\ +0.562017384808323 -172.347232997108\\ +0.572476623970219 -171.81000936079\\ +0.58313051135262 -171.125326566833\\ +0.593982669392029 -170.241958657794\\ +0.605036787939111 -169.080131083585\\ +0.616296625513279 -167.509290390452\\ +0.627766010580631 -165.301709025279\\ +0.639448842855712 -162.025935730483\\ +0.645371540164686 -159.736886278612\\ +0.651349094627294 -156.771819009657\\ +0.657382014340971 -152.81472809552\\ +0.663470812109245 -147.346497699849\\ +0.66961600548533 -139.503391069047\\ +0.675818116816117 -127.931936027569\\ +0.688395206964551 -89.5732181175717\\ +0.701206358900715 -51.5427966267795\\ +0.707701066118183 -40.142211576135\\ +0.714255928554305 -32.4102909712519\\ +0.72754835291961 -23.1004600311938\\ +0.741088151564139 -17.8978388997427\\ +0.75487992816532 -14.6484784217272\\ +0.768928372075853 -12.4560341988882\\ +0.783238259917936 -10.8946249779281\\ +0.797814457207674 -9.73906402248946\\ +0.812661920009201 -8.86007833182376\\ +0.827785696619849 -8.17859216609722\\ +0.843190929286622 -7.64378644836245\\ +0.858882855954615 -7.22172695873275\\ +0.874866812047975 -6.88909173651425\\ +0.891148232283998 -6.62953266397062\\ +0.907732652520995 -6.43147950027372\\ +0.9246257116406 -6.28677580640098\\ +0.941833153464815 -6.18981904560437\\ +0.950556592010137 -6.15805621092983\\ +0.959360828709328 -6.13702304238799\\ +0.968246611930323 -6.12653440527095\\ +0.97721469697258 -6.12650079605189\\ +0.986265846131287 -6.13692695747025\\ +0.995400828762154 -6.15791258772919\\ +1.00462042134681 -6.18965518794181\\ +1.02331657833024 -6.28672354559353\\ +1.04236067397639 -6.43192830313984\\ +1.06175918348298 -6.63125623394279\\ +1.08151870255226 -6.89355269135453\\ +1.10164594963369 -7.23160469888865\\ +1.12214776820801 -7.66390495005194\\ +1.1430311291145 -8.21759625297153\\ +1.16430313292089 -8.93357904677191\\ +1.18597101233768 -9.87583388990308\\ +1.20804213467733 -11.1495730088676\\ +1.23052400435925 -12.9395912575027\\ +1.25342426546138 -15.6002317324824\\ +1.26503372039588 -17.4664414932013\\ +1.27675070431924 -19.8972078980171\\ +1.28857621318549 -23.1734118852893\\ +1.30051125217337 -27.7818533289221\\ +1.3125568357718 -34.6113547380822\\ +1.32471398786616 -45.3197958048261\\ +1.33698374182498 -62.6104599838446\\ +1.37447909267756 -133.726666003308\\ +1.38720978054164 -145.740566157093\\ +1.40005838246811 -153.315167030404\\ +1.41302599059955 -158.360005615409\\ +1.43932264471941 -164.518926398052\\ +1.46610868404698 -168.078738367402\\ +1.49339321612424 -170.376419743985\\ +1.52118551798608 -171.974158719906\\ +1.54949503931459 -173.145666364014\\ +1.57833140565207 -174.039227730793\\ +1.60770442167387 -174.741868399105\\ +1.65279206146492 -175.551353589303\\ +1.69914417203464 -176.161410099189\\ +1.74679621512724 -176.636435144434\\ +1.79578464700207 -177.015969141505\\ +1.84614694632451 -177.325601996882\\ +1.89792164283904 -177.582608461215\\ +1.95114834684666 -177.799060032938\\ +2.02444650997683 -178.039239148227\\ +2.10049824165391 -178.237090102354\\ +2.17940698430292 -178.40267046092\\ +2.26128006633722 -178.543126908127\\ +2.34622884814232 -178.663670387894\\ +2.43436887354314 -178.768185027808\\ +2.52582002696278 -178.85962161482\\ +2.64498018242767 -178.958949843612\\ +2.76976193503698 -179.04477353769\\ +2.90043049386403 -179.11965272082\\ +3.03726357970331 -179.185546709306\\ +3.18055201533286 -179.24397846211\\ +3.33060034362469 -179.296148136457\\ +3.52003147279672 -179.351820371323\\ +3.72023668141304 -179.401155121826\\ +3.93182875570566 -179.445179622961\\ +4.15545533471895 -179.484709307386\\ +4.43247859124037 -179.526012895928\\ +4.72796959160025 -179.562916790014\\ +5.04315948717143 -179.596081664405\\ +5.42918617761888 -179.630082513389\\ +5.84476113163379 -179.660526506433\\ +6.29214610961035 -179.687922491737\\ +6.83651600451004 -179.715609540867\\ +7.42798248256497 -179.740433539633\\ +8.14537176628054 -179.765123382975\\ +8.93204599858103 -179.787180608787\\ +9.88541702191929 -179.808817118814\\ +11.0418805085416 -179.829711248608\\ +12.4478714618793 -179.849604957612\\ +14.1628661629916 -179.86830009375\\ +16.2633950404818 -179.88565368414\\ +18.848434090338 -179.901572838829\\ +22.0466873523944 -179.916009522969\\ +26.2675410372388 -179.929611948359\\ +31.5863540826787 -179.941529373062\\ +39.0473523688559 -179.952742252007\\ +49.1690357762798 -179.962492985654\\ +63.6507908129576 -179.971038496352\\ +86.2851256636678 -179.978641631236\\ +100 -179.981572469104\\ +}; +\addlegendentry{w = 30 [rpm]} + +\addplot [color=mycolor4, line width=1.5pt] + table[row sep=crcr]{% +0.01 -0.116340387217832\\ +0.0113777413322151 -0.133072028379814\\ +0.0128264983052803 -0.150966194215215\\ +0.0143270295340984 -0.169869611092679\\ +0.0158562396177109 -0.189572508405405\\ +0.0175486714964814 -0.211960222763281\\ +0.0192435097523039 -0.235068452970495\\ +0.0209083769055575 -0.258519456879384\\ +0.0227172813302684 -0.284941697771899\\ +0.0244561668345247 -0.311370218350675\\ +0.0263281546564798 -0.341076325045719\\ +0.0280833199882324 -0.370238310602929\\ +0.0299554933435982 -0.402893514267248\\ +0.0316592411198347 -0.434144909651167\\ +0.0334598912055007 -0.468927215551162\\ +0.0353629550135508 -0.507850008363135\\ +0.0373742574239103 -0.551667954271949\\ +0.0391374560198028 -0.592596232653761\\ +0.0409838367175735 -0.638250468747401\\ +0.0429173237842218 -0.689459236824774\\ +0.044942026621191 -0.747248744704905\\ +0.0470622484984116 -0.812903586979473\\ +0.0492824957004062 -0.888051082229936\\ +0.0511338753841437 -0.956388260877418\\ +0.0530548052536955 -1.03347744039436\\ +0.0550478980785488 -1.12100719960097\\ +0.0571158647812626 -1.22111321482865\\ +0.0592615181247569 -1.33653419281015\\ +0.0614877765381008 -1.47083762895079\\ +0.0637976680860626 -1.62875474978571\\ +0.0661943345877428 -1.8166915475378\\ +0.0680507369673503 -1.98256403788983\\ +0.0699592016543557 -2.1753081469881\\ +0.0719211887222133 -2.40165151669166\\ +0.0739381991917593 -2.67072766955928\\ +0.0760117761795532 -2.99525091707642\\ +0.0781435060784446 -3.39345241231715\\ +0.0803350197712457 -3.89242066060459\\ +0.0825879938784402 -4.53419432435498\\ +0.0841249704973636 -5.07368207524377\\ +0.0856905505126854 -5.73777710234185\\ +0.0872852662384851 -6.57389011077458\\ +0.0889096598952924 -7.65667686641194\\ +0.0905642837944531 -9.11063982295263\\ +0.0922497005259214 -11.1592707534334\\ +0.0939664831495459 -14.2447435544143\\ +0.0948368186628579 -16.4467306880286\\ +0.095715215389917 -19.36585950622\\ +0.0966017479952245 -23.3924390112128\\ +0.0974964918348386 -29.2255593307334\\ +0.0983995229627797 -38.1685208257139\\ +0.099310918137495 -52.5449223793255\\ +0.103041699495061 -139.424996158803\\ +0.103996091395414 -148.448606254079\\ +0.104959323055824 -154.326991027029\\ +0.106912633917349 -161.314617587622\\ +0.108902296226373 -165.246669447929\\ +0.110928986489522 -167.740469500019\\ +0.112993393803321 -169.45313518099\\ +0.115096220088501 -170.69673988043\\ +0.117238180328657 -171.637302115829\\ +0.11942000281335 -172.370926221236\\ +0.122769104798839 -173.207266989422\\ +0.126212131452257 -173.828254723993\\ +0.129751716865759 -174.302911762054\\ +0.133390569003905 -174.673282429304\\ +0.137131471775393 -174.966386265744\\ +0.140977287162893 -175.200334388032\\ +0.144930957412626 -175.387680220258\\ +0.148995507285289 -175.537359318016\\ +0.15317404637021 -175.655864530891\\ +0.157469771464309 -175.747985231379\\ +0.161885969017819 -175.817287031308\\ +0.164898694447104 -175.852155369109\\ +0.167967487209262 -175.878690611049\\ +0.171093390726897 -175.897390519732\\ +0.174277467840897 -175.908654712095\\ +0.175891659032778 -175.911599592481\\ +0.177520801171768 -175.912797150524\\ +0.179165032736394 -175.912274834128\\ +0.180824493487798 -175.910055818995\\ +0.182499324481618 -175.906159192526\\ +0.18589566796357 -175.893389929882\\ +0.18935521797563 -175.874043327936\\ +0.192879150802077 -175.848137828867\\ +0.196468664618042 -175.815635833442\\ +0.201978575681984 -175.754295493827\\ +0.207643010725571 -175.677337701582\\ +0.21346630333243 -175.583908238811\\ +0.219452908620335 -175.472820677891\\ +0.225607406649687 -175.342508715436\\ +0.231934505927442 -175.190957685887\\ +0.238439047009369 -175.015609169471\\ +0.245126006203328 -174.813229520796\\ +0.252000499376417 -174.579728554295\\ +0.259067785868806 -174.309907569948\\ +0.266333272517501 -173.997104746841\\ +0.273802517792786 -173.632687780138\\ +0.281481236050756 -173.205313217542\\ +0.28937530190509 -172.699819313072\\ +0.297490754721436 -172.095524825952\\ +0.305833803237852 -171.363529996276\\ +0.314410830314732 -170.462271632308\\ +0.323228397818141 -169.329875197284\\ +0.332293251639897 -167.870295266973\\ +0.338477285594596 -166.641833509962\\ +0.344776405473441 -165.129018096459\\ +0.351192753045066 -163.225442490424\\ +0.357728509936777 -160.766407831114\\ +0.364385898376366 -157.485534331064\\ +0.371167181947586 -152.930719326826\\ +0.378074666359942 -146.299140939261\\ +0.385110700232562 -136.144449596559\\ +0.392277675892774 -120.168740502471\\ +0.399578030189527 -96.9171125530197\\ +0.41078408899656 -60.3729304138709\\ +0.418428850790151 -44.203210609663\\ +0.426215882901522 -33.923210711188\\ +0.434147833005496 -27.2182684769001\\ +0.442227398050602 -22.6194633677963\\ +0.450457325175955 -19.31087974391\\ +0.458840412645483 -16.8335112373527\\ +0.46737951079925 -14.9172711074183\\ +0.476077523022638 -13.3953813783686\\ +0.489428989611449 -11.6266179877425\\ +0.503154894503796 -10.2834435718558\\ +0.517265738721588 -9.23225082829006\\ +0.531772317785112 -8.38984086729937\\ +0.546685729972028 -7.7018549646539\\ +0.562017384808323 -7.13135332610045\\ +0.577779011797049 -6.65240251340458\\ +0.593982669392029 -6.2462937308901\\ +0.616296625513279 -5.79477062874764\\ +0.639448842855712 -5.42484983450157\\ +0.663470812109245 -5.11985661574235\\ +0.688395206964551 -4.86782729865109\\ +0.714255928554305 -4.66005842938546\\ +0.741088151564139 -4.49018418827188\\ +0.761871770232323 -4.3848104784997\\ +0.783238259917936 -4.29668266601652\\ +0.805203967082557 -4.22472328288845\\ +0.827785696619849 -4.16817569136202\\ +0.843190929286622 -4.13879967540396\\ +0.858882855954615 -4.11599546425123\\ +0.874866812047975 -4.09975180240878\\ +0.891148232283998 -4.09011416625057\\ +0.89940221740918 -4.08780289822795\\ +0.907732652520995 -4.0871871803277\\ +0.91614024571388 -4.08828996004567\\ +0.9246257116406 -4.09113844628362\\ +0.933189771573347 -4.09576432096722\\ +0.950556592010137 -4.11049882526711\\ +0.968246611930323 -4.13284655523913\\ +0.986265846131287 -4.1632517621828\\ +1.00462042134681 -4.20226392198236\\ +1.02331657833024 -4.25055573563199\\ +1.05201521761614 -4.34223146330856\\ +1.08151870255226 -4.46021687952714\\ +1.1118496048193 -4.60927534506132\\ +1.1430311291145 -4.79586301229313\\ +1.17508713090482 -5.02886205588555\\ +1.20804213467733 -5.32074557333644\\ +1.24192135270177 -5.68949902631607\\ +1.27675070431924 -6.16193620575163\\ +1.30051125217337 -6.55417707495567\\ +1.32471398786616 -7.02866683453334\\ +1.34936714058834 -7.61128911230909\\ +1.37447909267756 -8.34020671080302\\ +1.40005838246811 -9.27404817005433\\ +1.42611370719414 -10.5075844415103\\ +1.45265392594678 -12.2042032040008\\ +1.47968806268638 -14.6702214203364\\ +1.50722530931073 -18.5483158246683\\ +1.52118551798608 -21.4353058580654\\ +1.53527502878039 -25.4124556580356\\ +1.54949503931459 -31.1642286824023\\ +1.5638467583022 -39.9657890169685\\ +1.57833140565207 -54.1019429771331\\ +1.63762407452172 -141.21198058271\\ +1.65279206146492 -150.38143021098\\ +1.66810053720008 -156.343564494013\\ +1.69914417203464 -163.414746178575\\ +1.73076553419573 -167.386256288637\\ +1.7629753752872 -169.903765089818\\ +1.79578464700207 -171.633798888205\\ +1.82920450484626 -172.892178132855\\ +1.86324631193151 -173.846639775755\\ +1.89792164283904 -174.594168509655\\ +1.95114834684666 -175.452401944038\\ +2.00586777950826 -176.097311436573\\ +2.06212180399915 -176.598449258555\\ +2.11995345753606 -176.998212164506\\ +2.17940698430292 -177.323895274409\\ +2.24052786929996 -177.593855663254\\ +2.3033628731422 -177.820887900242\\ +2.38989256623109 -178.072333589154\\ +2.47967289250217 -178.278945284817\\ +2.57282596744791 -178.451349929686\\ +2.66947849403426 -178.597101404987\\ +2.76976193503698 -178.721712469317\\ +2.87381269185112 -178.829297482564\\ +2.98177229001969 -178.922986970744\\ +3.09378757173011 -179.005203197752\\ +3.23974262952812 -179.094698356355\\ +3.39258338274108 -179.172096833372\\ +3.55263467657817 -179.239605215737\\ +3.72023668141304 -179.298936901602\\ +3.89574561577541 -179.3514407929\\ +4.07953450345255 -179.398191885307\\ +4.31156199031825 -179.447907175731\\ +4.55678626584099 -179.491773779107\\ +4.8159579101925 -179.530737554376\\ +5.08987019351974 -179.565554672983\\ +5.42918617761888 -179.601742002326\\ +5.79112264764194 -179.633891225801\\ +6.17718759733854 -179.662623318627\\ +6.650018030431 -179.691912793369\\ +7.15904108596503 -179.717988572997\\ +7.77841107128642 -179.744074776745\\ +8.45136633068495 -179.767241138844\\ +9.26759330114683 -179.790081010625\\ +10.2567793074445 -179.812219737847\\ +11.3515470892099 -179.831712005351\\ +12.6795284678645 -179.850420353671\\ +14.2940453343172 -179.868135737231\\ +16.2633950404818 -179.884704939863\\ +18.6754584276109 -179.900023600631\\ +21.8443607114946 -179.914834202386\\ +25.7876288759386 -179.928056155096\\ +31.00926635932 -179.940300045454\\ +37.982153061908 -179.951338716353\\ +47.8277201772749 -179.961401977026\\ +61.9144175597768 -179.970208249981\\ +83.1610415323096 -179.977831693974\\ +100 -179.981568437742\\ +}; +\addlegendentry{w = 45 [rpm]} + +\addplot [color=mycolor5, line width=1.5pt] + table[row sep=crcr]{% +0.01 -179.932639428\\ +0.0119145069811978 -179.919402365543\\ +0.0139361927422416 -179.905227702372\\ +0.0161513269350313 -179.889423008\\ +0.0183765620038813 -179.873210584295\\ +0.0207164967560208 -179.855744091444\\ +0.0231400538013072 -179.837137150306\\ +0.0256099310025844 -179.817561820705\\ +0.0280833199882324 -179.797260784396\\ +0.0305129701718286 -179.776558789027\\ +0.0331528234231953 -179.753114739492\\ +0.0356904934567525 -179.729542129708\\ +0.0384224084605498 -179.702905317507\\ +0.0409838367175735 -179.676619279122\\ +0.043716022482485 -179.647034287641\\ +0.0462024137175122 -179.61858414208\\ +0.04883022086878 -179.58677640223\\ +0.0516074871038594 -179.551022042322\\ +0.0545427130532976 -179.510593516349\\ +0.0571158647812626 -179.47268464606\\ +0.0598104096238105 -179.430256935868\\ +0.062632074521987 -179.38251962435\\ +0.0655868565957134 -179.328497535958\\ +0.068681035889951 -179.266975939829\\ +0.0719211887222133 -179.196424565138\\ +0.0746230289139115 -179.132187756254\\ +0.0774263682681121 -179.059677918487\\ +0.0803350197712457 -178.977336358538\\ +0.0833529396509846 -178.883205013639\\ +0.0864842327573189 -178.774791680683\\ +0.0897331581458357 -178.648876824201\\ +0.0931041348706901 -178.501230120151\\ +0.0966017479952245 -178.326183391497\\ +0.099310918137495 -178.17234902743\\ +0.102096066230607 -177.994418186677\\ +0.104959323055824 -177.786641309976\\ +0.107902879151619 -177.541314640738\\ +0.110928986489522 -177.247875653924\\ +0.114039960197002 -176.891445631814\\ +0.117238180328657 -176.450381358604\\ +0.120526093687088 -175.891951842727\\ +0.122769104798839 -175.430011617039\\ +0.125053858729041 -174.870448799221\\ +0.127381132318649 -174.179660385734\\ +0.129751716865759 -173.306767793496\\ +0.13216641839466 -172.170982386297\\ +0.13462605792989 -170.636133248177\\ +0.137131471775393 -168.454359702788\\ +0.139683511798871 -165.125996001472\\ +0.140977287162893 -162.720066673969\\ +0.142283045721431 -159.492797901689\\ +0.143600898465122 -154.975217745556\\ +0.144930957412626 -148.313594025331\\ +0.146273335620117 -137.913765094702\\ +0.147628147190943 -121.12325736482\\ +0.151768339028343 -49.5795624050957\\ +0.15317404637021 -37.1720225605986\\ +0.154592773641949 -29.3684897109486\\ +0.156024641436638 -24.1875631433549\\ +0.158928286562298 -17.8837577757197\\ +0.161885969017819 -14.2501635960743\\ +0.164898694447104 -11.9074736066358\\ +0.167967487209262 -10.2788778440525\\ +0.171093390726897 -9.08462769064809\\ +0.174277467840897 -8.1735734839601\\ +0.177520801171768 -7.45717213016806\\ +0.182499324481618 -6.63221288991107\\ +0.187617469143913 -6.01143755184191\\ +0.192879150802077 -5.52946706522161\\ +0.198288394912704 -5.14613489769718\\ +0.203849339825241 -4.83541195256998\\ +0.20956623994805 -4.57969184113918\\ +0.215443469003193 -4.36663821563278\\ +0.221485523372639 -4.18734824940114\\ +0.227697025538168 -4.03523335897211\\ +0.236250846547792 -3.86624432045829\\ +0.245126006203328 -3.72803864786374\\ +0.254334576130472 -3.61422009029556\\ +0.263889081445755 -3.52001891840865\\ +0.273802517792786 -3.4417979212881\\ +0.284088369018327 -3.37672816432354\\ +0.294760625512479 -3.32257034543952\\ +0.305833803237852 -3.27752390161018\\ +0.317322963473503 -3.24012078379607\\ +0.329243733300778 -3.20914940372919\\ +0.341612326858549 -3.18359940598913\\ +0.354445567397035 -3.16262109493871\\ +0.367760910160114 -3.14549535400084\\ +0.381576466127131 -3.13161119284354\\ +0.395911026646847 -3.12044891459146\\ +0.414588849683285 -3.10965850017365\\ +0.434147833005496 -3.10172548047728\\ +0.454629546953248 -3.09608668665692\\ +0.480487043965512 -3.09175276136222\\ +0.512518692705321 -3.08943546056713\\ +0.546685729972028 -3.08971238151449\\ +0.58313051135262 -3.09263083379523\\ +0.616296625513279 -3.09759057506034\\ +0.645371540164686 -3.10387724140625\\ +0.675818116816117 -3.11261505663097\\ +0.701206358900715 -3.12177274488442\\ +0.72754835291961 -3.13326493745421\\ +0.75487992816532 -3.14754238688056\\ +0.783238259917936 -3.16513595278843\\ +0.812661920009201 -3.18666972901065\\ +0.843190929286622 -3.21287852095634\\ +0.874866812047975 -3.24463116844419\\ +0.907732652520995 -3.28296181544434\\ +0.941833153464815 -3.32911213166585\\ +0.97721469697258 -3.38458886370648\\ +1.01392540755881 -3.45124322291272\\ +1.05201521761614 -3.53138199588821\\ +1.09153593533136 -3.62792576116405\\ +1.12214776820801 -3.71332333068298\\ +1.1536181017365 -3.81204672509338\\ +1.18597101233768 -3.92658683658797\\ +1.2192312516491 -4.06008182958257\\ +1.25342426546138 -4.21654628466365\\ +1.28857621318549 -4.4012048333243\\ +1.32471398786616 -4.62099032553002\\ +1.36186523675611 -4.88530948558736\\ +1.40005838246811 -5.20725975533082\\ +1.43932264471941 -5.60564059541124\\ +1.47968806268638 -6.1084365929556\\ +1.52118551798608 -6.75919890015916\\ +1.54949503931459 -7.30882357641084\\ +1.57833140565207 -7.98791600455965\\ +1.60770442167387 -8.84619661322674\\ +1.63762407452172 -9.96239158065316\\ +1.66810053720008 -11.4687226975305\\ +1.69914417203464 -13.6047479586225\\ +1.73076553419573 -16.8503906750312\\ +1.74679621512724 -19.1867905007772\\ +1.7629753752872 -22.308604274827\\ +1.77930438991856 -26.6572291760306\\ +1.79578464700207 -33.0321124043542\\ +1.81241754737421 -42.9269160999323\\ +1.82920450484626 -58.8967703284714\\ +1.88050405512853 -130.908308334139\\ +1.89792164283904 -143.968615981322\\ +1.91550055557359 -152.14706894982\\ +1.9332422875551 -157.543827853673\\ +1.96922025547921 -164.062895093899\\ +2.00586777950826 -167.793784315652\\ +2.04319732019529 -170.188522127253\\ +2.08122156998634 -171.848729616661\\ +2.11995345753606 -173.064231966416\\ +2.15940615210354 -173.990847684085\\ +2.19959306803003 -174.71950973145\\ +2.26128006633722 -175.559403982466\\ +2.32469705998571 -176.192953814502\\ +2.38989256623109 -176.68673121031\\ +2.45691646298281 -177.081538418362\\ +2.52582002696278 -177.40376149025\\ +2.59665597293484 -177.671213225835\\ +2.66947849403426 -177.896349740631\\ +2.76976193503698 -178.145858090736\\ +2.87381269185112 -178.350925896222\\ +2.98177229001969 -178.521994208639\\ +3.09378757173011 -178.666507352087\\ +3.2100108955431 -178.789913694571\\ +3.33060034362469 -178.896290615942\\ +3.4557199367622 -178.988748580508\\ +3.58553985745983 -179.069700321839\\ +3.75469422407329 -179.15756438897\\ +3.93182875570566 -179.233278459957\\ +4.11731993116176 -179.299056889498\\ +4.31156199031825 -179.356623254145\\ +4.51496777203605 -179.407337412402\\ +4.72796959160025 -179.452285156271\\ +4.99687745385497 -179.499832634497\\ +5.28107971193432 -179.54154199565\\ +5.58144624945484 -179.578372559392\\ +5.89889642550864 -179.611091755392\\ +6.29214610961035 -179.644888258829\\ +6.71161176749614 -179.674718503949\\ +7.15904108596503 -179.701211847346\\ +7.70702711421226 -179.728048382925\\ +8.29695852083464 -179.751788959919\\ +9.01477631452495 -179.775391854069\\ +9.79469667069515 -179.796227344161\\ +10.7406615333344 -179.816653210934\\ +11.8870769771187 -179.836343350691\\ +13.2777082935543 -179.85505455409\\ +14.9683929307729 -179.872614823815\\ +17.030650292528 -179.888910977593\\ +19.5565071586593 -179.903877310635\\ +22.874908173557 -179.918265813648\\ +27.0042071883779 -179.931051560391\\ +32.4721849207315 -179.942848511531\\ +39.7740302405804 -179.953454292034\\ +50.0840798984813 -179.963102502909\\ +64.8353428605487 -179.971532735397\\ +87.8909065341978 -179.979017851332\\ +100 -179.981562793289\\ +}; +\addlegendentry{w = 60 [rpm]} + +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/Guu_ws_pz.pdf b/figs/Guu_ws_pz.pdf similarity index 100% rename from Figures/Guu_ws_pz.pdf rename to figs/Guu_ws_pz.pdf diff --git a/Figures/Guu_ws_pz.png b/figs/Guu_ws_pz.png similarity index 100% rename from Figures/Guu_ws_pz.png rename to figs/Guu_ws_pz.png diff --git a/Figures/Guu_ws_pz.svg b/figs/Guu_ws_pz.svg similarity index 100% rename from Figures/Guu_ws_pz.svg rename to figs/Guu_ws_pz.svg diff --git a/Figures/Guv_ws.pdf b/figs/Guv_ws.pdf similarity index 100% rename from Figures/Guv_ws.pdf rename to figs/Guv_ws.pdf diff --git a/Figures/Guv_ws.png b/figs/Guv_ws.png similarity index 100% rename from Figures/Guv_ws.png rename to figs/Guv_ws.png diff --git a/Figures/Guv_ws.svg b/figs/Guv_ws.svg similarity index 100% rename from Figures/Guv_ws.svg rename to figs/Guv_ws.svg diff --git a/figs/Guv_ws.tex b/figs/Guv_ws.tex new file mode 100644 index 0000000..636f42c --- /dev/null +++ b/figs/Guv_ws.tex @@ -0,0 +1,1238 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +\definecolor{mycolor3}{rgb}{0.92900,0.69400,0.12500}% +\definecolor{mycolor4}{rgb}{0.49400,0.18400,0.55600}% +\definecolor{mycolor5}{rgb}{0.46600,0.67400,0.18800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=4.999in, +height=1.562in, +at={(0.599in,2.189in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=100, +xtick={0.01,0.1,1,10,100}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=1e-10, +ymax=1, +yminorticks=true, +ylabel={Magnitude [m/N]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor2, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 8.27947445379136e-06\\ +0.0377204249341699 3.13796305943077e-05\\ +0.0626320745219868 5.25768573632712e-05\\ +0.0864842327573171 7.35463470267023e-05\\ +0.10991097009295 9.50635652005667e-05\\ +0.133390569003906 0.000117851947066272\\ +0.156024641436637 0.000141305449984962\\ +0.17916503273639 0.000167179212222285\\ +0.201978575681988 0.000195018584668302\\ +0.225607406649686 0.000226882869191526\\ +0.247396410088682 0.000259646377434973\\ +0.268800102153761 0.000295734569455553\\ +0.292055551218275 0.000340401794582102\\ +0.314410830314726 0.000390082359593794\\ +0.335371015200293 0.000444294416890878\\ +0.357728509936788 0.000512600428313675\\ +0.378074666359934 0.000586982291675625\\ +0.399578030189527 0.000682441997939115\\ +0.418428850790158 0.000785237875065689\\ +0.438168993151419 0.000919229462235775\\ +0.458840412645475 0.00110063080290251\\ +0.476077523022636 0.00129894744792093\\ +0.493962174387833 0.00157346940132192\\ +0.507815211232767 0.00185925970410414\\ +0.522056752784699 0.00225761234413907\\ +0.536697694554048 0.00284845964329229\\ +0.551749237612912 0.00380785993120325\\ +0.562017384808319 0.00485564381874424\\ +0.572476623970217 0.00658841159203243\\ +0.583130511352622 0.00981979857593024\\ +0.593982669392036 0.015948260817792\\ +0.599484250318942 0.018587718982869\\ +0.605036787939121 0.0176005947140041\\ +0.633580499265824 0.00656573312622271\\ +0.64537154016467 0.0050979321895746\\ +0.65738201434096 0.00418497136731094\\ +0.675818116816111 0.00333278944171651\\ +0.694771254846023 0.00280393901617487\\ +0.714255928554313 0.00245041174828366\\ +0.734287044716676 0.00220333435638298\\ +0.754879928165345 0.00202682977142915\\ +0.776050333513357 0.00190081250170381\\ +0.797814457207661 0.00181366711808959\\ +0.812661920009195 0.00177378768239907\\ +0.827785696619849 0.00174717881000927\\ +0.843190929286625 0.00173339395631112\\ +0.858882855954626 0.00173255096871723\\ +0.87486681204799 0.00174537222701529\\ +0.89114823228402 0.00177330002380597\\ +0.907732652521024 0.00181871744412445\\ +0.924625711640573 0.00188533636162249\\ +0.941833153464796 0.00197887427256002\\ +0.959360828709313 0.00210826742277331\\ +0.977214696972572 0.00228795184622041\\ +0.995400828762154 0.00254244087711202\\ +1.01392540755881 0.00291630115653573\\ +1.03279473191895 0.00349818199653401\\ +1.05201521761616 0.00448507309957438\\ +1.07159339982267 0.0063503526456808\\ +1.09153593533139 0.00955850814223192\\ +1.10164594963366 0.0101856117760524\\ +1.11184960481927 0.00877661442401514\\ +1.15361810173648 0.00334966243352623\\ +1.17508713090481 0.00236721645926005\\ +1.20804213467733 0.00157419747795249\\ +1.24192135270178 0.00113617116663123\\ +1.28857621318552 0.000793741522215383\\ +1.33698374182495 0.00058605253968459\\ +1.4000583824681 0.000421877063948439\\ +1.46610868404698 0.000315570995693124\\ +1.54949503931463 0.000230734750586348\\ +1.6527920614649 0.00016576868239433\\ +1.7629753752872 0.000122347417681547\\ +1.8979216428391 8.85846630276311e-05\\ +2.06212180399914 6.30330560257171e-05\\ +2.2822244741869 4.26087483083428e-05\\ +2.54921465445142 2.84214799889313e-05\\ +2.900430493864 1.80993562374471e-05\\ +3.36144900010876 1.10222175209657e-05\\ +4.00500075787362 6.23295583235479e-06\\ +4.99687745385489 3.0927948937942e-06\\ +6.65001803043113 1.27551643311524e-06\\ +9.79469667069539 3.91490116006583e-07\\ +18.1659978837533 6.06506773913458e-08\\ +71.7556091893692 9.79731820229688e-10\\ +100 3.61918240818811e-10\\ +}; +\addplot [color=mycolor3, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 3.22775509543516e-05\\ +0.0270665207003324 8.78462985257293e-05\\ +0.0429173237842215 0.000140651280875489\\ +0.0581788007434494 0.000193288517924346\\ +0.0732596542821523 0.000247760167749603\\ +0.0880937190447399 0.000304512376382205\\ +0.103041699495059 0.000365806382433263\\ +0.11723818032866 0.000428847419574688\\ +0.130953502048267 0.000495338520572761\\ +0.144930957412622 0.000570130694133241\\ +0.158928286562298 0.00065390974309428\\ +0.172678090388435 0.000747096053935831\\ +0.185895667963569 0.000849561135947646\\ +0.198288394912707 0.000960219987352606\\ +0.211507282486879 0.00109831195212619\\ +0.22353696459098 0.00124742559586125\\ +0.236250846547795 0.00143747515278419\\ +0.247396410088682 0.00164111871328534\\ +0.259067785868801 0.00190586571814341\\ +0.268800102153761 0.00218286360916594\\ +0.278898029238044 0.00254784514897164\\ +0.289375301905095 0.0030507398864031\\ +0.297490754721444 0.00357309498814219\\ +0.305833803237843 0.0043013176785196\\ +0.314410830314726 0.00538501988445955\\ +0.323228397818138 0.00715979451510983\\ +0.329243733300776 0.00912332048030255\\ +0.335371015200293 0.0124265465820519\\ +0.341612326858553 0.0186964363161326\\ +0.347969790388769 0.0296435972986387\\ +0.351192753045073 0.031996152965414\\ +0.354445567397044 0.0279787387757539\\ +0.364385898376354 0.0142656036963514\\ +0.371167181947577 0.0102166187165404\\ +0.378074666359934 0.0079039100169703\\ +0.388677669089267 0.00588395706525778\\ +0.399578030189527 0.00468512858937928\\ +0.410784088996565 0.00389474150829913\\ +0.422304418720667 0.00333560757845557\\ +0.438168993151419 0.00280389294641423\\ +0.454629546953239 0.00242253549048726\\ +0.471708469091702 0.00213616916403373\\ +0.493962174387833 0.00186565989998903\\ +0.517265738721602 0.00166053706672468\\ +0.541668691103316 0.00150043613092946\\ +0.567222897164455 0.00137282323184684\\ +0.593982669392036 0.00126960284846528\\ +0.622004882563472 0.00118535893689895\\ +0.651349094627281 0.00111638486548648\\ +0.682077673286569 0.00106012416100345\\ +0.714255928554313 0.00101484068783887\\ +0.747952251562183 0.000979427323706189\\ +0.776050333513357 0.000957799050552628\\ +0.805203967082547 0.000942046717054271\\ +0.835452805838285 0.000932328040671235\\ +0.866837993001979 0.000929059359513368\\ +0.89114823228402 0.000931274725836857\\ +0.91614024571385 0.00093800517161008\\ +0.941833153464796 0.000949916149012972\\ +0.968246611930311 0.000967934353236167\\ +0.995400828762154 0.000993358725703099\\ +1.02331657833024 0.00102803787806339\\ +1.05201521761616 0.00107466420510434\\ +1.08151870255229 0.00113728377533471\\ +1.11184960481927 0.00122223023128832\\ +1.14303112911448 0.00133995570747385\\ +1.17508713090481 0.00150894201758361\\ +1.19695570235905 0.00166650417570514\\ +1.21923125164911 0.00188116031057263\\ +1.24192135270178 0.00218730149086319\\ +1.26503372039591 0.00265252287477447\\ +1.28857621318552 0.00342536762666538\\ +1.31255683577184 0.00486429043229942\\ +1.33698374182495 0.00747274805501206\\ +1.34936714058831 0.00833451605398963\\ +1.36186523675608 0.00752148640756739\\ +1.41302599059953 0.00292875640997248\\ +1.43932264471941 0.00207558540304898\\ +1.4796880626864 0.00139150156294127\\ +1.52118551798611 0.00101440990100538\\ +1.57833140565212 0.000718650416816103\\ +1.63762407452169 0.000537894207210993\\ +1.71488196987054 0.000393442110717287\\ +1.7957846470021 0.000298626305260846\\ +1.8979216428391 0.000221803229639047\\ +2.0244465099768 0.000161931990412759\\ +2.17940698430296 0.000116460730218378\\ +2.36796006783308 8.25717229544875e-05\\ +2.59665597293487 5.77055687464453e-05\\ +2.900430493864 3.84289922716882e-05\\ +3.30003479112529 2.44635846113647e-05\\ +3.82456972246701 1.49041811483356e-05\\ +4.55678626584107 8.43511013872603e-06\\ +5.68531791387375 4.18967691532026e-06\\ +7.56621850048106 1.72952684831382e-06\\ +11.2473717836475 5.16591103972556e-07\\ +21.2484535249889 7.57645506414641e-08\\ +92.0373199661823 9.28496194435574e-10\\ +100 7.23863632319421e-10\\ +}; +\addplot [color=mycolor4, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.000421821256095137\\ +0.0145936579915576 0.000622618643533818\\ +0.0190669084051225 0.000826029627854364\\ +0.0235706941399672 0.00104166377498733\\ +0.0278255940220713 0.00125849291054249\\ +0.0319524750575921 0.00148433938143436\\ +0.0360210656235707 0.00172580508030854\\ +0.0402350554886929 0.00200055620562869\\ +0.0441209286319119 0.00228170527249717\\ +0.0479380849508911 0.00259038211157346\\ +0.051607487103859 0.00292508125555986\\ +0.0555577622239888 0.00333815228179002\\ +0.0592615181247554 0.00378924711352913\\ +0.0626320745219868 0.00426938130080567\\ +0.0661943345877439 0.00487153457580931\\ +0.069317172761554 0.00550536361768678\\ +0.0725873365081725 0.00631290185719096\\ +0.0760117761795532 0.00737882122547278\\ +0.0788672861561414 0.00851481380460384\\ +0.0818300681586737 0.0100460180277681\\ +0.0849041520408876 0.0122237368365328\\ +0.0872852662384837 0.0145741192912546\\ +0.089733158145835 0.0180108675828668\\ +0.0922497005259217 0.023495712844196\\ +0.0939664831495471 0.0293800435926283\\ +0.0957152153899186 0.0389238880396506\\ +0.097496491834841 0.056319801751197\\ +0.100230754828386 0.108423541057243\\ +0.101159111222383 0.108674181517037\\ +0.102096066230605 0.0903825370382016\\ +0.104959323055823 0.0464015252669243\\ +0.106912633917348 0.0336455402065727\\ +0.108902296226373 0.0262118597209957\\ +0.111956431948388 0.0196033753090604\\ +0.115096220088503 0.0156215932723718\\ +0.118324062745838 0.0129682987195469\\ +0.122769104798836 0.0105598387102205\\ +0.127381132318648 0.00889477181611607\\ +0.13216641839466 0.00767445157501116\\ +0.138401609657313 0.00654094807950133\\ +0.144930957412622 0.00568964842895714\\ +0.15176833902834 0.00502599888739669\\ +0.160400310705682 0.00439927058280534\\ +0.169523234155412 0.00390224739325792\\ +0.180824493487795 0.00343759110650065\\ +0.192879150802078 0.00306210025931117\\ +0.207643010725577 0.00271189711035745\\ +0.225607406649686 0.00239138660552979\\ +0.247396410088682 0.00210179861454641\\ +0.271289780037247 0.00186395921497702\\ +0.300246170908554 0.00164718257499395\\ +0.335371015200293 0.00145160285636724\\ +0.378074666359934 0.0012768939313394\\ +0.426215882901533 0.00113264869554472\\ +0.476077523022636 0.00102154992604733\\ +0.526892142135067 0.000935554300943471\\ +0.583130511352622 0.000863037761705\\ +0.633580499265824 0.000813027944780015\\ +0.688395206964551 0.000771157258765491\\ +0.741088151564157 0.00074086159663488\\ +0.790492762269644 0.000719994245026081\\ +0.835452805838285 0.000706684245702725\\ +0.87486681204799 0.00069919887464913\\ +0.91614024571385 0.000695451783176895\\ +0.959360828709313 0.000696067627492814\\ +0.995400828762154 0.000700294125721152\\ +1.03279473191895 0.000708527475796069\\ +1.07159339982267 0.000721662038335256\\ +1.10164594963366 0.000735472016437164\\ +1.13254131515281 0.000753473402215557\\ +1.16430313292088 0.000776656607623719\\ +1.19695570235905 0.000806389156651175\\ +1.23052400435926 0.000844610895589635\\ +1.26503372039591 0.00089416418532572\\ +1.30051125217341 0.000959381594865817\\ +1.33698374182495 0.00104719876590946\\ +1.37447909267754 0.00116943036738216\\ +1.41302599059953 0.0013479045465838\\ +1.43932264471941 0.00151857163876195\\ +1.46610868404698 0.00175861460807001\\ +1.49339321612425 0.0021170801526697\\ +1.52118551798611 0.00269912486059634\\ +1.54949503931463 0.00375599779311422\\ +1.59295021257212 0.00686117702471201\\ +1.60770442167382 0.00680339360771156\\ +1.62259528707809 0.00557818782474419\\ +1.66810053720006 0.00270411554239762\\ +1.69914417203463 0.00188628235675403\\ +1.74679621512724 0.00124833880633145\\ +1.7957846470021 0.000904307173185387\\ +1.84614694632455 0.000691824978646132\\ +1.91550055557352 0.000511025505139195\\ +1.98745954958099 0.000393380954532922\\ +2.08122156998634 0.000294910184013542\\ +2.19959306803007 0.000217014726284163\\ +2.32469705998565 0.000164472357447528\\ +2.47967289250216 0.000122189911290858\\ +2.66947849403432 8.91932587757507e-05\\ +2.900430493864 6.40351799275974e-05\\ +3.21001089554317 4.37166742253937e-05\\ +3.61874981241128 2.84987934679178e-05\\ +4.15545533471888 1.77737938106006e-05\\ +4.90558370636505 1.02953871524794e-05\\ +6.00867589171969 5.38770851342648e-06\\ +7.77841107128648 2.40906345418006e-06\\ +11.0418805085416 8.23741333861189e-07\\ +18.6754584276107 1.67904894815793e-07\\ +51.4886745013749 7.96067306185775e-09\\ +100 1.08586333027621e-09\\ +}; +\addplot [color=mycolor5, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 0.000190492217746933\\ +0.017069949340384 0.000328016244442863\\ +0.0237890104107889 0.000462943178021918\\ +0.0305129701718287 0.000604007835921106\\ +0.0370312667586993 0.000748560290591983\\ +0.0433148322337639 0.000897360219310137\\ +0.0497389595879006 0.00106171299959121\\ +0.0560723488285204 0.00123902683362198\\ +0.0620572880677649 0.00142412713881303\\ +0.0680507369673519 0.00163096552151061\\ +0.0739381991917587 0.00186052316981177\\ +0.0795977700231498 0.00211247443544375\\ +0.0849041520408876 0.00238419987993701\\ +0.0905642837944527 0.00272298506946261\\ +0.0957152153899186 0.00308870537994311\\ +0.101159111222383 0.00355504589360802\\ +0.105931476351837 0.00405540907421672\\ +0.110928986489522 0.00470745773024806\\ +0.115096220088503 0.00539204598043626\\ +0.119420002813353 0.00629839639914745\\ +0.123906215694792 0.00755617723301165\\ +0.127381132318648 0.0088744563703153\\ +0.130953502048267 0.0107334321590406\\ +0.134626057929891 0.0135469087010051\\ +0.137131471775394 0.0163815596774402\\ +0.139683511798874 0.0206473960478371\\ +0.142283045721435 0.0276855683950738\\ +0.144930957412622 0.0407742799229123\\ +0.147628147190939 0.0652557437639403\\ +0.148995507285286 0.0750830063440347\\ +0.150375532129974 0.0700587815422413\\ +0.157469771464308 0.0250654303555034\\ +0.160400310705682 0.019126263025343\\ +0.164898694447106 0.0140332487177066\\ +0.169523234155412 0.0110538048738644\\ +0.174277467840892 0.00910616325530748\\ +0.180824493487795 0.00736438154746192\\ +0.187617469143912 0.00617473021625772\\ +0.194665634334226 0.00531036814403609\\ +0.203849339825246 0.00451321911645099\\ +0.213466303332425 0.00391818540738087\\ +0.22353696459098 0.00345652196921643\\ +0.236250846547795 0.00302236662056327\\ +0.249687842888432 0.00267937436960508\\ +0.266333272517498 0.00235983632230259\\ +0.284088369018331 0.00210247875818215\\ +0.305833803237843 0.00186324168265264\\ +0.332293251639897 0.00164508166732563\\ +0.361041859717333 0.00146663471249647\\ +0.395911026646845 0.00130307846140155\\ +0.434147833005508 0.00116742052515215\\ +0.480487043965512 0.0010431692228881\\ +0.531772317785097 0.000939708828035974\\ +0.588531577519145 0.000853211146084101\\ +0.64537154016467 0.000787075010617729\\ +0.707701066118189 0.000731467856800496\\ +0.768928372075831 0.000689759361047741\\ +0.827785696619849 0.000659115910778643\\ +0.882969995549408 0.000637338488986194\\ +0.933189771573324 0.00062261057427657\\ +0.986265846131283 0.000611839227158265\\ +1.03279473191895 0.000606238964390673\\ +1.08151870255229 0.00060416194114104\\ +1.12214776820798 0.000605449151518115\\ +1.16430313292088 0.000609834013599296\\ +1.20804213467733 0.000617930128038899\\ +1.2534242654614 0.000630594254888632\\ +1.28857621318552 0.000643807907881143\\ +1.32471398786611 0.000660984850180736\\ +1.36186523675608 0.000683101222656076\\ +1.4000583824681 0.000711519832182088\\ +1.43932264471941 0.000748199246333075\\ +1.4796880626864 0.00079605467233703\\ +1.52118551798611 0.000859616112551868\\ +1.56384675830225 0.000946312684454685\\ +1.60770442167382 0.00106920090284164\\ +1.63762407452169 0.00118276822959247\\ +1.66810053720006 0.00133642063449226\\ +1.69914417203463 0.00155397969279899\\ +1.73076553419573 0.00188187027995328\\ +1.7629753752872 0.00242112553815833\\ +1.7957846470021 0.00341502962911313\\ +1.8292045048463 0.00526764516463587\\ +1.84614694632455 0.00605067223106892\\ +1.86324631193156 0.00566933156307578\\ +1.95114834684662 0.00184647550492372\\ +2.00586777950823 0.00118338082320587\\ +2.06212180399914 0.000841769150682226\\ +2.11995345753607 0.000636608738228458\\ +2.19959306803007 0.000465567879183622\\ +2.2822244741869 0.000356018464400441\\ +2.38989256623105 0.000265385151890762\\ +2.52582002696278 0.000194380958416317\\ +2.66947849403432 0.000146837501240528\\ +2.84743916646725 0.000108788116851676\\ +3.06539529505652 7.92296707397918e-05\\ +3.3306003436246 5.67761292817276e-05\\ +3.68609536217215 3.86976222803539e-05\\ +4.11731993116168 2.60195182468005e-05\\ +4.68458011587304 1.66991353573291e-05\\ +5.47947233690029 9.93782164853811e-06\\ +6.65001803043113 5.33765786132806e-06\\ +8.45136633068474 2.51936883945164e-06\\ +11.6698981861715 9.34395912390802e-07\\ +18.6754584276107 2.24440350069451e-07\\ +43.2151112778976 1.79679071413761e-08\\ +100 1.44794450065083e-09\\ +}; +\end{axis} + +\begin{axis}[% +width=4.999in, +height=1.562in, +at={(0.599in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=100, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-180, +ymax=180, +ytick={-180, -90, 0, 90, 180}, +ylabel={Phase [deg]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +legend style={at={(4.763,2.408)}, anchor=south west, legend cell align=left, align=left, draw=black} +] +\addplot [color=mycolor1, line width=1.5pt] + table[row sep=crcr]{% +0.01 0\\ +100 0\\ +}; +\addlegendentry{w = 0 [rpm]} + +\addplot [color=mycolor2, line width=1.5pt] + table[row sep=crcr]{% +0.01 89.9442643923583\\ +0.0122486461375092 89.9317243242605\\ +0.0147288272390749 89.917888006812\\ +0.0173876240021625 89.9030481846046\\ +0.02033800305847 89.8865708183617\\ +0.0233543813990654 89.8697120495062\\ +0.0265720110532445 89.8517120331107\\ +0.0302329468440578 89.8312085042992\\ +0.0340825854742353 89.8096173777948\\ +0.0380697987140222 89.7872171424407\\ +0.0425234633452872 89.7621457093651\\ +0.0470622484984116 89.7365336856509\\ +0.0520854855057768 89.7081074445296\\ +0.0571158647812626 89.6795469254359\\ +0.062632074521987 89.6481087528653\\ +0.068681035889951 89.6134761084445\\ +0.0746230289139115 89.5792786658389\\ +0.081079098067315 89.5419040394786\\ +0.088093719044741 89.5010131567171\\ +0.095715215389917 89.4562181741736\\ +0.103041699495061 89.4127630638563\\ +0.110928986489522 89.3655094823442\\ +0.11942000281335 89.3140410418461\\ +0.128560960694331 89.2578742210341\\ +0.138401609657311 89.1964424464815\\ +0.147628147190943 89.1378466899512\\ +0.157469771464309 89.0741780790304\\ +0.167967487209262 89.0048105169695\\ +0.179165032736394 88.9289977841643\\ +0.191109062168914 88.8458409542527\\ +0.203849339825241 88.7542444372473\\ +0.215443469003193 88.6679991876337\\ +0.227697025538168 88.5735185267961\\ +0.240647515001538 88.4695189428986\\ +0.254334576130472 88.3544061915165\\ +0.268800102153763 88.2261716797827\\ +0.281481236050756 88.1074523389328\\ +0.294760625512479 87.9759590311647\\ +0.308666494333735 87.8293020631409\\ +0.323228397818141 87.6644099893279\\ +0.338477285594596 87.477261877051\\ +0.351192753045066 87.3079661212164\\ +0.364385898376366 87.1173935654739\\ +0.378074666359942 86.9007924377617\\ +0.392277675892774 86.6518105098471\\ +0.407014245321941 86.3617480071311\\ +0.422304418720659 86.0183459470734\\ +0.434147833005496 85.7153394966319\\ +0.446323392671051 85.3617564770797\\ +0.458840412645483 84.9425748393739\\ +0.471708469091704 84.4360161963156\\ +0.484937406733521 83.8092452945108\\ +0.498537346387382 83.0103095392427\\ +0.507815211232757 82.3412148293743\\ +0.517265738721588 81.5171700964799\\ +0.526892142135084 80.4748300423875\\ +0.536697694554061 79.1109115909484\\ +0.546685729972028 77.2452801475021\\ +0.556859644428648 74.5348765154174\\ +0.567222897164457 70.2441159889807\\ +0.572476623970219 67.0159747237074\\ +0.577779011797049 62.5166209922136\\ +0.58313051135262 55.9094016588038\\ +0.58853157751914 45.6318131479946\\ +0.593982669392029 29.0609427122172\\ +0.610640754223191 -42.7471049365357\\ +0.616296625513279 -55.3910056783745\\ +0.622004882563454 -63.3484840544865\\ +0.627766010580631 -68.6366488583779\\ +0.639448842855712 -75.0928649443739\\ +0.651349094627294 -78.8476634978105\\ +0.663470812109245 -81.3028389786875\\ +0.675818116816117 -83.0433431547364\\ +0.688395206964551 -84.3526840880406\\ +0.707701066118183 -85.8255323517305\\ +0.72754835291961 -86.9411706473659\\ +0.747952251562161 -87.8443927593283\\ +0.776050333513376 -88.8586036875125\\ +0.827785696619849 -90.4270869047744\\ +0.866837993001965 -91.5954569071197\\ +0.891148232283998 -92.4007950388917\\ +0.91614024571388 -93.3549864573842\\ +0.941833153464815 -94.5551119380449\\ +0.959360828709328 -95.5719850834587\\ +0.97721469697258 -96.8592143887016\\ +0.995400828762154 -98.5645426896578\\ +1.01392540755881 -100.959398785718\\ +1.03279473191894 -104.599181299933\\ +1.04236067397639 -107.238351686219\\ +1.05201521761614 -110.799792133293\\ +1.06175918348298 -115.832375916555\\ +1.07159339982264 -123.346945577782\\ +1.08151870255226 -135.215685621823\\ +1.09153593533136 -154.249531172069\\ +1.10164594963369 179.288171966023\\ +1.1118496048193 153.744364913107\\ +1.12214776820801 136.125918485106\\ +1.13254131515284 125.190163903618\\ +1.1430311291145 118.209486535722\\ +1.16430313292089 110.127672192653\\ +1.18597101233768 105.687583615938\\ +1.20804213467733 102.902209622126\\ +1.23052400435925 100.994025509191\\ +1.25342426546138 99.6037400567855\\ +1.27675070431924 98.5439627034814\\ +1.30051125217337 97.7077943224071\\ +1.33698374182498 96.7365926075528\\ +1.37447909267756 95.9944547338888\\ +1.41302599059955 95.4067573125088\\ +1.45265392594678 94.9282622814986\\ +1.49339321612424 94.5299439367105\\ +1.53527502878039 94.1923152983732\\ +1.59295021257217 93.8136617689504\\ +1.65279206146492 93.4969920425117\\ +1.71488196987055 93.2273889891825\\ +1.77930438991856 92.9944482550997\\ +1.84614694632451 92.7906829092911\\ +1.9332422875551 92.5687123050554\\ +2.02444650997683 92.3758388405001\\ +2.11995345753606 92.2063015502878\\ +2.21996611911991 92.0558145909206\\ +2.32469705998571 91.9211189479169\\ +2.45691646298281 91.7768120128007\\ +2.59665597293484 91.6482626567162\\ +2.74434330322828 91.5328848738758\\ +2.90043049386403 91.4286594985545\\ +3.06539529505651 91.333984425868\\ +3.23974262952812 91.2475701972822\\ +3.4557199367622 91.1558026455843\\ +3.68609536217214 91.0724976628398\\ +3.93182875570566 90.9965554373095\\ +4.19394395566725 90.9270737865467\\ +4.47353305449843 90.8633039452938\\ +4.8159579101925 90.7966169963508\\ +5.18459354389293 90.7357869313493\\ +5.58144624945484 90.680155732967\\ +6.00867589171979 90.6291667477979\\ +6.46860766154627 90.5823444352658\\ +6.96374473062844 90.5392788987529\\ +7.56621850048106 90.494878953022\\ +8.22081575524031 90.454343302488\\ +8.93204599858103 90.4172892208932\\ +9.70480887738009 90.3833818782193\\ +10.6420924406474 90.3490401637179\\ +11.6698981861712 90.3178638004894\\ +12.7969686821595 90.2895394043747\\ +14.1628661629916 90.2613466938726\\ +15.674554102056 90.2359439316939\\ +17.5082703173578 90.2110763914625\\ +19.5565071586593 90.1888576093274\\ +22.0466873523944 90.1674408102322\\ +24.8539485742973 90.1484688642576\\ +28.2781797962532 90.1304467789676\\ +32.4721849207315 90.1135673774294\\ +37.6335836228661 90.0979701069022\\ +44.0193518520901 90.0837433431674\\ +52.4468874949529 90.070277102334\\ +63.6507908129576 90.0579006675836\\ +78.68571506937 90.0468336192727\\ +99.0822809900383 90.0371906714448\\ +100 90.0368493031095\\ +}; +\addlegendentry{w = 15 [rpm]} + +\addplot [color=mycolor3, line width=1.5pt] + table[row sep=crcr]{% +0.01 89.9221693342861\\ +0.0118051652856881 89.9080958376987\\ +0.0138082976521811 89.8924650164878\\ +0.0160031031373875 89.8753188510336\\ +0.0183765620038813 89.8567501501679\\ +0.0209083769055575 89.8369071688111\\ +0.0235706941399678 89.8159964681267\\ +0.0263281546564798 89.7942836280767\\ +0.0294082017058709 89.7699564749841\\ +0.0325471160553176 89.745074291938\\ +0.0360210656235708 89.7174180006491\\ +0.0394999546122053 89.6895841593095\\ +0.0433148322337641 89.6588860061161\\ +0.0474981480322836 89.6249887764226\\ +0.0516074871038594 89.5914276010207\\ +0.056072348828519 89.554636753998\\ +0.0609234915240079 89.514239084782\\ +0.0655868565957134 89.4749477353545\\ +0.0706071771413795 89.4320985937767\\ +0.0760117761795532 89.3852698821233\\ +0.0818300681586717 89.333964139848\\ +0.0872852662384851 89.284935765422\\ +0.0931041348706901 89.2315550714795\\ +0.099310918137495 89.173260374304\\ +0.105931476351838 89.1093769718014\\ +0.112993393803321 89.0390852354827\\ +0.11942000281335 88.9729768539527\\ +0.126212131452257 88.9006468810919\\ +0.133390569003905 88.8211469121651\\ +0.140977287162893 88.7333052220267\\ +0.148995507285289 88.6356550002277\\ +0.156024641436638 88.5454579318646\\ +0.163385387780984 88.4458072286959\\ +0.171093390726897 88.3350019339235\\ +0.179165032736394 88.2108805061225\\ +0.187617469143913 88.0706518319435\\ +0.196468664618042 87.9106458322899\\ +0.203849339825241 87.7651460118894\\ +0.211507282486886 87.6005334080397\\ +0.219452908620335 87.4124291932005\\ +0.227697025538168 87.1949691935866\\ +0.236250846547792 86.9401137612248\\ +0.245126006203328 86.6365335082368\\ +0.252000499376417 86.3672243110985\\ +0.259067785868806 86.0515372051577\\ +0.266333272517501 85.675679881095\\ +0.273802517792786 85.2197496629597\\ +0.281481236050756 84.6539340653209\\ +0.28937530190509 83.9314837704141\\ +0.294760625512479 83.3264843189521\\ +0.300246170908546 82.5825441037237\\ +0.305833803237852 81.6447733887295\\ +0.311525422355555 80.4252090333522\\ +0.317322963473503 78.7738376013944\\ +0.323228397818141 76.4133671102919\\ +0.329243733300778 72.7730383737729\\ +0.332293251639897 70.1087986124967\\ +0.335371015200292 66.4912606545291\\ +0.338477285594596 61.3477159397366\\ +0.341612326858549 53.6204713180892\\ +0.344776405473441 41.3584927749017\\ +0.347969790388763 21.7399509202947\\ +0.354445567397035 -30.0718156458906\\ +0.357728509936777 -47.0909017692788\\ +0.361041859717323 -57.6402084173136\\ +0.364385898376366 -64.3936628620737\\ +0.371167181947586 -72.2423952943823\\ +0.378074666359942 -76.5665379130528\\ +0.385110700232562 -79.2800347144384\\ +0.392277675892774 -81.1369060515301\\ +0.399578030189527 -82.487283380263\\ +0.407014245321941 -83.5144055999096\\ +0.414588849683285 -84.3230559886343\\ +0.426215882901522 -85.260158327919\\ +0.438168993151433 -85.9749587704076\\ +0.450457325175955 -86.5408963133716\\ +0.463090280179979 -87.002516295725\\ +0.476077523022638 -87.388411731734\\ +0.493962174387827 -87.8174631310175\\ +0.512518692705321 -88.1758190193323\\ +0.531772317785112 -88.4833258174245\\ +0.556859644428648 -88.8164906322048\\ +0.58313051135262 -89.1095026574813\\ +0.616296625513279 -89.4258861594201\\ +0.663470812109245 -89.8135121816375\\ +0.768928372075853 -90.5760203542166\\ +0.812661920009201 -90.8925975287049\\ +0.851000724712218 -91.1858599772145\\ +0.88296999554939 -91.4486842563104\\ +0.91614024571388 -91.7461619457854\\ +0.950556592010137 -92.0907631656999\\ +0.986265846131287 -92.5005273303521\\ +1.01392540755881 -92.8665365482619\\ +1.04236067397639 -93.301300609832\\ +1.07159339982264 -93.8298737159528\\ +1.10164594963369 -94.4906828901673\\ +1.12214776820801 -95.0338650160218\\ +1.1430311291145 -95.6906459898891\\ +1.16430313292089 -96.5027406820766\\ +1.18597101233768 -97.5348339659104\\ +1.20804213467733 -98.8927502477191\\ +1.23052400435925 -100.761818997793\\ +1.25342426546138 -103.496852258781\\ +1.26503372039588 -105.398642799007\\ +1.27675070431924 -107.86397654168\\ +1.28857621318549 -111.173778646229\\ +1.30051125217337 -115.814890647216\\ +1.3125568357718 -122.676174336484\\ +1.32471398786616 -133.415546477845\\ +1.33698374182498 -150.736325540014\\ +1.34936714058834 -176.046086361871\\ +1.36186523675611 157.36112005828\\ +1.37447909267756 138.061698790756\\ +1.38720978054164 126.020634843227\\ +1.40005838246811 118.419537617626\\ +1.41302599059955 113.348844863874\\ +1.43932264471941 107.140047575926\\ +1.46610868404698 103.532655230049\\ +1.49339321612424 101.189528660304\\ +1.52118551798608 99.548333702527\\ +1.54949503931459 98.3352265887665\\ +1.57833140565207 97.4018013642187\\ +1.60770442167387 96.6609220662085\\ +1.65279206146492 95.7969076529028\\ +1.69914417203464 95.1354472154301\\ +1.74679621512724 94.6118737094557\\ +1.79578464700207 94.1864080265695\\ +1.84614694632451 93.8332483331788\\ +1.89792164283904 93.5349310590556\\ +1.96922025547921 93.2018436239387\\ +2.04319732019529 92.9247666562213\\ +2.11995345753606 92.6901385869517\\ +2.19959306803003 92.4884818985244\\ +2.28222447418683 92.3129723428744\\ +2.36796006783313 92.158570210408\\ +2.47967289250217 91.9895428115953\\ +2.59665597293484 91.8420497264779\\ +2.71915794303594 91.7119819887546\\ +2.84743916646731 91.5962390479046\\ +2.98177229001969 91.4924360945261\\ +3.15136348486643 91.3810351689714\\ +3.33060034362469 91.2816507584299\\ +3.52003147279672 91.1923438176264\\ +3.72023668141304 91.1115917303977\\ +3.93182875570566 91.0381809161491\\ +4.19394395566725 90.9605160385667\\ +4.47353305449843 90.8902614436538\\ +4.77176094893859 90.8264102932216\\ +5.08987019351974 90.7681438462735\\ +5.42918617761888 90.7147880885215\\ +5.84476113163379 90.6591075692496\\ +6.29214610961035 90.6084138328309\\ +6.77377599751758 90.5621276818389\\ +7.29227205872842 90.5197624716181\\ +7.85045620020441 90.4809050607479\\ +8.52964449974123 90.4409444479176\\ +9.26759330114683 90.4045441966944\\ +10.0693863147606 90.3713336190663\\ +11.0418805085416 90.3377854091387\\ +12.1082975023208 90.3073992897179\\ +13.2777082935543 90.279845329479\\ +14.6949180062486 90.2524645269332\\ +16.2633950404818 90.2278281830009\\ +18.1659978837536 90.2037397194291\\ +20.2911801804663 90.1822386672569\\ +22.874908173557 90.1615309337012\\ +26.0264788196906 90.1418797524786\\ +29.886528735503 90.1234899110934\\ +34.6369417737168 90.1065084359572\\ +40.5142317111462 90.0910274126175\\ +47.8277201772749 90.0770885536232\\ +57.5121707184161 90.0640948999869\\ +70.4446227729899 90.0523203742271\\ +87.8909065341978 90.0419303627212\\ +100 90.0368513763057\\ +}; +\addlegendentry{w = 30 [rpm]} + +\addplot [color=mycolor4, line width=1.5pt] + table[row sep=crcr]{% +0.01 89.7693185334381\\ +0.0110673601809601 89.7441572231675\\ +0.0122486461375092 89.7161148668934\\ +0.0134316117004605 89.6878036482782\\ +0.0147288272390749 89.6564654346134\\ +0.0160031031373875 89.6253517016404\\ +0.0173876240021625 89.591137046496\\ +0.0188919277620761 89.5534292642971\\ +0.02033800305847 89.5166042318342\\ +0.0218947676285658 89.4762642756002\\ +0.0235706941399678 89.4319480718696\\ +0.025142033481428 89.3894768433483\\ +0.0268181260945295 89.343094290863\\ +0.028605955351758 89.2922683025976\\ +0.0305129701718286 89.2363554521871\\ +0.0325471160553176 89.1745689927076\\ +0.0343982648902299 89.1162023798513\\ +0.0363546996129332 89.0520543101515\\ +0.0384224084605498 88.9811986278931\\ +0.0406077202570047 88.9024853681907\\ +0.0429173237842218 88.8144680030874\\ +0.044942026621191 88.7326961986124\\ +0.0470622484984116 88.6418402014135\\ +0.0492824957004062 88.5402018114024\\ +0.0516074871038594 88.4256153665497\\ +0.0540421642070586 88.2952747720421\\ +0.056072348828519 88.1772104493449\\ +0.058178800743451 88.0442551417426\\ +0.0603643850607596 87.8932372447958\\ +0.062632074521987 87.7200021898251\\ +0.0649849535446982 87.5189999001643\\ +0.0674262224177818 87.282645638915\\ +0.0693171727615563 87.0759341182438\\ +0.0712611543011191 86.8373073369195\\ +0.0732596542821532 86.5585048285457\\ +0.0753142016597439 86.2281389932233\\ +0.0774263682681121 85.8300635114524\\ +0.0795977700231485 85.3406036833468\\ +0.0818300681586717 84.7236036629177\\ +0.0833529396509846 84.2141130663107\\ +0.0849041520408896 83.5968319768477\\ +0.0864842327573189 82.8332851658289\\ +0.088093719044741 81.8643413502261\\ +0.0897331581458357 80.5943478088236\\ +0.0914031074875622 78.8582149132082\\ +0.0931041348706901 76.3459461811415\\ +0.0948368186628579 72.4056918008337\\ +0.095715215389917 69.4746622470853\\ +0.0966017479952245 65.4360332227785\\ +0.0974964918348386 59.5907119941497\\ +0.0983995229627797 50.6353955280099\\ +0.099310918137495 36.2464822005049\\ +0.103041699495061 -50.6852640416483\\ +0.103996091395414 -59.7222135956575\\ +0.104959323055824 -65.6141126464147\\ +0.106912633917349 -72.6293054673085\\ +0.108902296226373 -76.5896635222612\\ +0.110928986489522 -79.1125386531557\\ +0.112993393803321 -80.8550788990606\\ +0.115096220088501 -82.129390026645\\ +0.117238180328657 -83.1015248396255\\ +0.11942000281335 -83.8676240137249\\ +0.122769104798839 -84.7544545476743\\ +0.126212131452257 -85.4281903821428\\ +0.129751716865759 -85.9580078818865\\ +0.133390569003905 -86.3861207303479\\ +0.137131471775393 -86.7397351390749\\ +0.140977287162893 -87.0371685080312\\ +0.146273335620117 -87.3679030850273\\ +0.151768339028343 -87.6419931866482\\ +0.157469771464309 -87.8734820061748\\ +0.163385387780984 -88.0721481714585\\ +0.169523234155408 -88.2450110195254\\ +0.177520801171768 -88.4325526141378\\ +0.18589566796357 -88.5951603744068\\ +0.194665634334225 -88.7381747570661\\ +0.203849339825241 -88.8655512910969\\ +0.215443469003193 -89.0019293399143\\ +0.227697025538168 -89.1239867627666\\ +0.240647515001538 -89.2346721736209\\ +0.256690271549201 -89.3524340398526\\ +0.273802517792786 -89.4605850904407\\ +0.294760625512479 -89.5751901061601\\ +0.320262069365769 -89.6956853379386\\ +0.354445567397035 -89.8348997372127\\ +0.430163575810668 -90.0907549179068\\ +0.489428989611449 -90.2649384511972\\ +0.536697694554061 -90.396618707991\\ +0.577779011797049 -90.5091654096407\\ +0.622004882563454 -90.6307148210045\\ +0.663470812109245 -90.7468675013797\\ +0.701206358900715 -90.8558043880857\\ +0.741088151564139 -90.9756715069551\\ +0.783238259917936 -91.1092805871329\\ +0.820188949920225 -91.2337674044423\\ +0.858882855954615 -91.3731913090237\\ +0.89940221740918 -91.5312760963767\\ +0.933189771573347 -91.6744846361289\\ +0.968246611930323 -91.836193902544\\ +1.00462042134681 -92.0208616740832\\ +1.04236067397639 -92.2344692278127\\ +1.08151870255226 -92.4852353384437\\ +1.1118496048193 -92.7045050920104\\ +1.1430311291145 -92.9578419479814\\ +1.17508713090482 -93.2543825446534\\ +1.20804213467733 -93.6068289801584\\ +1.24192135270177 -94.0333733807493\\ +1.27675070431924 -94.5610165449918\\ +1.3125568357718 -95.2316164245415\\ +1.33698374182498 -95.7902358004033\\ +1.36186523675611 -96.4731755764098\\ +1.38720978054164 -97.3275091575712\\ +1.41302599059955 -98.4272872489977\\ +1.43932264471941 -99.8958548297642\\ +1.46610868404698 -101.954290902099\\ +1.49339321612424 -105.039125291451\\ +1.50722530931073 -107.232863487688\\ +1.52118551798608 -110.133737425027\\ +1.53527502878039 -114.124589453761\\ +1.54949503931459 -119.889886415814\\ +1.5638467583022 -128.704795691264\\ +1.57833140565207 -142.854126803024\\ +1.59295021257217 -164.977274496503\\ +1.60770442167387 167.613036037883\\ +1.62259528707813 144.757873849155\\ +1.63762407452172 129.984783603735\\ +1.65279206146492 120.802970495879\\ +1.66810053720008 114.828626943487\\ +1.69914417203464 107.733478713447\\ +1.73076553419573 103.738587637209\\ +1.7629753752872 101.198263820249\\ +1.79578464700207 99.4459622609966\\ +1.82920450484626 98.1658446910389\\ +1.86324631193151 97.1901571620203\\ +1.89792164283904 96.4218987585094\\ +1.95114834684666 95.5334675192719\\ +2.00586777950826 94.8593925606611\\ +2.06212180399915 94.3300753422338\\ +2.11995345753606 93.9030757507285\\ +2.17940698430292 93.5510579782238\\ +2.24052786929996 93.2556267164421\\ +2.32469705998571 92.9281111046954\\ +2.41202820761804 92.6578068672238\\ +2.50264009641792 92.4306321043684\\ +2.59665597293484 92.2367872815156\\ +2.69420371368182 92.0692430965919\\ +2.79541599906793 91.9228265720995\\ +2.92729483504285 91.7636789733046\\ +3.06539529505651 91.6258534527563\\ +3.2100108955431 91.505176656326\\ +3.36144900010886 91.3985112816955\\ +3.52003147279672 91.3034532958653\\ +3.68609536217214 91.2181294199424\\ +3.89574561577541 91.1265254495838\\ +4.11731993116176 91.0448064494386\\ +4.35149650092505 90.9714025688199\\ +4.59899209052235 90.905071748777\\ +4.86056423214227 90.8448179534684\\ +5.18459354389293 90.7811322783195\\ +5.5302242561928 90.7235843187236\\ +5.89889642550864 90.6713376030425\\ +6.29214610961035 90.6237103976573\\ +6.77377599751758 90.5742193742981\\ +7.29227205872842 90.5293398776689\\ +7.85045620020441 90.4885038745135\\ +8.45136633068495 90.4512390653151\\ +9.18254283565626 90.4130930324296\\ +9.97697764236288 90.3784905661147\\ +10.8401435917834 90.347031708686\\ +11.8870769771187 90.315352587504\\ +13.0351224468151 90.2867387164352\\ +14.2940453343172 90.2608514752557\\ +15.819734815786 90.2351781801617\\ +17.5082703173578 90.2121178910415\\ +19.5565071586593 90.1896032643287\\ +22.0466873523944 90.1679602581997\\ +24.8539485742973 90.1488308786849\\ +28.2781797962532 90.1306922520297\\ +32.4721849207315 90.1137293231981\\ +37.6335836228661 90.0980740542832\\ +44.0193518520901 90.0838082550447\\ +52.4468874949529 90.0703154613187\\ +63.6507908129576 90.0579221182017\\ +78.68571506937 90.046844970313\\ +99.0822809900383 90.0371963553398\\ +100 90.0368548319142\\ +}; +\addlegendentry{w = 45 [rpm]} + +\addplot [color=mycolor5, line width=1.5pt] + table[row sep=crcr]{% +0.01 90.1340193310713\\ +0.0113777413322151 90.152704000561\\ +0.0128264983052803 90.1724446990958\\ +0.0143270295340984 90.1930046052853\\ +0.0160031031373875 90.2161239825803\\ +0.0177112106434508 90.2398730363102\\ +0.0196016347431923 90.2664044767927\\ +0.0214947467343796 90.2932640915329\\ +0.0235706941399678 90.3230897314683\\ +0.0256099310025844 90.3528077148689\\ +0.0278255940220721 90.3856188475941\\ +0.0299554933435982 90.4177248043895\\ +0.0322484249840837 90.4529698589762\\ +0.0347168681892662 90.4917822932711\\ +0.0373742574239103 90.5346791630418\\ +0.0398658107358057 90.5760573296183\\ +0.0425234633452872 90.6215586240551\\ +0.0453582882551013 90.6718089632238\\ +0.048382096649261 90.7275777143438\\ +0.0511338753841437 90.7804908787743\\ +0.0540421642070586 90.8389025306514\\ +0.0571158647812626 90.9037304868757\\ +0.0603643850607596 90.9761185830822\\ +0.0632121847581245 91.043247531862\\ +0.0661943345877428 91.1176665090552\\ +0.0693171727615563 91.2006725607139\\ +0.0725873365081736 91.2938964735068\\ +0.0760117761795532 91.3994169478363\\ +0.0795977700231485 91.5199249271748\\ +0.0825879938784402 91.6294676149038\\ +0.0856905505126854 91.7532030623408\\ +0.0889096598952924 91.8941574228868\\ +0.0922497005259214 92.0562850879116\\ +0.095715215389917 92.2448529780339\\ +0.099310918137495 92.467032731726\\ +0.102096066230607 92.661607352011\\ +0.104959323055824 92.8863890194729\\ +0.107902879151619 93.1490832603408\\ +0.110928986489522 93.4602538058526\\ +0.114039960197002 93.8347799622894\\ +0.117238180328657 94.2943048591969\\ +0.120526093687088 94.8715586668953\\ +0.122769104798839 95.346249693444\\ +0.125053858729041 95.9187235500867\\ +0.127381132318649 96.6225823703495\\ +0.129751716865759 97.508703678424\\ +0.13216641839466 98.6578748532853\\ +0.13462605792989 100.206265345633\\ +0.137131471775393 102.401734148647\\ +0.139683511798871 105.743945099847\\ +0.140977287162893 108.156854387306\\ +0.142283045721431 111.391140292424\\ +0.143600898465122 115.915774446686\\ +0.144930957412626 122.584488706549\\ +0.146273335620117 132.991444378017\\ +0.147628147190943 149.789114692779\\ +0.148995507285289 174.6688056439\\ +0.150375532129977 -158.486949537596\\ +0.151768339028343 -138.645491360041\\ +0.15317404637021 -126.230649474871\\ +0.154592773641949 -118.419780790804\\ +0.156024641436638 -113.231485060346\\ +0.158928286562298 -106.912843339117\\ +0.161885969017819 -103.264285561731\\ +0.164898694447104 -100.906509165493\\ +0.167967487209262 -99.2627089554769\\ +0.171093390726897 -98.0531414260069\\ +0.174277467840897 -97.1266623801899\\ +0.177520801171768 -96.3947345530396\\ +0.182499324481618 -95.5463087082869\\ +0.187617469143913 -94.9018746795516\\ +0.192879150802077 -94.39607795784\\ +0.198288394912704 -93.9887786018346\\ +0.203849339825241 -93.6539762025926\\ +0.20956623994805 -93.3740951935663\\ +0.215443469003193 -93.1368322099489\\ +0.223536964590981 -92.8717982302897\\ +0.231934505927442 -92.6520820728055\\ +0.240647515001538 -92.4673463904879\\ +0.249687842888425 -92.3102172946244\\ +0.259067785868806 -92.1752967729641\\ +0.268800102153763 -92.0585454470433\\ +0.278898029238043 -91.9568832522519\\ +0.28937530190509 -91.8679233185539\\ +0.300246170908546 -91.789789987771\\ +0.311525422355555 -91.7209915257451\\ +0.326222200971169 -91.646316953824\\ +0.341612326858549 -91.5825162205626\\ +0.357728509936777 -91.528147574546\\ +0.371167181947586 -91.4906766549211\\ +0.385110700232562 -91.4580511476089\\ +0.399578030189527 -91.4298881022986\\ +0.414588849683285 -91.4058723926101\\ +0.430163575810668 -91.3857463561574\\ +0.446323392671051 -91.3693017530903\\ +0.463090280179979 -91.3563735561877\\ +0.480487043965512 -91.3468352170184\\ +0.498537346387382 -91.34059515013\\ +0.517265738721588 -91.3375942513276\\ +0.531772317785112 -91.337451183052\\ +0.546685729972028 -91.3391129163136\\ +0.562017384808323 -91.3425882129301\\ +0.58313051135262 -91.350076274694\\ +0.605036787939111 -91.3608935600691\\ +0.627766010580631 -91.3751446303833\\ +0.651349094627294 -91.392970219004\\ +0.675818116816117 -91.4145511859362\\ +0.701206358900715 -91.4401137789509\\ +0.72754835291961 -91.4699364931655\\ +0.75487992816532 -91.5043589299156\\ +0.783238259917936 -91.5437932039239\\ +0.812661920009201 -91.5887386533777\\ +0.843190929286622 -91.6398008979351\\ +0.874866812047975 -91.6977167069574\\ +0.907732652520995 -91.7633867502535\\ +0.941833153464815 -91.8379192115156\\ +0.97721469697258 -91.9226886222012\\ +1.01392540755881 -92.0194164079681\\ +1.05201521761614 -92.1302830234064\\ +1.09153593533136 -92.2580870529524\\ +1.13254131515284 -92.4064758603215\\ +1.17508713090482 -92.5802882660477\\ +1.2192312516491 -92.7860782017137\\ +1.25342426546138 -92.9667482734449\\ +1.28857621318549 -93.1756297892824\\ +1.32471398786616 -93.4196186471935\\ +1.36186523675611 -93.7080867943175\\ +1.40005838246811 -94.0540990683443\\ +1.43932264471941 -94.4764244828583\\ +1.47968806268638 -95.0030193065038\\ +1.52118551798608 -95.6774084620901\\ +1.54949503931459 -96.2426767998184\\ +1.57833140565207 -96.9373189883044\\ +1.60770442167387 -97.8110491647366\\ +1.63762407452172 -98.9425875906843\\ +1.66810053720008 -100.464150505688\\ +1.69914417203464 -102.615290709268\\ +1.73076553419573 -105.875926663258\\ +1.74679621512724 -108.219776045159\\ +1.7629753752872 -111.349007282253\\ +1.77930438991856 -115.70501703997\\ +1.79578464700207 -122.087252024538\\ +1.81241754737421 -131.989373901701\\ +1.82920450484626 -147.966512281794\\ +1.84614694632451 -172.093015464132\\ +1.86324631193151 160.742143934889\\ +1.88050405512853 140.000305713548\\ +1.89792164283904 126.932854220014\\ +1.91550055557359 118.747293438498\\ +1.9332422875551 113.343463103248\\ +1.96922025547921 106.810363455166\\ +2.00586777950826 103.065591120749\\ +2.04319732019529 100.657121699238\\ +2.08122156998634 98.983336069567\\ +2.11995345753606 97.7544107856958\\ +2.15940615210354 96.8145288562695\\ +2.19959306803003 96.0727586253609\\ +2.26128006633722 95.2135007670977\\ +2.32469705998571 94.5609482669503\\ +2.38989256623109 94.048531178232\\ +2.45691646298281 93.6354484583051\\ +2.52582002696278 93.2953144957346\\ +2.59665597293484 93.0103162267651\\ +2.69420371368182 92.6950810787221\\ +2.79541599906793 92.4356915096211\\ +2.90043049386403 92.2184123271103\\ +3.00939003444972 92.0336682437548\\ +3.12244282309282 91.8745813692182\\ +3.23974262952812 91.7360849032113\\ +3.36144900010886 91.6143645854247\\ +3.52003147279672 91.4814125767989\\ +3.68609536217214 91.3658034071012\\ +3.85999361767968 91.2642840583907\\ +4.04209583979642 91.1743715819809\\ +4.2327890655736 91.0941384848127\\ +4.47353305449843 91.0085195982614\\ +4.72796959160025 90.9326112126312\\ +4.99687745385497 90.8648172858014\\ +5.28107971193432 90.8038806225118\\ +5.58144624945484 90.7487975955232\\ +5.95353313081449 90.6908591558025\\ +6.35042516859595 90.6387534507897\\ +6.77377599751758 90.591650539952\\ +7.22534949178734 90.5488779869096\\ +7.77841107128642 90.5045952404461\\ +8.37380653526675 90.4645787054891\\ +9.01477631452495 90.4282790489714\\ +9.70480887738009 90.3952428045591\\ +10.5444279352618 90.3615091041576\\ +11.4566872863485 90.3309785213089\\ +12.5631660247414 90.3003577692824\\ +13.7765076954903 90.2727983214694\\ +15.1070330448668 90.2479390593932\\ +16.7194975973196 90.2233488584486\\ +18.5040701954232 90.2013106831178\\ +20.6688024962902 90.1798347217444\\ +23.3006141069691 90.1592243148741\\ +26.5108360190857 90.139724384883\\ +30.163343472593 90.1226565110424\\ +34.6369417737168 90.1067086904895\\ +40.5142317111462 90.0911524210894\\ +47.8277201772749 90.0771644789863\\ +57.5121707184161 90.0641385398334\\ +69.7981390783064 90.0528296703213\\ +87.0843149769058 90.0423314405869\\ +100 90.0368596703701\\ +}; +\addlegendentry{w = 60 [rpm]} + +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/Gvc_loop_gain.pdf b/figs/Gvc_loop_gain.pdf similarity index 100% rename from Figures/Gvc_loop_gain.pdf rename to figs/Gvc_loop_gain.pdf diff --git a/Figures/Gvc_loop_gain.png b/figs/Gvc_loop_gain.png similarity index 100% rename from Figures/Gvc_loop_gain.png rename to figs/Gvc_loop_gain.png diff --git a/Figures/Gvc_loop_gain.svg b/figs/Gvc_loop_gain.svg similarity index 100% rename from Figures/Gvc_loop_gain.svg rename to figs/Gvc_loop_gain.svg diff --git a/figs/Gvc_loop_gain.tex b/figs/Gvc_loop_gain.tex new file mode 100644 index 0000000..ef3dcaf --- /dev/null +++ b/figs/Gvc_loop_gain.tex @@ -0,0 +1,309 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=4.153in, +height=1.697in, +at={(0.551in,2.342in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=100, +xtick={0.01,0.1,1,10,100}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=0.01, +ymax=10000, +yminorticks=true, +ylabel={Amplitude [m/N]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 2847.37915237757\\ +0.0225088005209546 1272.96675803708\\ +0.0343982648902292 841.596683665394\\ +0.0462024137175131 635.533235540662\\ +0.0581788007434494 513.954222212712\\ +0.0706071771413777 433.122574049081\\ +0.0833529396509819 376.75199120973\\ +0.0966017479952265 335.24499517702\\ +0.10991097009295 304.76234592919\\ +0.123906215694792 280.814185552482\\ +0.138401609657313 262.080183765494\\ +0.153174046370208 247.511050827613\\ +0.169523234155412 235.244638095628\\ +0.185895667963569 225.962010471647\\ +0.203849339825246 218.363314488071\\ +0.221485523372636 212.909222514025\\ +0.240647515001542 208.739715691777\\ +0.261467321180109 205.855911009723\\ +0.281481236050758 204.399873960514\\ +0.30302710828664 204.04270549679\\ +0.326222200971167 204.878115439004\\ +0.347969790388769 206.700746195939\\ +0.371167181947576 209.691017592588\\ +0.395911026646846 214.053194763634\\ +0.418428850790158 219.10199638483\\ +0.44222739805059 225.628086526223\\ +0.467379510799246 233.989776129652\\ +0.489428989611453 242.721733545109\\ +0.512518692705333 253.493634360758\\ +0.536697694554048 266.889008562912\\ +0.562017384808319 283.752675774451\\ +0.583130511352623 300.572207947037\\ +0.605036787939122 321.370108514008\\ +0.62776601058065 347.57012484402\\ +0.65134909462728 381.375335928209\\ +0.675818116816111 426.382505296951\\ +0.694771254846023 471.104949121055\\ +0.714255928554313 530.077084152955\\ +0.734287044716676 611.10437041031\\ +0.754879928165344 728.886085945369\\ +0.776050333513357 914.561753958377\\ +0.790492762269643 1110.38731100081\\ +0.805203967082547 1421.04335682308\\ +0.82018894992022 1970.7156088801\\ +0.843190929286625 3773.8343046619\\ +0.851000724712225 4130.33972972395\\ +0.858882855954625 3652.05168725947\\ +0.89114823228402 1484.89078167553\\ +0.907732652521023 1080.70855970766\\ +0.933189771573324 751.1224480308\\ +0.959360828709314 566.300902180453\\ +0.986265846131282 448.906466639102\\ +1.02331657833024 346.433258430983\\ +1.061759183483 278.000209008683\\ +1.11184960481927 219.162906670179\\ +1.16430313292088 177.892427032476\\ +1.23052400435926 142.33621839132\\ +1.30051125217341 116.405605434938\\ +1.38720978054162 93.9615517278757\\ +1.49339321612425 75.0568150599066\\ +1.62259528707809 59.4260552616887\\ +1.77930438991858 46.6739888506501\\ +1.96922025547917 36.379268784807\\ +2.19959306803007 28.1444152614585\\ +2.47967289250216 21.6153980874079\\ +2.82130767593947 16.485858427974\\ +3.2397426295282 12.4944833502625\\ +3.72023668141307 9.5841089167967\\ +4.27199396630678 7.43472658323104\\ +4.90558370636505 5.83005476074834\\ +5.63314267060136 4.61996368396978\\ +6.46860766154633 3.69817448043077\\ +7.49678187496688 2.94718010809553\\ +8.76885609458743 2.33990725580441\\ +10.447659715608 1.82677939274289\\ +20.860240892485 0.712180006001329\\ +24.853948574298 0.55512035220813\\ +29.0712337727258 0.440161907139278\\ +34.0041193270371 0.345512541299046\\ +39.4090164040345 0.272421589556257\\ +46.0960448682843 0.209431062769338\\ +54.4171428686589 0.156782169617973\\ +64.8353428605472 0.114203774906301\\ +78.6857150693685 0.0795184841511755\\ +100 0.0500547694134983\\ +}; +\end{axis} + +\begin{axis}[% +width=4.153in, +height=1.697in, +at={(0.551in,0.42in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=100, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-180, +ymax=180, +ytick={-180, 0, 180}, +ylabel={Phase [deg]}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.01 -86.9105031098212\\ +0.0107654461284229 -86.674509711188\\ +0.0115894830343983 -86.4205735210884\\ +0.0124765955263085 -86.1473509818562\\ +0.0134316117004605 -85.8534030203953\\ +0.0144597292179202 -85.537189520542\\ +0.0155665435927102 -85.1970638003958\\ +0.0167580786453079 -84.8312671950512\\ +0.0180408192871936 -84.4379238750481\\ +0.0194217468148908 -84.0150360674272\\ +0.0209083769055575 -83.5604798906701\\ +0.022508800520954 -83.0720020682329\\ +0.0242317279423763 -82.547217849033\\ +0.0260865361762251 -81.9836105382097\\ +0.0280833199882324 -81.3785331285041\\ +0.0302329468440578 -80.7292126219175\\ +0.0325471160553176 -80.0327577421596\\ +0.0350384224529072 -79.2861708585907\\ +0.0377204249341695 -78.4863650675615\\ +0.0406077202570047 -77.630187499877\\ +0.043716022482485 -76.7144500321691\\ +0.0470622484984116 -75.7359686586132\\ +0.0506646100892133 -74.6916128047343\\ +0.0550478980785488 -73.4342224852545\\ +0.0598104096238105 -72.0856420254527\\ +0.0649849535446982 -70.642322001946\\ +0.0706071771413795 -69.1013505756254\\ +0.0767158117677927 -67.460659816654\\ +0.0833529396509846 -65.719251339601\\ +0.0914031074875622 -63.6666517591896\\ +0.10023075482839 -61.492793729509\\ +0.110928986489522 -58.9679919337132\\ +0.123906215694794 -56.0672226498254\\ +0.139683511798871 -52.7761325036637\\ +0.161885969017819 -48.564414167285\\ +0.256690271549201 -35.1479462129777\\ +0.292055551218269 -31.5774950453176\\ +0.326222200971169 -28.6562378085316\\ +0.361041859717323 -26.1145606536329\\ +0.395911026646847 -23.9329488397794\\ +0.430163575810668 -22.0872627114063\\ +0.463090280179979 -20.5519401062423\\ +0.498537346387382 -19.1306739780944\\ +0.531772317785112 -17.9987648501421\\ +0.562017384808323 -17.1320119406407\\ +0.58853157751914 -16.50343046062\\ +0.610640754223191 -16.0803916994102\\ +0.627766010580631 -15.8231246752859\\ +0.639448842855712 -15.6871949592299\\ +0.657382014340971 -15.5500501923098\\ +0.663470812109245 -15.5257060859425\\ +0.66961600548533 -15.5139360927307\\ +0.675818116816117 -15.5161449049492\\ +0.682077673286572 -15.5339703937319\\ +0.688395206964551 -15.5693336700307\\ +0.694771254846023 -15.6245025748425\\ +0.701206358900715 -15.7021729840216\\ +0.714255928554305 -15.9386057844913\\ +0.72754835291961 -16.3136744121458\\ +0.741088151564139 -16.880726557011\\ +0.75487992816532 -17.7250165006886\\ +0.768928372075853 -18.9913774116981\\ +0.783238259917936 -20.9461055960193\\ +0.797814457207674 -24.1332894173492\\ +0.805203967082557 -26.5334107130156\\ +0.812661920009201 -29.8375571740609\\ +0.820188949920225 -34.5787631339529\\ +0.827785696619849 -41.7367981441642\\ +0.835452805838285 -53.130491368752\\ +0.843190929286622 -71.5540614718068\\ +0.866837993001965 -141.057198271461\\ +0.874866812047975 -152.063580293164\\ +0.891148232283998 -163.619980215502\\ +0.907732652520995 -169.204925065886\\ +0.9246257116406 -172.347239440051\\ +0.941833153464815 -174.288693740889\\ +0.959360828709328 -175.558407520835\\ +0.97721469697258 -176.416484093844\\ +0.995400828762154 -177.004843761642\\ +1.01392540755881 -177.407229363714\\ +1.03279473191894 -177.676141032099\\ +1.06175918348298 -177.901686098802\\ +1.07159339982264 -177.940773498053\\ +1.08151870255226 -177.965274311689\\ +1.09153593533136 -177.976806735588\\ +1.10164594963369 -177.976758889999\\ +1.1118496048193 -177.966328009351\\ +1.12214776820801 -177.946551898807\\ +1.1430311291145 -177.882466013826\\ +1.16430313292089 -177.790471778797\\ +1.19695570235905 -177.610016324207\\ +1.23052400435925 -177.388712176922\\ +1.27675070431924 -177.044298105136\\ +1.33698374182498 -176.553262046799\\ +1.41302599059955 -175.897969114302\\ +1.50722530931073 -175.065824668104\\ +1.62259528707813 -174.047017665323\\ +1.77930438991856 -172.693101112419\\ +1.96922025547921 -171.116964095439\\ +2.19959306803003 -169.304390326994\\ +2.45691646298281 -167.400272355657\\ +2.76976193503698 -165.239228538501\\ +3.15136348486643 -162.806641915239\\ +3.65226736430817 -159.914906891122\\ +5.5302242561928 -151.589603761815\\ +6.17718759733854 -149.488279580855\\ +6.77377599751758 -147.838059199\\ +7.29227205872842 -146.60414064931\\ +7.85045620020441 -145.462353447272\\ +8.37380653526675 -144.549693674102\\ +8.85007491447353 -143.838558870276\\ +9.3534315202923 -143.198512782802\\ +9.79469667069515 -142.722859320256\\ +10.2567793074445 -142.302343921209\\ +10.6420924406474 -142.007152736016\\ +11.0418805085416 -141.749733574424\\ +11.4566872863485 -141.531016567113\\ +11.7779870119709 -141.392874209314\\ +12.1082975023208 -141.277268791113\\ +12.4478714618793 -141.18446756706\\ +12.6795284678645 -141.135384321859\\ +12.9154966501489 -141.096598387057\\ +13.1558562404571 -141.068161345875\\ +13.4006889636394 -141.050117322899\\ +13.5248087041786 -141.045004435891\\ +13.65007806546 -141.042502956945\\ +13.7765076954903 -141.042616292854\\ +13.9041083409004 -141.045347380293\\ +14.0328908478584 -141.050698685507\\ +14.2940453343172 -141.069269460861\\ +14.5600599502069 -141.098338934231\\ +14.8310251433614 -141.137909889627\\ +15.1070330448668 -141.187977586068\\ +15.5307057393347 -141.282731665326\\ +15.9662602210142 -141.401001136915\\ +16.4140297114445 -141.542675317091\\ +17.030650292528 -141.767720135211\\ +17.6704352608899 -142.033652057603\\ +18.3342548256232 -142.339902078414\\ +19.0230118866895 -142.685788186295\\ +19.9204570845384 -143.172667191678\\ +20.8602408924844 -143.718452223492\\ +22.0466873523944 -144.44828007075\\ +23.3006141069691 -145.256063875286\\ +24.8539485742973 -146.291154831782\\ +26.5108360190857 -147.418812202822\\ +28.540097698292 -148.810455968955\\ +31.00926635932 -150.491951314118\\ +34.0041193270367 -152.482303270864\\ +37.6335836228661 -154.790710790099\\ +42.818517986523 -157.86008887804\\ +51.0161531474972 -162.165857301792\\ +100 -178.940069866537\\ +}; +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/Gvc_speed.pdf b/figs/Gvc_speed.pdf similarity index 100% rename from Figures/Gvc_speed.pdf rename to figs/Gvc_speed.pdf diff --git a/Figures/Gvc_speed.png b/figs/Gvc_speed.png similarity index 100% rename from Figures/Gvc_speed.png rename to figs/Gvc_speed.png diff --git a/Figures/Gvc_speed.svg b/figs/Gvc_speed.svg similarity index 100% rename from Figures/Gvc_speed.svg rename to figs/Gvc_speed.svg diff --git a/figs/Gvc_speed.tex b/figs/Gvc_speed.tex new file mode 100644 index 0000000..88c0cb5 --- /dev/null +++ b/figs/Gvc_speed.tex @@ -0,0 +1,685 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=1.544in, +height=1.421in, +at={(0.605in,1.914in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xtick={0.01,1}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=1e-06, +ymax=1, +yminorticks=true, +ylabel={To: y(1)}, +axis background/.style={fill=white}, +title style={font=\color{white!40!black}}, +title={From: u(1)}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor1, forget plot] + table[row sep=crcr]{% +0.00501187233627272 0.00100018971668883\\ +0.0435079785924229 0.0010026205415894\\ +0.081358719918025 0.00100922380890248\\ +0.111255555680048 0.00101738769262431\\ +0.15213856218667 0.00103301351964733\\ +0.177909077485884 0.00104569894267756\\ +0.208044820438375 0.00106355838798931\\ +0.243285210192099 0.00108899087534084\\ +0.284494914958701 0.00112580261114793\\ +0.332685067758332 0.00118036113355232\\ +0.389038075866603 0.0012641251074499\\ +0.415130319090764 0.00131215899488663\\ +0.473663812015789 0.00144861151115337\\ +0.528691513239223 0.00162805108439452\\ +0.579394171838958 0.00186299794769997\\ +0.625335542539214 0.00217148122763654\\ +0.666385398245373 0.00258036591054744\\ +0.702640019896077 0.00313128244092705\\ +0.734350366863534 0.00389187188407601\\ +0.761862630882695 0.0049785888840659\\ +0.785572244400964 0.0066062740130242\\ +0.805890346602067 0.00920128493229633\\ +0.823220756903256 0.0136298167523101\\ +0.837945251827139 0.0209688032246352\\ +0.850415072472208 0.0264622389324413\\ +0.863070461836215 0.0207353056811882\\ +0.878507726418882 0.0129837305826164\\ +0.897399749900488 0.00836142412964148\\ +0.920610167482928 0.00568561687429463\\ +0.949260097781674 0.00402115003564085\\ +0.984823904394272 0.00291607517969597\\ +1.0292692915426 0.00214563461545903\\ +1.08526657005413 0.00158913367055603\\ +1.15650838036694 0.00117694887481047\\ +1.24821033872761 0.000866452485733528\\ +1.36791640754156 0.00063024744244012\\ +1.52683354130462 0.000450007086493407\\ +1.7421175043825 0.000313038429336919\\ +1.86028768184266 0.000264363842354661\\ +2.17539892962114 0.000180513338656254\\ +2.5438863833734 0.000125903861199214\\ +2.97479135591908 8.90601532364345e-05\\ +3.47868665404619 6.36067101926521e-05\\ +4.75699737068913 3.30378975121799e-05\\ +6.50504809291245 1.74003376252184e-05\\ +10.4022410219188 6.73334331463224e-06\\ +}; +\addplot [color=mycolor2, forget plot] + table[row sep=crcr]{% +0.00924654958432772 0.00263051918417608\\ +0.0146555053415432 0.00264726380621114\\ +0.0199226999803645 0.00267118820332348\\ +0.0270829265356347 0.00271646328267744\\ +0.0315768853362421 0.00275292360090878\\ +0.0368165414556008 0.00280395974598641\\ +0.0429256308948323 0.00287620575668244\\ +0.0500484215754346 0.00298011903524198\\ +0.0583531202681516 0.00313305719827205\\ +0.0680358448447193 0.00336593929416655\\ +0.0728357632449653 0.00350898678238884\\ +0.0831045627849748 0.00389781710763116\\ +0.0927581900100354 0.00440917423961914\\ +0.101652956733986 0.0050787585577912\\ +0.109712364016589 0.00595798022468207\\ +0.116913593776954 0.00712344952500508\\ +0.123273559287898 0.00869389484169561\\ +0.128836304020593 0.0108622545131484\\ +0.133662573476993 0.0139607745719126\\ +0.137821747581981 0.0186026018633228\\ +0.141385958586331 0.0260052402695669\\ +0.144426052248848 0.0386452705602415\\ +0.147009005581279 0.0596207176156022\\ +0.149196437512929 0.0754219898269622\\ +0.151416417508125 0.059240358758995\\ +0.154124388363089 0.0372043637662856\\ +0.157438384894194 0.0240488120433854\\ +0.161509902153204 0.0164295826578248\\ +0.166535600710851 0.011688920238379\\ +0.172774103819303 0.00854105545194181\\ +0.180570570811242 0.0063462628118552\\ +0.190393402917848 0.004760920602697\\ +0.202890322946496 0.00358678521477573\\ +0.218976188019793 0.00270248760177284\\ +0.23997424878753 0.00203005654864951\\ +0.267850238550003 0.00151740332124322\\ +0.305613286314919 0.00112858404535349\\ +0.315845552634306 0.00105583808537701\\ +0.368254840789559 0.000799375606560052\\ +0.429360573970022 0.000634582223273547\\ +0.500605781812966 0.000526000367093772\\ +0.583672940594836 0.000454575825606453\\ +0.680523705397208 0.000409715457382065\\ +0.793445235161275 0.000386017554098187\\ +0.903363919329775 0.000381516850783077\\ +1.03072529492042 0.000393915252360419\\ +1.15045684075778 0.000422882990456442\\ +1.26077642788189 0.000468573290675947\\ +1.36073525889717 0.000533635128203429\\ +1.45005032680183 0.00062337429141957\\ +1.52893140272678 0.000746826212389325\\ +1.59792474692889 0.000919189950940713\\ +1.65778377081326 0.00116698108640962\\ +1.70936897639255 0.00153935557601035\\ +1.75357500209527 0.00213400591059823\\ +1.79128053030886 0.00314933341540598\\ +1.82331626030992 0.00483075238486094\\ +1.85044643640644 0.00608177472501929\\ +1.87798029806812 0.00475406181306991\\ +1.91156658941571 0.00296849588494057\\ +1.95266926702189 0.00190556618308928\\ +2.00316728646591 0.00129100219923649\\ +2.06549978006449 0.000909257189089256\\ +2.14287438791487 0.000656287959075632\\ +2.23957203567305 0.000480378434309355\\ +2.36140218771678 0.000353758423358912\\ +2.51639838948867 0.000260399511447745\\ +2.71590738713435 0.00019047264695676\\ +2.97634113049721 0.000137640793448624\\ +3.32208012249633 9.76430439086829e-05\\ +3.79044584440535 6.75076149501313e-05\\ +4.29464864317369 4.89647768376726e-05\\ +5.00727377399601 3.38288847061796e-05\\ +5.83814712935854 2.38119630436771e-05\\ +6.80689002487619 1.69750540302029e-05\\ +9.25328909543183 8.8352458665591e-06\\ +10.7887176950799 6.42265577645307e-06\\ +}; +\end{axis} + +\begin{axis}[% +width=1.817in, +height=1.698in, +at={(0.481in,0.222in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=0, +ymax=1, +axis line style={draw=none}, +ticks=none, +xmajorgrids, +xminorgrids, +ymajorgrids +] +\end{axis} + +\begin{axis}[% +width=1.544in, +height=1.421in, +at={(0.605in,0.409in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=1e-06, +ymax=1, +yminorticks=true, +ylabel={To: y(2)}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor2, forget plot] + table[row sep=crcr]{% +0.00924654958432772 0.000176023803904121\\ +0.0170873413959046 0.000328359373677183\\ +0.0232285389114275 0.000451485105294251\\ +0.0315768853362421 0.00062701917533402\\ +0.0368165414556008 0.000743652713306961\\ +0.0429256308948323 0.000887828881643447\\ +0.0500484215754346 0.00106999528791369\\ +0.0583531202681516 0.00130733706956618\\ +0.0680358448447193 0.00163042062905511\\ +0.0728357632449653 0.00181524821465096\\ +0.0831045627849748 0.00228764613583079\\ +0.0927581900100354 0.0028711224611476\\ +0.101652956733986 0.00360236003317672\\ +0.109712364016589 0.0045340498805762\\ +0.116913593776954 0.00574422792638856\\ +0.123273559287898 0.00735317479934584\\ +0.128836304020593 0.00955566518483577\\ +0.133662573476993 0.0126865793813203\\ +0.137821747581981 0.0173640140606543\\ +0.141385958586331 0.0248177484599307\\ +0.144426052248848 0.0375632681529835\\ +0.147009005581279 0.0588385731633231\\ +0.149196437512929 0.0753758882578552\\ +0.151416417508125 0.0599508687566521\\ +0.154124388363089 0.03821809450559\\ +0.157438384894194 0.0251486041461079\\ +0.161509902153204 0.0175494458170943\\ +0.166535600710851 0.0128042545376153\\ +0.172774103819303 0.00963929824868026\\ +0.180570570811242 0.00741864031140709\\ +0.190393402917848 0.00579965434063845\\ +0.202890322946496 0.00458396162338398\\ +0.218976188019793 0.003649538299356\\ +0.23997424878753 0.00291753484398403\\ +0.267850238550003 0.00233498801855375\\ +0.315845552634306 0.00177302438784011\\ +0.368254840789559 0.00142879490043213\\ +0.429360573970022 0.00118248319259944\\ +0.500605781812966 0.000999067439117413\\ +0.583672940594836 0.000859714235189602\\ +0.680523705397208 0.000753862369145527\\ +0.793445235161275 0.000675980044238209\\ +0.903363919329775 0.000630802912239171\\ +1.03072529492042 0.000606413032475948\\ +1.15045684075778 0.000608038569634268\\ +1.26077642788189 0.000633096644552154\\ +1.36073525889717 0.000682353763749443\\ +1.45005032680183 0.00075979798635661\\ +1.52893140272678 0.000873515008851782\\ +1.59792474692889 0.00103797932099772\\ +1.65778377081326 0.00127907845098571\\ +1.70936897639255 0.00164525175963685\\ +1.75357500209527 0.00223292873890378\\ +1.79128053030886 0.00323708974538706\\ +1.82331626030992 0.00489164702072805\\ +1.85044643640644 0.0060817505365902\\ +1.87798029806812 0.00469455924479212\\ +1.91156658941571 0.00288715430934407\\ +1.95266926702189 0.00181967473818533\\ +2.00316728646591 0.00120579532009622\\ +2.06549978006449 0.000826788023193109\\ +2.14287438791487 0.000577710575666047\\ +2.23957203567305 0.000406557298932594\\ +2.36140218771678 0.000285449284714795\\ +2.51639838948867 0.000198294930191619\\ +2.71590738713435 0.000135191664626834\\ +2.97634113049721 8.9687725504995e-05\\ +3.32208012249633 5.73460753534471e-05\\ +3.79044584440535 3.49466461503219e-05\\ +4.29464864317369 2.24655554260112e-05\\ +5.00727377399601 1.33643628377181e-05\\ +5.83814712935854 8.09165898915852e-06\\ +7.93637960539881 3.06311440149773e-06\\ +10.7887176950799 1.18779988329694e-06\\ +}; +\end{axis} + +\begin{axis}[% +width=1.817in, +height=1.698in, +at={(0.481in,0.222in)}, +scale only axis, +unbounded coords=jump, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=0, +ymax=1, +axis line style={draw=none}, +ticks=none, +xmajorgrids, +xminorgrids, +ymajorgrids +] +\addplot [color=mycolor2, forget plot] + table[row sep=crcr]{% +0.14926289634463 -0.1\\ +0.149331771923459 1.1\\ +nan nan\\ +1.85030615375318 1.09999999999999\\ +1.85116295415053 -0.100000000000001\\ +}; +\end{axis} + +\begin{axis}[% +width=1.544in, +height=1.421in, +at={(2.232in,1.914in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xtick={0.01,1}, +xticklabels={{}}, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=1e-06, +ymax=1, +ytick={1e-06,0.0001,0.01,1}, +yticklabels={{}}, +yminorticks=true, +axis background/.style={fill=white}, +title style={font=\color{white!40!black}}, +title={From: u(2)}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor2, forget plot] + table[row sep=crcr]{% +0.00924654958432772 0.000176023803904121\\ +0.0170873413959046 0.000328359373677183\\ +0.0232285389114275 0.000451485105294251\\ +0.0315768853362421 0.00062701917533402\\ +0.0368165414556008 0.000743652713306961\\ +0.0429256308948323 0.000887828881643447\\ +0.0500484215754346 0.00106999528791369\\ +0.0583531202681516 0.00130733706956618\\ +0.0680358448447193 0.00163042062905511\\ +0.0728357632449653 0.00181524821465096\\ +0.0831045627849748 0.00228764613583079\\ +0.0927581900100354 0.0028711224611476\\ +0.101652956733986 0.00360236003317672\\ +0.109712364016589 0.0045340498805762\\ +0.116913593776954 0.00574422792638856\\ +0.123273559287898 0.00735317479934584\\ +0.128836304020593 0.00955566518483577\\ +0.133662573476993 0.0126865793813203\\ +0.137821747581981 0.0173640140606543\\ +0.141385958586331 0.0248177484599307\\ +0.144426052248848 0.0375632681529835\\ +0.147009005581279 0.0588385731633231\\ +0.149196437512929 0.0753758882578552\\ +0.151416417508125 0.0599508687566521\\ +0.154124388363089 0.03821809450559\\ +0.157438384894194 0.0251486041461079\\ +0.161509902153204 0.0175494458170943\\ +0.166535600710851 0.0128042545376153\\ +0.172774103819303 0.00963929824868026\\ +0.180570570811242 0.00741864031140709\\ +0.190393402917848 0.00579965434063845\\ +0.202890322946496 0.00458396162338398\\ +0.218976188019793 0.003649538299356\\ +0.23997424878753 0.00291753484398403\\ +0.267850238550003 0.00233498801855375\\ +0.315845552634306 0.00177302438784011\\ +0.368254840789559 0.00142879490043213\\ +0.429360573970022 0.00118248319259944\\ +0.500605781812966 0.000999067439117413\\ +0.583672940594836 0.000859714235189602\\ +0.680523705397208 0.000753862369145527\\ +0.793445235161275 0.000675980044238209\\ +0.903363919329775 0.000630802912239171\\ +1.03072529492042 0.000606413032475948\\ +1.15045684075778 0.000608038569634268\\ +1.26077642788189 0.000633096644552154\\ +1.36073525889717 0.000682353763749443\\ +1.45005032680183 0.00075979798635661\\ +1.52893140272678 0.000873515008851782\\ +1.59792474692889 0.00103797932099772\\ +1.65778377081326 0.00127907845098571\\ +1.70936897639255 0.00164525175963685\\ +1.75357500209527 0.00223292873890378\\ +1.79128053030886 0.00323708974538706\\ +1.82331626030992 0.00489164702072805\\ +1.85044643640644 0.0060817505365902\\ +1.87798029806812 0.00469455924479212\\ +1.91156658941571 0.00288715430934407\\ +1.95266926702189 0.00181967473818533\\ +2.00316728646591 0.00120579532009622\\ +2.06549978006449 0.000826788023193109\\ +2.14287438791487 0.000577710575666047\\ +2.23957203567305 0.000406557298932594\\ +2.36140218771678 0.000285449284714795\\ +2.51639838948867 0.000198294930191619\\ +2.71590738713435 0.000135191664626834\\ +2.97634113049721 8.9687725504995e-05\\ +3.32208012249633 5.73460753534471e-05\\ +3.79044584440535 3.49466461503219e-05\\ +4.29464864317369 2.24655554260112e-05\\ +5.00727377399601 1.33643628377181e-05\\ +5.83814712935854 8.09165898915852e-06\\ +7.93637960539881 3.06311440149773e-06\\ +10.7887176950799 1.18779988329694e-06\\ +}; +\end{axis} + +\begin{axis}[% +width=1.817in, +height=1.698in, +at={(0.481in,0.222in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=0, +ymax=1, +axis line style={draw=none}, +ticks=none, +xmajorgrids, +xminorgrids, +ymajorgrids +] +\end{axis} + +\begin{axis}[% +width=1.544in, +height=1.421in, +at={(2.232in,0.409in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=1e-06, +ymax=1, +ytick={1e-06,0.0001,0.01,1}, +yticklabels={{}}, +yminorticks=true, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids +] +\addplot [color=mycolor1, forget plot] + table[row sep=crcr]{% +0.00501187233627272 0.00100018971668883\\ +0.0435079785924229 0.0010026205415894\\ +0.081358719918025 0.00100922380890248\\ +0.111255555680048 0.00101738769262431\\ +0.15213856218667 0.00103301351964733\\ +0.177909077485884 0.00104569894267756\\ +0.208044820438375 0.00106355838798931\\ +0.243285210192099 0.00108899087534084\\ +0.284494914958701 0.00112580261114793\\ +0.332685067758332 0.00118036113355232\\ +0.389038075866603 0.0012641251074499\\ +0.415130319090764 0.00131215899488663\\ +0.473663812015789 0.00144861151115337\\ +0.528691513239223 0.00162805108439452\\ +0.579394171838958 0.00186299794769997\\ +0.625335542539214 0.00217148122763654\\ +0.666385398245373 0.00258036591054744\\ +0.702640019896077 0.00313128244092705\\ +0.734350366863534 0.00389187188407601\\ +0.761862630882695 0.0049785888840659\\ +0.785572244400964 0.0066062740130242\\ +0.805890346602067 0.00920128493229633\\ +0.823220756903256 0.0136298167523101\\ +0.837945251827139 0.0209688032246352\\ +0.850415072472208 0.0264622389324413\\ +0.863070461836215 0.0207353056811882\\ +0.878507726418882 0.0129837305826164\\ +0.897399749900488 0.00836142412964148\\ +0.920610167482928 0.00568561687429463\\ +0.949260097781674 0.00402115003564085\\ +0.984823904394272 0.00291607517969597\\ +1.0292692915426 0.00214563461545903\\ +1.08526657005413 0.00158913367055603\\ +1.15650838036694 0.00117694887481047\\ +1.24821033872761 0.000866452485733528\\ +1.36791640754156 0.00063024744244012\\ +1.52683354130462 0.000450007086493407\\ +1.7421175043825 0.000313038429336919\\ +1.86028768184266 0.000264363842354661\\ +2.17539892962114 0.000180513338656254\\ +2.5438863833734 0.000125903861199214\\ +2.97479135591908 8.90601532364345e-05\\ +3.47868665404619 6.36067101926521e-05\\ +4.75699737068913 3.30378975121799e-05\\ +6.50504809291245 1.74003376252184e-05\\ +10.4022410219188 6.73334331463224e-06\\ +}; +\addplot [color=mycolor2, forget plot] + table[row sep=crcr]{% +0.00924654958432772 0.00263051918417608\\ +0.0146555053415432 0.00264726380621114\\ +0.0199226999803645 0.00267118820332348\\ +0.0270829265356347 0.00271646328267744\\ +0.0315768853362421 0.00275292360090878\\ +0.0368165414556008 0.0028039597459864\\ +0.0429256308948323 0.00287620575668244\\ +0.0500484215754346 0.00298011903524198\\ +0.0583531202681516 0.00313305719827205\\ +0.0680358448447193 0.00336593929416654\\ +0.0728357632449653 0.00350898678238884\\ +0.0831045627849748 0.00389781710763116\\ +0.0927581900100354 0.00440917423961914\\ +0.101652956733986 0.00507875855779118\\ +0.109712364016589 0.00595798022468207\\ +0.116913593776954 0.00712344952500508\\ +0.123273559287898 0.00869389484169559\\ +0.128836304020593 0.0108622545131484\\ +0.133662573476993 0.0139607745719126\\ +0.137821747581981 0.0186026018633228\\ +0.141385958586331 0.0260052402695669\\ +0.144426052248848 0.0386452705602415\\ +0.147009005581279 0.0596207176156021\\ +0.149196437512929 0.0754219898269622\\ +0.151416417508125 0.059240358758995\\ +0.154124388363089 0.0372043637662855\\ +0.157438384894194 0.0240488120433854\\ +0.161509902153204 0.0164295826578248\\ +0.166535600710851 0.011688920238379\\ +0.172774103819303 0.00854105545194181\\ +0.180570570811242 0.0063462628118552\\ +0.190393402917848 0.00476092060269699\\ +0.202890322946496 0.00358678521477573\\ +0.218976188019793 0.00270248760177283\\ +0.23997424878753 0.00203005654864951\\ +0.267850238550003 0.00151740332124322\\ +0.305613286314919 0.00112858404535349\\ +0.315845552634306 0.001055838085377\\ +0.368254840789559 0.000799375606560052\\ +0.429360573970022 0.000634582223273547\\ +0.500605781812966 0.000526000367093772\\ +0.583672940594836 0.000454575825606453\\ +0.680523705397208 0.000409715457382065\\ +0.793445235161275 0.000386017554098187\\ +0.903363919329775 0.000381516850783077\\ +1.03072529492042 0.000393915252360419\\ +1.15045684075778 0.000422882990456442\\ +1.26077642788189 0.000468573290675947\\ +1.36073525889717 0.000533635128203429\\ +1.45005032680183 0.00062337429141957\\ +1.52893140272678 0.000746826212389325\\ +1.59792474692889 0.000919189950940713\\ +1.65778377081326 0.00116698108640962\\ +1.70936897639255 0.00153935557601035\\ +1.75357500209527 0.00213400591059823\\ +1.79128053030886 0.00314933341540598\\ +1.82331626030992 0.00483075238486094\\ +1.85044643640644 0.00608177472501929\\ +1.87798029806812 0.00475406181306991\\ +1.91156658941571 0.00296849588494057\\ +1.95266926702189 0.00190556618308928\\ +2.00316728646591 0.00129100219923649\\ +2.06549978006449 0.000909257189089256\\ +2.14287438791487 0.000656287959075632\\ +2.23957203567305 0.000480378434309355\\ +2.36140218771678 0.000353758423358912\\ +2.51639838948867 0.000260399511447745\\ +2.71590738713435 0.00019047264695676\\ +2.97634113049721 0.000137640793448624\\ +3.32208012249633 9.76430439086829e-05\\ +3.79044584440535 6.75076149501313e-05\\ +4.29464864317369 4.89647768376726e-05\\ +5.00727377399601 3.38288847061796e-05\\ +5.83814712935854 2.38119630436771e-05\\ +6.80689002487619 1.69750540302029e-05\\ +9.25328909543183 8.8352458665591e-06\\ +10.7887176950799 6.42265577645307e-06\\ +}; +\end{axis} + +\begin{axis}[% +width=1.817in, +height=1.698in, +at={(0.481in,0.222in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=10, +xminorticks=true, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=0, +ymax=1, +axis line style={draw=none}, +ticks=none, +xmajorgrids, +xminorgrids, +ymajorgrids +] +\end{axis} + +\begin{axis}[% +width=3.234in, +height=3.03in, +at={(0.542in,0.409in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmin=0, +xmax=1, +xtick={\empty}, +xlabel={Frequency (Hz)}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=0, +ymax=1, +ytick={\empty}, +ylabel={Magnitude (abs)}, +axis line style={draw=none}, +ticks=none, +xmajorgrids, +ymajorgrids +] +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/control_measure_fixed_2dof.png b/figs/control_measure_fixed_2dof.png similarity index 100% rename from Figures/control_measure_fixed_2dof.png rename to figs/control_measure_fixed_2dof.png diff --git a/Figures/control_measure_rotating_2dof.png b/figs/control_measure_rotating_2dof.png similarity index 100% rename from Figures/control_measure_rotating_2dof.png rename to figs/control_measure_rotating_2dof.png diff --git a/Figures/coupling_heavy.pdf b/figs/coupling_heavy.pdf similarity index 100% rename from Figures/coupling_heavy.pdf rename to figs/coupling_heavy.pdf diff --git a/Figures/coupling_heavy.png b/figs/coupling_heavy.png similarity index 100% rename from Figures/coupling_heavy.png rename to figs/coupling_heavy.png diff --git a/Figures/coupling_heavy.svg b/figs/coupling_heavy.svg similarity index 100% rename from Figures/coupling_heavy.svg rename to figs/coupling_heavy.svg diff --git a/figs/coupling_heavy.tex b/figs/coupling_heavy.tex new file mode 100644 index 0000000..0787a49 --- /dev/null +++ b/figs/coupling_heavy.tex @@ -0,0 +1,150 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=3.228in, +height=1.989in, +at={(0.25in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.1, +xmax=1000, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=0.0129228336079697, +ymax=8940101.35569647, +yminorticks=true, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids, +legend style={at={(2.514,2.242)}, anchor=south west, legend cell align=left, align=left, draw=black} +] +\addplot [color=mycolor1, line width=1.5pt] + table[row sep=crcr]{% +0.1 86.3177110569647\\ +0.130652016212472 64.4434955507499\\ +0.16003103137387 51.0118138059558\\ +0.188919277620766 41.6106625062057\\ +0.216938351838518 34.6637816089874\\ +0.244561668345244 29.184699569952\\ +0.270665207003324 24.8793760815708\\ +0.29680586086656 21.1887983478254\\ +0.322484249840844 18.022239432476\\ +0.347168681892656 15.3124074040977\\ +0.370312667586992 13.0101597221295\\ +0.391374560198038 11.0803055579185\\ +0.413634368406328 9.18436588943589\\ +0.43314832233764 7.62613373070904\\ +0.453582882551019 6.08411003051318\\ +0.470622484984128 4.8599577739991\\ +0.488302208687788 3.64241583136585\\ +0.501996513311008 2.73260090066469\\ +0.516074871038591 1.82487654993979\\ +0.525679112201842 1.22054542523007\\ +0.53546208992736 0.616629299116121\\ +0.540421642070592 0.314762688808104\\ +0.545427130532984 0.0129228336079697\\ +0.550478980785497 0.288915923139837\\ +0.560723488285203 0.892692769614681\\ +0.571158647812643 1.49677314124983\\ +0.587176639073325 2.40391215279709\\ +0.603643850607586 3.31289028055417\\ +0.626320745219869 4.52892418578746\\ +0.649849535446989 5.75111814668431\\ +0.680507369673521 7.29005668532702\\ +0.712611543011175 8.84448938990555\\ +0.753142016597438 10.7349153692997\\ +0.795977700231498 12.6581986773598\\ +0.849041520408875 14.951417204587\\ +0.914031074875622 17.6490860243972\\ +0.99310918137498 20.7995300674223\\ +1.08902296226373 24.4690517902784\\ +1.20526093687084 28.7471746679698\\ +1.35872990190271 34.1882792297348\\ +1.56024641436637 41.0828023768465\\ +1.82499324481615 49.8556580751657\\ +2.21485523372636 62.4129911428486\\ +2.81481236050758 81.2712388398918\\ +3.85110700232557 113.213936390718\\ +5.99484250318941 178.355365877726\\ +12.7675070431927 382.325640809899\\ +111.441525146679 3343.16560679745\\ +1000 29999.9910682289\\ +}; +\addlegendentry{Voice Coil} + +\addplot [color=mycolor2, line width=1.5pt] + table[row sep=crcr]{% +0.1 8940101.35569647\\ +13.3698374182495 66466.616697893\\ +23.6796006783308 37044.0677119951\\ +33.6144900010877 25587.5492206135\\ +43.1156199031823 19441.7182696869\\ +52.3261423948667 15515.5653192477\\ +61.771875973385 12619.618288222\\ +70.93341204988 10475.5142286964\\ +79.9655452589235 8780.97911343364\\ +88.5007491447344 7446.70484671804\\ +97.0480887738031 6300.59280152733\\ +104.476597156081 5422.74222545597\\ +112.473717836475 4574.40484183963\\ +119.971773543589 3852.68658203084\\ +126.795284678643 3246.95914450551\\ +134.006889636395 2651.16996919335\\ +140.328908478587 2160.95430523616\\ +145.600599502065 1772.1382960732\\ +151.070330448666 1385.73267624323\\ +155.307057393346 1097.19401129768\\ +159.662602210143 809.494756098929\\ +162.633950404819 618.052876359036\\ +165.660595894992 426.821141256537\\ +168.743567772738 235.734529940995\\ +170.306502925285 140.225340784119\\ +171.883914281715 44.7280709056492\\ +173.475935923393 50.7653970470999\\ +175.082703173573 146.263180103658\\ +178.341022071001 337.304162170159\\ +181.659978837533 528.459831286201\\ +186.754584276108 815.550565813295\\ +191.992066559329 1103.26523839227\\ +199.204570845387 1488.23591016542\\ +206.688024962908 1875.23081896952\\ +216.438908606402 2362.62325699577\\ +226.649807927369 2855.0371754258\\ +239.540735872088 3454.03668266432\\ +255.509709035251 4166.36186072225\\ +272.543253128103 4896.04601796042\\ +293.404970921579 5755.13041913135\\ +318.789129267765 6759.27951984662\\ +349.577557436328 7929.92446269878\\ +386.890073932798 9295.94136934832\\ +436.153778920801 11034.8536755683\\ +500.840798984821 13240.2047830451\\ +591.250841383188 16225.4590032842\\ +717.556091893694 20280.7725824434\\ +911.92675984593 26377.4494655549\\ +1000 29105.9895644304\\ +}; +\addlegendentry{Piezo} + +\addplot [color=black, dashed, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.1 1\\ +1000 1\\ +}; +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/coupling_light.pdf b/figs/coupling_light.pdf similarity index 100% rename from Figures/coupling_light.pdf rename to figs/coupling_light.pdf diff --git a/Figures/coupling_light.png b/figs/coupling_light.png similarity index 100% rename from Figures/coupling_light.png rename to figs/coupling_light.png diff --git a/Figures/coupling_light.svg b/figs/coupling_light.svg similarity index 100% rename from Figures/coupling_light.svg rename to figs/coupling_light.svg diff --git a/figs/coupling_light.tex b/figs/coupling_light.tex new file mode 100644 index 0000000..11860cc --- /dev/null +++ b/figs/coupling_light.tex @@ -0,0 +1,129 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=3.228in, +height=1.991in, +at={(0.25in,0.42in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.1, +xmax=1000, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=0.525643712271937, +ymax=1000000, +yminorticks=true, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids, +legend style={at={(2.514,2.263)}, anchor=south west, legend cell align=left, align=left, draw=black} +] +\addplot [color=mycolor1, line width=1.5pt] + table[row sep=crcr]{% +0.1 1.43138629848794\\ +0.130652016212472 1.12262794536947\\ +0.161513269350309 0.936033915634543\\ +0.192435097523033 0.814062846354693\\ +0.225088005209546 0.726253425815456\\ +0.258471350746956 0.663680322525229\\ +0.291383170483279 0.619770543266845\\ +0.325471160553185 0.587162216461523\\ +0.363546996129332 0.561748112955036\\ +0.402350554886929 0.544504317682055\\ +0.441209286319119 0.53369558238535\\ +0.483820966492596 0.527426488991592\\ +0.530548052536957 0.525643712271937\\ +0.581788007434494 0.528332087836482\\ +0.637976680860628 0.535514483145194\\ +0.699592016543537 0.547251992019686\\ +0.774263682681127 0.565544742447388\\ +0.856905505126835 0.589659127154682\\ +0.957152153899187 0.622898616773646\\ +1.07902879151618 0.667535659819721\\ +1.22769104798836 0.726364573534487\\ +1.42283045721435 0.808502431898596\\ +1.67967487209265 0.922078726991336\\ +2.03849339825246 1.08701176030681\\ +2.59067785868801 1.34866035230114\\ +3.51192753045073 1.79529789972872\\ +5.36697694554048 2.70922710203034\\ +10.8151870255229 5.42036616565434\\ +64.0924401935645 32.0483753998013\\ +1000 500.00013813863\\ +}; +\addlegendentry{Voice Coil} + +\addplot [color=mycolor2, line width=1.5pt] + table[row sep=crcr]{% +0.1 361856.320151206\\ +20.8122156998634 1728.26686849051\\ +36.8609536217216 963.248873823112\\ +52.3261423948667 665.37724419701\\ +67.1161176749629 505.591675513429\\ +81.4537176628075 403.520967460794\\ +96.157460014321 328.237751415408\\ +110.418805085416 272.503227449337\\ +124.478714618791 228.458029195094\\ +137.765076954906 193.779362600462\\ +151.070330448666 163.993251160622\\ +164.140297114447 138.385386440927\\ +176.704352608895 116.428501029582\\ +188.48434090338 97.7400220301253\\ +199.204570845387 82.0483507125898\\ +208.60240892485 69.1658096608712\\ +218.443607114943 56.4302724773295\\ +226.649807927369 46.329486860756\\ +235.164288449435 36.2917166991162\\ +241.759407916913 28.7965271628439\\ +248.53948574298 21.3233684482181\\ +253.164847863136 16.3506780395364\\ +257.87628875938 11.3835470375648\\ +262.675410372384 6.42028656424173\\ +265.108360190854 3.93958037697108\\ +267.563844455205 1.45920905752857\\ +270.042071883778 1.0210382278492\\ +272.543253128103 3.50137230238233\\ +277.61532944368 8.46314416660309\\ +282.781797962534 13.4277935910295\\ +290.712337727258 20.8838561368485\\ +298.865287355038 28.355895904755\\ +310.092663593193 38.3533517182537\\ +321.741815067637 48.4029741770256\\ +336.920570598027 61.0591938462359\\ +352.815411538088 73.845187716416\\ +372.882130718284 89.3979677309015\\ +397.740302405804 107.892101464806\\ +424.255643071778 126.83576330156\\ +456.730127016875 149.137452114666\\ +496.244487762892 175.203273681398\\ +544.17142868659 205.588954117463\\ +602.254120146193 241.043391394604\\ +678.940681269611 286.173141021646\\ +779.636013040524 343.404505335268\\ +920.373199661823 420.870334398132\\ +1000 463.81436298488\\ +}; +\addlegendentry{Piezo} + +\addplot [color=black, dashed, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0.1 1\\ +1000 1\\ +}; +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/coupling_ratio_light_heavy.pdf b/figs/coupling_ratio_light_heavy.pdf similarity index 100% rename from Figures/coupling_ratio_light_heavy.pdf rename to figs/coupling_ratio_light_heavy.pdf diff --git a/Figures/coupling_ratio_light_heavy.png b/figs/coupling_ratio_light_heavy.png similarity index 100% rename from Figures/coupling_ratio_light_heavy.png rename to figs/coupling_ratio_light_heavy.png diff --git a/Figures/coupling_ratio_light_heavy.svg b/figs/coupling_ratio_light_heavy.svg similarity index 100% rename from Figures/coupling_ratio_light_heavy.svg rename to figs/coupling_ratio_light_heavy.svg diff --git a/figs/coupling_ratio_light_heavy.tex b/figs/coupling_ratio_light_heavy.tex new file mode 100644 index 0000000..5efac89 --- /dev/null +++ b/figs/coupling_ratio_light_heavy.tex @@ -0,0 +1,233 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=3.631in, +height=3.394in, +at={(0.55in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmode=log, +xmin=0.01, +xmax=1000, +xminorticks=true, +xlabel={Frequency [Hz]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymode=log, +ymin=0.01, +ymax=100000000, +yminorticks=true, +ylabel={Coupling ratio}, +axis background/.style={fill=white}, +xmajorgrids, +xminorgrids, +ymajorgrids, +yminorgrids, +legend style={at={(3.33,3.41)}, anchor=south west, legend cell align=left, align=left, draw=black} +] +\addplot [color=mycolor1, line width=1.5pt] + table[row sep=crcr]{% +0.01 13.8188629848794\\ +0.0463090280179974 3.00612858539543\\ +0.0786857150693685 1.79491729346645\\ +0.10991097009295 1.31177843667699\\ +0.14162866162992 1.04617220159506\\ +0.174277467840892 0.879774933884683\\ +0.207164967560207 0.770387453151422\\ +0.240647515001542 0.694352663836699\\ +0.276338529005317 0.638058405354734\\ +0.310092663593193 0.6005216560049\\ +0.347969790388769 0.570969442888766\\ +0.385999361767977 0.550872370662758\\ +0.428185179865241 0.536706814675917\\ +0.469539001068006 0.528970045184364\\ +0.514886745013749 0.525732721934786\\ +0.564614141930367 0.526967308090152\\ +0.619144175597784 0.532684305103401\\ +0.678940681269611 0.542932342043348\\ +0.753142016597437 0.559987451419075\\ +0.835452805838287 0.583072223632722\\ +0.937501501514529 0.61609838660172\\ +1.06420924406472 0.661908634372244\\ +1.22204468663149 0.724061278274471\\ +1.4195547660501 0.807088619725811\\ +1.68743567772738 0.92558088802882\\ +2.07643010725577 1.10474203634023\\ +2.67563844455205 1.38944750939757\\ +3.6946012051993 1.88468992344283\\ +5.85824820015254 2.95270429421096\\ +13.1255683577184 6.57330857110525\\ +161.88596901782 80.9438378171409\\ +1000 500.000138138629\\ +}; +\addlegendentry{light - VC} + +\addplot [color=mycolor2, line width=1.5pt] + table[row sep=crcr]{% +0.01 3618563.69651206\\ +21.2974853574552 1688.40804303019\\ +37.8947091907467 935.952096749582\\ +53.5462089927361 649.010255256131\\ +68.9983712143002 489.942716111554\\ +83.9312949816637 389.168377344911\\ +98.6265846131283 317.582075276751\\ +113.254131515281 262.881251784295\\ +127.087870920206 221.185336917434\\ +140.977287162897 186.188426486646\\ +154.592773641948 156.77430201297\\ +167.580786453077 132.139116241737\\ +179.57846470021 111.713977266535\\ +190.230118866895 95.1052759722199\\ +201.513573381556 78.8124423586466\\ +211.02034285686 65.9692059871696\\ +220.97561147959 53.2661794752782\\ +228.74908173557 43.8146712618204\\ +236.796006783308 34.4155406654218\\ +245.126006203334 25.0575516309236\\ +250.841505927754 18.8362226960546\\ +256.690271549195 12.6249009811023\\ +259.665597293487 9.52196144579869\\ +262.675410372384 6.42028656424166\\ +265.720110532451 3.31946438929392\\ +268.800102153761 0.219083087069872\\ +271.915794303602 2.88126911776214\\ +275.067600790807 5.98200399666872\\ +281.481236050758 12.186269171392\\ +288.04441533963 18.3970086099596\\ +298.177229001967 27.7324762866807\\ +308.666494333727 37.101096352344\\ +319.524750575921 46.5140683887346\\ +334.598912054997 59.1531479810074\\ +350.384224529068 71.9179506958851\\ +371.167181947577 88.0921133457057\\ +393.182875570577 104.558851262773\\ +421.332174384729 124.782218798116\\ +456.730127016875 149.137452114666\\ +495.102015955635 174.463773733223\\ +542.918617761894 204.809104170173\\ +602.254120146193 241.043391394604\\ +683.651600451024 288.895861948108\\ +785.045620020451 346.429135843649\\ +933.189771573324 427.81859599288\\ +1000 463.814362984879\\ +}; +\addlegendentry{light - PZ} + +\addplot [color=mycolor1, dashed, line width=1.5pt] + table[row sep=crcr]{% +0.01 892.877110569682\\ +0.0479380849508911 184.880754312846\\ +0.0814537176628074 107.210942761566\\ +0.113777413322149 75.0888235439018\\ +0.144930957412622 57.2798371128242\\ +0.174277467840892 46.0219679064207\\ +0.204791209666508 37.4702992940597\\ +0.232469705998565 31.4471347915333\\ +0.260865361762254 26.4130467538107\\ +0.289375301905095 22.1844404233993\\ +0.317322963473497 18.6275684134732\\ +0.343982648902292 15.6462811147498\\ +0.368609536217216 13.1726960995583\\ +0.390473523688556 11.1599984641203\\ +0.413634368406328 9.18436588943622\\ +0.43314832233764 7.62613373070933\\ +0.453582882551019 6.0841100305134\\ +0.469539001068006 4.9362564019312\\ +0.486056423214214 3.79430374989594\\ +0.503154894503806 2.65688694357387\\ +0.51488674501375 1.90045735192649\\ +0.526892142135068 1.14503742633421\\ +0.532999408084409 0.767580655702726\\ +0.539177464038751 0.390225830847463\\ +0.545427130532984 0.01292283360797\\ +0.551749237612913 0.364378447292923\\ +0.558144624945497 0.741728122904416\\ +0.571158647812643 1.4967731412499\\ +0.584476113163364 2.25261335819925\\ +0.605036787939122 3.38874325985715\\ +0.626320745219869 4.52892418578764\\ +0.648353428605473 5.67451914884\\ +0.678940681269611 7.21276908261207\\ +0.710970943231244 8.76634891652716\\ +0.753142016597438 10.7349153693001\\ +0.797814457207663 12.7391350788034\\ +0.854932706626838 15.2006430206501\\ +0.926759330114688 18.1651417211625\\ +1.00462042134681 21.2479202794811\\ +1.10164594963366 24.9417182115263\\ +1.22204468663149 29.3524662153777\\ +1.38720978054162 35.1776341514566\\ +1.59295021257212 42.1814440627228\\ +1.8935521797563 52.0896258748975\\ +2.33006141069692 66.0685651958131\\ +3.00246170908555 87.099035281189\\ +4.24255643071778 125.171412472933\\ +7.12611543011175 212.530077213318\\ +18.979216428391 568.905884850659\\ +1000 29999.9910682301\\ +}; +\addlegendentry{heavy - VC} + +\addplot [color=mycolor2, dashed, line width=1.5pt] + table[row sep=crcr]{% +0.01 89401043.2569681\\ +13.7447909267754 64631.2382613643\\ +24.1759407916913 36254.0659628024\\ +34.1612326858553 25145.4843245994\\ +44.0193518520888 18988.9060214701\\ +53.5462089927361 15089.6684535497\\ +62.9214610961035 12320.7108365071\\ +72.2534949178722 10205.6434857917\\ +81.0790980673169 8594.02543783681\\ +89.9402217409205 7241.84484269684\\ +98.6265846131283 6105.80141407429\\ +106.912633917348 5154.68637000723\\ +114.566872863487 4366.3877029635\\ +121.362379834424 3725.5829937933\\ +128.56096069433 3097.15184905083\\ +134.626057929891 2601.91211674494\\ +140.977287162897 2112.20244542862\\ +147.628147190939 1626.98201426395\\ +152.821403602587 1265.39207885169\\ +158.19734815786 905.314838156222\\ +161.88596901782 665.891103957436\\ +165.660595894992 426.821141256547\\ +167.580786453077 307.379127482017\\ +169.523234155412 187.977938086728\\ +171.488196987054 68.6017148714658\\ +173.475935923393 50.7653970471089\\ +175.486714964815 170.13925134224\\ +179.57846470021 408.970608338223\\ +183.765620038817 648.019241317997\\ +188.050405512858 887.412150916433\\ +194.665634334226 1247.42531460813\\ +201.513573381556 1608.92969490735\\ +211.02034285686 2094.00246171007\\ +220.97561147959 2583.52578672\\ +234.082727617829 3203.27464196618\\ +247.967289250216 3833.66234896473\\ +265.720110532451 4607.12166730124\\ +284.743916646725 5402.61763821466\\ +308.666494333727 6363.63111065401\\ +338.477285594598 7513.04698590874\\ +375.469422407334 8883.03542251978\\ +421.332174384729 10518.0991839869\\ +483.820966492596 12666.8164825372\\ +568.531791387375 15483.4639545723\\ +691.575882873852 19454.5616045831\\ +880.937190447399 25413.2755576616\\ +1000 29105.9895644314\\ +}; +\addlegendentry{heavy - PZ} + +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/coupling_simscape_heavy.pdf b/figs/coupling_simscape_heavy.pdf similarity index 100% rename from Figures/coupling_simscape_heavy.pdf rename to figs/coupling_simscape_heavy.pdf diff --git a/Figures/coupling_simscape_heavy.png b/figs/coupling_simscape_heavy.png similarity index 100% rename from Figures/coupling_simscape_heavy.png rename to figs/coupling_simscape_heavy.png diff --git a/Figures/coupling_simscape_heavy.svg b/figs/coupling_simscape_heavy.svg similarity index 100% rename from Figures/coupling_simscape_heavy.svg rename to figs/coupling_simscape_heavy.svg diff --git a/Figures/coupling_simscape_light.pdf b/figs/coupling_simscape_light.pdf similarity index 100% rename from Figures/coupling_simscape_light.pdf rename to figs/coupling_simscape_light.pdf diff --git a/Figures/coupling_simscape_light.png b/figs/coupling_simscape_light.png similarity index 100% rename from Figures/coupling_simscape_light.png rename to figs/coupling_simscape_light.png diff --git a/Figures/coupling_simscape_light.svg b/figs/coupling_simscape_light.svg similarity index 100% rename from Figures/coupling_simscape_light.svg rename to figs/coupling_simscape_light.svg diff --git a/Figures/coupling_small_m.pdf b/figs/coupling_small_m.pdf similarity index 100% rename from Figures/coupling_small_m.pdf rename to figs/coupling_small_m.pdf diff --git a/Figures/coupling_small_m.png b/figs/coupling_small_m.png similarity index 100% rename from Figures/coupling_small_m.png rename to figs/coupling_small_m.png diff --git a/Figures/coupling_small_m.svg b/figs/coupling_small_m.svg similarity index 100% rename from Figures/coupling_small_m.svg rename to figs/coupling_small_m.svg diff --git a/Figures/perfconp.pdf b/figs/perfconp.pdf similarity index 100% rename from Figures/perfconp.pdf rename to figs/perfconp.pdf diff --git a/Figures/perfconp.png b/figs/perfconp.png similarity index 100% rename from Figures/perfconp.png rename to figs/perfconp.png diff --git a/Figures/perfconp.svg b/figs/perfconp.svg similarity index 100% rename from Figures/perfconp.svg rename to figs/perfconp.svg diff --git a/Figures/poles_w_pz.pdf b/figs/poles_w_pz.pdf similarity index 100% rename from Figures/poles_w_pz.pdf rename to figs/poles_w_pz.pdf diff --git a/Figures/poles_w_pz.png b/figs/poles_w_pz.png similarity index 100% rename from Figures/poles_w_pz.png rename to figs/poles_w_pz.png diff --git a/Figures/poles_w_pz.svg b/figs/poles_w_pz.svg similarity index 100% rename from Figures/poles_w_pz.svg rename to figs/poles_w_pz.svg diff --git a/figs/poles_w_pz.tex b/figs/poles_w_pz.tex new file mode 100644 index 0000000..0e084a1 --- /dev/null +++ b/figs/poles_w_pz.tex @@ -0,0 +1,93 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=1.569in, +height=3.394in, +at={(0.535in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmin=0, +xmax=1000, +xlabel={Rotation Frequency [rad/s]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-140, +ymax=0, +ylabel={Pole Real Part}, +axis background/.style={fill=white}, +xmajorgrids, +ymajorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 -84.5154254728517\\ +1000 -34.4747865543453\\ +}; +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 -84.5154254728517\\ +1000 -134.556064391356\\ +}; +\addplot [color=black, dashed, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 0\\ +1000 0\\ +}; +\end{axis} + +\begin{axis}[% +width=1.569in, +height=3.394in, +at={(2.599in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmin=0, +xmax=1000, +xlabel={Rotation Frequency [rad/s]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-3000, +ymax=3000, +ylabel={Pole Imaginary Part}, +axis background/.style={fill=white}, +xmajorgrids, +ymajorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 1688.19430161341\\ +858.585858585859 830.155195249739\\ +1000 688.935778987281\\ +}; +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 -1688.19430161341\\ +858.585858585859 -830.155195249739\\ +1000 -688.935778987281\\ +}; +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 1688.19430161341\\ +858.585858585859 2547.32691242145\\ +1000 2688.93577898728\\ +}; +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 -1688.19430161341\\ +858.585858585859 -2547.32691242145\\ +1000 -2688.93577898728\\ +}; +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/poles_w_vc.pdf b/figs/poles_w_vc.pdf similarity index 100% rename from Figures/poles_w_vc.pdf rename to figs/poles_w_vc.pdf diff --git a/Figures/poles_w_vc.png b/figs/poles_w_vc.png similarity index 100% rename from Figures/poles_w_vc.png rename to figs/poles_w_vc.png diff --git a/Figures/poles_w_vc.svg b/figs/poles_w_vc.svg similarity index 100% rename from Figures/poles_w_vc.svg rename to figs/poles_w_vc.svg diff --git a/figs/poles_w_vc.tex b/figs/poles_w_vc.tex new file mode 100644 index 0000000..92c101d --- /dev/null +++ b/figs/poles_w_vc.tex @@ -0,0 +1,103 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=1.568in, +height=3.394in, +at={(0.504in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmin=0, +xmax=10, +xlabel={Rotation Frequency [rad/s]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-0.8, +ymax=0.4, +ylabel={Pole Real Part}, +axis background/.style={fill=white}, +xmajorgrids, +ymajorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 -0.267261241912424\\ +6.16161616161616 0.0406934440394089\\ +9.49494949494949 0.206222173741562\\ +10 0.231196890138589\\ +}; +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 -0.267261241912424\\ +6.16161616161616 -0.57521592786426\\ +9.49494949494949 -0.740744657566417\\ +10 -0.765719373963439\\ +}; +\addplot [color=black, dashed, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 0\\ +10 0\\ +}; +\end{axis} + +\begin{axis}[% +width=1.568in, +height=3.394in, +at={(2.567in,0.419in)}, +scale only axis, +separate axis lines, +every outer x axis line/.append style={black}, +every x tick label/.append style={font=\color{black}}, +every x tick/.append style={black}, +xmin=0, +xmax=10, +xlabel={Rotation Frequency [rad/s]}, +every outer y axis line/.append style={black}, +every y tick label/.append style={font=\color{black}}, +every y tick/.append style={black}, +ymin=-20, +ymax=20, +ylabel={Pole Imaginary Part}, +axis background/.style={fill=white}, +xmajorgrids, +ymajorgrids +] +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 5.33853912601566\\ +4.84848484848485 0.495558144459231\\ +5.25252525252525 0.0924703947834153\\ +5.35353535353535 0.008289775974756\\ +10 4.638240912778\\ +}; +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 -5.33853912601566\\ +4.84848484848485 -0.495558144459231\\ +5.25252525252525 -0.0924703947834153\\ +5.35353535353535 -0.008289775974756\\ +10 -4.638240912778\\ +}; +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 5.33853912601566\\ +4.84848484848485 10.1925278414029\\ +9.7979797979798 15.1588197416905\\ +10 15.361759087222\\ +}; +\addplot [color=mycolor1, line width=1.5pt, forget plot] + table[row sep=crcr]{% +0 -5.33853912601566\\ +4.84848484848485 -10.1925278414029\\ +9.7979797979798 -15.1588197416905\\ +10 -15.361759087222\\ +}; +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/Figures/rotating_frame_2dof.png b/figs/rotating_frame_2dof.png similarity index 100% rename from Figures/rotating_frame_2dof.png rename to figs/rotating_frame_2dof.png diff --git a/Figures/simscape.png b/figs/simscape.png similarity index 100% rename from Figures/simscape.png rename to figs/simscape.png diff --git a/Figures/simulink_ctrl.png b/figs/simulink_ctrl.png similarity index 100% rename from Figures/simulink_ctrl.png rename to figs/simulink_ctrl.png diff --git a/index.html b/index.html index 510dd2061d7b532c5c7399e5a236a9682d1ba8d9..304f8b868869769f6678f33827e402c0088f0e37 100644 GIT binary patch literal 94419 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 a(a*`W +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: + +#+LATEX_CLASS: cleanreport +#+LaTeX_CLASS_OPTIONS: [tocnp, secbreak, minted] +#+LaTeX_HEADER: \usepackage{svg} +#+LaTeX_HEADER: \newcommand{\authorFirstName}{Thomas} +#+LaTeX_HEADER: \newcommand{\authorLastName}{Dehaeze} +#+LaTeX_HEADER: \newcommand{\authorEmail}{dehaeze.thomas@gmail.com} + +#+PROPERTY: header-args:matlab :session *MATLAB* +#+PROPERTY: header-args:matlab+ :comments org +#+PROPERTY: header-args:matlab+ :exports both +#+PROPERTY: header-args:matlab+ :eval no-export +#+PROPERTY: header-args:matlab+ :output-dir figs +#+PROPERTY: header-args:matlab+ :mkdirp yes +:END: + +* Introduction +The objective of this note it to highlight some control problems that arises when controlling the position of an object using actuators that are rotating with respect to a fixed reference frame. + +In section ref:sec:system, a simple system composed of a spindle and a translation stage is defined and the equations of motion are written. +The rotation induces some coupling between the actuators and their displacement, and modifies the dynamics of the system. +This is studied using the equations, and some numerical computations are used to compare the use of voice coil and piezoelectric actuators. + +Then, in section ref:sec:control_strategies, two different control approach are compared where: +- the measurement is made in the fixed frame +- the measurement is made in the rotating frame + +In section ref:sec:simscape, the analytical study will be validated using a multi body model of the studied system. + +Finally, in section ref:sec:control, the control strategies are implemented using Simulink and Simscape and compared. + +* System Description and Analysis + :PROPERTIES: + :HEADER-ARGS:matlab+: :tangle matlab/system_numerical_analysis.m + :END: + <> +** System description +The system consists of one 2 degree of freedom translation stage on top of a spindle (figure ref:fig:rotating_frame_2dof). + +The control inputs are the forces applied by the actuators of the translation stage ($F_u$ and $F_v$). +As the translation stage is rotating around the Z axis due to the spindle, the forces are applied along $u$ and $v$. + +The measurement is either the $x-y$ displacement of the object located on top of the translation stage or the $u-v$ displacement of the sample with respect to a fixed reference frame. + +#+name: fig:rotating_frame_2dof +#+caption: Schematic of the mecanical system +[[./figs/rotating_frame_2dof.png]] + +In the following block diagram: +- $G$ is the transfer function from the forces applied in the actuators to the measurement +- $K$ is the controller to design +- $J$ is a Jacobian matrix usually used to change the reference frame + +Indices $x$ and $y$ corresponds to signals in the fixed reference frame (along $\vec{i}_x$ and $\vec{i}_y$): +- $D_x$ is the measured position of the sample +- $r_x$ is the reference signal which corresponds to the wanted $D_x$ +- $\epsilon_x$ is the position error + +Indices $u$ and $v$ corresponds to signals in the rotating reference frame ($\vec{i}_u$ and $\vec{i}_v$): +- $F_u$ and $F_v$ are forces applied by the actuators +- $\epsilon_u$ and $\epsilon_v$ are position error of the sample along $\vec{i}_u$ and $\vec{i}_v$ + +** Equations + <> +Based on the figure ref:fig:rotating_frame_2dof, we can write the equations of motion of the system. + +Let's express the kinetic energy $T$ and the potential energy $V$ of the mass $m$: +#+name: eq:energy_inertial_frame +\begin{align} +T & = \frac{1}{2} m \left( \dot{x}^2 + \dot{y}^2 \right) \\ +V & = \frac{1}{2} k \left( x^2 + y^2 \right) +\end{align} + +The Lagrangian is the kinetic energy minus the potential energy. +#+name: eq:lagrangian_inertial_frame +\begin{equation} +L = T-V = \frac{1}{2} m \left( \dot{x}^2 + \dot{y}^2 \right) - \frac{1}{2} k \left( x^2 + y^2 \right) +\end{equation} + + +The partial derivatives of the Lagrangian with respect to the variables $(x, y)$ are: +#+name: eq:inertial_frame_deriv +\begin{align*} +\frac{\partial L}{\partial x} & = -kx \\ +\frac{\partial L}{\partial y} & = -ky \\ +\frac{d}{dt}\frac{\partial L}{\partial \dot{x}} & = m\ddot{x} \\ +\frac{d}{dt}\frac{\partial L}{\partial \dot{y}} & = m\ddot{y} +\end{align*} + +The external forces applied to the mass are: +\begin{align*} +F_{\text{ext}, x} &= F_u \cos{\theta} - F_v \sin{\theta}\\ +F_{\text{ext}, y} &= F_u \sin{\theta} + F_v \cos{\theta} +\end{align*} + +By appling the Lagrangian equations, we obtain: +\begin{align} +m\ddot{x} + kx = F_u \cos{\theta} - F_v \sin{\theta}\\ +m\ddot{y} + ky = F_u \sin{\theta} + F_v \cos{\theta} +\end{align} + +We then change coordinates from $(x, y)$ to $(d_x, d_y, \theta)$. +\begin{align*} +x & = d_u \cos{\theta} - d_v \sin{\theta}\\ +y & = d_u \sin{\theta} + d_v \cos{\theta} +\end{align*} + +We obtain: +\begin{align*} +\ddot{x} & = \ddot{d_u} \cos{\theta} - 2\dot{d_u}\dot{\theta}\sin{\theta} - d_u\ddot{\theta}\sin{\theta} - d_u\dot{\theta}^2 \cos{\theta} + - \ddot{d_v} \sin{\theta} - 2\dot{d_v}\dot{\theta}\cos{\theta} - d_v\ddot{\theta}\cos{\theta} + d_v\dot{\theta}^2 \sin{\theta} \\ +\ddot{y} & = \ddot{d_u} \sin{\theta} + 2\dot{d_u}\dot{\theta}\cos{\theta} + d_u\ddot{\theta}\cos{\theta} - d_u\dot{\theta}^2 \sin{\theta} + + \ddot{d_v} \cos{\theta} - 2\dot{d_v}\dot{\theta}\sin{\theta} - d_v\ddot{\theta}\sin{\theta} - d_v\dot{\theta}^2 \cos{\theta} \\ +\end{align*} + +By injecting the previous result into the Lagrangian equation, we obtain: +\begin{align*} + m \ddot{d_u} \cos{\theta} - 2m\dot{d_u}\dot{\theta}\sin{\theta} - m d_u\ddot{\theta}\sin{\theta} - m d_u\dot{\theta}^2 \cos{\theta} +-m \ddot{d_v} \sin{\theta} - 2m\dot{d_v}\dot{\theta}\cos{\theta} - m d_v\ddot{\theta}\cos{\theta} + m d_v\dot{\theta}^2 \sin{\theta} ++ k d_u \cos{\theta} - k d_v \sin{\theta} = F_u \cos{\theta} - F_v \sin{\theta} \\ + m \ddot{d_u} \sin{\theta} + 2m\dot{d_u}\dot{\theta}\cos{\theta} + m d_u\ddot{\theta}\cos{\theta} - m d_u\dot{\theta}^2 \sin{\theta} ++ m \ddot{d_v} \cos{\theta} - 2m\dot{d_v}\dot{\theta}\sin{\theta} - m d_v\ddot{\theta}\sin{\theta} - m d_v\dot{\theta}^2 \cos{\theta} ++ k d_u \sin{\theta} + k d_v \cos{\theta} = F_u \sin{\theta} + F_v \cos{\theta} +\end{align*} + +Which is equivalent to: +\begin{align*} + m \ddot{d_u} - 2m\dot{d_u}\dot{\theta}\frac{\sin{\theta}}{\cos{\theta}} - m d_u\ddot{\theta}\frac{\sin{\theta}}{\cos{\theta}} - m d_u\dot{\theta}^2 +-m \ddot{d_v} \frac{\sin{\theta}}{\cos{\theta}} - 2m\dot{d_v}\dot{\theta} - m d_v\ddot{\theta} + m d_v\dot{\theta}^2 \frac{\sin{\theta}}{\cos{\theta}} ++ k d_u - k d_v \frac{\sin{\theta}}{\cos{\theta}} = F_u - F_v \frac{\sin{\theta}}{\cos{\theta}} \\ + m \ddot{d_u} + 2m\dot{d_u}\dot{\theta}\frac{\cos{\theta}}{\sin{\theta}} + m d_u\ddot{\theta}\frac{\cos{\theta}}{\sin{\theta}} - m d_u\dot{\theta}^2 ++ m \ddot{d_v} \frac{\cos{\theta}}{\sin{\theta}} - 2m\dot{d_v}\dot{\theta} - m d_v\ddot{\theta} - m d_v\dot{\theta}^2 \frac{\cos{\theta}}{\sin{\theta}} ++ k d_u + k d_v \frac{\cos{\theta}}{\sin{\theta}} = F_u + F_v \frac{\cos{\theta}}{\sin{\theta}} +\end{align*} + +We can then subtract and add the previous equations to obtain the following equations: +#+begin_important +#+NAME: eq:du_coupled +\begin{equation} + m \ddot{d_u} + (k - m\dot{\theta}^2) d_u = F_u + 2 m\dot{d_v}\dot{\theta} + m d_v\ddot{\theta} +\end{equation} +#+NAME: eq:dv_coupled +\begin{equation} + m \ddot{d_v} + (k - m\dot{\theta}^2) d_v = F_v - 2 m\dot{d_u}\dot{\theta} - m d_u\ddot{\theta} +\end{equation} +#+end_important + +We obtain two differential equations that are coupled through: +- *Euler forces*: $m d_v \ddot{\theta}$ +- *Coriolis forces*: $2 m \dot{d_v} \dot{\theta}$ + +Without the coupling terms, each equation is the equation of a one degree of freedom mass-spring system with mass $m$ and stiffness $k- m\dot{\theta}^2$. +Thus, the term $- m\dot{\theta}^2$ acts like a negative stiffness (due to *centrifugal forces*). + +The forces induced by the rotating reference frame are independent of the stiffness of the actuator. +The resulting effect of those forces should then be higher when using softer actuators. + +** Numerical Values for the NASS +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +Let's define the parameters for the NASS. +#+begin_src matlab :exports none :results silent + mlight = 35; % Mass for light sample [kg] + mheavy = 85; % Mass for heavy sample [kg] + + wlight = 2*pi; % Max rot. speed for light sample [rad/s] + wheavy = 2*pi/60; % Max rot. speed for heavy sample [rad/s] + + kvc = 1e3; % Voice Coil Stiffness [N/m] + kpz = 1e8; % Piezo Stiffness [N/m] + + wdot = 1; % Maximum rotation acceleration [rad/s2] + + d = 0.01; % Maximum excentricity from rotational axis [m] + ddot = 0.2; % Maximum Horizontal speed [m/s] + + save('./mat/parameters.mat'); +#+end_src + +#+begin_src matlab :results table :exports results + labels = {'Light sample mass [kg]', ... + 'Heavy sample mass [kg]', ... + 'Max rot. speed - light [rpm]', ... + 'Max rot. speed - heavy [rpm]', ... + 'Voice Coil Stiffness [N/m]', ... + 'Piezo Stiffness [N/m]', ... + 'Max rot. acceleration [rad/s2]', ... + 'Max mass excentricity [m]', ... + 'Max Horizontal speed [m/s]'}; + data = [mlight, mheavy, 60*wlight/2/pi, 60*wheavy/2/pi, kvc, kpz, wdot, d, ddot]; + data2orgtable(data', labels, {}, ' %.1e ') +#+end_src + +#+RESULTS: +| Light sample mass [kg] | 3.5e+01 | +| Heavy sample mass [kg] | 8.5e+01 | +| Max rot. speed - light [rpm] | 6.0e+01 | +| Max rot. speed - heavy [rpm] | 1.0e+00 | +| Voice Coil Stiffness [N/m] | 1.0e+03 | +| Piezo Stiffness [N/m] | 1.0e+08 | +| Max rot. acceleration [rad/s2] | 1.0e+00 | +| Max mass excentricity [m] | 1.0e-02 | +| Max Horizontal speed [m/s] | 2.0e-01 | + +** Euler and Coriolis forces - Numerical Result +First we will determine the value for Euler and Coriolis forces during regular experiment. +- *Euler forces*: $m d_v \ddot{\theta}$ +- *Coriolis forces*: $2 m \dot{d_v} \dot{\theta}$ + +#+begin_src matlab :exports none :results silent + Felight = mlight*d*wdot; + Feheavy = mheavy*d*wdot; + + Fclight = 2*mlight*ddot*wlight; + Fcheavy = 2*mheavy*ddot*wheavy; +#+end_src + +The obtained values are displayed in table ref:tab:euler_coriolis. + +#+begin_src matlab :results value table :exports results :post addhdr(*this*) + data = [Fclight, Fcheavy ; + Felight, Feheavy]; + data2orgtable(data, {'Coriolis', 'Euler'}, {'Light', 'Heavy'}, ' %.1fN ') +#+end_src + +#+NAME: tab:euler_coriolis +#+CAPTION: Euler and Coriolis forces for the NASS +#+RESULTS: +| | Light | Heavy | +|----------+-------+-------| +| Coriolis | 88.0N | 3.6N | +| Euler | 0.4N | 0.8N | + +** Negative Spring Effect - Numerical Result +The negative stiffness due to the rotation is equal to $-m{\omega_0}^2$. + +#+begin_src matlab :exports none :results silent + Klight = mlight*wlight^2; + Kheavy = mheavy*wheavy^2; +#+end_src + +The values for the negative spring effect are displayed in table ref:tab:negative_spring. + +This is definitely negligible when using piezoelectric actuators. It may not be the case when using voice coil actuators. + +#+begin_src matlab :results value table :exports results :post addhdr(*this*) + data = [Klight, Kheavy]; + data2orgtable(data, {'Neg. Spring'}, {'Light', 'Heavy'}, ' %.1f[N/m] ') +#+end_src + +#+NAME: tab:negative_spring +#+CAPTION: Negative Spring effect +#+RESULTS: +| | Light | Heavy | +|-------------+-------------+----------| +| Neg. Spring | 1381.7[N/m] | 0.9[N/m] | + +** Limitations due to coupling +To simplify, we consider a constant rotating speed $\dot{\theta} = \omega_0$ and thus $\ddot{\theta} = 0$. + +From equations eqref:eq:du_coupled and eqref:eq:dv_coupled, we obtain: +\begin{align*} + (m s^2 + (k - m{\omega_0}^2)) d_u &= F_u + 2 m {\omega_0} s d_v \\ + (m s^2 + (k - m{\omega_0}^2)) d_v &= F_v - 2 m {\omega_0} s d_u \\ +\end{align*} + +From second equation: +\[ d_v = \frac{1}{m s^2 + (k - m{\omega_0}^2)} F_v - \frac{2 m {\omega_0} s}{m s^2 + (k - m{\omega_0}^2)} d_u \] + +And we re-inject $d_v$ into the first equation: +\begin{equation*} +(m s^2 + (k - m{\omega_0}^2)) d_u = F_u + \frac{2 m {\omega_0} s}{m s^2 + (k - m{\omega_0}^2)} F_v - \frac{(2 m {\omega_0} s)^2}{m s^2 + (k - m{\omega_0}^2)} d_u +\end{equation*} + +\begin{equation*} +\frac{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2}{m s^2 + (k - m{\omega_0}^2)} d_u = F_u + \frac{2 m {\omega_0} s}{m s^2 + (k - m{\omega_0}^2)} F_v +\end{equation*} + +Finally we obtain $d_u$ function of $F_u$ and $F_v$. +\[ d_u = \frac{m s^2 + (k - m{\omega_0}^2)}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} F_u + \frac{2 m {\omega_0} s}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} F_v \] + +Similarly we can obtain $d_v$ function of $F_u$ and $F_v$: +\[ d_v = \frac{m s^2 + (k - m{\omega_0}^2)}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} F_v - \frac{2 m {\omega_0} s}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} F_u \] + +The two previous equations can be written in a matrix form: +#+begin_important +#+NAME: eq:coupledplant +\begin{equation} +\begin{bmatrix} d_u \\ d_v \end{bmatrix} = +\frac{1}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} +\begin{bmatrix} + ms^2 + (k-m{\omega_0}^2) & 2 m \omega_0 s \\ + -2 m \omega_0 s & ms^2 + (k-m{\omega_0}^2) \\ +\end{bmatrix} +\begin{bmatrix} F_u \\ F_v \end{bmatrix} +\end{equation} +#+end_important + +Then, coupling is negligible if $|-m \omega^2 + (k - m{\omega_0}^2)| \gg |2 m {\omega_0} \omega|$. + +*** Numerical Analysis +We plot on the same graph $\frac{|-m \omega^2 + (k - m {\omega_0}^2)|}{|2 m \omega_0 \omega|}$ for the voice coil and the piezo: +- with the light sample (figure ref:fig:coupling_light). +- with the heavy sample (figure ref:fig:coupling_heavy). + +#+begin_src matlab :exports none :results silent + f = logspace(-1, 3, 1000); + + figure; + hold on; + plot(f, abs(-mlight*(2*pi*f).^2 + kvc - mlight * wlight^2)./abs(2*mlight*wlight*2*pi*f), 'DisplayName', 'Voice Coil') + plot(f, abs(-mlight*(2*pi*f).^2 + kpz - mlight * wlight^2)./abs(2*mlight*wlight*2*pi*f), 'DisplayName', 'Piezo') + plot(f, ones(1, length(f)), 'k--', 'HandleVisibility', 'off') + hold off; + xlim([f(1), f(end)]); + set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); + xlabel('Frequency [Hz]'); + legend('Location', 'northeast'); +#+end_src + +#+NAME: fig:coupling_light +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/coupling_light.pdf" :var figsize="normal-normal" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:coupling_light +#+CAPTION: Relative Coupling for light mass and high rotation speed +#+RESULTS: fig:coupling_light +[[file:figs/coupling_light.png]] +#+begin_src matlab :exports none :results silent + figure; + hold on; + plot(f, abs(-mheavy*(2*pi*f).^2 + kvc - mheavy * wheavy^2)./abs(2*mheavy*wheavy*2*pi*f), 'DisplayName', 'Voice Coil') + plot(f, abs(-mheavy*(2*pi*f).^2 + kpz - mheavy * wheavy^2)./abs(2*mheavy*wheavy*2*pi*f), 'DisplayName', 'Piezo') + plot(f, ones(1, length(f)), 'k--', 'HandleVisibility', 'off') + hold off; + xlim([f(1), f(end)]); + set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); + xlabel('Frequency [Hz]'); + legend('Location', 'northeast'); +#+end_src + +#+NAME: fig:coupling_heavy +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/coupling_heavy.pdf" :var figsize="normal-normal" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:coupling_heavy +#+CAPTION: Relative Coupling for heavy mass and low rotation speed +#+RESULTS: fig:coupling_heavy +[[file:figs/coupling_heavy.png]] + +#+begin_important +Coupling is higher for actuators with small stiffness. +#+end_important + +** Limitations due to negative stiffness effect +If $\max{\dot{\theta}} \ll \sqrt{\frac{k}{m}}$, then the negative spring effect is negligible and $k - m\dot{\theta}^2 \approx k$. + +Let's estimate what is the maximum rotation speed for which the negative stiffness effect is still negligible ($\omega_\text{max} = 0.1 \sqrt{\frac{k}{m}}$). Results are shown table ref:tab:negative_stiffness. +#+begin_src matlab :results table :exports results :post addhdr(*this*) + data = 0.1*60*(1/2/pi)*[sqrt(kvc/mlight), sqrt(kpz/mlight); + sqrt(kvc/mheavy), sqrt(kpz/mheavy)]; + data2orgtable(data, {'Light', 'Heavy'}, {'Voice Coil', 'Piezo'}, ' %.0f[rpm] ') +#+end_src + +#+NAME: tab:negative_stiffness +#+CAPTION: Maximum rotation speed at which negative stiffness is negligible ($0.1\sqrt{\frac{k}{m}}$) +#+RESULTS: +| | Voice Coil | Piezo | +|-------+------------+-----------| +| Light | 5[rpm] | 1614[rpm] | +| Heavy | 3[rpm] | 1036[rpm] | + +The negative spring effect is proportional to the rotational speed $\omega$. +The system dynamics will be much more affected when using soft actuator. + +#+begin_important + Negative stiffness effect has very important effect when using soft actuators. +#+end_important + +The system can even goes unstable when $m \omega^2 > k$, that is when the centrifugal forces are higher than the forces due to stiffness. + +From this analysis, we can determine the lowest practical stiffness that is possible to use: $k_\text{min} = 10 m \omega^2$ (table sec:tab:min_k) + +#+begin_src matlab :results table :exports results :post addhdr(*this*) + data = 10*[mlight*2*pi, mheavy*2*pi/60] + data2orgtable(data, {'k min [N/m]'}, {'Light', 'Heavy'}, ' %.0f ') +#+end_src + +#+NAME: tab:min_k +#+CAPTION: Minimum possible stiffness +#+RESULTS: +| | Light | Heavy | +|-------------+-------+-------| +| k min [N/m] | 2199 | 89 | + +** Effect of rotation speed on the plant +As shown in equation eqref:eq:coupledplant, the plant changes with the rotation speed $\omega_0$. + +Then, we compute the bode plot of the direct term and coupling term for multiple rotating speed. + +Then we compare the result between voice coil and piezoelectric actuators. + +*** Voice coil actuator +#+begin_src matlab :exports none :results silent + m = mlight; + k = kvc; + + ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] + + Gs = {zeros(1, length(ws))}; + Gcs = {zeros(1, length(ws))}; + + for i = 1:length(ws) + w = ws(i); + Gs(i) = {(m*s^2 + (k-m*w^2))/((m*s^2 + (k - m*w^2))^2 + (2*m*w*s)^2)}; + Gcs(i) = {(2*m*w*s)/((m*s^2 + (k - m*w^2))^2 + (2*m*w*s)^2)}; + end +#+end_src + +#+begin_src matlab :exports none :results silent + freqs = logspace(-2, 1, 1000); + + figure; + ax1 = subaxis(2,1,1); + hold on; + for i = 1:length(ws) + plot(freqs, abs(squeeze(freqresp(Gs{i}, freqs, 'Hz')))); + end + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + set(gca, 'XTickLabel',[]); + ylabel('Magnitude [m/N]'); + + ax2 = subaxis(2,1,2); + hold on; + for i = 1:length(ws) + plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}, freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); + end + hold off; + yticks(-180:90:180); + ylim([-180 180]); + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + legend('Location', 'southwest'); + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:G_ws_vc +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/G_ws_vc.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> + #+end_src + +#+LABEL: fig:G_ws_vc +#+CAPTION: Bode plot of the direct transfer function term (from $F_u$ to $D_u$) for multiple rotation speed - Voice coil +#+RESULTS: fig:G_ws_vc +[[file:figs/G_ws_vc.png]] + + +#+begin_src matlab :exports none :results silent + freqs = logspace(-2, 1, 1000); + + figure; + ax1 = subaxis(2,1,1); + hold on; + for i = 1:length(ws) + plot(freqs, abs(squeeze(freqresp(Gcs{i}, freqs, 'Hz')))); + end + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + set(gca, 'XTickLabel',[]); + ylabel('Magnitude [m/N]'); + + ax2 = subaxis(2,1,2); + hold on; + for i = 1:length(ws) + plot(freqs, 180/pi*angle(squeeze(freqresp(Gcs{i}, freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); + end + hold off; + yticks(-180:90:180); + ylim([-180 180]); + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + legend('Location', 'southwest'); + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:Gc_ws_vc +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/Gc_ws_vc.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:Gc_ws_vc +#+CAPTION: caption +#+RESULTS: fig:Gc_ws_vc +[[file:figs/Gc_ws_vc.png]] + +*** Piezoelectric actuator +#+begin_src matlab :exports none :results silent + m = mlight; + k = kpz; + + ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] + + Gs = {zeros(1, length(ws))}; + Gcs = {zeros(1, length(ws))}; + + for i = 1:length(ws) + w = ws(i); + Gs(i) = {(m*s^2 + (k-m*w^2))/((m*s^2 + (k - m*w^2))^2 + (2*m*w*s)^2)}; + Gcs(i) = {(2*m*w*s)/((m*s^2 + (k - m*w^2))^2 + (2*m*w*s)^2)}; + end +#+end_src + +#+begin_src matlab :exports none :results silent + freqs = logspace(2, 3, 1000); + + figure; + ax1 = subaxis(2,1,1); + hold on; + for i = 1:length(ws) + plot(freqs, abs(squeeze(freqresp(Gs{i}, freqs, 'Hz')))); + end + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + set(gca, 'XTickLabel',[]); + ylabel('Magnitude [m/N]'); + + ax2 = subaxis(2,1,2); + hold on; + for i = 1:length(ws) + plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}, freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); + end + hold off; + yticks(-180:90:180); + ylim([-180 180]); + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + legend('Location', 'southwest'); + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:G_ws_pz +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/G_ws_pz.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:G_ws_pz +#+CAPTION: Bode plot of the direct transfer function term (from $F_u$ to $D_u$) for multiple rotation speed - Piezoelectric actuator +#+RESULTS: fig:G_ws_pz +[[file:figs/G_ws_pz.png]] + +#+begin_src matlab :exports none :results silent + figure; + ax1 = subaxis(2,1,1); + hold on; + for i = 1:length(ws) + plot(freqs, abs(squeeze(freqresp(Gcs{i}, freqs, 'Hz')))); + end + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + set(gca, 'XTickLabel',[]); + ylabel('Magnitude [m/N]'); + + ax2 = subaxis(2,1,2); + hold on; + for i = 1:length(ws) + plot(freqs, 180/pi*angle(squeeze(freqresp(Gcs{i}, freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); + end + hold off; + yticks(-180:90:180); + ylim([-180 180]); + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + legend('Location', 'southwest'); + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:Gc_ws_pz +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/Gc_ws_pz.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:Gc_ws_pz +#+CAPTION: Bode plot of the coupling transfer function term (from $F_u$ to $D_v$) for multiple rotation speed - Piezoelectric actuator +#+RESULTS: fig:Gc_ws_pz +[[file:figs/Gc_ws_pz.png]] + +*** Analysis +When the rotation speed is null, the coupling terms are equal to zero and the diagonal terms corresponds to one degree of freedom mass spring system. + +When the rotation speed in not null, the resonance frequency is duplicated into two pairs of complex conjugate poles. + +As the rotation speed increases, one of the two resonant frequency goes to lower frequencies as the other one goes to higher frequencies. + +The poles of the coupling terms are the same as the poles of the diagonal terms. The magnitude of the coupling terms are increasing with the rotation speed. + +#+begin_important +As shown in the previous figures, the system with voice coil is much more sensitive to rotation speed. +#+end_important + +*** Campbell diagram +The poles of the system are computed for multiple values of the rotation frequency. To simplify the computation of the poles, we add some damping to the system. + +#+begin_src matlab :results silent :exports code + m = mlight; + k = kvc; + c = 0.1*sqrt(k*m); + + wsvc = linspace(0, 10, 100); % [rad/s] + + polesvc = zeros(2, length(wsvc)); + + for i = 1:length(wsvc) + polei = pole(1/((m*s^2 + c*s + (k - m*wsvc(i)^2))^2 + (2*m*wsvc(i)*s)^2)); + polesvc(:, i) = sort(polei(imag(polei) > 0)); + end +#+end_src + +#+begin_src matlab :results silent :exports code + m = mlight; + k = kpz; + c = 0.1*sqrt(k*m); + + wspz = linspace(0, 1000, 100); % [rad/s] + + polespz = zeros(2, length(wspz)); + + for i = 1:length(wspz) + polei = pole(1/((m*s^2 + c*s + (k - m*wspz(i)^2))^2 + (2*m*wspz(i)*s)^2)); + polespz(:, i) = sort(polei(imag(polei) > 0)); + end +#+end_src + +We then plot the real and imaginary part of the poles as a function of the rotation frequency (figures ref:fig:poles_w_vc and ref:fig:poles_w_pz). + +When the real part of one pole becomes positive, the system goes unstable. + +For the voice coil (figure ref:fig:poles_w_vc), the system is unstable when the rotation speed is above 5 rad/s. The real and imaginary part of the poles of the system with piezoelectric actuators are changing much less (figure ref:fig:poles_w_pz). + +#+begin_src matlab :results silent :exports none + figure; + % Amplitude + ax1 = subplot(1,2,1); + hold on; + plot(wsvc, real(polesvc(1, :))) + set(gca,'ColorOrderIndex',1) + plot(wsvc, real(polesvc(2, :))) + plot(wsvc, zeros(size(wsvc)), 'k--') + hold off; + xlabel('Rotation Frequency [rad/s]'); + ylabel('Pole Real Part'); + ax2 = subplot(1,2,2); + hold on; + plot(wsvc, imag(polesvc(1, :))) + set(gca,'ColorOrderIndex',1) + plot(wsvc, -imag(polesvc(1, :))) + set(gca,'ColorOrderIndex',1) + plot(wsvc, imag(polesvc(2, :))) + set(gca,'ColorOrderIndex',1) + plot(wsvc, -imag(polesvc(2, :))) + hold off; + xlabel('Rotation Frequency [rad/s]'); + ylabel('Pole Imaginary Part'); +#+end_src + +#+NAME: fig:poles_w_vc +#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes +#+begin_src matlab :var filepath="figs/poles_w_vc.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:poles_w_vc +#+CAPTION: Real and Imaginary part of the poles of the system as a function of the rotation speed - Voice Coil and light sample +#+RESULTS: fig:poles_w_vc +[[file:figs/poles_w_vc.png]] + + +#+begin_src matlab :results silent :exports none + figure; + % Amplitude + ax1 = subplot(1,2,1); + hold on; + plot(wspz, real(polespz(1, :))) + set(gca,'ColorOrderIndex',1) + plot(wspz, real(polespz(2, :))) + plot(wspz, zeros(size(wspz)), 'k--') + hold off; + xlabel('Rotation Frequency [rad/s]'); + ylabel('Pole Real Part'); + ax2 = subplot(1,2,2); + hold on; + plot(wspz, imag(polespz(1, :))) + set(gca,'ColorOrderIndex',1) + plot(wspz, -imag(polespz(1, :))) + set(gca,'ColorOrderIndex',1) + plot(wspz, imag(polespz(2, :))) + set(gca,'ColorOrderIndex',1) + plot(wspz, -imag(polespz(2, :))) + hold off; + xlabel('Rotation Frequency [rad/s]'); + ylabel('Pole Imaginary Part'); +#+end_src + +#+NAME: fig:poles_w_pz +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/poles_w_pz.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:poles_w_pz +#+CAPTION: Real and Imaginary part of the poles of the system as a function of the rotation speed - Piezoelectric actuator and light sample +#+RESULTS: fig:poles_w_pz +[[file:figs/poles_w_pz.png]] + +* Control Strategies + <> +** Measurement in the fixed reference frame +First, let's consider a measurement in the fixed referenced frame. + +The transfer function from actuator $[F_u, F_v]$ to sensor $[D_x, D_y]$ is then $G(\theta)$. + +Then the measurement is subtracted to the reference signal $[r_x, r_y]$ to obtain the position error in the fixed reference frame $[\epsilon_x, \epsilon_y]$. + +The position error $[\epsilon_x, \epsilon_y]$ is then express in the rotating frame corresponding to the actuators $[\epsilon_u, \epsilon_v]$. + +Finally, the control low $K$ links the position errors $[\epsilon_u, \epsilon_v]$ to the actuator forces $[F_u, F_v]$. + +The block diagram is shown on figure ref:fig:control_measure_fixed_2dof. + +#+name: fig:control_measure_fixed_2dof +#+caption: Control with a measure from fixed frame +[[./figs/control_measure_fixed_2dof.png]] + +The loop gain is then $L = G(\theta) K J(\theta)$. + +One question we wish to answer is: is $G(\theta) J(\theta) = G(\theta_0) J(\theta_0)$? + +** Measurement in the rotating frame +Let's consider that the measurement is made in the rotating reference frame. + +The corresponding block diagram is shown figure ref:fig:control_measure_rotating_2dof + +#+name: fig:control_measure_rotating_2dof +#+caption: Control with a measure from rotating frame +[[./figs/control_measure_rotating_2dof.png]] + +The loop gain is $L = G K$. + +* Multi Body Model - Simscape + :PROPERTIES: + :HEADER-ARGS:matlab+: :tangle matlab/simscape_analysis.m + :END: + <> + +** Initialization +#+begin_src matlab :exports none :results silent :noweb yes + <> + + load('./mat/parameters.mat'); + + bode_opts = bodeoptions; + bode_opts.FreqUnits = 'Hz'; + bode_opts.MagUnits = 'abs'; + bode_opts.MagScale = 'log'; + bode_opts.Grid = 'on'; + bode_opts.PhaseVisible = 'off'; + bode_opts.Title.FontSize = 10; + bode_opts.XLabel.FontSize = 10; + bode_opts.YLabel.FontSize = 10; + bode_opts.TickLabel.FontSize = 10; +#+end_src + +#+begin_src matlab :exports none :results silent + open rotating_frame.slx +#+end_src + +First we define the parameters that must be defined in order to run the Simscape simulation. +#+begin_src matlab :exports code :results silent + w = 2*pi; % Rotation speed [rad/s] + + theta_e = 0; % Static measurement error on the angle theta [rad] + + m = 5; % mass of the sample [kg] + + mTuv = 30;% Mass of the moving part of the Tuv stage [kg] + kTuv = 1e8; % Stiffness of the Tuv stage [N/m] + cTuv = 0; % Damping of the Tuv stage [N/(m/s)] +#+end_src + +Then, we defined parameters that will be used in the following analysis. +#+begin_src matlab :exports code :results silent + mlight = 5; % Mass for light sample [kg] + mheavy = 55; % Mass for heavy sample [kg] + + wlight = 2*pi; % Max rot. speed for light sample [rad/s] + wheavy = 2*pi/60; % Max rot. speed for heavy sample [rad/s] + + kvc = 1e3; % Voice Coil Stiffness [N/m] + kpz = 1e8; % Piezo Stiffness [N/m] + + d = 0.01; % Maximum excentricity from rotational axis [m] + + freqs = logspace(-2, 3, 1000); % Frequency vector for analysis [Hz] +#+end_src + +** Identification in the rotating referenced frame +We initialize the inputs and outputs of the system to identify: +- Inputs: $f_u$ and $f_v$ +- Outputs: $d_u$ and $d_v$ + +#+begin_src matlab :exports code :results silent + %% Options for Linearized + options = linearizeOptions; + options.SampleTime = 0; + + %% Name of the Simulink File + mdl = 'rotating_frame'; + + %% Input/Output definition + io(1) = linio([mdl, '/fu'], 1, 'input'); + io(2) = linio([mdl, '/fv'], 1, 'input'); + + io(3) = linio([mdl, '/du'], 1, 'output'); + io(4) = linio([mdl, '/dv'], 1, 'output'); +#+end_src + +We start we identify the transfer functions at high speed with the light sample. +#+begin_src matlab :exports code :results silent + w = wlight; % Rotation speed [rad/s] + m = mlight; % mass of the sample [kg] + + kTuv = kpz; + Gpz_light = linearize(mdl, io, 0.1); + Gpz_light.InputName = {'Fu', 'Fv'}; + Gpz_light.OutputName = {'Du', 'Dv'}; + + kTuv = kvc; + Gvc_light = linearize(mdl, io, 0.1); + Gvc_light.InputName = {'Fu', 'Fv'}; + Gvc_light.OutputName = {'Du', 'Dv'}; +#+end_src + +Then we identify the system with an heavy mass and low speed. +#+begin_src matlab :exports code :results silent + w = wheavy; % Rotation speed [rad/s] + m = mheavy; % mass of the sample [kg] + + kTuv = kpz; + Gpz_heavy = linearize(mdl, io, 0.1); + Gpz_heavy.InputName = {'Fu', 'Fv'}; + Gpz_heavy.OutputName = {'Du', 'Dv'}; + + kTuv = kvc; + Gvc_heavy = linearize(mdl, io, 0.1); + Gvc_heavy.InputName = {'Fu', 'Fv'}; + Gvc_heavy.OutputName = {'Du', 'Dv'}; +#+end_src + +** Coupling ratio between $f_{uv}$ and $d_{uv}$ +In order to validate the equations written, we can compute the coupling ratio using the simscape model and compare with the equations. + +From the previous identification, we plot the coupling ratio in both case (figure ref:fig:coupling_ratio_light_heavy). + +We obtain the same result than the analytical case (figures ref:fig:coupling_light and ref:fig:coupling_heavy). +#+begin_src matlab :results silent :exports none + figure; + hold on; + plot(freqs, abs(squeeze(freqresp(Gvc_light('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gvc_light('Dv', 'Fu'), freqs, 'Hz')))); + plot(freqs, abs(squeeze(freqresp(Gpz_light('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gpz_light('Dv', 'Fu'), freqs, 'Hz')))); + set(gca,'ColorOrderIndex',1); + plot(freqs, abs(squeeze(freqresp(Gvc_heavy('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gvc_heavy('Dv', 'Fu'), freqs, 'Hz'))), '--'); + plot(freqs, abs(squeeze(freqresp(Gpz_heavy('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gpz_heavy('Dv', 'Fu'), freqs, 'Hz'))), '--'); + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + xlabel('Frequency [Hz]'); ylabel('Coupling ratio'); + legend({'light - VC', 'light - PZ', 'heavy - VC', 'heavy - PZ'}, 'Location', 'northeast') +#+end_src + +#+NAME: fig:coupling_ratio_light_heavy +#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes +#+begin_src matlab :var filepath="figs/coupling_ratio_light_heavy.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:coupling_ratio_light_heavy +#+CAPTION: Coupling ratio obtained with the Simscape model +#+RESULTS: fig:coupling_ratio_light_heavy +[[file:figs/coupling_ratio_light_heavy.png]] + +** Plant Control - SISO approach +*** Plant identification +The goal is to study the control problems due to the coupling that appears because of the rotation. + +#+begin_src matlab :exports none :results silent + %% Options for Linearized + options = linearizeOptions; + options.SampleTime = 0; + + %% Name of the Simulink File + mdl = 'rotating_frame'; + + %% Input/Output definition + io(1) = linio([mdl, '/fu'], 1, 'input'); + io(2) = linio([mdl, '/fv'], 1, 'input'); + + io(3) = linio([mdl, '/du'], 1, 'output'); + io(4) = linio([mdl, '/dv'], 1, 'output'); +#+end_src + +First, we identify the system when the rotation speed is null and then when the rotation speed is equal to 60rpm. + +The actuators are voice coil with some damping added. + +The bode plot of the system not rotating and rotating at 60rpm is shown figure ref:fig:Gvc_speed. + +#+begin_src matlab :exports none :results silent + w = 0; % Rotation speed [rad/s] + m = mlight; % mass of the sample [kg] + kTuv = kvc; + cTuv = 0.1*sqrt(kTuv*m); + + Gvc = linearize(mdl, io, 0.1); + Gvc.InputName = {'Fu', 'Fv'}; + Gvc.OutputName = {'Du', 'Dv'}; +#+end_src + +#+begin_src matlab :exports none :results silent + w = wlight; % Rotation speed [rad/s] + m = mlight; % mass of the sample [kg] + kTuv = kvc; + cTuv = 0.1*sqrt(kTuv*m); + + Gtvc = linearize(mdl, io, 0.1); + Gtvc.InputName = {'Fu', 'Fv'}; + Gtvc.OutputName = {'Du', 'Dv'}; +#+end_src + +#+begin_src matlab :exports none :results silent + figure; + bode(Gvc, Gtvc, bode_opts) + legend({'Gvc - $\omega = 0$', 'Gvc - $\omega = 60$rpm'}, 'Location', 'southwest'); + title(''); +#+end_src + +#+NAME: fig:Gvc_speed +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/Gvc_speed.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:Gvc_speed +#+CAPTION: Change of transfer functions due to rotating speed +#+RESULTS: fig:Gvc_speed +[[file:figs/Gvc_speed.png]] + +*** Effect of rotation speed +We first identify the system (voice coil and light mass) for multiple rotation speed. +Then we compute the bode plot of the diagonal element (figure ref:fig:Guu_ws) and of the coupling element (figure ref:fig:Guv_ws). + +As the rotation frequency increases: +- one pole goes to lower frequencies while the other goes to higher frequencies +- one zero appears between the two poles +- the zero disappears when $\omega > \sqrt{\frac{k}{m}}$ and the low frequency pole becomes unstable (positive real part) + +To stabilize the unstable pole, we need a control bandwidth of at least twice of frequency of the unstable pole. + +#+begin_src matlab :exports none :results silent + ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] + m = mlight; % mass of the sample [kg] + + kTuv = kvc; + cTuv = 0.1*sqrt(kTuv*m); + + Gs = {zeros(1, length(ws))}; + + for i = 1:length(ws) + w = ws(i); + Gs{i} = linearize(mdl, io, 0.1); + end +#+end_src + +#+begin_src matlab :exports none :results silent + freqs = logspace(-2, 2, 1000); + + figure; + ax1 = subaxis(2,1,1); + hold on; + for i = 1:length(ws) + plot(freqs, abs(squeeze(freqresp(Gs{i}(1, 1), freqs, 'Hz')))); + end + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + set(gca, 'XTickLabel',[]); + ylabel('Magnitude [m/N]'); + + ax2 = subaxis(2,1,2); + hold on; + for i = 1:length(ws) + plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}(1, 1), freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); + end + hold off; + yticks(-180:90:180); + ylim([-180 180]); + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + legend('Location', 'northeast'); + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:Guu_ws +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/Guu_ws.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:Guu_ws +#+CAPTION: Diagonal term as a function of the rotation frequency +#+RESULTS: fig:Guu_ws +[[file:figs/Guu_ws.png]] + + +#+begin_src matlab :exports none :results silent + freqs = logspace(-2, 2, 1000); + + figure; + ax1 = subaxis(2,1,1); + hold on; + for i = 1:length(ws) + plot(freqs, abs(squeeze(freqresp(Gs{i}(1, 2), freqs, 'Hz')))); + end + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + set(gca, 'XTickLabel',[]); + ylabel('Magnitude [m/N]'); + + ax2 = subaxis(2,1,2); + hold on; + for i = 1:length(ws) + plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}(1, 2), freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); + end + hold off; + yticks(-180:90:180); + ylim([-180 180]); + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + legend('Location', 'northeast'); + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:Guv_ws +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/Guv_ws.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:Guv_ws +#+CAPTION: Couplin term as a function of the rotation frequency +#+RESULTS: fig:Guv_ws +[[file:figs/Guv_ws.png]] + +Then, we can look at the same plots for the piezoelectric actuator (figure ref:fig:Guu_ws_pz). The effect of the rotation frequency has very little effect on the dynamics of the system to control. + +#+begin_src matlab :exports none :results silent + ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] + m = mlight; % mass of the sample [kg] + + kTuv = kpz; + cTuv = 0.1*sqrt(kTuv*m); + + Gs = {zeros(1, length(ws))}; + + for i = 1:length(ws) + w = ws(i); + Gs{i} = linearize(mdl, io, 0.1); + end +#+end_src + +#+begin_src matlab :exports none :results silent + freqs = logspace(2, 3, 1000); + + figure; + ax1 = subaxis(2,1,1); + hold on; + for i = 1:length(ws) + plot(freqs, abs(squeeze(freqresp(Gs{i}(1, 1), freqs, 'Hz')))); + end + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + set(gca, 'XTickLabel',[]); + ylabel('Magnitude [m/N]'); + + ax2 = subaxis(2,1,2); + hold on; + for i = 1:length(ws) + plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}(1, 1), freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); + end + hold off; + yticks(-180:90:180); + ylim([-180 180]); + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + legend('Location', 'northeast'); + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:Guu_ws_pz +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/Guu_ws_pz.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:Guu_ws_pz +#+CAPTION: Diagonal term as a function of the rotation frequency +#+RESULTS: fig:Guu_ws_pz +[[file:figs/Guu_ws_pz.png]] + +*** Controller design +We design a controller based on the identification when the system is not rotating. + +The obtained controller is a lead-lag controller with the following transfer function. +#+begin_src matlab :results none :exports code + Kll = 2.0698e09*(s+40.45)*(s+1.181)/((s+0.01)*(s+198.4)*(s+2790)); + K = [Kll 0; + 0 Kll]; +#+end_src + +The loop gain is displayed figure ref:fig:Gvc_loop_gain. + +#+begin_src matlab :exports none :results silent + freqs = logspace(-2, 2, 1000); + + figure; + % Amplitude + ax1 = subaxis(2,1,1); + hold on; + plot(freqs, abs(squeeze(freqresp(Gvc('Du', 'fu')*Kll, freqs, 'Hz'))), '-'); + set(gca,'xscale','log'); set(gca,'yscale','log'); + ylabel('Amplitude [m/N]'); + set(gca, 'XTickLabel',[]); + hold off; + % Phase + ax2 = subaxis(2,1,2); + hold on; + plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gvc('Du', 'fu')*Kll, freqs, 'Hz')))), '-'); + set(gca,'xscale','log'); + yticks(-180:180:180); + ylim([-180 180]); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + hold off; + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:Gvc_loop_gain +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/Gvc_loop_gain.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:Gvc_loop_gain +#+CAPTION: Loop gain obtained for a lead-lag controller on the system with a voice coil +#+RESULTS: fig:Gvc_loop_gain +[[file:figs/Gvc_loop_gain.png]] + +*** Controlling the rotating system +We here want to see if the system is robust with respect to the rotation speed. We then use the controller based on the non-rotating system, and see if the system is stable and its dynamics. + +We can then plot the same loop gain with the rotating system using the same controller (figure ref:fig:Gtvc_loop_gain). The result obtained is unstable. + +#+begin_src matlab :exports none :results silent + freqs = logspace(-2, 2, 1000); + + figure; + % Amplitude + ax1 = subaxis(2,1,1); + hold on; + plot(freqs, abs(squeeze(freqresp(Gtvc('Du', 'fu')*Kll, freqs, 'Hz'))), '-'); + set(gca,'xscale','log'); set(gca,'yscale','log'); + ylabel('Amplitude [m/N]'); + set(gca, 'XTickLabel',[]); + hold off; + % Phase + ax2 = subaxis(2,1,2); + hold on; + plot(freqs, 180/pi*angle(squeeze(freqresp(Gtvc('Du', 'fu')*Kll, freqs, 'Hz'))), '-'); + set(gca,'xscale','log'); + yticks(-180:180:180); + ylim([-180 180]); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + hold off; + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:Gtvc_loop_gain +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/Gtvc_loop_gain.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:Gtvc_loop_gain +#+CAPTION: Loop gain with the rotating system +#+RESULTS: fig:Gtvc_loop_gain +[[file:figs/Gtvc_loop_gain.png]] + +We can look at the poles of the system where we control only one direction ($u$ for instance). We obtain a pole with a positive real part. + +#+begin_important + The system is then unstable when controlling only one direction. +#+end_important + +#+begin_src matlab :results table :exports both + pole(feedback(Gtvc, blkdiag(Kll, 0))) +#+end_src + +#+RESULTS: +| -2798 | +| -58.916+94.248i | +| -58.916-94.248i | +| -71.644 | +| 3.1647 | +| -3.3034 | +| -1.1901 | + +However, when we look at the poles of the closed loop with a diagonal controller, all the poles have negative real part and the system is stable. +#+begin_src matlab :results table :exports both + pole(feedback(Gtvc, blkdiag(Kll, Kll))) +#+end_src + +#+RESULTS: +| -2798+0.035765i | +| -2798-0.035765i | +| -56.414+105.34i | +| -56.414-105.34i | +| -64.495+79.314i | +| -64.495-79.314i | +| -68.509+13.499i | +| -68.509-13.499i | +| -1.1837+0.0041422i | +| -1.1837-0.0041422i | + +Check stability of MIMO system. +#+begin_src matlab :result silent + isstable(1/(1+K*Gtvc)) + isstable(Gtvc/(1+K*Gtvc)) + isstable(Gtvc/(1+K*Gtvc)) +#+end_src + +#+RESULTS: +: 0 + +*** Close loop performance +First, we create the closed loop systems. Then, we plot the transfer function from the reference signals $[\epsilon_u, \epsilon_v]$ to the output $[d_u, d_v]$ (figure ref:fig:perfcomp). + +#+begin_src matlab :results none :exports code + S = eye(2)/(eye(2) + Gvc*K); + T = Gvc*K /(eye(2) + Gvc*K); + + St = eye(2)/(eye(2) + Gtvc*K); + Tt = Gtvc*K/(eye(2) + Gtvc*K); + + freqs = logspace(-3, 3, 1000); +#+end_src + +#+begin_src matlab :results none :exports code + figure; + bode(S, St, 2*pi*freqs, bode_opts) +#+end_src + +#+begin_src matlab :results none :exports code + figure; + bode(T, Tt, 2*pi*freqs, bode_opts) +#+end_src + +#+begin_src matlab :results none :exports code + freqs = logspace(-2, 2, 1000); + + figure; + ax1 = subplot(1,2,1); + hold on; + plot(freqs, abs(squeeze(freqresp(Tvc(1, 1), freqs, 'Hz')))); + plot(freqs, abs(squeeze(freqresp(Ttvc(1, 1), freqs, 'Hz')))); + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + xlabel('Frequency [Hz]'); ylabel('Magnitude [m/N]'); + legend({'w = 0 [rpm]', 'w = 60 [rpm]'}, 'Location', 'southwest') + title('$G_{r_u \to d_u}$') + + ax2 = subplot(1,2,2); + hold on; + plot(freqs, abs(squeeze(freqresp(Tvc(1, 2), freqs, 'Hz')))); + plot(freqs, abs(squeeze(freqresp(Ttvc(1, 2), freqs, 'Hz')))); + hold off; + xlim([freqs(1), freqs(end)]); + ylim([1e-5, 1]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + xlabel('Frequency [Hz]'); + title('$G_{r_u \to d_v}$') + + linkaxes([ax1,ax2],'x'); +#+end_src + +#+NAME: fig:perfconp +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/perfconp.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:perfconp +#+CAPTION: Close loop performance for $\omega = 0$ and $\omega = 60 rpm$ +#+RESULTS: fig:perfconp +[[file:figs/perfconp.png]] + +** Plant Control - MIMO approach +*** TODO Analysis - SVD +\[ G = U \Sigma V^H \] + +With: +- $\Sigma$ is an $2 \times 2$ matrix with 2 non-negative *singular values* $\sigma_i$, arranged in descending order along its main diagonal +- $U$ is an $2 \times 2$ unitary matrix. The columns vectors of $U$, denoted $u_i$, represent the *output directions* of the plant. They are orthonomal +- $V$ is an $2 \times 2$ unitary matrix. The columns vectors of $V$, denoted $v_i$, represent the *input directions* of the plant. They are orthonomal + +We first look at the evolution of the singular values as a function of frequency (figure ref:fig:G_sigma). +#+begin_src matlab :exports none :results silent + ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] + m = mlight; % mass of the sample [kg] + + kTuv = kvc; + cTuv = 0.1*sqrt(kTuv*m); + + Gs = {zeros(1, length(ws))}; + + for i = 1:length(ws) + w = ws(i); + Gs{i} = linearize(mdl, io, 0.1); + end +#+end_src + +#+begin_src matlab :results silent :exports none + freqs = logspace(-2, 2, 1000); + + figure; + hold on; + for i = 1:length(ws) + plot(freqs, abs(squeeze(freqresp(Gs{i}(1,1), freqs, 'Hz'))), '-'); + end + hold off; + set(gca,'xscale','log'); set(gca,'yscale','log'); +#+end_src + +#+begin_src matlab :results silent :exports none + freqs = logspace(-2, 1, 1000); + + figure; + hold on; + for i = 1:length(ws) + sv = sigma(Gs{i}, 2*pi*freqs); + set(gca,'ColorOrderIndex',i) + plot(freqs, sv(1, :), 'DisplayName', sprintf('w = %.0f rpm', ws(i)*60/2/pi)); + set(gca,'ColorOrderIndex',i) + plot(freqs, sv(2, :), '--', 'HandleVisibility', 'off'); + end + hold off; + set(gca,'xscale','log'); set(gca,'yscale','log'); + legend('location', 'southwest'); +#+end_src + +#+NAME: fig:G_sigma +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/G_sigma.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:G_sigma +#+CAPTION: caption +#+RESULTS: fig:G_sigma +#+CAPTION: Evolution of the singular values with frequency +[[file:figs/G_sigma.png]] + +We compute +#+begin_src matlab :results silent :exports code + [U,S,V] = svd(freqresp(Gtvc, 2*pi*10)); +#+end_src + +#+begin_src matlab :results output :exports results + U, S, V +#+end_src + +#+RESULTS: +#+begin_example +U, S, V +U = + -0.707101109012986 - 0.00283224868340902i -0.707104254409621 - 0.00189034277692295i + 0.00283224868340845 - 0.707101109012987i -0.00189034277692242 + 0.70710425440962i +S = + 9.01532756059351e-06 0 + 0 6.01714794171208e-06 +V = + 0.707106781186547 + 0i 0.707106781186548 + 0i + -1.57009245868378e-16 + 0.707106781186548i 1.57009245868377e-16 - 0.707106781186547i +#+end_example + +The input and output directions are related through the singular values +\[ G v_i = \sigma_i u_i \] + +So, if we consider an input in the direction $v_i$, then the output is in the direction $u_i$. Furthermore, since $\normtwo{v_i}=1$ and $\normtwo{u_i}=1$, we see that *the singular value $\sigma_i$ directly gives the gain of the matrix $G$ in this direction*. + +#+begin_src matlab + freqresp(Gtvc, 2*pi*10)*V(:, 1) +#+end_src + +#+RESULTS: +| -6.3747e-06-2.5534e-08i | +| 2.5534e-08-6.3747e-06i | + +#+begin_src matlab + S(1)*U(:, 1) +#+end_src + +#+RESULTS: +| -6.3747e-06-2.5534e-08i | +| 2.5534e-08-6.3747e-06i | + +*** Closed loop SVD +#+begin_src matlab :results silent :exports none + figure; + sigma(Tvc, Ttvc) +#+end_src + +** test + +#+begin_src matlab :exports none :results silent + figure; + % Amplitude + ax1 = subaxis(2,1,1); + hold on; + plot(freqs, abs(squeeze(freqresp(Gvc_light('du', 'fu'), freqs, 'Hz'))), '-'); + set(gca,'xscale','log'); set(gca,'yscale','log'); + ylabel('Amplitude [m/N]'); + set(gca, 'XTickLabel',[]); + hold off; + % Phase + ax2 = subaxis(2,1,2); + hold on; + plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gvc_light('du', 'fu'), freqs, 'Hz')))), '-'); + set(gca,'xscale','log'); + yticks(-180:180:180); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + hold off; + linkaxes([ax1,ax2],'x'); +#+end_src + +#+begin_src matlab :exports none :results silent + figure; + % Amplitude + ax1 = subaxis(2,1,1); + hold on; + plot(freqs, abs(squeeze(freqresp(-Gvc_light('dv', 'fv'), freqs, 'Hz'))), '-'); + set(gca,'xscale','log'); set(gca,'yscale','log'); + ylabel('Amplitude [m/N]'); + set(gca, 'XTickLabel',[]); + hold off; + % Phase + ax2 = subaxis(2,1,2); + hold on; + plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(-Gvc_light('dv', 'fv'), freqs, 'Hz')))), '-'); + set(gca,'xscale','log'); + yticks(-180:180:180); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + hold off; + linkaxes([ax1,ax2],'x'); +#+end_src + +#+begin_src matlab :exports none :results silent + figure; + bode(Gpz_light, Gvc_light); +#+end_src + +#+NAME: fig:coupling_simscape +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/coupling_simscape.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:coupling_simscape +#+CAPTION: caption +#+RESULTS: fig:coupling_simscape +[[file:figs/coupling_simscape_light.png]] + +And then with the heavy sample. +#+begin_src matlab :exports code :results silent + rot_speed = wheavy; + angle_e = 0; + m = mheavy; + + k = kpz; + c = 1e3; + Gpz_heavy = linearize(mdl, io, 0.1); + + k = kvc; + c = 1e3; + Gvc_heavy = linearize(mdl, io, 0.1); + + Gpz_heavy.InputName = {'Fu', 'Fv'}; + Gpz_heavy.OutputName = {'Du', 'Dv'}; + Gvc_heavy.InputName = {'Fu', 'Fv'}; + Gvc_heavy.OutputName = {'Du', 'Dv'}; +#+end_src + +#+begin_src matlab :exports none :results silent + figure; + bode(Gpz_heavy, Gvc_heavy); +#+end_src + +#+NAME: fig:coupling_simscape_heavy +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/coupling_simscape_heavy.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:coupling_simscape_heavy +#+CAPTION: caption +#+RESULTS: fig:coupling_simscape_heavy +[[file:figs/coupling_simscape_heavy.png]] + +Plot the ratio between the main transfer function and the coupling term: +#+begin_src matlab :results silent :exports none + freqs = logspace(-2, 3, 1000); + + figure; + hold on; + plot(freqs, abs(squeeze(freqresp(Gvc_light('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gvc_light('Dv', 'Fu'), freqs, 'Hz')))); + plot(freqs, abs(squeeze(freqresp(Gpz_light('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gpz_light('Dv', 'Fu'), freqs, 'Hz')))); + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + xlabel('Frequency [Hz]'); ylabel('Coupling ratio'); + legend({'Voice Coil', 'Piezoelectric'}) +#+end_src + +#+NAME: fig:coupling_ratio_simscape_light +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/coupling_ratio_simscape_light.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:coupling_ratio_simscape_light +#+CAPTION: caption +#+RESULTS: fig:coupling_ratio_simscape_light +[[file:figs/coupling_ratio_simscape_light.png]] + +#+begin_src matlab :results silent :exports none + freqs = logspace(-2, 3, 1000); + + figure; + hold on; + plot(freqs, abs(squeeze(freqresp(Gvc_heavy('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gvc_heavy('Dv', 'Fu'), freqs, 'Hz')))); + plot(freqs, abs(squeeze(freqresp(Gpz_heavy('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gpz_heavy('Dv', 'Fu'), freqs, 'Hz')))); + hold off; + xlim([freqs(1), freqs(end)]); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + xlabel('Frequency [Hz]'); ylabel('Coupling ratio'); + legend({'Voice Coil', 'Piezoelectric'}) +#+end_src + +#+NAME: fig:coupling_ratio_simscape_heavy +#+HEADER: :tangle no :exports results :results raw :noweb yes +#+begin_src matlab :var filepath="figs/coupling_ratio_simscape_heavy.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+LABEL: fig:coupling_ratio_simscape_heavy +#+CAPTION: caption +#+RESULTS: fig:coupling_ratio_simscape_heavy +[[file:figs/coupling_ratio_simscape_heavy.png]] + +*** Low rotation speed and High rotation speed +#+begin_src matlab :exports code :results silent + rot_speed = 2*pi/60; angle_e = 0; + G_low = linearize(mdl, io, 0.1); + + rot_speed = 2*pi; angle_e = 0; + G_high = linearize(mdl, io, 0.1); + + G_low.InputName = {'Fu', 'Fv'}; + G_low.OutputName = {'Du', 'Dv'}; + G_high.InputName = {'Fu', 'Fv'}; + G_high.OutputName = {'Du', 'Dv'}; +#+end_src + +#+begin_src matlab :results silent + figure; + bode(G_low, G_high); +#+end_src + +** Identification in the fixed frame +Let's define some options as well as the inputs and outputs for linearization. +#+begin_src matlab :exports code :results silent + %% Options for Linearized + options = linearizeOptions; + options.SampleTime = 0; + + %% Name of the Simulink File + mdl = 'rotating_frame'; + + %% Input/Output definition + io(1) = linio([mdl, '/fx'], 1, 'input'); + io(2) = linio([mdl, '/fy'], 1, 'input'); + + io(3) = linio([mdl, '/dx'], 1, 'output'); + io(4) = linio([mdl, '/dy'], 1, 'output'); +#+end_src + +We then define the error estimation of the error and the rotational speed. +#+begin_src matlab :exports code :results silent + %% Run the linearization + angle_e = 0; + rot_speed = 0; +#+end_src + +Finally, we run the linearization. +#+begin_src matlab :exports code :results silent + G = linearize(mdl, io, 0); + + %% Input/Output names + G.InputName = {'Fx', 'Fy'}; + G.OutputName = {'Dx', 'Dy'}; +#+end_src + +#+begin_src matlab :exports code :results silent + %% Run the linearization + angle_e = 0; + rot_speed = 2*pi; + Gr = linearize(mdl, io, 0); + + %% Input/Output names + Gr.InputName = {'Fx', 'Fy'}; + Gr.OutputName = {'Dx', 'Dy'}; +#+end_src + +#+begin_src matlab :exports code :results silent + %% Run the linearization + angle_e = 1*2*pi/180; + rot_speed = 2*pi; + Ge = linearize(mdl, io, 0); + + %% Input/Output names + Ge.InputName = {'Fx', 'Fy'}; + Ge.OutputName = {'Dx', 'Dy'}; +#+end_src + +#+begin_src matlab :exports code :results silent + figure; + bode(G); + % exportFig('G_x_y', 'wide-tall'); + + figure; + bode(Ge); + % exportFig('G_x_y_e', 'normal-normal'); +#+end_src + +** Identification from actuator forces to displacement in the fixed frame +#+begin_src matlab :exports code :results silent + %% Options for Linearized + options = linearizeOptions; + options.SampleTime = 0; + + %% Name of the Simulink File + mdl = 'rotating_frame'; + + %% Input/Output definition + io(1) = linio([mdl, '/fu'], 1, 'input'); + io(2) = linio([mdl, '/fv'], 1, 'input'); + + io(3) = linio([mdl, '/dx'], 1, 'output'); + io(4) = linio([mdl, '/dy'], 1, 'output'); +#+end_src + +#+begin_src matlab :exports code :results silent + rot_speed = 2*pi; + angle_e = 0; + G = linearize(mdl, io, 0.0); + + G.InputName = {'Fu', 'Fv'}; + G.OutputName = {'Dx', 'Dy'}; +#+end_src + +#+begin_src matlab :exports code :results silent + rot_speed = 2*pi; + angle_e = 0; + G1 = linearize(mdl, io, 0.4); + + G1.InputName = {'Fu', 'Fv'}; + G1.OutputName = {'Dx', 'Dy'}; +#+end_src + +#+begin_src matlab :exports code :results silent + rot_speed = 2*pi; + angle_e = 0; + G2 = linearize(mdl, io, 0.8); + + G2.InputName = {'Fu', 'Fv'}; + G2.OutputName = {'Dx', 'Dy'}; +#+end_src + +#+begin_src matlab :exports code :results silent + figure; + bode(G, G1, G2); + exportFig('G_u_v_to_x_y', 'wide-tall'); +#+end_src + +** Effect of the X-Y stage stiffness + <> + +*** TODO At full speed, check how the coupling changes with the stiffness of the actuators + +* Control Implementation + <> + +** Measurement in the fixed reference frame + +* Bibliography :ignore: +# #+BIBLIOGRAPHY: /home/tdehaeze/MEGA/These/Ressources/references.bib plain option:-a option:-noabstract option:-nokeywords option:-noheader option:-nofooter option:-nobibsource limit:t diff --git a/matlab/control.m b/matlab/control.m new file mode 100644 index 0000000..74c069b --- /dev/null +++ b/matlab/control.m @@ -0,0 +1,21 @@ +%% Controller +s = tf('s'); +K = 4.5724e11*(s+44.46)/((s+8.127e-08)*(s+0.0002334)*(s+384.9)); + +%% Open Simulink for Control +open rotating_frame_ctrl.slx + +sim rotating_frame_ctrl.slx + +%% +figure; +hold on; +plot(sim_out.Time, sim_out.Data(:, 1)); +plot(sim_out.Time, sim_out.Data(:, 2)); +hold off; +xlabel('Time (s)'); +ylabel('Displacement (m)'); +legend({'Dx', 'Dy'}); + +exportFig('D_x_y', 'wide-tall'); + diff --git a/matlab/id_non_rot_frame.m b/matlab/id_non_rot_frame.m new file mode 100644 index 0000000..556e8ab --- /dev/null +++ b/matlab/id_non_rot_frame.m @@ -0,0 +1,52 @@ +%% Open Simulink file +open rotating_frame.slx + +%% Options for Linearized +options = linearizeOptions; +options.SampleTime = 0; + +%% Name of the Simulink File +mdl = 'rotating_frame'; + +%% Input/Output definition +io(1) = linio([mdl, '/fx'], 1, 'input'); +io(2) = linio([mdl, '/fy'], 1, 'input'); + +io(3) = linio([mdl, '/dx'], 1, 'output'); +io(4) = linio([mdl, '/dy'], 1, 'output'); + +%% Run the linearization +angle_e = 0; rot_speed = 0; +G = linearize(mdl, io, 0); + +%% Input/Output names +G.InputName = {'Fx', 'Fy'}; +G.OutputName = {'Dx', 'Dy'}; + +%% Run the linearization +angle_e = 0; rot_speed = 2*pi; +Gr = linearize(mdl, io, 0); + +%% Input/Output names +Gr.InputName = {'Fx', 'Fy'}; +Gr.OutputName = {'Dx', 'Dy'}; + + +%% Run the linearization +angle_e = 1*2*pi/180; rot_speed = 2*pi; +Ge = linearize(mdl, io, 0); + +%% Input/Output names +Ge.InputName = {'Fx', 'Fy'}; +Ge.OutputName = {'Dx', 'Dy'}; + +%% +f = figure('visible', 'off'); +bode(G); +exportFig('G_x_y', 'wide-tall'); +close(f); + +figure; +bode(Ge); +% exportFig('G_x_y_e', 'normal-normal'); + diff --git a/matlab/id_rot_fix.m b/matlab/id_rot_fix.m new file mode 100644 index 0000000..e61d548 --- /dev/null +++ b/matlab/id_rot_fix.m @@ -0,0 +1,44 @@ +%% Open Simulink file +open rotating_frame.slx + +%% Options for Linearized +options = linearizeOptions; +options.SampleTime = 0; + +%% Name of the Simulink File +mdl = 'rotating_frame'; + +%% Input/Output definition +io(1) = linio([mdl, '/fu'], 1, 'input'); +io(2) = linio([mdl, '/fv'], 1, 'input'); + +io(3) = linio([mdl, '/dx'], 1, 'output'); +io(4) = linio([mdl, '/dy'], 1, 'output'); + +%% Run the linearization +rot_speed = 2*pi; +G = linearize(mdl, io, 0.0); + +%% Input/Output names +G.InputName = {'Fu', 'Fv'}; +G.OutputName = {'Dx', 'Dy'}; + +%% Run the linearization +G1 = linearize(mdl, io, 0.4); + +%% Input/Output names +G1.InputName = {'Fu', 'Fv'}; +G1.OutputName = {'Dx', 'Dy'}; + +%% Run the linearization +G2 = linearize(mdl, io, 0.8); + +%% Input/Output names +G2.InputName = {'Fu', 'Fv'}; +G2.OutputName = {'Dx', 'Dy'}; + +figure; +bode(G, G1, G2); +exportFig('G_u_v_to_x_y', 'wide-tall'); + + diff --git a/matlab/identification.m b/matlab/identification.m new file mode 100644 index 0000000..723f0b5 --- /dev/null +++ b/matlab/identification.m @@ -0,0 +1,46 @@ +%% Open Simulink file +open rotating_frame.slx + +%% Options for Linearized +options = linearizeOptions; +options.SampleTime = 0; + +%% Name of the Simulink File +mdl = 'rotating_frame'; + +%% Input/Output definition +io(1) = linio([mdl, '/fu'], 1, 'input'); +io(2) = linio([mdl, '/fv'], 1, 'input'); + +io(3) = linio([mdl, '/du'], 1, 'output'); +io(4) = linio([mdl, '/dv'], 1, 'output'); + +%% Run the linearization +rot_speed = 0; +G = linearize(mdl, io, 0.0); + +%% Input/Output names +G.InputName = {'Fu', 'Fv'}; +G.OutputName = {'Du', 'Dv'}; + +%% Run the linearization +rot_speed = 2*pi/60; +G1 = linearize(mdl, io, 0.0); + +%% Input/Output names +G1.InputName = {'Fu', 'Fv'}; +G1.OutputName = {'Du', 'Dv'}; + +%% Run the linearization +rot_speed = 2*pi; +G2 = linearize(mdl, io, 0.0); + +%% Input/Output names +G2.InputName = {'Fu', 'Fv'}; +G2.OutputName = {'Du', 'Dv'}; + +figure; +bode(G, G1, G2); +legend({'$\omega = 0$', '$\omega = 2pi/60$', '$\omega = 2pi$'}) +exportFig('G_u_v', 'normal-normal'); + diff --git a/rotating_frame.html b/rotating_frame.html deleted file mode 100644 index 94b79447d0c53fc893f4c0c8f870ff1b6d4fe248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92488 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 -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: - -#+LATEX_CLASS: cleanreport -#+LaTeX_CLASS_OPTIONS: [tocnp, secbreak, minted] -#+LaTeX_HEADER: \usepackage{svg} -#+LaTeX_HEADER: \newcommand{\authorFirstName}{Thomas} -#+LaTeX_HEADER: \newcommand{\authorLastName}{Dehaeze} -#+LaTeX_HEADER: \newcommand{\authorEmail}{dehaeze.thomas@gmail.com} - -#+PROPERTY: header-args:matlab :session *MATLAB* -#+PROPERTY: header-args:matlab+ :comments org -#+PROPERTY: header-args:matlab+ :exports both -#+PROPERTY: header-args:matlab+ :eval no-export -#+PROPERTY: header-args:matlab+ :output-dir Figures -#+PROPERTY: header-args:matlab+ :mkdirp yes -:END: - -* Introduction -The objective of this note it to highlight some control problems that arises when controlling the position of an object using actuators that are rotating with respect to a fixed reference frame. - -In section ref:sec:system, a simple system composed of a spindle and a translation stage is defined and the equations of motion are written. -The rotation induces some coupling between the actuators and their displacement, and modifies the dynamics of the system. -This is studied using the equations, and some numerical computations are used to compare the use of voice coil and piezoelectric actuators. - -Then, in section ref:sec:control_strategies, two different control approach are compared where: -- the measurement is made in the fixed frame -- the measurement is made in the rotating frame - -In section ref:sec:simscape, the analytical study will be validated using a multi body model of the studied system. - -Finally, in section ref:sec:control, the control strategies are implemented using Simulink and Simscape and compared. - -* System Description and Analysis - :PROPERTIES: - :HEADER-ARGS:matlab+: :tangle system_numerical_analysis.m - :END: - <> -** System description -The system consists of one 2 degree of freedom translation stage on top of a spindle (figure ref:fig:rotating_frame_2dof). - -The control inputs are the forces applied by the actuators of the translation stage ($F_u$ and $F_v$). -As the translation stage is rotating around the Z axis due to the spindle, the forces are applied along $u$ and $v$. - -The measurement is either the $x-y$ displacement of the object located on top of the translation stage or the $u-v$ displacement of the sample with respect to a fixed reference frame. - -#+name: fig:rotating_frame_2dof -#+caption: Schematic of the mecanical system -[[./Figures/rotating_frame_2dof.png]] - -In the following block diagram: -- $G$ is the transfer function from the forces applied in the actuators to the measurement -- $K$ is the controller to design -- $J$ is a Jacobian matrix usually used to change the reference frame - -Indices $x$ and $y$ corresponds to signals in the fixed reference frame (along $\vec{i}_x$ and $\vec{i}_y$): -- $D_x$ is the measured position of the sample -- $r_x$ is the reference signal which corresponds to the wanted $D_x$ -- $\epsilon_x$ is the position error - -Indices $u$ and $v$ corresponds to signals in the rotating reference frame ($\vec{i}_u$ and $\vec{i}_v$): -- $F_u$ and $F_v$ are forces applied by the actuators -- $\epsilon_u$ and $\epsilon_v$ are position error of the sample along $\vec{i}_u$ and $\vec{i}_v$ - -** Equations - <> -Based on the figure ref:fig:rotating_frame_2dof, we can write the equations of motion of the system. - -Let's express the kinetic energy $T$ and the potential energy $V$ of the mass $m$: -#+name: eq:energy_inertial_frame -\begin{align} -T & = \frac{1}{2} m \left( \dot{x}^2 + \dot{y}^2 \right) \\ -V & = \frac{1}{2} k \left( x^2 + y^2 \right) -\end{align} - -The Lagrangian is the kinetic energy minus the potential energy. -#+name: eq:lagrangian_inertial_frame -\begin{equation} -L = T-V = \frac{1}{2} m \left( \dot{x}^2 + \dot{y}^2 \right) - \frac{1}{2} k \left( x^2 + y^2 \right) -\end{equation} - - -The partial derivatives of the Lagrangian with respect to the variables $(x, y)$ are: -#+name: eq:inertial_frame_deriv -\begin{align*} -\frac{\partial L}{\partial x} & = -kx \\ -\frac{\partial L}{\partial y} & = -ky \\ -\frac{d}{dt}\frac{\partial L}{\partial \dot{x}} & = m\ddot{x} \\ -\frac{d}{dt}\frac{\partial L}{\partial \dot{y}} & = m\ddot{y} -\end{align*} - -The external forces applied to the mass are: -\begin{align*} -F_{\text{ext}, x} &= F_u \cos{\theta} - F_v \sin{\theta}\\ -F_{\text{ext}, y} &= F_u \sin{\theta} + F_v \cos{\theta} -\end{align*} - -By appling the Lagrangian equations, we obtain: -\begin{align} -m\ddot{x} + kx = F_u \cos{\theta} - F_v \sin{\theta}\\ -m\ddot{y} + ky = F_u \sin{\theta} + F_v \cos{\theta} -\end{align} - -We then change coordinates from $(x, y)$ to $(d_x, d_y, \theta)$. -\begin{align*} -x & = d_u \cos{\theta} - d_v \sin{\theta}\\ -y & = d_u \sin{\theta} + d_v \cos{\theta} -\end{align*} - -We obtain: -\begin{align*} -\ddot{x} & = \ddot{d_u} \cos{\theta} - 2\dot{d_u}\dot{\theta}\sin{\theta} - d_u\ddot{\theta}\sin{\theta} - d_u\dot{\theta}^2 \cos{\theta} - - \ddot{d_v} \sin{\theta} - 2\dot{d_v}\dot{\theta}\cos{\theta} - d_v\ddot{\theta}\cos{\theta} + d_v\dot{\theta}^2 \sin{\theta} \\ -\ddot{y} & = \ddot{d_u} \sin{\theta} + 2\dot{d_u}\dot{\theta}\cos{\theta} + d_u\ddot{\theta}\cos{\theta} - d_u\dot{\theta}^2 \sin{\theta} - + \ddot{d_v} \cos{\theta} - 2\dot{d_v}\dot{\theta}\sin{\theta} - d_v\ddot{\theta}\sin{\theta} - d_v\dot{\theta}^2 \cos{\theta} \\ -\end{align*} - -By injecting the previous result into the Lagrangian equation, we obtain: -\begin{align*} - m \ddot{d_u} \cos{\theta} - 2m\dot{d_u}\dot{\theta}\sin{\theta} - m d_u\ddot{\theta}\sin{\theta} - m d_u\dot{\theta}^2 \cos{\theta} --m \ddot{d_v} \sin{\theta} - 2m\dot{d_v}\dot{\theta}\cos{\theta} - m d_v\ddot{\theta}\cos{\theta} + m d_v\dot{\theta}^2 \sin{\theta} -+ k d_u \cos{\theta} - k d_v \sin{\theta} = F_u \cos{\theta} - F_v \sin{\theta} \\ - m \ddot{d_u} \sin{\theta} + 2m\dot{d_u}\dot{\theta}\cos{\theta} + m d_u\ddot{\theta}\cos{\theta} - m d_u\dot{\theta}^2 \sin{\theta} -+ m \ddot{d_v} \cos{\theta} - 2m\dot{d_v}\dot{\theta}\sin{\theta} - m d_v\ddot{\theta}\sin{\theta} - m d_v\dot{\theta}^2 \cos{\theta} -+ k d_u \sin{\theta} + k d_v \cos{\theta} = F_u \sin{\theta} + F_v \cos{\theta} -\end{align*} - -Which is equivalent to: -\begin{align*} - m \ddot{d_u} - 2m\dot{d_u}\dot{\theta}\frac{\sin{\theta}}{\cos{\theta}} - m d_u\ddot{\theta}\frac{\sin{\theta}}{\cos{\theta}} - m d_u\dot{\theta}^2 --m \ddot{d_v} \frac{\sin{\theta}}{\cos{\theta}} - 2m\dot{d_v}\dot{\theta} - m d_v\ddot{\theta} + m d_v\dot{\theta}^2 \frac{\sin{\theta}}{\cos{\theta}} -+ k d_u - k d_v \frac{\sin{\theta}}{\cos{\theta}} = F_u - F_v \frac{\sin{\theta}}{\cos{\theta}} \\ - m \ddot{d_u} + 2m\dot{d_u}\dot{\theta}\frac{\cos{\theta}}{\sin{\theta}} + m d_u\ddot{\theta}\frac{\cos{\theta}}{\sin{\theta}} - m d_u\dot{\theta}^2 -+ m \ddot{d_v} \frac{\cos{\theta}}{\sin{\theta}} - 2m\dot{d_v}\dot{\theta} - m d_v\ddot{\theta} - m d_v\dot{\theta}^2 \frac{\cos{\theta}}{\sin{\theta}} -+ k d_u + k d_v \frac{\cos{\theta}}{\sin{\theta}} = F_u + F_v \frac{\cos{\theta}}{\sin{\theta}} -\end{align*} - -We can then subtract and add the previous equations to obtain the following equations: -#+begin_important -#+NAME: eq:du_coupled -\begin{equation} - m \ddot{d_u} + (k - m\dot{\theta}^2) d_u = F_u + 2 m\dot{d_v}\dot{\theta} + m d_v\ddot{\theta} -\end{equation} -#+NAME: eq:dv_coupled -\begin{equation} - m \ddot{d_v} + (k - m\dot{\theta}^2) d_v = F_v - 2 m\dot{d_u}\dot{\theta} - m d_u\ddot{\theta} -\end{equation} -#+end_important - -We obtain two differential equations that are coupled through: -- *Euler forces*: $m d_v \ddot{\theta}$ -- *Coriolis forces*: $2 m \dot{d_v} \dot{\theta}$ - -Without the coupling terms, each equation is the equation of a one degree of freedom mass-spring system with mass $m$ and stiffness $k- m\dot{\theta}^2$. -Thus, the term $- m\dot{\theta}^2$ acts like a negative stiffness (due to *centrifugal forces*). - -The forces induced by the rotating reference frame are independent of the stiffness of the actuator. -The resulting effect of those forces should then be higher when using softer actuators. - -** Numerical Values for the NASS -#+begin_src matlab :exports none :results silent :noweb yes - <> -#+end_src - -Let's define the parameters for the NASS. -#+begin_src matlab :exports none :results silent - mlight = 35; % Mass for light sample [kg] - mheavy = 85; % Mass for heavy sample [kg] - - wlight = 2*pi; % Max rot. speed for light sample [rad/s] - wheavy = 2*pi/60; % Max rot. speed for heavy sample [rad/s] - - kvc = 1e3; % Voice Coil Stiffness [N/m] - kpz = 1e8; % Piezo Stiffness [N/m] - - wdot = 1; % Maximum rotation acceleration [rad/s2] - - d = 0.01; % Maximum excentricity from rotational axis [m] - ddot = 0.2; % Maximum Horizontal speed [m/s] - - save('./mat/parameters.mat'); -#+end_src - -#+begin_src matlab :results table :exports results - labels = {'Light sample mass [kg]', ... - 'Heavy sample mass [kg]', ... - 'Max rot. speed - light [rpm]', ... - 'Max rot. speed - heavy [rpm]', ... - 'Voice Coil Stiffness [N/m]', ... - 'Piezo Stiffness [N/m]', ... - 'Max rot. acceleration [rad/s2]', ... - 'Max mass excentricity [m]', ... - 'Max Horizontal speed [m/s]'}; - data = [mlight, mheavy, 60*wlight/2/pi, 60*wheavy/2/pi, kvc, kpz, wdot, d, ddot]; - data2orgtable(data', labels, {}, ' %.1e ') -#+end_src - -#+RESULTS: -| Light sample mass [kg] | 3.5e+01 | -| Heavy sample mass [kg] | 8.5e+01 | -| Max rot. speed - light [rpm] | 6.0e+01 | -| Max rot. speed - heavy [rpm] | 1.0e+00 | -| Voice Coil Stiffness [N/m] | 1.0e+03 | -| Piezo Stiffness [N/m] | 1.0e+08 | -| Max rot. acceleration [rad/s2] | 1.0e+00 | -| Max mass excentricity [m] | 1.0e-02 | -| Max Horizontal speed [m/s] | 2.0e-01 | - -** Euler and Coriolis forces - Numerical Result -First we will determine the value for Euler and Coriolis forces during regular experiment. -- *Euler forces*: $m d_v \ddot{\theta}$ -- *Coriolis forces*: $2 m \dot{d_v} \dot{\theta}$ - -#+begin_src matlab :exports none :results silent - Felight = mlight*d*wdot; - Feheavy = mheavy*d*wdot; - - Fclight = 2*mlight*ddot*wlight; - Fcheavy = 2*mheavy*ddot*wheavy; -#+end_src - -The obtained values are displayed in table ref:tab:euler_coriolis. - -#+begin_src matlab :results value table :exports results :post addhdr(*this*) - data = [Fclight, Fcheavy ; - Felight, Feheavy]; - data2orgtable(data, {'Coriolis', 'Euler'}, {'Light', 'Heavy'}, ' %.1fN ') -#+end_src - -#+NAME: tab:euler_coriolis -#+CAPTION: Euler and Coriolis forces for the NASS -#+RESULTS: -| | Light | Heavy | -|----------+-------+-------| -| Coriolis | 88.0N | 3.6N | -| Euler | 0.4N | 0.8N | - -** Negative Spring Effect - Numerical Result -The negative stiffness due to the rotation is equal to $-m{\omega_0}^2$. - -#+begin_src matlab :exports none :results silent - Klight = mlight*wlight^2; - Kheavy = mheavy*wheavy^2; -#+end_src - -The values for the negative spring effect are displayed in table ref:tab:negative_spring. - -This is definitely negligible when using piezoelectric actuators. It may not be the case when using voice coil actuators. - -#+begin_src matlab :results value table :exports results :post addhdr(*this*) - data = [Klight, Kheavy]; - data2orgtable(data, {'Neg. Spring'}, {'Light', 'Heavy'}, ' %.1f[N/m] ') -#+end_src - -#+NAME: tab:negative_spring -#+CAPTION: Negative Spring effect -#+RESULTS: -| | Light | Heavy | -|-------------+-------------+----------| -| Neg. Spring | 1381.7[N/m] | 0.9[N/m] | - -** Limitations due to coupling -To simplify, we consider a constant rotating speed $\dot{\theta} = \omega_0$ and thus $\ddot{\theta} = 0$. - -From equations eqref:eq:du_coupled and eqref:eq:dv_coupled, we obtain: -\begin{align*} - (m s^2 + (k - m{\omega_0}^2)) d_u &= F_u + 2 m {\omega_0} s d_v \\ - (m s^2 + (k - m{\omega_0}^2)) d_v &= F_v - 2 m {\omega_0} s d_u \\ -\end{align*} - -From second equation: -\[ d_v = \frac{1}{m s^2 + (k - m{\omega_0}^2)} F_v - \frac{2 m {\omega_0} s}{m s^2 + (k - m{\omega_0}^2)} d_u \] - -And we re-inject $d_v$ into the first equation: -\begin{equation*} -(m s^2 + (k - m{\omega_0}^2)) d_u = F_u + \frac{2 m {\omega_0} s}{m s^2 + (k - m{\omega_0}^2)} F_v - \frac{(2 m {\omega_0} s)^2}{m s^2 + (k - m{\omega_0}^2)} d_u -\end{equation*} - -\begin{equation*} -\frac{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2}{m s^2 + (k - m{\omega_0}^2)} d_u = F_u + \frac{2 m {\omega_0} s}{m s^2 + (k - m{\omega_0}^2)} F_v -\end{equation*} - -Finally we obtain $d_u$ function of $F_u$ and $F_v$. -\[ d_u = \frac{m s^2 + (k - m{\omega_0}^2)}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} F_u + \frac{2 m {\omega_0} s}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} F_v \] - -Similarly we can obtain $d_v$ function of $F_u$ and $F_v$: -\[ d_v = \frac{m s^2 + (k - m{\omega_0}^2)}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} F_v - \frac{2 m {\omega_0} s}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} F_u \] - -The two previous equations can be written in a matrix form: -#+begin_important -#+NAME: eq:coupledplant -\begin{equation} -\begin{bmatrix} d_u \\ d_v \end{bmatrix} = -\frac{1}{(m s^2 + (k - m{\omega_0}^2))^2 + (2 m {\omega_0} s)^2} -\begin{bmatrix} - ms^2 + (k-m{\omega_0}^2) & 2 m \omega_0 s \\ - -2 m \omega_0 s & ms^2 + (k-m{\omega_0}^2) \\ -\end{bmatrix} -\begin{bmatrix} F_u \\ F_v \end{bmatrix} -\end{equation} -#+end_important - -Then, coupling is negligible if $|-m \omega^2 + (k - m{\omega_0}^2)| \gg |2 m {\omega_0} \omega|$. - -*** Numerical Analysis -We plot on the same graph $\frac{|-m \omega^2 + (k - m {\omega_0}^2)|}{|2 m \omega_0 \omega|}$ for the voice coil and the piezo: -- with the light sample (figure ref:fig:coupling_light). -- with the heavy sample (figure ref:fig:coupling_heavy). - -#+begin_src matlab :exports none :results silent - f = logspace(-1, 3, 1000); - - figure; - hold on; - plot(f, abs(-mlight*(2*pi*f).^2 + kvc - mlight * wlight^2)./abs(2*mlight*wlight*2*pi*f), 'DisplayName', 'Voice Coil') - plot(f, abs(-mlight*(2*pi*f).^2 + kpz - mlight * wlight^2)./abs(2*mlight*wlight*2*pi*f), 'DisplayName', 'Piezo') - plot(f, ones(1, length(f)), 'k--', 'HandleVisibility', 'off') - hold off; - xlim([f(1), f(end)]); - set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); - xlabel('Frequency [Hz]'); - legend('Location', 'northeast'); -#+end_src - -#+NAME: fig:coupling_light -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/coupling_light.pdf" :var figsize="normal-normal" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:coupling_light -#+CAPTION: Relative Coupling for light mass and high rotation speed -#+RESULTS: fig:coupling_light -[[file:Figures/coupling_light.png]] -#+begin_src matlab :exports none :results silent - figure; - hold on; - plot(f, abs(-mheavy*(2*pi*f).^2 + kvc - mheavy * wheavy^2)./abs(2*mheavy*wheavy*2*pi*f), 'DisplayName', 'Voice Coil') - plot(f, abs(-mheavy*(2*pi*f).^2 + kpz - mheavy * wheavy^2)./abs(2*mheavy*wheavy*2*pi*f), 'DisplayName', 'Piezo') - plot(f, ones(1, length(f)), 'k--', 'HandleVisibility', 'off') - hold off; - xlim([f(1), f(end)]); - set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); - xlabel('Frequency [Hz]'); - legend('Location', 'northeast'); -#+end_src - -#+NAME: fig:coupling_heavy -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/coupling_heavy.pdf" :var figsize="normal-normal" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:coupling_heavy -#+CAPTION: Relative Coupling for heavy mass and low rotation speed -#+RESULTS: fig:coupling_heavy -[[file:Figures/coupling_heavy.png]] - -#+begin_important -Coupling is higher for actuators with small stiffness. -#+end_important - -** Limitations due to negative stiffness effect -If $\max{\dot{\theta}} \ll \sqrt{\frac{k}{m}}$, then the negative spring effect is negligible and $k - m\dot{\theta}^2 \approx k$. - -Let's estimate what is the maximum rotation speed for which the negative stiffness effect is still negligible ($\omega_\text{max} = 0.1 \sqrt{\frac{k}{m}}$). Results are shown table ref:tab:negative_stiffness. -#+begin_src matlab :results table :exports results :post addhdr(*this*) - data = 0.1*60*(1/2/pi)*[sqrt(kvc/mlight), sqrt(kpz/mlight); - sqrt(kvc/mheavy), sqrt(kpz/mheavy)]; - data2orgtable(data, {'Light', 'Heavy'}, {'Voice Coil', 'Piezo'}, ' %.0f[rpm] ') -#+end_src - -#+NAME: tab:negative_stiffness -#+CAPTION: Maximum rotation speed at which negative stiffness is negligible ($0.1\sqrt{\frac{k}{m}}$) -#+RESULTS: -| | Voice Coil | Piezo | -|-------+------------+-----------| -| Light | 5[rpm] | 1614[rpm] | -| Heavy | 3[rpm] | 1036[rpm] | - -The negative spring effect is proportional to the rotational speed $\omega$. -The system dynamics will be much more affected when using soft actuator. - -#+begin_important - Negative stiffness effect has very important effect when using soft actuators. -#+end_important - -The system can even goes unstable when $m \omega^2 > k$, that is when the centrifugal forces are higher than the forces due to stiffness. - -From this analysis, we can determine the lowest practical stiffness that is possible to use: $k_\text{min} = 10 m \omega^2$ (table sec:tab:min_k) - -#+begin_src matlab :results table :exports results :post addhdr(*this*) - data = 10*[mlight*2*pi, mheavy*2*pi/60] - data2orgtable(data, {'k min [N/m]'}, {'Light', 'Heavy'}, ' %.0f ') -#+end_src - -#+NAME: tab:min_k -#+CAPTION: Minimum possible stiffness -#+RESULTS: -| | Light | Heavy | -|-------------+-------+-------| -| k min [N/m] | 2199 | 89 | - -** Effect of rotation speed on the plant -As shown in equation eqref:eq:coupledplant, the plant changes with the rotation speed $\omega_0$. - -Then, we compute the bode plot of the direct term and coupling term for multiple rotating speed. - -Then we compare the result between voice coil and piezoelectric actuators. - -*** Voice coil actuator -#+begin_src matlab :exports none :results silent - m = mlight; - k = kvc; - - ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] - - Gs = {zeros(1, length(ws))}; - Gcs = {zeros(1, length(ws))}; - - for i = 1:length(ws) - w = ws(i); - Gs(i) = {(m*s^2 + (k-m*w^2))/((m*s^2 + (k - m*w^2))^2 + (2*m*w*s)^2)}; - Gcs(i) = {(2*m*w*s)/((m*s^2 + (k - m*w^2))^2 + (2*m*w*s)^2)}; - end -#+end_src - -#+begin_src matlab :exports none :results silent - freqs = logspace(-2, 1, 1000); - - figure; - ax1 = subaxis(2,1,1); - hold on; - for i = 1:length(ws) - plot(freqs, abs(squeeze(freqresp(Gs{i}, freqs, 'Hz')))); - end - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - set(gca, 'XTickLabel',[]); - ylabel('Magnitude [m/N]'); - - ax2 = subaxis(2,1,2); - hold on; - for i = 1:length(ws) - plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}, freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); - end - hold off; - yticks(-180:90:180); - ylim([-180 180]); - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - legend('Location', 'southwest'); - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:G_ws_vc -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/G_ws_vc.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> - #+end_src - -#+LABEL: fig:G_ws_vc -#+CAPTION: Bode plot of the direct transfer function term (from $F_u$ to $D_u$) for multiple rotation speed - Voice coil -#+RESULTS: fig:G_ws_vc -[[file:Figures/G_ws_vc.png]] - - -#+begin_src matlab :exports none :results silent - freqs = logspace(-2, 1, 1000); - - figure; - ax1 = subaxis(2,1,1); - hold on; - for i = 1:length(ws) - plot(freqs, abs(squeeze(freqresp(Gcs{i}, freqs, 'Hz')))); - end - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - set(gca, 'XTickLabel',[]); - ylabel('Magnitude [m/N]'); - - ax2 = subaxis(2,1,2); - hold on; - for i = 1:length(ws) - plot(freqs, 180/pi*angle(squeeze(freqresp(Gcs{i}, freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); - end - hold off; - yticks(-180:90:180); - ylim([-180 180]); - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - legend('Location', 'southwest'); - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:Gc_ws_vc -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/Gc_ws_vc.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:Gc_ws_vc -#+CAPTION: caption -#+RESULTS: fig:Gc_ws_vc -[[file:Figures/Gc_ws_vc.png]] - -*** Piezoelectric actuator -#+begin_src matlab :exports none :results silent - m = mlight; - k = kpz; - - ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] - - Gs = {zeros(1, length(ws))}; - Gcs = {zeros(1, length(ws))}; - - for i = 1:length(ws) - w = ws(i); - Gs(i) = {(m*s^2 + (k-m*w^2))/((m*s^2 + (k - m*w^2))^2 + (2*m*w*s)^2)}; - Gcs(i) = {(2*m*w*s)/((m*s^2 + (k - m*w^2))^2 + (2*m*w*s)^2)}; - end -#+end_src - -#+begin_src matlab :exports none :results silent - freqs = logspace(2, 3, 1000); - - figure; - ax1 = subaxis(2,1,1); - hold on; - for i = 1:length(ws) - plot(freqs, abs(squeeze(freqresp(Gs{i}, freqs, 'Hz')))); - end - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - set(gca, 'XTickLabel',[]); - ylabel('Magnitude [m/N]'); - - ax2 = subaxis(2,1,2); - hold on; - for i = 1:length(ws) - plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}, freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); - end - hold off; - yticks(-180:90:180); - ylim([-180 180]); - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - legend('Location', 'southwest'); - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:G_ws_pz -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/G_ws_pz.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:G_ws_pz -#+CAPTION: Bode plot of the direct transfer function term (from $F_u$ to $D_u$) for multiple rotation speed - Piezoelectric actuator -#+RESULTS: fig:G_ws_pz -[[file:Figures/G_ws_pz.png]] - -#+begin_src matlab :exports none :results silent - figure; - ax1 = subaxis(2,1,1); - hold on; - for i = 1:length(ws) - plot(freqs, abs(squeeze(freqresp(Gcs{i}, freqs, 'Hz')))); - end - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - set(gca, 'XTickLabel',[]); - ylabel('Magnitude [m/N]'); - - ax2 = subaxis(2,1,2); - hold on; - for i = 1:length(ws) - plot(freqs, 180/pi*angle(squeeze(freqresp(Gcs{i}, freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); - end - hold off; - yticks(-180:90:180); - ylim([-180 180]); - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - legend('Location', 'southwest'); - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:Gc_ws_pz -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/Gc_ws_pz.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:Gc_ws_pz -#+CAPTION: Bode plot of the coupling transfer function term (from $F_u$ to $D_v$) for multiple rotation speed - Piezoelectric actuator -#+RESULTS: fig:Gc_ws_pz -[[file:Figures/Gc_ws_pz.png]] - -*** Analysis -When the rotation speed is null, the coupling terms are equal to zero and the diagonal terms corresponds to one degree of freedom mass spring system. - -When the rotation speed in not null, the resonance frequency is duplicated into two pairs of complex conjugate poles. - -As the rotation speed increases, one of the two resonant frequency goes to lower frequencies as the other one goes to higher frequencies. - -The poles of the coupling terms are the same as the poles of the diagonal terms. The magnitude of the coupling terms are increasing with the rotation speed. - -#+begin_important -As shown in the previous figures, the system with voice coil is much more sensitive to rotation speed. -#+end_important - -*** Campbell diagram -The poles of the system are computed for multiple values of the rotation frequency. To simplify the computation of the poles, we add some damping to the system. - -#+begin_src matlab :results silent :exports code - m = mlight; - k = kvc; - c = 0.1*sqrt(k*m); - - wsvc = linspace(0, 10, 100); % [rad/s] - - polesvc = zeros(2, length(wsvc)); - - for i = 1:length(wsvc) - polei = pole(1/((m*s^2 + c*s + (k - m*wsvc(i)^2))^2 + (2*m*wsvc(i)*s)^2)); - polesvc(:, i) = sort(polei(imag(polei) > 0)); - end -#+end_src - -#+begin_src matlab :results silent :exports code - m = mlight; - k = kpz; - c = 0.1*sqrt(k*m); - - wspz = linspace(0, 1000, 100); % [rad/s] - - polespz = zeros(2, length(wspz)); - - for i = 1:length(wspz) - polei = pole(1/((m*s^2 + c*s + (k - m*wspz(i)^2))^2 + (2*m*wspz(i)*s)^2)); - polespz(:, i) = sort(polei(imag(polei) > 0)); - end -#+end_src - -We then plot the real and imaginary part of the poles as a function of the rotation frequency (figures ref:fig:poles_w_vc and ref:fig:poles_w_pz). - -When the real part of one pole becomes positive, the system goes unstable. - -For the voice coil (figure ref:fig:poles_w_vc), the system is unstable when the rotation speed is above 5 rad/s. The real and imaginary part of the poles of the system with piezoelectric actuators are changing much less (figure ref:fig:poles_w_pz). - -#+begin_src matlab :results silent :exports none - figure; - % Amplitude - ax1 = subplot(1,2,1); - hold on; - plot(wsvc, real(polesvc(1, :))) - set(gca,'ColorOrderIndex',1) - plot(wsvc, real(polesvc(2, :))) - plot(wsvc, zeros(size(wsvc)), 'k--') - hold off; - xlabel('Rotation Frequency [rad/s]'); - ylabel('Pole Real Part'); - ax2 = subplot(1,2,2); - hold on; - plot(wsvc, imag(polesvc(1, :))) - set(gca,'ColorOrderIndex',1) - plot(wsvc, -imag(polesvc(1, :))) - set(gca,'ColorOrderIndex',1) - plot(wsvc, imag(polesvc(2, :))) - set(gca,'ColorOrderIndex',1) - plot(wsvc, -imag(polesvc(2, :))) - hold off; - xlabel('Rotation Frequency [rad/s]'); - ylabel('Pole Imaginary Part'); -#+end_src - -#+NAME: fig:poles_w_vc -#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes -#+begin_src matlab :var filepath="Figures/poles_w_vc.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:poles_w_vc -#+CAPTION: Real and Imaginary part of the poles of the system as a function of the rotation speed - Voice Coil and light sample -#+RESULTS: fig:poles_w_vc -[[file:Figures/poles_w_vc.png]] - - -#+begin_src matlab :results silent :exports none - figure; - % Amplitude - ax1 = subplot(1,2,1); - hold on; - plot(wspz, real(polespz(1, :))) - set(gca,'ColorOrderIndex',1) - plot(wspz, real(polespz(2, :))) - plot(wspz, zeros(size(wspz)), 'k--') - hold off; - xlabel('Rotation Frequency [rad/s]'); - ylabel('Pole Real Part'); - ax2 = subplot(1,2,2); - hold on; - plot(wspz, imag(polespz(1, :))) - set(gca,'ColorOrderIndex',1) - plot(wspz, -imag(polespz(1, :))) - set(gca,'ColorOrderIndex',1) - plot(wspz, imag(polespz(2, :))) - set(gca,'ColorOrderIndex',1) - plot(wspz, -imag(polespz(2, :))) - hold off; - xlabel('Rotation Frequency [rad/s]'); - ylabel('Pole Imaginary Part'); -#+end_src - -#+NAME: fig:poles_w_pz -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/poles_w_pz.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:poles_w_pz -#+CAPTION: Real and Imaginary part of the poles of the system as a function of the rotation speed - Piezoelectric actuator and light sample -#+RESULTS: fig:poles_w_pz -[[file:Figures/poles_w_pz.png]] - -* Control Strategies - <> -** Measurement in the fixed reference frame -First, let's consider a measurement in the fixed referenced frame. - -The transfer function from actuator $[F_u, F_v]$ to sensor $[D_x, D_y]$ is then $G(\theta)$. - -Then the measurement is subtracted to the reference signal $[r_x, r_y]$ to obtain the position error in the fixed reference frame $[\epsilon_x, \epsilon_y]$. - -The position error $[\epsilon_x, \epsilon_y]$ is then express in the rotating frame corresponding to the actuators $[\epsilon_u, \epsilon_v]$. - -Finally, the control low $K$ links the position errors $[\epsilon_u, \epsilon_v]$ to the actuator forces $[F_u, F_v]$. - -The block diagram is shown on figure ref:fig:control_measure_fixed_2dof. - -#+name: fig:control_measure_fixed_2dof -#+caption: Control with a measure from fixed frame -[[./Figures/control_measure_fixed_2dof.png]] - -The loop gain is then $L = G(\theta) K J(\theta)$. - -One question we wish to answer is: is $G(\theta) J(\theta) = G(\theta_0) J(\theta_0)$? - -** Measurement in the rotating frame -Let's consider that the measurement is made in the rotating reference frame. - -The corresponding block diagram is shown figure ref:fig:control_measure_rotating_2dof - -#+name: fig:control_measure_rotating_2dof -#+caption: Control with a measure from rotating frame -[[./Figures/control_measure_rotating_2dof.png]] - -The loop gain is $L = G K$. - -* Multi Body Model - Simscape - :PROPERTIES: - :HEADER-ARGS:matlab+: :tangle simscape_analysis.m - :END: - <> - -** Initialization -#+begin_src matlab :exports none :results silent :noweb yes - <> - - load('./mat/parameters.mat'); - - bode_opts = bodeoptions; - bode_opts.FreqUnits = 'Hz'; - bode_opts.MagUnits = 'abs'; - bode_opts.MagScale = 'log'; - bode_opts.Grid = 'on'; - bode_opts.PhaseVisible = 'off'; - bode_opts.Title.FontSize = 10; - bode_opts.XLabel.FontSize = 10; - bode_opts.YLabel.FontSize = 10; - bode_opts.TickLabel.FontSize = 10; -#+end_src - -#+begin_src matlab :exports none :results silent - open rotating_frame.slx -#+end_src - -First we define the parameters that must be defined in order to run the Simscape simulation. -#+begin_src matlab :exports code :results silent - w = 2*pi; % Rotation speed [rad/s] - - theta_e = 0; % Static measurement error on the angle theta [rad] - - m = 5; % mass of the sample [kg] - - mTuv = 30;% Mass of the moving part of the Tuv stage [kg] - kTuv = 1e8; % Stiffness of the Tuv stage [N/m] - cTuv = 0; % Damping of the Tuv stage [N/(m/s)] -#+end_src - -Then, we defined parameters that will be used in the following analysis. -#+begin_src matlab :exports code :results silent - mlight = 5; % Mass for light sample [kg] - mheavy = 55; % Mass for heavy sample [kg] - - wlight = 2*pi; % Max rot. speed for light sample [rad/s] - wheavy = 2*pi/60; % Max rot. speed for heavy sample [rad/s] - - kvc = 1e3; % Voice Coil Stiffness [N/m] - kpz = 1e8; % Piezo Stiffness [N/m] - - d = 0.01; % Maximum excentricity from rotational axis [m] - - freqs = logspace(-2, 3, 1000); % Frequency vector for analysis [Hz] -#+end_src - -** Identification in the rotating referenced frame -We initialize the inputs and outputs of the system to identify: -- Inputs: $f_u$ and $f_v$ -- Outputs: $d_u$ and $d_v$ - -#+begin_src matlab :exports code :results silent - %% Options for Linearized - options = linearizeOptions; - options.SampleTime = 0; - - %% Name of the Simulink File - mdl = 'rotating_frame'; - - %% Input/Output definition - io(1) = linio([mdl, '/fu'], 1, 'input'); - io(2) = linio([mdl, '/fv'], 1, 'input'); - - io(3) = linio([mdl, '/du'], 1, 'output'); - io(4) = linio([mdl, '/dv'], 1, 'output'); -#+end_src - -We start we identify the transfer functions at high speed with the light sample. -#+begin_src matlab :exports code :results silent - w = wlight; % Rotation speed [rad/s] - m = mlight; % mass of the sample [kg] - - kTuv = kpz; - Gpz_light = linearize(mdl, io, 0.1); - Gpz_light.InputName = {'Fu', 'Fv'}; - Gpz_light.OutputName = {'Du', 'Dv'}; - - kTuv = kvc; - Gvc_light = linearize(mdl, io, 0.1); - Gvc_light.InputName = {'Fu', 'Fv'}; - Gvc_light.OutputName = {'Du', 'Dv'}; -#+end_src - -Then we identify the system with an heavy mass and low speed. -#+begin_src matlab :exports code :results silent - w = wheavy; % Rotation speed [rad/s] - m = mheavy; % mass of the sample [kg] - - kTuv = kpz; - Gpz_heavy = linearize(mdl, io, 0.1); - Gpz_heavy.InputName = {'Fu', 'Fv'}; - Gpz_heavy.OutputName = {'Du', 'Dv'}; - - kTuv = kvc; - Gvc_heavy = linearize(mdl, io, 0.1); - Gvc_heavy.InputName = {'Fu', 'Fv'}; - Gvc_heavy.OutputName = {'Du', 'Dv'}; -#+end_src - -** Coupling ratio between $f_{uv}$ and $d_{uv}$ -In order to validate the equations written, we can compute the coupling ratio using the simscape model and compare with the equations. - -From the previous identification, we plot the coupling ratio in both case (figure ref:fig:coupling_ratio_light_heavy). - -We obtain the same result than the analytical case (figures ref:fig:coupling_light and ref:fig:coupling_heavy). -#+begin_src matlab :results silent :exports none - figure; - hold on; - plot(freqs, abs(squeeze(freqresp(Gvc_light('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gvc_light('Dv', 'Fu'), freqs, 'Hz')))); - plot(freqs, abs(squeeze(freqresp(Gpz_light('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gpz_light('Dv', 'Fu'), freqs, 'Hz')))); - set(gca,'ColorOrderIndex',1); - plot(freqs, abs(squeeze(freqresp(Gvc_heavy('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gvc_heavy('Dv', 'Fu'), freqs, 'Hz'))), '--'); - plot(freqs, abs(squeeze(freqresp(Gpz_heavy('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gpz_heavy('Dv', 'Fu'), freqs, 'Hz'))), '--'); - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - xlabel('Frequency [Hz]'); ylabel('Coupling ratio'); - legend({'light - VC', 'light - PZ', 'heavy - VC', 'heavy - PZ'}, 'Location', 'northeast') -#+end_src - -#+NAME: fig:coupling_ratio_light_heavy -#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes -#+begin_src matlab :var filepath="Figures/coupling_ratio_light_heavy.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:coupling_ratio_light_heavy -#+CAPTION: Coupling ratio obtained with the Simscape model -#+RESULTS: fig:coupling_ratio_light_heavy -[[file:Figures/coupling_ratio_light_heavy.png]] - -** Plant Control - SISO approach -*** Plant identification -The goal is to study the control problems due to the coupling that appears because of the rotation. - -#+begin_src matlab :exports none :results silent - %% Options for Linearized - options = linearizeOptions; - options.SampleTime = 0; - - %% Name of the Simulink File - mdl = 'rotating_frame'; - - %% Input/Output definition - io(1) = linio([mdl, '/fu'], 1, 'input'); - io(2) = linio([mdl, '/fv'], 1, 'input'); - - io(3) = linio([mdl, '/du'], 1, 'output'); - io(4) = linio([mdl, '/dv'], 1, 'output'); -#+end_src - -First, we identify the system when the rotation speed is null and then when the rotation speed is equal to 60rpm. - -The actuators are voice coil with some damping added. - -The bode plot of the system not rotating and rotating at 60rpm is shown figure ref:fig:Gvc_speed. - -#+begin_src matlab :exports none :results silent - w = 0; % Rotation speed [rad/s] - m = mlight; % mass of the sample [kg] - kTuv = kvc; - cTuv = 0.1*sqrt(kTuv*m); - - Gvc = linearize(mdl, io, 0.1); - Gvc.InputName = {'Fu', 'Fv'}; - Gvc.OutputName = {'Du', 'Dv'}; -#+end_src - -#+begin_src matlab :exports none :results silent - w = wlight; % Rotation speed [rad/s] - m = mlight; % mass of the sample [kg] - kTuv = kvc; - cTuv = 0.1*sqrt(kTuv*m); - - Gtvc = linearize(mdl, io, 0.1); - Gtvc.InputName = {'Fu', 'Fv'}; - Gtvc.OutputName = {'Du', 'Dv'}; -#+end_src - -#+begin_src matlab :exports none :results silent - figure; - bode(Gvc, Gtvc, bode_opts) - legend({'Gvc - $\omega = 0$', 'Gvc - $\omega = 60$rpm'}, 'Location', 'southwest'); - title(''); -#+end_src - -#+NAME: fig:Gvc_speed -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/Gvc_speed.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:Gvc_speed -#+CAPTION: Change of transfer functions due to rotating speed -#+RESULTS: fig:Gvc_speed -[[file:Figures/Gvc_speed.png]] - -*** Effect of rotation speed -We first identify the system (voice coil and light mass) for multiple rotation speed. -Then we compute the bode plot of the diagonal element (figure ref:fig:Guu_ws) and of the coupling element (figure ref:fig:Guv_ws). - -As the rotation frequency increases: -- one pole goes to lower frequencies while the other goes to higher frequencies -- one zero appears between the two poles -- the zero disappears when $\omega > \sqrt{\frac{k}{m}}$ and the low frequency pole becomes unstable (positive real part) - -To stabilize the unstable pole, we need a control bandwidth of at least twice of frequency of the unstable pole. - -#+begin_src matlab :exports none :results silent - ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] - m = mlight; % mass of the sample [kg] - - kTuv = kvc; - cTuv = 0.1*sqrt(kTuv*m); - - Gs = {zeros(1, length(ws))}; - - for i = 1:length(ws) - w = ws(i); - Gs{i} = linearize(mdl, io, 0.1); - end -#+end_src - -#+begin_src matlab :exports none :results silent - freqs = logspace(-2, 2, 1000); - - figure; - ax1 = subaxis(2,1,1); - hold on; - for i = 1:length(ws) - plot(freqs, abs(squeeze(freqresp(Gs{i}(1, 1), freqs, 'Hz')))); - end - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - set(gca, 'XTickLabel',[]); - ylabel('Magnitude [m/N]'); - - ax2 = subaxis(2,1,2); - hold on; - for i = 1:length(ws) - plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}(1, 1), freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); - end - hold off; - yticks(-180:90:180); - ylim([-180 180]); - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - legend('Location', 'northeast'); - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:Guu_ws -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/Guu_ws.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:Guu_ws -#+CAPTION: Diagonal term as a function of the rotation frequency -#+RESULTS: fig:Guu_ws -[[file:Figures/Guu_ws.png]] - - -#+begin_src matlab :exports none :results silent - freqs = logspace(-2, 2, 1000); - - figure; - ax1 = subaxis(2,1,1); - hold on; - for i = 1:length(ws) - plot(freqs, abs(squeeze(freqresp(Gs{i}(1, 2), freqs, 'Hz')))); - end - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - set(gca, 'XTickLabel',[]); - ylabel('Magnitude [m/N]'); - - ax2 = subaxis(2,1,2); - hold on; - for i = 1:length(ws) - plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}(1, 2), freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); - end - hold off; - yticks(-180:90:180); - ylim([-180 180]); - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - legend('Location', 'northeast'); - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:Guv_ws -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/Guv_ws.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:Guv_ws -#+CAPTION: Couplin term as a function of the rotation frequency -#+RESULTS: fig:Guv_ws -[[file:Figures/Guv_ws.png]] - -Then, we can look at the same plots for the piezoelectric actuator (figure ref:fig:Guu_ws_pz). The effect of the rotation frequency has very little effect on the dynamics of the system to control. - -#+begin_src matlab :exports none :results silent - ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] - m = mlight; % mass of the sample [kg] - - kTuv = kpz; - cTuv = 0.1*sqrt(kTuv*m); - - Gs = {zeros(1, length(ws))}; - - for i = 1:length(ws) - w = ws(i); - Gs{i} = linearize(mdl, io, 0.1); - end -#+end_src - -#+begin_src matlab :exports none :results silent - freqs = logspace(2, 3, 1000); - - figure; - ax1 = subaxis(2,1,1); - hold on; - for i = 1:length(ws) - plot(freqs, abs(squeeze(freqresp(Gs{i}(1, 1), freqs, 'Hz')))); - end - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - set(gca, 'XTickLabel',[]); - ylabel('Magnitude [m/N]'); - - ax2 = subaxis(2,1,2); - hold on; - for i = 1:length(ws) - plot(freqs, 180/pi*angle(squeeze(freqresp(Gs{i}(1, 1), freqs, 'Hz'))), 'DisplayName', sprintf('w = %.0f [rpm]', ws(i)*60/2/pi)); - end - hold off; - yticks(-180:90:180); - ylim([-180 180]); - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - legend('Location', 'northeast'); - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:Guu_ws_pz -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/Guu_ws_pz.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:Guu_ws_pz -#+CAPTION: Diagonal term as a function of the rotation frequency -#+RESULTS: fig:Guu_ws_pz -[[file:Figures/Guu_ws_pz.png]] - -*** Controller design -We design a controller based on the identification when the system is not rotating. - -The obtained controller is a lead-lag controller with the following transfer function. -#+begin_src matlab :results none :exports code - Kll = 2.0698e09*(s+40.45)*(s+1.181)/((s+0.01)*(s+198.4)*(s+2790)); - K = [Kll 0; - 0 Kll]; -#+end_src - -The loop gain is displayed figure ref:fig:Gvc_loop_gain. - -#+begin_src matlab :exports none :results silent - freqs = logspace(-2, 2, 1000); - - figure; - % Amplitude - ax1 = subaxis(2,1,1); - hold on; - plot(freqs, abs(squeeze(freqresp(Gvc('Du', 'fu')*Kll, freqs, 'Hz'))), '-'); - set(gca,'xscale','log'); set(gca,'yscale','log'); - ylabel('Amplitude [m/N]'); - set(gca, 'XTickLabel',[]); - hold off; - % Phase - ax2 = subaxis(2,1,2); - hold on; - plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gvc('Du', 'fu')*Kll, freqs, 'Hz')))), '-'); - set(gca,'xscale','log'); - yticks(-180:180:180); - ylim([-180 180]); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - hold off; - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:Gvc_loop_gain -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/Gvc_loop_gain.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:Gvc_loop_gain -#+CAPTION: Loop gain obtained for a lead-lag controller on the system with a voice coil -#+RESULTS: fig:Gvc_loop_gain -[[file:Figures/Gvc_loop_gain.png]] - -*** Controlling the rotating system -We here want to see if the system is robust with respect to the rotation speed. We then use the controller based on the non-rotating system, and see if the system is stable and its dynamics. - -We can then plot the same loop gain with the rotating system using the same controller (figure ref:fig:Gtvc_loop_gain). The result obtained is unstable. - -#+begin_src matlab :exports none :results silent - freqs = logspace(-2, 2, 1000); - - figure; - % Amplitude - ax1 = subaxis(2,1,1); - hold on; - plot(freqs, abs(squeeze(freqresp(Gtvc('Du', 'fu')*Kll, freqs, 'Hz'))), '-'); - set(gca,'xscale','log'); set(gca,'yscale','log'); - ylabel('Amplitude [m/N]'); - set(gca, 'XTickLabel',[]); - hold off; - % Phase - ax2 = subaxis(2,1,2); - hold on; - plot(freqs, 180/pi*angle(squeeze(freqresp(Gtvc('Du', 'fu')*Kll, freqs, 'Hz'))), '-'); - set(gca,'xscale','log'); - yticks(-180:180:180); - ylim([-180 180]); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - hold off; - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:Gtvc_loop_gain -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/Gtvc_loop_gain.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:Gtvc_loop_gain -#+CAPTION: Loop gain with the rotating system -#+RESULTS: fig:Gtvc_loop_gain -[[file:Figures/Gtvc_loop_gain.png]] - -We can look at the poles of the system where we control only one direction ($u$ for instance). We obtain a pole with a positive real part. - -#+begin_important - The system is then unstable when controlling only one direction. -#+end_important - -#+begin_src matlab :results table :exports both - pole(feedback(Gtvc, blkdiag(Kll, 0))) -#+end_src - -#+RESULTS: -| -2798 | -| -58.916+94.248i | -| -58.916-94.248i | -| -71.644 | -| 3.1647 | -| -3.3034 | -| -1.1901 | - -However, when we look at the poles of the closed loop with a diagonal controller, all the poles have negative real part and the system is stable. -#+begin_src matlab :results table :exports both - pole(feedback(Gtvc, blkdiag(Kll, Kll))) -#+end_src - -#+RESULTS: -| -2798+0.035765i | -| -2798-0.035765i | -| -56.414+105.34i | -| -56.414-105.34i | -| -64.495+79.314i | -| -64.495-79.314i | -| -68.509+13.499i | -| -68.509-13.499i | -| -1.1837+0.0041422i | -| -1.1837-0.0041422i | - -Check stability of MIMO system. -#+begin_src matlab :result silent - isstable(1/(1+K*Gtvc)) - isstable(Gtvc/(1+K*Gtvc)) - isstable(Gtvc/(1+K*Gtvc)) -#+end_src - -#+RESULTS: -: 0 - -*** Close loop performance -First, we create the closed loop systems. Then, we plot the transfer function from the reference signals $[\epsilon_u, \epsilon_v]$ to the output $[d_u, d_v]$ (figure ref:fig:perfcomp). - -#+begin_src matlab :results none :exports code - S = eye(2)/(eye(2) + Gvc*K); - T = Gvc*K /(eye(2) + Gvc*K); - - St = eye(2)/(eye(2) + Gtvc*K); - Tt = Gtvc*K/(eye(2) + Gtvc*K); - - freqs = logspace(-3, 3, 1000); -#+end_src - -#+begin_src matlab :results none :exports code - figure; - bode(S, St, 2*pi*freqs, bode_opts) -#+end_src - -#+begin_src matlab :results none :exports code - figure; - bode(T, Tt, 2*pi*freqs, bode_opts) -#+end_src - -#+begin_src matlab :results none :exports code - freqs = logspace(-2, 2, 1000); - - figure; - ax1 = subplot(1,2,1); - hold on; - plot(freqs, abs(squeeze(freqresp(Tvc(1, 1), freqs, 'Hz')))); - plot(freqs, abs(squeeze(freqresp(Ttvc(1, 1), freqs, 'Hz')))); - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - xlabel('Frequency [Hz]'); ylabel('Magnitude [m/N]'); - legend({'w = 0 [rpm]', 'w = 60 [rpm]'}, 'Location', 'southwest') - title('$G_{r_u \to d_u}$') - - ax2 = subplot(1,2,2); - hold on; - plot(freqs, abs(squeeze(freqresp(Tvc(1, 2), freqs, 'Hz')))); - plot(freqs, abs(squeeze(freqresp(Ttvc(1, 2), freqs, 'Hz')))); - hold off; - xlim([freqs(1), freqs(end)]); - ylim([1e-5, 1]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - xlabel('Frequency [Hz]'); - title('$G_{r_u \to d_v}$') - - linkaxes([ax1,ax2],'x'); -#+end_src - -#+NAME: fig:perfconp -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/perfconp.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:perfconp -#+CAPTION: Close loop performance for $\omega = 0$ and $\omega = 60 rpm$ -#+RESULTS: fig:perfconp -[[file:Figures/perfconp.png]] - -** Plant Control - MIMO approach -*** TODO Analysis - SVD -\[ G = U \Sigma V^H \] - -With: -- $\Sigma$ is an $2 \times 2$ matrix with 2 non-negative *singular values* $\sigma_i$, arranged in descending order along its main diagonal -- $U$ is an $2 \times 2$ unitary matrix. The columns vectors of $U$, denoted $u_i$, represent the *output directions* of the plant. They are orthonomal -- $V$ is an $2 \times 2$ unitary matrix. The columns vectors of $V$, denoted $v_i$, represent the *input directions* of the plant. They are orthonomal - -We first look at the evolution of the singular values as a function of frequency (figure ref:fig:G_sigma). -#+begin_src matlab :exports none :results silent - ws = linspace(0, 2*pi, 5); % Rotation speed vector [rad/s] - m = mlight; % mass of the sample [kg] - - kTuv = kvc; - cTuv = 0.1*sqrt(kTuv*m); - - Gs = {zeros(1, length(ws))}; - - for i = 1:length(ws) - w = ws(i); - Gs{i} = linearize(mdl, io, 0.1); - end -#+end_src - -#+begin_src matlab :results silent :exports none - freqs = logspace(-2, 2, 1000); - - figure; - hold on; - for i = 1:length(ws) - plot(freqs, abs(squeeze(freqresp(Gs{i}(1,1), freqs, 'Hz'))), '-'); - end - hold off; - set(gca,'xscale','log'); set(gca,'yscale','log'); -#+end_src - -#+begin_src matlab :results silent :exports none - freqs = logspace(-2, 1, 1000); - - figure; - hold on; - for i = 1:length(ws) - sv = sigma(Gs{i}, 2*pi*freqs); - set(gca,'ColorOrderIndex',i) - plot(freqs, sv(1, :), 'DisplayName', sprintf('w = %.0f rpm', ws(i)*60/2/pi)); - set(gca,'ColorOrderIndex',i) - plot(freqs, sv(2, :), '--', 'HandleVisibility', 'off'); - end - hold off; - set(gca,'xscale','log'); set(gca,'yscale','log'); - legend('location', 'southwest'); -#+end_src - -#+NAME: fig:G_sigma -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/G_sigma.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:G_sigma -#+CAPTION: caption -#+RESULTS: fig:G_sigma -#+CAPTION: Evolution of the singular values with frequency -[[file:Figures/G_sigma.png]] - -We compute -#+begin_src matlab :results silent :exports code - [U,S,V] = svd(freqresp(Gtvc, 2*pi*10)); -#+end_src - -#+begin_src matlab :results output :exports results - U, S, V -#+end_src - -#+RESULTS: -#+begin_example -U, S, V -U = - -0.707101109012986 - 0.00283224868340902i -0.707104254409621 - 0.00189034277692295i - 0.00283224868340845 - 0.707101109012987i -0.00189034277692242 + 0.70710425440962i -S = - 9.01532756059351e-06 0 - 0 6.01714794171208e-06 -V = - 0.707106781186547 + 0i 0.707106781186548 + 0i - -1.57009245868378e-16 + 0.707106781186548i 1.57009245868377e-16 - 0.707106781186547i -#+end_example - -The input and output directions are related through the singular values -\[ G v_i = \sigma_i u_i \] - -So, if we consider an input in the direction $v_i$, then the output is in the direction $u_i$. Furthermore, since $\normtwo{v_i}=1$ and $\normtwo{u_i}=1$, we see that *the singular value $\sigma_i$ directly gives the gain of the matrix $G$ in this direction*. - -#+begin_src matlab - freqresp(Gtvc, 2*pi*10)*V(:, 1) -#+end_src - -#+RESULTS: -| -6.3747e-06-2.5534e-08i | -| 2.5534e-08-6.3747e-06i | - -#+begin_src matlab - S(1)*U(:, 1) -#+end_src - -#+RESULTS: -| -6.3747e-06-2.5534e-08i | -| 2.5534e-08-6.3747e-06i | - -*** Closed loop SVD -#+begin_src matlab :results silent :exports none - figure; - sigma(Tvc, Ttvc) -#+end_src - -** test - -#+begin_src matlab :exports none :results silent - figure; - % Amplitude - ax1 = subaxis(2,1,1); - hold on; - plot(freqs, abs(squeeze(freqresp(Gvc_light('du', 'fu'), freqs, 'Hz'))), '-'); - set(gca,'xscale','log'); set(gca,'yscale','log'); - ylabel('Amplitude [m/N]'); - set(gca, 'XTickLabel',[]); - hold off; - % Phase - ax2 = subaxis(2,1,2); - hold on; - plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gvc_light('du', 'fu'), freqs, 'Hz')))), '-'); - set(gca,'xscale','log'); - yticks(-180:180:180); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - hold off; - linkaxes([ax1,ax2],'x'); -#+end_src - -#+begin_src matlab :exports none :results silent - figure; - % Amplitude - ax1 = subaxis(2,1,1); - hold on; - plot(freqs, abs(squeeze(freqresp(-Gvc_light('dv', 'fv'), freqs, 'Hz'))), '-'); - set(gca,'xscale','log'); set(gca,'yscale','log'); - ylabel('Amplitude [m/N]'); - set(gca, 'XTickLabel',[]); - hold off; - % Phase - ax2 = subaxis(2,1,2); - hold on; - plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(-Gvc_light('dv', 'fv'), freqs, 'Hz')))), '-'); - set(gca,'xscale','log'); - yticks(-180:180:180); - xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); - hold off; - linkaxes([ax1,ax2],'x'); -#+end_src - -#+begin_src matlab :exports none :results silent - figure; - bode(Gpz_light, Gvc_light); -#+end_src - -#+NAME: fig:coupling_simscape -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/coupling_simscape.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:coupling_simscape -#+CAPTION: caption -#+RESULTS: fig:coupling_simscape -[[file:Figures/coupling_simscape_light.png]] - -And then with the heavy sample. -#+begin_src matlab :exports code :results silent - rot_speed = wheavy; - angle_e = 0; - m = mheavy; - - k = kpz; - c = 1e3; - Gpz_heavy = linearize(mdl, io, 0.1); - - k = kvc; - c = 1e3; - Gvc_heavy = linearize(mdl, io, 0.1); - - Gpz_heavy.InputName = {'Fu', 'Fv'}; - Gpz_heavy.OutputName = {'Du', 'Dv'}; - Gvc_heavy.InputName = {'Fu', 'Fv'}; - Gvc_heavy.OutputName = {'Du', 'Dv'}; -#+end_src - -#+begin_src matlab :exports none :results silent - figure; - bode(Gpz_heavy, Gvc_heavy); -#+end_src - -#+NAME: fig:coupling_simscape_heavy -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/coupling_simscape_heavy.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:coupling_simscape_heavy -#+CAPTION: caption -#+RESULTS: fig:coupling_simscape_heavy -[[file:Figures/coupling_simscape_heavy.png]] - -Plot the ratio between the main transfer function and the coupling term: -#+begin_src matlab :results silent :exports none - freqs = logspace(-2, 3, 1000); - - figure; - hold on; - plot(freqs, abs(squeeze(freqresp(Gvc_light('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gvc_light('Dv', 'Fu'), freqs, 'Hz')))); - plot(freqs, abs(squeeze(freqresp(Gpz_light('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gpz_light('Dv', 'Fu'), freqs, 'Hz')))); - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - xlabel('Frequency [Hz]'); ylabel('Coupling ratio'); - legend({'Voice Coil', 'Piezoelectric'}) -#+end_src - -#+NAME: fig:coupling_ratio_simscape_light -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/coupling_ratio_simscape_light.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:coupling_ratio_simscape_light -#+CAPTION: caption -#+RESULTS: fig:coupling_ratio_simscape_light -[[file:Figures/coupling_ratio_simscape_light.png]] - -#+begin_src matlab :results silent :exports none - freqs = logspace(-2, 3, 1000); - - figure; - hold on; - plot(freqs, abs(squeeze(freqresp(Gvc_heavy('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gvc_heavy('Dv', 'Fu'), freqs, 'Hz')))); - plot(freqs, abs(squeeze(freqresp(Gpz_heavy('Du', 'Fu'), freqs, 'Hz')))./abs(squeeze(freqresp(Gpz_heavy('Dv', 'Fu'), freqs, 'Hz')))); - hold off; - xlim([freqs(1), freqs(end)]); - set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); - xlabel('Frequency [Hz]'); ylabel('Coupling ratio'); - legend({'Voice Coil', 'Piezoelectric'}) -#+end_src - -#+NAME: fig:coupling_ratio_simscape_heavy -#+HEADER: :tangle no :exports results :results raw :noweb yes -#+begin_src matlab :var filepath="Figures/coupling_ratio_simscape_heavy.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") - <> -#+end_src - -#+LABEL: fig:coupling_ratio_simscape_heavy -#+CAPTION: caption -#+RESULTS: fig:coupling_ratio_simscape_heavy -[[file:Figures/coupling_ratio_simscape_heavy.png]] - -*** Low rotation speed and High rotation speed -#+begin_src matlab :exports code :results silent - rot_speed = 2*pi/60; angle_e = 0; - G_low = linearize(mdl, io, 0.1); - - rot_speed = 2*pi; angle_e = 0; - G_high = linearize(mdl, io, 0.1); - - G_low.InputName = {'Fu', 'Fv'}; - G_low.OutputName = {'Du', 'Dv'}; - G_high.InputName = {'Fu', 'Fv'}; - G_high.OutputName = {'Du', 'Dv'}; -#+end_src - -#+begin_src matlab :results silent - figure; - bode(G_low, G_high); -#+end_src - -** Identification in the fixed frame -Let's define some options as well as the inputs and outputs for linearization. -#+begin_src matlab :exports code :results silent - %% Options for Linearized - options = linearizeOptions; - options.SampleTime = 0; - - %% Name of the Simulink File - mdl = 'rotating_frame'; - - %% Input/Output definition - io(1) = linio([mdl, '/fx'], 1, 'input'); - io(2) = linio([mdl, '/fy'], 1, 'input'); - - io(3) = linio([mdl, '/dx'], 1, 'output'); - io(4) = linio([mdl, '/dy'], 1, 'output'); -#+end_src - -We then define the error estimation of the error and the rotational speed. -#+begin_src matlab :exports code :results silent - %% Run the linearization - angle_e = 0; - rot_speed = 0; -#+end_src - -Finally, we run the linearization. -#+begin_src matlab :exports code :results silent - G = linearize(mdl, io, 0); - - %% Input/Output names - G.InputName = {'Fx', 'Fy'}; - G.OutputName = {'Dx', 'Dy'}; -#+end_src - -#+begin_src matlab :exports code :results silent - %% Run the linearization - angle_e = 0; - rot_speed = 2*pi; - Gr = linearize(mdl, io, 0); - - %% Input/Output names - Gr.InputName = {'Fx', 'Fy'}; - Gr.OutputName = {'Dx', 'Dy'}; -#+end_src - -#+begin_src matlab :exports code :results silent - %% Run the linearization - angle_e = 1*2*pi/180; - rot_speed = 2*pi; - Ge = linearize(mdl, io, 0); - - %% Input/Output names - Ge.InputName = {'Fx', 'Fy'}; - Ge.OutputName = {'Dx', 'Dy'}; -#+end_src - -#+begin_src matlab :exports code :results silent - figure; - bode(G); - % exportFig('G_x_y', 'wide-tall'); - - figure; - bode(Ge); - % exportFig('G_x_y_e', 'normal-normal'); -#+end_src - -** Identification from actuator forces to displacement in the fixed frame -#+begin_src matlab :exports code :results silent - %% Options for Linearized - options = linearizeOptions; - options.SampleTime = 0; - - %% Name of the Simulink File - mdl = 'rotating_frame'; - - %% Input/Output definition - io(1) = linio([mdl, '/fu'], 1, 'input'); - io(2) = linio([mdl, '/fv'], 1, 'input'); - - io(3) = linio([mdl, '/dx'], 1, 'output'); - io(4) = linio([mdl, '/dy'], 1, 'output'); -#+end_src - -#+begin_src matlab :exports code :results silent - rot_speed = 2*pi; - angle_e = 0; - G = linearize(mdl, io, 0.0); - - G.InputName = {'Fu', 'Fv'}; - G.OutputName = {'Dx', 'Dy'}; -#+end_src - -#+begin_src matlab :exports code :results silent - rot_speed = 2*pi; - angle_e = 0; - G1 = linearize(mdl, io, 0.4); - - G1.InputName = {'Fu', 'Fv'}; - G1.OutputName = {'Dx', 'Dy'}; -#+end_src - -#+begin_src matlab :exports code :results silent - rot_speed = 2*pi; - angle_e = 0; - G2 = linearize(mdl, io, 0.8); - - G2.InputName = {'Fu', 'Fv'}; - G2.OutputName = {'Dx', 'Dy'}; -#+end_src - -#+begin_src matlab :exports code :results silent - figure; - bode(G, G1, G2); - exportFig('G_u_v_to_x_y', 'wide-tall'); -#+end_src - -** Effect of the X-Y stage stiffness - <> - -*** TODO At full speed, check how the coupling changes with the stiffness of the actuators - -* Control Implementation - <> - -** Measurement in the fixed reference frame - -* Bibliography :ignore: -# #+BIBLIOGRAPHY: /home/tdehaeze/MEGA/These/Ressources/references.bib plain option:-a option:-noabstract option:-nokeywords option:-noheader option:-nofooter option:-nobibsource limit:t diff --git a/rotating_frame.slxc b/rotating_frame.slxc new file mode 100644 index 0000000000000000000000000000000000000000..330f6f5fac4ca8a47636a5010b50cfd5b62dfadf GIT binary patch literal 5024 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 J*G+YF_aB3G{e}Pl literal 0 HcmV?d00001 diff --git a/rotating_frame_ctrl.slx b/rotating_frame_ctrl.slx new file mode 100644 index 0000000000000000000000000000000000000000..ee271599326b771feb2479d05e43d2404bb476b1 GIT binary patch literal 34640 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 HyY==zTGcdi literal 0 HcmV?d00001