Compare commits
9 Commits
e3d6df852e
...
master
Author | SHA1 | Date | |
---|---|---|---|
586a5983fe | |||
282a5bac04 | |||
3ef8b604c5 | |||
d56313fef7 | |||
364f138734 | |||
0bac7ef616 | |||
3a8762ae9a | |||
17a447d817 | |||
b1822ddf08 |
263
.gitignore
vendored
@@ -35,3 +35,266 @@ codegen/
|
|||||||
|
|
||||||
# Octave session info
|
# Octave session info
|
||||||
octave-workspace
|
octave-workspace
|
||||||
|
|
||||||
|
.auctex-auto/
|
||||||
|
.log/
|
||||||
|
|
||||||
|
## Core latex/pdflatex auxiliary files:
|
||||||
|
*.aux
|
||||||
|
*.lof
|
||||||
|
*.log
|
||||||
|
*.lot
|
||||||
|
*.fls
|
||||||
|
*.out
|
||||||
|
*.toc
|
||||||
|
*.fmt
|
||||||
|
*.fot
|
||||||
|
*.cb
|
||||||
|
*.cb2
|
||||||
|
.*.lb
|
||||||
|
|
||||||
|
## Intermediate documents:
|
||||||
|
*.dvi
|
||||||
|
*.xdv
|
||||||
|
*-converted-to.*
|
||||||
|
# these rules might exclude image files for figures etc.
|
||||||
|
# *.ps
|
||||||
|
# *.eps
|
||||||
|
# *.pdf
|
||||||
|
|
||||||
|
## Generated if empty string is given at "Please type another file name for output:"
|
||||||
|
.pdf
|
||||||
|
|
||||||
|
## Bibliography auxiliary files (bibtex/biblatex/biber):
|
||||||
|
*.bbl
|
||||||
|
*.bcf
|
||||||
|
*.blg
|
||||||
|
*-blx.aux
|
||||||
|
*-blx.bib
|
||||||
|
*.run.xml
|
||||||
|
|
||||||
|
## Build tool auxiliary files:
|
||||||
|
*.fdb_latexmk
|
||||||
|
*.synctex
|
||||||
|
*.synctex(busy)
|
||||||
|
*.synctex.gz
|
||||||
|
*.synctex.gz(busy)
|
||||||
|
*.pdfsync
|
||||||
|
|
||||||
|
## Build tool directories for auxiliary files
|
||||||
|
# latexrun
|
||||||
|
latex.out/
|
||||||
|
|
||||||
|
## Auxiliary and intermediate files from other packages:
|
||||||
|
# algorithms
|
||||||
|
*.alg
|
||||||
|
*.loa
|
||||||
|
|
||||||
|
# achemso
|
||||||
|
acs-*.bib
|
||||||
|
|
||||||
|
# amsthm
|
||||||
|
*.thm
|
||||||
|
|
||||||
|
# beamer
|
||||||
|
*.nav
|
||||||
|
*.pre
|
||||||
|
*.snm
|
||||||
|
*.vrb
|
||||||
|
|
||||||
|
# changes
|
||||||
|
*.soc
|
||||||
|
|
||||||
|
# comment
|
||||||
|
*.cut
|
||||||
|
|
||||||
|
# cprotect
|
||||||
|
*.cpt
|
||||||
|
|
||||||
|
# elsarticle (documentclass of Elsevier journals)
|
||||||
|
*.spl
|
||||||
|
|
||||||
|
# endnotes
|
||||||
|
*.ent
|
||||||
|
|
||||||
|
# fixme
|
||||||
|
*.lox
|
||||||
|
|
||||||
|
# feynmf/feynmp
|
||||||
|
*.mf
|
||||||
|
*.mp
|
||||||
|
*.t[1-9]
|
||||||
|
*.t[1-9][0-9]
|
||||||
|
*.tfm
|
||||||
|
|
||||||
|
#(r)(e)ledmac/(r)(e)ledpar
|
||||||
|
*.end
|
||||||
|
*.?end
|
||||||
|
*.[1-9]
|
||||||
|
*.[1-9][0-9]
|
||||||
|
*.[1-9][0-9][0-9]
|
||||||
|
*.[1-9]R
|
||||||
|
*.[1-9][0-9]R
|
||||||
|
*.[1-9][0-9][0-9]R
|
||||||
|
*.eledsec[1-9]
|
||||||
|
*.eledsec[1-9]R
|
||||||
|
*.eledsec[1-9][0-9]
|
||||||
|
*.eledsec[1-9][0-9]R
|
||||||
|
*.eledsec[1-9][0-9][0-9]
|
||||||
|
*.eledsec[1-9][0-9][0-9]R
|
||||||
|
|
||||||
|
# glossaries
|
||||||
|
*.acn
|
||||||
|
*.acr
|
||||||
|
*.glg
|
||||||
|
*.glo
|
||||||
|
*.gls
|
||||||
|
*.glsdefs
|
||||||
|
|
||||||
|
# gnuplottex
|
||||||
|
*-gnuplottex-*
|
||||||
|
|
||||||
|
# gregoriotex
|
||||||
|
*.gaux
|
||||||
|
*.gtex
|
||||||
|
|
||||||
|
# htlatex
|
||||||
|
*.4ct
|
||||||
|
*.4tc
|
||||||
|
*.idv
|
||||||
|
*.lg
|
||||||
|
*.trc
|
||||||
|
*.xref
|
||||||
|
|
||||||
|
# hyperref
|
||||||
|
*.brf
|
||||||
|
|
||||||
|
# knitr
|
||||||
|
*-concordance.tex
|
||||||
|
# TODO Comment the next line if you want to keep your tikz graphics files
|
||||||
|
*.tikz
|
||||||
|
*-tikzDictionary
|
||||||
|
|
||||||
|
# listings
|
||||||
|
*.lol
|
||||||
|
|
||||||
|
# makeidx
|
||||||
|
*.idx
|
||||||
|
*.ilg
|
||||||
|
*.ind
|
||||||
|
*.ist
|
||||||
|
|
||||||
|
# minitoc
|
||||||
|
*.maf
|
||||||
|
*.mlf
|
||||||
|
*.mlt
|
||||||
|
*.mtc[0-9]*
|
||||||
|
*.slf[0-9]*
|
||||||
|
*.slt[0-9]*
|
||||||
|
*.stc[0-9]*
|
||||||
|
|
||||||
|
# minted
|
||||||
|
_minted*
|
||||||
|
*.pyg
|
||||||
|
|
||||||
|
# morewrites
|
||||||
|
*.mw
|
||||||
|
|
||||||
|
# nomencl
|
||||||
|
*.nlg
|
||||||
|
*.nlo
|
||||||
|
*.nls
|
||||||
|
|
||||||
|
# pax
|
||||||
|
*.pax
|
||||||
|
|
||||||
|
# pdfpcnotes
|
||||||
|
*.pdfpc
|
||||||
|
|
||||||
|
# sagetex
|
||||||
|
*.sagetex.sage
|
||||||
|
*.sagetex.py
|
||||||
|
*.sagetex.scmd
|
||||||
|
|
||||||
|
# scrwfile
|
||||||
|
*.wrt
|
||||||
|
|
||||||
|
# sympy
|
||||||
|
*.sout
|
||||||
|
*.sympy
|
||||||
|
sympy-plots-for-*.tex/
|
||||||
|
|
||||||
|
# pdfcomment
|
||||||
|
*.upa
|
||||||
|
*.upb
|
||||||
|
|
||||||
|
# pythontex
|
||||||
|
*.pytxcode
|
||||||
|
pythontex-files-*/
|
||||||
|
|
||||||
|
# tcolorbox
|
||||||
|
*.listing
|
||||||
|
|
||||||
|
# thmtools
|
||||||
|
*.loe
|
||||||
|
|
||||||
|
# TikZ & PGF
|
||||||
|
*.dpth
|
||||||
|
*.md5
|
||||||
|
*.auxlock
|
||||||
|
|
||||||
|
# todonotes
|
||||||
|
*.tdo
|
||||||
|
|
||||||
|
# vhistory
|
||||||
|
*.hst
|
||||||
|
*.ver
|
||||||
|
|
||||||
|
# easy-todo
|
||||||
|
*.lod
|
||||||
|
|
||||||
|
# xcolor
|
||||||
|
*.xcp
|
||||||
|
|
||||||
|
# xmpincl
|
||||||
|
*.xmpi
|
||||||
|
|
||||||
|
# xindy
|
||||||
|
*.xdy
|
||||||
|
|
||||||
|
# xypic precompiled matrices
|
||||||
|
*.xyc
|
||||||
|
|
||||||
|
# endfloat
|
||||||
|
*.ttt
|
||||||
|
*.fff
|
||||||
|
|
||||||
|
# Latexian
|
||||||
|
TSWLatexianTemp*
|
||||||
|
|
||||||
|
## Editors:
|
||||||
|
# WinEdt
|
||||||
|
*.bak
|
||||||
|
*.sav
|
||||||
|
|
||||||
|
# Texpad
|
||||||
|
.texpadtmp
|
||||||
|
|
||||||
|
# LyX
|
||||||
|
*.lyx~
|
||||||
|
|
||||||
|
# Kile
|
||||||
|
*.backup
|
||||||
|
|
||||||
|
# KBibTeX
|
||||||
|
*~[0-9]*
|
||||||
|
|
||||||
|
# auto folder when using emacs and auctex
|
||||||
|
./auto/*
|
||||||
|
*.el
|
||||||
|
|
||||||
|
# expex forward references with \gathertags
|
||||||
|
*-tags.tex
|
||||||
|
|
||||||
|
# standalone packages
|
||||||
|
*.sta
|
||||||
|
145
css/htmlize.css
@@ -1,145 +0,0 @@
|
|||||||
.org-bold { /* bold */ font-weight: bold; }
|
|
||||||
.org-bold-italic { /* bold-italic */ font-weight: bold; font-style: italic; }
|
|
||||||
.org-buffer-menu-buffer { /* buffer-menu-buffer */ font-weight: bold; }
|
|
||||||
.org-builtin { /* font-lock-builtin-face */ color: #7a378b; }
|
|
||||||
.org-button { /* button */ text-decoration: underline; }
|
|
||||||
.org-calendar-today { /* calendar-today */ text-decoration: underline; }
|
|
||||||
.org-change-log-acknowledgement { /* change-log-acknowledgement */ color: #b22222; }
|
|
||||||
.org-change-log-conditionals { /* change-log-conditionals */ color: #a0522d; }
|
|
||||||
.org-change-log-date { /* change-log-date */ color: #8b2252; }
|
|
||||||
.org-change-log-email { /* change-log-email */ color: #a0522d; }
|
|
||||||
.org-change-log-file { /* change-log-file */ color: #0000ff; }
|
|
||||||
.org-change-log-function { /* change-log-function */ color: #a0522d; }
|
|
||||||
.org-change-log-list { /* change-log-list */ color: #a020f0; }
|
|
||||||
.org-change-log-name { /* change-log-name */ color: #008b8b; }
|
|
||||||
.org-comint-highlight-input { /* comint-highlight-input */ font-weight: bold; }
|
|
||||||
.org-comint-highlight-prompt { /* comint-highlight-prompt */ color: #00008b; }
|
|
||||||
.org-comment { /* font-lock-comment-face */ color: #999988; font-style: italic; }
|
|
||||||
.org-comment-delimiter { /* font-lock-comment-delimiter-face */ color: #999988; font-style: italic; }
|
|
||||||
.org-completions-annotations { /* completions-annotations */ font-style: italic; }
|
|
||||||
.org-completions-common-part { /* completions-common-part */ color: #000000; background-color: #ffffff; }
|
|
||||||
.org-completions-first-difference { /* completions-first-difference */ font-weight: bold; }
|
|
||||||
.org-constant { /* font-lock-constant-face */ color: #008b8b; }
|
|
||||||
.org-diary { /* diary */ color: #ff0000; }
|
|
||||||
.org-diff-context { /* diff-context */ color: #7f7f7f; }
|
|
||||||
.org-diff-file-header { /* diff-file-header */ background-color: #b3b3b3; font-weight: bold; }
|
|
||||||
.org-diff-function { /* diff-function */ background-color: #cccccc; }
|
|
||||||
.org-diff-header { /* diff-header */ background-color: #cccccc; }
|
|
||||||
.org-diff-hunk-header { /* diff-hunk-header */ background-color: #cccccc; }
|
|
||||||
.org-diff-index { /* diff-index */ background-color: #b3b3b3; font-weight: bold; }
|
|
||||||
.org-diff-nonexistent { /* diff-nonexistent */ background-color: #b3b3b3; font-weight: bold; }
|
|
||||||
.org-diff-refine-change { /* diff-refine-change */ background-color: #d9d9d9; }
|
|
||||||
.org-dired-directory { /* dired-directory */ color: #0000ff; }
|
|
||||||
.org-dired-flagged { /* dired-flagged */ color: #ff0000; font-weight: bold; }
|
|
||||||
.org-dired-header { /* dired-header */ color: #228b22; }
|
|
||||||
.org-dired-ignored { /* dired-ignored */ color: #7f7f7f; }
|
|
||||||
.org-dired-mark { /* dired-mark */ color: #008b8b; }
|
|
||||||
.org-dired-marked { /* dired-marked */ color: #ff0000; font-weight: bold; }
|
|
||||||
.org-dired-perm-write { /* dired-perm-write */ color: #b22222; }
|
|
||||||
.org-dired-symlink { /* dired-symlink */ color: #a020f0; }
|
|
||||||
.org-dired-warning { /* dired-warning */ color: #ff0000; font-weight: bold; }
|
|
||||||
.org-doc { /* font-lock-doc-face */ color: #8b2252; }
|
|
||||||
.org-escape-glyph { /* escape-glyph */ color: #a52a2a; }
|
|
||||||
.org-file-name-shadow { /* file-name-shadow */ color: #7f7f7f; }
|
|
||||||
.org-flyspell-duplicate { /* flyspell-duplicate */ color: #cdad00; font-weight: bold; text-decoration: underline; }
|
|
||||||
.org-flyspell-incorrect { /* flyspell-incorrect */ color: #ff4500; font-weight: bold; text-decoration: underline; }
|
|
||||||
.org-fringe { /* fringe */ background-color: #f2f2f2; }
|
|
||||||
.org-function-name { /* font-lock-function-name-face */ color: teal; }
|
|
||||||
.org-header-line { /* header-line */ color: #333333; background-color: #e5e5e5; }
|
|
||||||
.org-help-argument-name { /* help-argument-name */ font-style: italic; }
|
|
||||||
.org-highlight { /* highlight */ background-color: #b4eeb4; }
|
|
||||||
.org-holiday { /* holiday */ background-color: #ffc0cb; }
|
|
||||||
.org-isearch { /* isearch */ color: #b0e2ff; background-color: #cd00cd; }
|
|
||||||
.org-isearch-fail { /* isearch-fail */ background-color: #ffc1c1; }
|
|
||||||
.org-italic { /* italic */ font-style: italic; }
|
|
||||||
.org-keyword { /* font-lock-keyword-face */ color: #0086b3; }
|
|
||||||
.org-lazy-highlight { /* lazy-highlight */ background-color: #afeeee; }
|
|
||||||
.org-link { /* link */ color: #0000ff; text-decoration: underline; }
|
|
||||||
.org-link-visited { /* link-visited */ color: #8b008b; text-decoration: underline; }
|
|
||||||
.org-log-edit-header { /* log-edit-header */ color: #a020f0; }
|
|
||||||
.org-log-edit-summary { /* log-edit-summary */ color: #0000ff; }
|
|
||||||
.org-log-edit-unknown-header { /* log-edit-unknown-header */ color: #b22222; }
|
|
||||||
.org-match { /* match */ background-color: #ffff00; }
|
|
||||||
.org-next-error { /* next-error */ background-color: #eedc82; }
|
|
||||||
.org-nobreak-space { /* nobreak-space */ color: #a52a2a; text-decoration: underline; }
|
|
||||||
.org-org-archived { /* org-archived */ color: #7f7f7f; }
|
|
||||||
.org-org-block { /* org-block */ color: #7f7f7f; }
|
|
||||||
.org-org-block-begin-line { /* org-block-begin-line */ color: #b22222; }
|
|
||||||
.org-org-block-end-line { /* org-block-end-line */ color: #b22222; }
|
|
||||||
.org-org-checkbox { /* org-checkbox */ font-weight: bold; }
|
|
||||||
.org-org-checkbox-statistics-done { /* org-checkbox-statistics-done */ color: #228b22; font-weight: bold; }
|
|
||||||
.org-org-checkbox-statistics-todo { /* org-checkbox-statistics-todo */ color: #ff0000; font-weight: bold; }
|
|
||||||
.org-org-clock-overlay { /* org-clock-overlay */ background-color: #ffff00; }
|
|
||||||
.org-org-code { /* org-code */ color: #7f7f7f; }
|
|
||||||
.org-org-column { /* org-column */ background-color: #e5e5e5; }
|
|
||||||
.org-org-column-title { /* org-column-title */ background-color: #e5e5e5; font-weight: bold; text-decoration: underline; }
|
|
||||||
.org-org-date { /* org-date */ color: #a020f0; text-decoration: underline; }
|
|
||||||
.org-org-document-info { /* org-document-info */ color: #191970; }
|
|
||||||
.org-org-document-info-keyword { /* org-document-info-keyword */ color: #7f7f7f; }
|
|
||||||
.org-org-document-title { /* org-document-title */ color: #191970; font-size: 144%; font-weight: bold; }
|
|
||||||
.org-org-done { /* org-done */ color: #228b22; font-weight: bold; }
|
|
||||||
.org-org-drawer { /* org-drawer */ color: #0000ff; }
|
|
||||||
.org-org-ellipsis { /* org-ellipsis */ color: #b8860b; text-decoration: underline; }
|
|
||||||
.org-org-footnote { /* org-footnote */ color: #a020f0; text-decoration: underline; }
|
|
||||||
.org-org-formula { /* org-formula */ color: #b22222; }
|
|
||||||
.org-org-headline-done { /* org-headline-done */ color: #bc8f8f; }
|
|
||||||
.org-org-hide { /* org-hide */ color: #ffffff; }
|
|
||||||
.org-org-latex-and-export-specials { /* org-latex-and-export-specials */ color: #8b4513; }
|
|
||||||
.org-org-level-1 { /* org-level-1 */ color: #0000ff; }
|
|
||||||
.org-org-level-2 { /* org-level-2 */ color: #a0522d; }
|
|
||||||
.org-org-level-3 { /* org-level-3 */ color: #a020f0; }
|
|
||||||
.org-org-level-4 { /* org-level-4 */ color: #b22222; }
|
|
||||||
.org-org-level-5 { /* org-level-5 */ color: #228b22; }
|
|
||||||
.org-org-level-6 { /* org-level-6 */ color: #008b8b; }
|
|
||||||
.org-org-level-7 { /* org-level-7 */ color: #7a378b; }
|
|
||||||
.org-org-level-8 { /* org-level-8 */ color: #8b2252; }
|
|
||||||
.org-org-link { /* org-link */ color: #0000ff; text-decoration: underline; }
|
|
||||||
.org-org-meta-line { /* org-meta-line */ color: #b22222; }
|
|
||||||
.org-org-mode-line-clock { /* org-mode-line-clock */ color: #000000; background-color: #bfbfbf; }
|
|
||||||
.org-org-mode-line-clock-overrun { /* org-mode-line-clock-overrun */ color: #000000; background-color: #ff0000; }
|
|
||||||
.org-org-quote { /* org-quote */ color: #7f7f7f; }
|
|
||||||
.org-org-scheduled { /* org-scheduled */ color: #006400; }
|
|
||||||
.org-org-scheduled-previously { /* org-scheduled-previously */ color: #b22222; }
|
|
||||||
.org-org-scheduled-today { /* org-scheduled-today */ color: #006400; }
|
|
||||||
.org-org-sexp-date { /* org-sexp-date */ color: #a020f0; }
|
|
||||||
.org-org-special-keyword { /* org-special-keyword */ color: #a020f0; }
|
|
||||||
.org-org-table { /* org-table */ color: #0000ff; }
|
|
||||||
.org-org-tag { /* org-tag */ font-weight: bold; }
|
|
||||||
.org-org-target { /* org-target */ text-decoration: underline; }
|
|
||||||
.org-org-time-grid { /* org-time-grid */ color: #b8860b; }
|
|
||||||
.org-org-todo { /* org-todo */ color: #ff0000; font-weight: bold; }
|
|
||||||
.org-org-upcoming-deadline { /* org-upcoming-deadline */ color: #b22222; }
|
|
||||||
.org-org-verbatim { /* org-verbatim */ color: #7f7f7f; }
|
|
||||||
.org-org-verse { /* org-verse */ color: #7f7f7f; }
|
|
||||||
.org-org-warning { /* org-warning */ color: #ff0000; font-weight: bold; }
|
|
||||||
.org-outline-1 { /* outline-1 */ color: #0000ff; }
|
|
||||||
.org-outline-2 { /* outline-2 */ color: #a0522d; }
|
|
||||||
.org-outline-3 { /* outline-3 */ color: #a020f0; }
|
|
||||||
.org-outline-4 { /* outline-4 */ color: #b22222; }
|
|
||||||
.org-outline-5 { /* outline-5 */ color: #228b22; }
|
|
||||||
.org-outline-6 { /* outline-6 */ color: #008b8b; }
|
|
||||||
.org-outline-7 { /* outline-7 */ color: #7a378b; }
|
|
||||||
.org-outline-8 { /* outline-8 */ color: #8b2252; }
|
|
||||||
.org-preprocessor { /* font-lock-preprocessor-face */ color: #7a378b; }
|
|
||||||
.org-query-replace { /* query-replace */ color: #b0e2ff; background-color: #cd00cd; }
|
|
||||||
.org-regexp-grouping-backslash { /* font-lock-regexp-grouping-backslash */ font-weight: bold; }
|
|
||||||
.org-regexp-grouping-construct { /* font-lock-regexp-grouping-construct */ font-weight: bold; }
|
|
||||||
.org-region { /* region */ background-color: #eedc82; }
|
|
||||||
.org-secondary-selection { /* secondary-selection */ background-color: #ffff00; }
|
|
||||||
.org-shadow { /* shadow */ color: #7f7f7f; }
|
|
||||||
.org-show-paren-match { /* show-paren-match */ background-color: #40e0d0; }
|
|
||||||
.org-show-paren-mismatch { /* show-paren-mismatch */ color: #ffffff; background-color: #a020f0; }
|
|
||||||
.org-string { /* font-lock-string-face */ color: #dd1144; }
|
|
||||||
.org-tool-bar { /* tool-bar */ color: #000000; background-color: #bfbfbf; }
|
|
||||||
.org-tooltip { /* tooltip */ color: #000000; background-color: #ffffe0; }
|
|
||||||
.org-trailing-whitespace { /* trailing-whitespace */ background-color: #ff0000; }
|
|
||||||
.org-type { /* font-lock-type-face */ color: #228b22; }
|
|
||||||
.org-underline { /* underline */ text-decoration: underline; }
|
|
||||||
.org-variable-name { /* font-lock-variable-name-face */ color: teal; }
|
|
||||||
.org-warning { /* font-lock-warning-face */ color: #ff0000; font-weight: bold; }
|
|
||||||
.org-widget-button { /* widget-button */ font-weight: bold; }
|
|
||||||
.org-widget-button-pressed { /* widget-button-pressed */ color: #ff0000; }
|
|
||||||
.org-widget-documentation { /* widget-documentation */ color: #006400; }
|
|
||||||
.org-widget-field { /* widget-field */ background-color: #d9d9d9; }
|
|
||||||
.org-widget-inactive { /* widget-inactive */ color: #7f7f7f; }
|
|
||||||
.org-widget-single-line-field { /* widget-single-line-field */ background-color: #d9d9d9; }
|
|
1095
css/readtheorg.css
BIN
doc/LA75B.pdf
Normal file
BIN
doc/TM-VIB-Seismic_Lowres.pdf
Normal file
BIN
doc/de-dlpva-100-b.pdf
Normal file
BIN
doc/model_5113.pdf
Normal file
BIN
figs/Gd_identification_iff_bode_plot.pdf
Normal file
BIN
figs/Gd_identification_iff_bode_plot.png
Normal file
After Width: | Height: | Size: 119 KiB |
BIN
figs/Gd_identification_iff_coherence.pdf
Normal file
BIN
figs/Gd_identification_iff_coherence.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
figs/Gd_plant_estimation.pdf
Normal file
BIN
figs/Gd_plant_estimation.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
figs/IMG_20200825_142334.jpg
Normal file
After Width: | Height: | Size: 2.6 MiB |
BIN
figs/IMG_20200825_150043.jpg
Normal file
After Width: | Height: | Size: 2.9 MiB |
BIN
figs/IMG_20200825_150046.jpg
Normal file
After Width: | Height: | Size: 2.9 MiB |
BIN
figs/comp_dynamics_accelerometer.pdf
Normal file
BIN
figs/comp_dynamics_accelerometer.png
Normal file
After Width: | Height: | Size: 155 KiB |
BIN
figs/comp_dynamics_geophone.pdf
Normal file
BIN
figs/comp_dynamics_geophone.png
Normal file
After Width: | Height: | Size: 151 KiB |
2090
figs/comp_huddle_test_excited_motion_psd.pdf
Normal file
BIN
figs/comp_huddle_test_excited_motion_psd.png
Normal file
After Width: | Height: | Size: 197 KiB |
2338
figs/comp_psd_huddle_test_identification.pdf
Normal file
BIN
figs/comp_psd_huddle_test_identification.png
Normal file
After Width: | Height: | Size: 154 KiB |
1659
figs/comp_psd_huddle_test_identification_acc.pdf
Normal file
BIN
figs/comp_psd_huddle_test_identification_acc.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
figs/comp_psd_huddle_test_identification_geo.pdf
Normal file
BIN
figs/comp_psd_huddle_test_identification_geo.png
Normal file
After Width: | Height: | Size: 130 KiB |
1327
figs/complementary_filters_velocity_H2.pdf
Normal file
BIN
figs/complementary_filters_velocity_H2.png
Normal file
After Width: | Height: | Size: 111 KiB |
1294
figs/displacement_sensor_bode_plot.pdf
Normal file
BIN
figs/displacement_sensor_bode_plot.png
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
figs/dyn_uncertainty_acc.pdf
Normal file
BIN
figs/dyn_uncertainty_acc.png
Normal file
After Width: | Height: | Size: 159 KiB |
BIN
figs/dyn_uncertainty_geo.pdf
Normal file
BIN
figs/dyn_uncertainty_geo.png
Normal file
After Width: | Height: | Size: 150 KiB |
BIN
figs/excitation_signal_first_identification.pdf
Normal file
BIN
figs/excitation_signal_first_identification.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
figs/exp_setup_sensor_fusion.pdf
Normal file
BIN
figs/exp_setup_sensor_fusion.png
Normal file
After Width: | Height: | Size: 105 KiB |
4288
figs/exp_setup_sensor_fusion.svg
Normal file
After Width: | Height: | Size: 227 KiB |
BIN
figs/first_exc_signal_time.pdf
Normal file
BIN
figs/first_exc_signal_time.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
figs/force_sensor_bode_plot.pdf
Normal file
BIN
figs/force_sensor_bode_plot.png
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
figs/h_infinity_obtained_complementary_filters.pdf
Normal file
BIN
figs/h_infinity_obtained_complementary_filters.png
Normal file
After Width: | Height: | Size: 112 KiB |
2033
figs/huddle_test_psd_motion.pdf
Normal file
BIN
figs/huddle_test_psd_motion.png
Normal file
After Width: | Height: | Size: 192 KiB |
BIN
figs/id_sensor_dynamics_accelerometers.pdf
Normal file
BIN
figs/id_sensor_dynamics_accelerometers.png
Normal file
After Width: | Height: | Size: 151 KiB |
BIN
figs/id_sensor_dynamics_coherence.pdf
Normal file
BIN
figs/id_sensor_dynamics_coherence.png
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
figs/id_sensor_dynamics_geophones.pdf
Normal file
BIN
figs/id_sensor_dynamics_geophones.png
Normal file
After Width: | Height: | Size: 151 KiB |
BIN
figs/iff_identification_bode_plot.pdf
Normal file
BIN
figs/iff_identification_bode_plot.png
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
figs/iff_identification_coh.pdf
Normal file
BIN
figs/iff_identification_coh.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
figs/iff_ol_cl_identified_simscape_comp.pdf
Normal file
BIN
figs/iff_ol_cl_identified_simscape_comp.png
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
figs/iff_plant_model.pdf
Normal file
BIN
figs/iff_plant_model.png
Normal file
After Width: | Height: | Size: 137 KiB |
BIN
figs/iff_root_locus.pdf
Normal file
BIN
figs/iff_root_locus.png
Normal file
After Width: | Height: | Size: 29 KiB |
1721
figs/measure_displacement_all_sensors.pdf
Normal file
BIN
figs/measure_displacement_all_sensors.png
Normal file
After Width: | Height: | Size: 160 KiB |
1619
figs/noise_inertial_sensors_comparison.pdf
Normal file
BIN
figs/noise_inertial_sensors_comparison.png
Normal file
After Width: | Height: | Size: 155 KiB |
BIN
figs/noise_models_velocity.pdf
Normal file
BIN
figs/noise_models_velocity.png
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
figs/optimal_exc_signal_time.pdf
Normal file
BIN
figs/optimal_exc_signal_time.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
figs/psd_sensors_htwo_hinf_synthesis.pdf
Normal file
BIN
figs/psd_sensors_htwo_hinf_synthesis.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
figs/simscape_comp_disp_plant.pdf
Normal file
BIN
figs/simscape_comp_disp_plant.png
Normal file
After Width: | Height: | Size: 125 KiB |
BIN
figs/simscape_comp_iff_plant.pdf
Normal file
BIN
figs/simscape_comp_iff_plant.png
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
figs/super_sensor_dynamical_uncertainty_Htwo_Hinf.pdf
Normal file
BIN
figs/super_sensor_dynamical_uncertainty_Htwo_Hinf.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
figs/super_sensor_noise_asd_velocity.pdf
Normal file
BIN
figs/super_sensor_noise_asd_velocity.png
Normal file
After Width: | Height: | Size: 130 KiB |
BIN
figs/super_sensor_noise_cas_velocity.pdf
Normal file
BIN
figs/super_sensor_noise_cas_velocity.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
figs/super_sensor_optimal_noise.pdf
Normal file
BIN
figs/super_sensor_optimal_noise.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
figs/super_sensor_optimal_uncertainty.pdf
Normal file
BIN
figs/super_sensor_optimal_uncertainty.png
Normal file
After Width: | Height: | Size: 190 KiB |
BIN
figs/super_sensor_uncertainty_h_infinity.pdf
Normal file
BIN
figs/super_sensor_uncertainty_h_infinity.png
Normal file
After Width: | Height: | Size: 129 KiB |
BIN
figs/test-bench-sensor-fusion-picture.pdf
Normal file
BIN
figs/test-bench-sensor-fusion-picture.png
Normal file
After Width: | Height: | Size: 822 KiB |
54383
figs/test-bench-sensor-fusion-picture.svg
Normal file
After Width: | Height: | Size: 4.0 MiB |
BIN
figs/test_bench_encoder_overview.png
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
figs/uncertainty_weight_and_sensor_uncertainties.pdf
Normal file
BIN
figs/uncertainty_weight_and_sensor_uncertainties.png
Normal file
After Width: | Height: | Size: 125 KiB |
251
index.html
@@ -1,251 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
|
||||||
<head>
|
|
||||||
<!-- 2020-08-31 lun. 16:09 -->
|
|
||||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
|
||||||
<title>Sensor Fusion - Test Bench</title>
|
|
||||||
<meta name="generator" content="Org mode" />
|
|
||||||
<meta name="author" content="Dehaeze Thomas" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
|
||||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="content">
|
|
||||||
<h1 class="title">Sensor Fusion - Test Bench</h1>
|
|
||||||
<div id="table-of-contents">
|
|
||||||
<h2>Table of Contents</h2>
|
|
||||||
<div id="text-table-of-contents">
|
|
||||||
<ul>
|
|
||||||
<li><a href="#orgaad1791">1. Experimental Setup</a></li>
|
|
||||||
<li><a href="#org2a43fcc">2. Huddle Test</a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="#org20554e9">2.1. Load Data</a></li>
|
|
||||||
<li><a href="#orgfdfaa65">2.2. Data</a></li>
|
|
||||||
<li><a href="#org85724d7">2.3. Scale Data</a></li>
|
|
||||||
<li><a href="#org1bbeff4">2.4. Compare Time Domain Signals</a></li>
|
|
||||||
<li><a href="#org3fdfc8f">2.5. Compute PSD</a></li>
|
|
||||||
<li><a href="#org6f491a6">2.6. Dynamical Uncertainty</a></li>
|
|
||||||
<li><a href="#org91b1273">2.7. Sensor Noise</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-orgaad1791" class="outline-2">
|
|
||||||
<h2 id="orgaad1791"><span class="section-number-2">1</span> Experimental Setup</h2>
|
|
||||||
<div class="outline-text-2" id="text-1">
|
|
||||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
|
||||||
|
|
||||||
|
|
||||||
<colgroup>
|
|
||||||
<col class="org-left" />
|
|
||||||
|
|
||||||
<col class="org-left" />
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col" class="org-left"> </th>
|
|
||||||
<th scope="col" class="org-left"> </th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="org-left">Accelerometer</td>
|
|
||||||
<td class="org-left">PCB 393B05 - Vertical (<a href="https://www.pcb.com/products?m=393B05">link</a>)</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td class="org-left">Geophone</td>
|
|
||||||
<td class="org-left">Mark Product L4C - Vertical</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-org2a43fcc" class="outline-2">
|
|
||||||
<h2 id="org2a43fcc"><span class="section-number-2">2</span> Huddle Test</h2>
|
|
||||||
<div class="outline-text-2" id="text-2">
|
|
||||||
</div>
|
|
||||||
<div id="outline-container-org20554e9" class="outline-3">
|
|
||||||
<h3 id="org20554e9"><span class="section-number-3">2.1</span> Load Data</h3>
|
|
||||||
<div class="outline-text-3" id="text-2-1">
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">load('./mat/huddle_test.mat', 'acc_1', 'acc_2', 'geo_1', 'geo_2', 't');
|
|
||||||
dt = t(2) - t(1);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-orgfdfaa65" class="outline-3">
|
|
||||||
<h3 id="orgfdfaa65"><span class="section-number-3">2.2</span> Data</h3>
|
|
||||||
<div class="outline-text-3" id="text-2-2">
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">acc_1 = acc_1 - mean(acc_1);
|
|
||||||
acc_2 = acc_2 - mean(acc_2);
|
|
||||||
geo_1 = geo_1 - mean(geo_1);
|
|
||||||
geo_2 = geo_2 - mean(geo_2);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-org85724d7" class="outline-3">
|
|
||||||
<h3 id="org85724d7"><span class="section-number-3">2.3</span> Scale Data</h3>
|
|
||||||
<div class="outline-text-3" id="text-2-3">
|
|
||||||
<p>
|
|
||||||
From raw data to estimated velocity.
|
|
||||||
This takes into account the sensibility of the sensor and possible integration to go from acceleration to velocity.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">G0 = 1.02; % [V/(m/s2)]
|
|
||||||
|
|
||||||
G_acc = tf(G0);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">T = 276;
|
|
||||||
xi = 0.5;
|
|
||||||
w = 2*pi;
|
|
||||||
|
|
||||||
G_geo = -T*s^2/(s^2 + 2*xi*w*s + w^2);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">acc_1 = lsim(inv(G_acc), acc_1, t);
|
|
||||||
acc_2 = lsim(inv(G_acc), acc_2, t);
|
|
||||||
geo_1 = lsim(inv(G_geo), geo_1, t);
|
|
||||||
geo_2 = lsim(inv(G_geo), geo_2, t);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-org1bbeff4" class="outline-3">
|
|
||||||
<h3 id="org1bbeff4"><span class="section-number-3">2.4</span> Compare Time Domain Signals</h3>
|
|
||||||
<div class="outline-text-3" id="text-2-4">
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">figure;
|
|
||||||
hold on;
|
|
||||||
plot(t, acc_1);
|
|
||||||
plot(t, acc_2);
|
|
||||||
plot(t, geo_1);
|
|
||||||
plot(t, geo_2);
|
|
||||||
hold off;
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-org3fdfc8f" class="outline-3">
|
|
||||||
<h3 id="org3fdfc8f"><span class="section-number-3">2.5</span> Compute PSD</h3>
|
|
||||||
<div class="outline-text-3" id="text-2-5">
|
|
||||||
<p>
|
|
||||||
We first define the parameters for the frequency domain analysis.
|
|
||||||
</p>
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(1*Fs));
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Then we compute the Power Spectral Density using <code>pwelch</code> function.
|
|
||||||
</p>
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">[p_acc_1, f] = pwelch(acc_1, win, [], [], Fs);
|
|
||||||
[p_acc_2, ~] = pwelch(acc_2, win, [], [], Fs);
|
|
||||||
[p_geo_1, ~] = pwelch(geo_1, win, [], [], Fs);
|
|
||||||
[p_geo_2, ~] = pwelch(geo_2, win, [], [], Fs);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, sqrt(p_acc_1));
|
|
||||||
plot(f, sqrt(p_acc_2));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log');
|
|
||||||
set(gca, 'yscale', 'log');
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('ASD Accelerometers $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
|
|
||||||
xlim([1, 5000]);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, sqrt(p_geo_1));
|
|
||||||
plot(f, sqrt(p_geo_2));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log');
|
|
||||||
set(gca, 'yscale', 'log');
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('ASD Geophones $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
|
|
||||||
xlim([1, 5000]);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-org6f491a6" class="outline-3">
|
|
||||||
<h3 id="org6f491a6"><span class="section-number-3">2.6</span> Dynamical Uncertainty</h3>
|
|
||||||
<div class="outline-text-3" id="text-2-6">
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">[T_acc, ~] = tfestimate(acc_1, acc_2, win, [], [], Fs);
|
|
||||||
[T_geo, ~] = tfestimate(geo_1, geo_2, win, [], [], Fs);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-org91b1273" class="outline-3">
|
|
||||||
<h3 id="org91b1273"><span class="section-number-3">2.7</span> Sensor Noise</h3>
|
|
||||||
<div class="outline-text-3" id="text-2-7">
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">[coh_acc, ~] = mscohere(acc_1, acc_2, win, [], [], Fs);
|
|
||||||
[coh_geo, ~] = mscohere(geo_1, geo_2, win, [], [], Fs);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">pN_acc = p_acc_1.*(1 - coh_acc);
|
|
||||||
pN_geo = p_geo_1.*(1 - coh_geo);
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab">figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, pN_acc, '-', 'DisplayName', 'Accelerometers');
|
|
||||||
plot(f, pN_geo, '-', 'DisplayName', 'Geophones');
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('ASD of the Measurement Noise $\left[\frac{m/s}{\sqrt{Hz}}\right]$');
|
|
||||||
xlim([1, 5000]);
|
|
||||||
legend('location', 'northeast');
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="postamble" class="status">
|
|
||||||
<p class="author">Author: Dehaeze Thomas</p>
|
|
||||||
<p class="date">Created: 2020-08-31 lun. 16:09</p>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
1
index.html
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
test-bench-sensor-fusion.html
|
198
index.org
@@ -1,198 +0,0 @@
|
|||||||
#+TITLE: Sensor Fusion - Test Bench
|
|
||||||
:DRAWER:
|
|
||||||
#+LANGUAGE: en
|
|
||||||
#+EMAIL: dehaeze.thomas@gmail.com
|
|
||||||
#+AUTHOR: Dehaeze Thomas
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/tikz/org/}{config.tex}")
|
|
||||||
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
|
|
||||||
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
|
|
||||||
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
|
|
||||||
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
|
|
||||||
#+PROPERTY: header-args:latex+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:latex+ :exports both
|
|
||||||
#+PROPERTY: header-args:latex+ :mkdirp yes
|
|
||||||
#+PROPERTY: header-args:latex+ :output-dir figs
|
|
||||||
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :tangle filters.m
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :results none
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :noweb yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :mkdirp yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:END:
|
|
||||||
|
|
||||||
* Experimental Setup
|
|
||||||
|
|
||||||
| | |
|
|
||||||
|---------------+------------------------------|
|
|
||||||
| Accelerometer | PCB 393B05 - Vertical ([[https://www.pcb.com/products?m=393B05][link]]) |
|
|
||||||
| Geophone | Mark Product L4C - Vertical |
|
|
||||||
|
|
||||||
* Huddle Test
|
|
||||||
** Matlab Init :noexport:ignore:
|
|
||||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
||||||
<<matlab-dir>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes
|
|
||||||
<<matlab-init>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Load Data
|
|
||||||
#+begin_src matlab
|
|
||||||
load('./mat/huddle_test.mat', 'acc_1', 'acc_2', 'geo_1', 'geo_2', 't');
|
|
||||||
dt = t(2) - t(1);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Data
|
|
||||||
#+begin_src matlab
|
|
||||||
acc_1 = acc_1 - mean(acc_1);
|
|
||||||
acc_2 = acc_2 - mean(acc_2);
|
|
||||||
geo_1 = geo_1 - mean(geo_1);
|
|
||||||
geo_2 = geo_2 - mean(geo_2);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Scale Data
|
|
||||||
From raw data to estimated velocity.
|
|
||||||
This takes into account the sensibility of the sensor and possible integration to go from acceleration to velocity.
|
|
||||||
|
|
||||||
#+begin_src matlab
|
|
||||||
G0 = 1.02; % [V/(m/s2)]
|
|
||||||
|
|
||||||
G_acc = tf(G0);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab
|
|
||||||
T = 276;
|
|
||||||
xi = 0.5;
|
|
||||||
w = 2*pi;
|
|
||||||
|
|
||||||
G_geo = -T*s^2/(s^2 + 2*xi*w*s + w^2);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab
|
|
||||||
acc_1 = lsim(inv(G_acc), acc_1, t);
|
|
||||||
acc_2 = lsim(inv(G_acc), acc_2, t);
|
|
||||||
geo_1 = lsim(inv(G_geo), geo_1, t);
|
|
||||||
geo_2 = lsim(inv(G_geo), geo_2, t);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Compare Time Domain Signals
|
|
||||||
#+begin_src matlab
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(t, acc_1);
|
|
||||||
plot(t, acc_2);
|
|
||||||
plot(t, geo_1);
|
|
||||||
plot(t, geo_2);
|
|
||||||
hold off;
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Compute PSD
|
|
||||||
We first define the parameters for the frequency domain analysis.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(1*Fs));
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Then we compute the Power Spectral Density using =pwelch= function.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
[p_acc_1, f] = pwelch(acc_1, win, [], [], Fs);
|
|
||||||
[p_acc_2, ~] = pwelch(acc_2, win, [], [], Fs);
|
|
||||||
[p_geo_1, ~] = pwelch(geo_1, win, [], [], Fs);
|
|
||||||
[p_geo_2, ~] = pwelch(geo_2, win, [], [], Fs);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, sqrt(p_acc_1));
|
|
||||||
plot(f, sqrt(p_acc_2));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log');
|
|
||||||
set(gca, 'yscale', 'log');
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('ASD Accelerometers $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
|
|
||||||
xlim([1, 5000]);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, sqrt(p_geo_1));
|
|
||||||
plot(f, sqrt(p_geo_2));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log');
|
|
||||||
set(gca, 'yscale', 'log');
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('ASD Geophones $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
|
|
||||||
xlim([1, 5000]);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Dynamical Uncertainty
|
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
[T_acc, ~] = tfestimate(acc_1, acc_2, win, [], [], Fs);
|
|
||||||
[T_geo, ~] = tfestimate(geo_1, geo_2, win, [], [], Fs);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :results none :exports none
|
|
||||||
figure;
|
|
||||||
ax1 = subplot(2, 1, 1);
|
|
||||||
hold on;
|
|
||||||
plot(f, abs(T_acc), 'DisplayName', 'Accelerometers');
|
|
||||||
plot(f, abs(T_geo), 'DisplayName', 'Geophones');
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
|
||||||
set(gca, 'XTickLabel',[]);
|
|
||||||
ylabel('Magnitude');
|
|
||||||
legend('location', 'southeast');
|
|
||||||
|
|
||||||
ax2 = subplot(2, 1, 2);
|
|
||||||
hold on;
|
|
||||||
plot(f, 180/pi*phase(T_acc));
|
|
||||||
plot(f, 180/pi*phase(T_geo));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log');
|
|
||||||
ylim([-180, 180]);
|
|
||||||
yticks([-180, -90, 0, 90, 180]);
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
|
||||||
|
|
||||||
linkaxes([ax1,ax2],'x');
|
|
||||||
xlim([1, 5000]);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Sensor Noise
|
|
||||||
#+begin_src matlab
|
|
||||||
[coh_acc, ~] = mscohere(acc_1, acc_2, win, [], [], Fs);
|
|
||||||
[coh_geo, ~] = mscohere(geo_1, geo_2, win, [], [], Fs);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab
|
|
||||||
pN_acc = p_acc_1.*(1 - coh_acc);
|
|
||||||
pN_geo = p_geo_1.*(1 - coh_geo);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, pN_acc, '-', 'DisplayName', 'Accelerometers');
|
|
||||||
plot(f, pN_geo, '-', 'DisplayName', 'Geophones');
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('ASD of the Measurement Noise $\left[\frac{m/s}{\sqrt{Hz}}\right]$');
|
|
||||||
xlim([1, 5000]);
|
|
||||||
legend('location', 'northeast');
|
|
||||||
#+end_src
|
|