From ea70ae3d3a1278654cbbad6674ebc01d7e35ddd2 Mon Sep 17 00:00:00 2001 From: Refik Hadzialic Date: Fri, 8 Jun 2012 19:36:58 +0200 Subject: GPS description --- vorlagen/thesis/maindoc.pdf | Bin 4248526 -> 4299752 bytes vorlagen/thesis/src/bib/literatur.bib | 12 + vorlagen/thesis/src/dinat.bst | 1952 ++++++++++++++++++++++++++++ vorlagen/thesis/src/img/GPS-Modulation.pdf | Bin 11120 -> 11222 bytes vorlagen/thesis/src/img/GPS-Modulation.svg | 102 +- vorlagen/thesis/src/img/GPS-Principle.pdf | Bin 0 -> 5910 bytes vorlagen/thesis/src/img/GPS-Principle.svg | 361 +++++ vorlagen/thesis/src/img/NAV-Message.pdf | Bin 0 -> 10792 bytes vorlagen/thesis/src/img/NAV-Message.svg | 421 ++++++ vorlagen/thesis/src/kapitel_A.tex | 8 +- vorlagen/thesis/src/kapitel_x.tex | 91 +- vorlagen/thesis/src/maindoc.tex | 2 +- vorlagen/thesis/src/natbib.cfg | 19 - vorlagen/thesis/src/natbib.cfg_backup | 19 + 14 files changed, 2925 insertions(+), 62 deletions(-) create mode 100644 vorlagen/thesis/src/dinat.bst create mode 100644 vorlagen/thesis/src/img/GPS-Principle.pdf create mode 100644 vorlagen/thesis/src/img/GPS-Principle.svg create mode 100644 vorlagen/thesis/src/img/NAV-Message.pdf create mode 100644 vorlagen/thesis/src/img/NAV-Message.svg delete mode 100644 vorlagen/thesis/src/natbib.cfg create mode 100644 vorlagen/thesis/src/natbib.cfg_backup (limited to 'vorlagen') diff --git a/vorlagen/thesis/maindoc.pdf b/vorlagen/thesis/maindoc.pdf index 0fa7fa3..f16212b 100644 Binary files a/vorlagen/thesis/maindoc.pdf and b/vorlagen/thesis/maindoc.pdf differ diff --git a/vorlagen/thesis/src/bib/literatur.bib b/vorlagen/thesis/src/bib/literatur.bib index 7299617..d6f5dc7 100644 --- a/vorlagen/thesis/src/bib/literatur.bib +++ b/vorlagen/thesis/src/bib/literatur.bib @@ -124,6 +124,18 @@ INTRODUCTION}", url = "http://www.navcen.uscg.gov/pubs/gps/gpsuser/gpsuser.pdf" } +@misc{GPS-Interface-Specification, + chapter = "CHAPTER 3: MINIMUM PERFORMANCE CAPABILITIES +OF A GPS RECEIVER", + howpublished = "Online", + month = mar, + organization = "Navigation Center, U.S. Department of Homeland Security", + pages = "55", + title = "{INTERFACE SPECIFICATION IS-GPS-200}", + year = "2006", + url = "Navstar GPS Space Segment/Navigation User Interfaces" +} + @misc{GPS-Pentagon, author = "Grimes, John G.", edition = "4th Edition", diff --git a/vorlagen/thesis/src/dinat.bst b/vorlagen/thesis/src/dinat.bst new file mode 100644 index 0000000..38a8cb4 --- /dev/null +++ b/vorlagen/thesis/src/dinat.bst @@ -0,0 +1,1952 @@ +%% DINAT.BST Version 2.5 2000-11-14 +%% (c) Helge Baumann email:Helge.Baumann@gmx.de +%%------------------------------------------------------------------------------ +%% For use with BibTeX version 0.99a or later. +%%------------------------------------------------------------------------------ +%% Copying of this file is authorized only if either +%% (1) you make absolutely no changes to your copy, including name, or +%% (2) if you do make changes, you name it something other than dinat.bst, +%% natdin.bst, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. +%% This restriction helps ensure that all standard styles are identical. +%%------------------------------------------------------------------------------ +%% This is a full author-year citation style bibliography. As such, it is +%% non-standard LaTeX, and requires the natbib-package by Patrick W. Daly, +%% version 7 or higher to function properly. +%% It should be used with the following configuration in natbib.cfg: +%% \newcommand{\bibstyle@dinat}% +%% {\bibpunct{(}{)}{;}{a}{}{,~}% +%% \gdef\NAT@biblabelnum##1{\textbf{##1}}} +%%------------------------------------------------------------------------------ +%% The form of the \bibitem entries is +%% \bibitem[Jones u. a.(1990)Jones, Baker und Smith]{key}... +%% If there are more [Jones u. a. 1990], a single character is added to +%% the year like in [Jones u.a.(1990{\natexlab{a}})Jones, Baker und Smith]. +%% The resulting bibliography entry is +%% \textsc{Jones}, \textsc{Baker} und \textsc{Smith} ... +%% The \cite command functions as follows: +%% \cite{key} ==>> Jones u. a. (1990) +%% \cite[chap. 2]{key} ==>> (Jones u. a. 1990, chap. 2) +%% \cite[e.g.][]{key} ==>> (e.g. Jones u. a. 1990) +%% \cite[e.g.][p. 32]{key} ==>> (e.g. Jones u. a. p. 32) +%% \citep{key} ==>> (Jones u. a. 1990) +%% \citep*{key} ==>> (Jones, Baker und Smith 1990) +%% \citet{key} ==>> Jones u. a. (1990) +%% \citet*{key} ==>> Jones, Baker und Smith (1990) +%% \citeauthor{key} ==>> Jones u. a. +%% \citeauthor*{key} ==>> Jones, Baker und Smith +%% \citeyear{key} ==>> 1990 +%%------------------------------------------------------------------------------ +%% This bibliography style file is intended for texts in german. +%% It draws up bibliographies in accordance with the german DIN 1505, +%% part 2 and 3, as discribed in the german text +%% http://www.fh-hamburg.de/pers/Lorenzen/tum/litverz.ps +%%------------------------------------------------------------------------------ +%% This style is based on the natdin.bst style. +%% The intention for designing a new style for the same result +%% were the many bugs and the poor design of the original style. +%% So i simplified the programming and add some comments for rework. +%% The names of the functions were changed to reflect their functionality: +%% out.*: write the top of the stack to the bbl-file +%% format.*: format the top of the stack +%% push.*: put one item on top of the stack +%%------------------------------------------------------------------------------ +%% There are some non standard fields for most entries: +%% isbn: international book number +%% issn: internation journal number +%% url: for electronic published documents or additional information +%% if there is no publisher and address, the url is used instead, +%% else it acts like a additional note +%% urldate: the date of the access to the url +%%------------------------------------------------------------------------------ +%% Author(s): +%% HB: Helge Baumann, helge.baumann@gmx.de +%%------------------------------------------------------------------------------ +%% History: +%% (only main changes are listed, for others see the webpage) +%% 2000-04-10 (HB): Initial release +%% 2000-04-18 (HB): Version 1.1: +%% corrected some typos and oversights +%% minor changes in output +%% 2000-04-25 (HB): Version 1.2: +%% dinat only: added \natexlab +%% using full key/cite for label +%% 2000-05-02 (HB): Version 2.0: +%% added urldate for date of visit +%% added labels in bibliography, so the seperate +%% style dinnat.bst is not needed anymore +%% 2000-05-09 (HB): Version 2.1: +%% removed blanc in bibpunct +%% put text ("u.\,a." ...) in functions +%% rebuild some push functions +%% changed \cite to \citep +%% removed push.crossref.editor (not used) +%% 2000-07-12 (HB): version 2.2: +%% added push.crossref +%% changed many crossrefs +%% corrected typos +%% put \, in curly braces +%% 2000-10-03 (HB): version 2.3: +%% changed remaining "u.~a." +%% added \labelsep behind dinatlabel +%% added mastersthesis again, keeping (wrong) +%% masterthesis (sorry for that) +%% minor changes in proceedings +%% 2000-11-05 (HB): version 2.4: +%% improved inbook +%% removed extra period from proceedings +%% added missing colon in misc +%% improved name formatting +%% removed long dashes from ISBN/ISSN +%% restructured format.dashes +%% 2000-11-14 (HB): version 2.5: +%% always use key for label if present +%%------------------------------------------------------------------------------ + + +%%------------------------------------------------------------------------------ +%% push standard text items on top of the stack +%%------------------------------------------------------------------------------ +FUNCTION {push.bd} { "Bd." } +FUNCTION {push.diplom} { "Diplomarbeit" } +FUNCTION {push.disser} { "Dissertation" } +FUNCTION {push.forschung} { "Forschungsbericht" } +FUNCTION {push.hrsg} { "Hrsg." } +FUNCTION {push.in} { "In:" } +FUNCTION {push.isbn} { "ISBN" } +FUNCTION {push.issn} { "ISSN" } +FUNCTION {push.kap} { "Kap." } +FUNCTION {push.nr} { "Nr." } +FUNCTION {push.sn} { "S" } +FUNCTION {push.s} { "S." } +FUNCTION {push.siehe} { "Siehe" } +FUNCTION {push.ua} { "u.\,a." } +FUNCTION {push.und} { "und" } +FUNCTION {push.url.name} { "URL" } +FUNCTION {push.veranst} { "Veranst." } +FUNCTION {push.von} { "von" } +FUNCTION {push.zugriff} { "Zugriffsdatum" } + +FUNCTION {push.cite} { "\citep" } + + +%%------------------------------------------------------------------------------ +%% Definitions for every bibliography entry +%%------------------------------------------------------------------------------ +ENTRY + % fields (crossref is default) + { address + author + booktitle + chapter + edition + editor + howpublished + institution + isbn + issn + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + urldate + volume + year + } + % INTEGERS + {} + % STRINGS (sort.key$ is default) + { label extra.label sort.label short.list dinat.label } + + +%%------------------------------------------------------------------------------ +%% required macros for abbr. names of month +%%------------------------------------------------------------------------------ +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"M\^^b{a}rz"} + +MACRO {apr} {"April"} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"Oktober"} + +MACRO {nov} {"November"} + +MACRO {dec} {"Dezember"} + + +%%------------------------------------------------------------------------------ +%% macros for common journals +%%------------------------------------------------------------------------------ +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + + +%%------------------------------------------------------------------------------ +%% for debugging (not used) +%%------------------------------------------------------------------------------ +FUNCTION {show} +% show quoted top of stack +{ duplicate$ ":::: `" swap$ * "'" * top$ +} + +FUNCTION {show.stack} +% show and clear whole stack +{ "STACK=====================================================================" + top$ + stack$ + "ENDSTACK==================================================================" + top$ +} + + +%%------------------------------------------------------------------------------ +%% logical functions +%%------------------------------------------------------------------------------ +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ { skip$ } + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + { skip$ } + if$ +} + + +%%------------------------------------------------------------------------------ +%% variables for the recent output state +%%------------------------------------------------------------------------------ +INTEGERS { output.state + before.all + mid.sentence + after.sentence + after.block + colon.after + period.dash } + +FUNCTION {init.state.consts} +% initialisation of the state variables +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'colon.after := + #5 'period.dash := +} + +FUNCTION {set.period.dash} +% set ". -- " +{ output.state before.all = + { skip$ } + { period.dash 'output.state := } + if$ +} + +FUNCTION {set.period.dash.check} +% only if not empty +{ empty$ + { skip$ } + { set.period.dash } + if$ +} + +FUNCTION {set.colon.after} +% set ": " +{ output.state before.all = + { skip$ } + { colon.after 'output.state := } + if$ +} + +FUNCTION {new.sentence} +% set ". " +{ output.state before.all = + { skip$ } + { after.sentence 'output.state := } + if$ +} + +FUNCTION {new.sentence.check} +% only if not empty +{ empty$ + { skip$ } + { new.sentence } + if$ +} + +FUNCTION {part.of.sentence} +% set ", " +{ output.state before.all = + { skip$ } + { mid.sentence 'output.state := } + if$ +} + + +%%------------------------------------------------------------------------------ +%% output lines to bbl. file +%%------------------------------------------------------------------------------ +STRINGS { h s t u v } + +FUNCTION {out.block} +% writes the second but last element with seperator +{ 's := + output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + { write$ } + { output.state colon.after = + { ": " * write$ + newline$ + "\newblock " write$ + } + { output.state period.dash = + { ". -- " * write$ + newline$ + "\newblock " write$ + } + { output.state mid.sentence = + { ", " * write$ } + { write$ + newline$ + "\newblock " write$ + } + if$ + } + if$ + } + if$ + } + if$ + after.block 'output.state := + } + if$ + s +} + +FUNCTION {out} +% write only if not empty +{ duplicate$ empty$ + { pop$ } + { out.block } + if$ +} + +FUNCTION {out.check.required} +% write if not empty, else drop warning +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + { out.block } + if$ +} + +FUNCTION {out.check.din} +% write if not empty, else drop note +{ 't := + duplicate$ empty$ + { pop$ "DIN: empty " t * " in " * cite$ * top$ } + { out.block } + if$ +} + + +%%------------------------------------------------------------------------------ +%% format entries for full author/editor citations +%%------------------------------------------------------------------------------ +INTEGERS { nameptr namesleft pos len } + +FUNCTION {format.full.names} +% format all names +{ 's := + "" + #1 'nameptr := + s num.names$ 'namesleft := + { namesleft #0 > } % while + { s nameptr "{vv~}{ll}" format.name$ 't := + nameptr #1 = + { % first name + t * + } + { namesleft #1 = + { % last name + t "others" = + { " " * push.ua * } + { " " * push.und * " " * t * } + if$ + } + { % other names + ", " * t * + } + if$ + } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ % { namesleft #0 > } +} + +FUNCTION {key.full} +{ key empty$ + { cite$ } + { key } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key.full } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key.full } + { editor format.full.names } + if$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor.key.full } + { author format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + { author.editor.key.full } + { type$ "proceedings" = + { editor.key.full } + { author.key.full } + if$ + } + if$ +} + + +%%------------------------------------------------------------------------------ +%% write bibentry to bbl. file +%%------------------------------------------------------------------------------ +FUNCTION {out.bibitem.start} +% start of entry +{ newline$ + "\bibitem[" label * ")" * + make.full.names + duplicate$ short.list = + { pop$ } + { * } + if$ + "]{" * cite$ * "}" * + write$ + newline$ + "\dinatlabel{" dinat.label * "} " * + write$ + "" + before.all 'output.state := +} + +FUNCTION {out.bibitem.end} +% end of entry +{ write$ + newline$ +} + + +%%------------------------------------------------------------------------------ +%% format text +%%------------------------------------------------------------------------------ +FUNCTION {format.emphasize} +% emphasize top of stack +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {format.smallcaps} +% top of stack in small caps +{ duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} + +FUNCTION {format.dashes} +% replace single dashes (-) with tex-styled dashes (--) +{ 't := + "" + { t empty$ not } % while$ + { t #1 #2 substring$ "--" = + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + { t #1 #1 substring$ "-" = + { "--" * } + { t #1 #1 substring$ * } + if$ + t #2 global.max$ substring$ 't := + } + if$ + } + while$ % { t empty$ not } +} + + +%%------------------------------------------------------------------------------ +%% manipulte entries on the stack +%%------------------------------------------------------------------------------ +FUNCTION {tie.or.space.connect} +% connect two top items with space or ~, if second is shorter than 3 +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {push.field.or.null} +% push an empty item on the stack if it's a missing entry +{ duplicate$ empty$ + { pop$ "" } + { skip$ } + if$ +} + + +%%------------------------------------------------------------------------------ +%% format text on stack +%%------------------------------------------------------------------------------ +STRINGS { hrsg } + +FUNCTION {format.names} +% format all names on top of stack +{ 's := + "" + #1 'nameptr := + s num.names$ 'namesleft := + { namesleft #0 > } % while names left + { % first get last name in small caps + s nameptr "{ll}" format.name$ 't := + t format.smallcaps 't := + % second get all first names + s nameptr "{, ff}" format.name$ 'u := + u text.length$ 'len := + #1 'pos := + "" 'v := + { pos len < } % while + { u pos #1 substring$ "~" = + { v "" = + { u #1 pos #1 - substring$ 'v := } + { skip$ } + if$ + % cut second and more first names + v u pos #2 substring$ * "." * 'v := + } + { skip$ } + if$ + pos #1 + 'pos := + } + while$ % { pos len < } + v "" = + { u 'v := } + { skip$ } + if$ + % third get all "von" + s nameptr "{ vv}" format.name$ 'u := + % put it all together + t v * u * hrsg * 't := + + nameptr #1 = + { %first name + t * + } + { namesleft #1 = + { % last name + t "others" format.smallcaps = + t "others" format.smallcaps hrsg * = + or + { " " * push.ua * } + { "~; " * t * } + if$ + } + { % other names + "~; " * t * + } + if$ + } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ % { namesleft #0 > } + "" 'hrsg := +} + + +%%------------------------------------------------------------------------------ +%% push formatted or empty field(s) on top of the stack +%%------------------------------------------------------------------------------ +FUNCTION {push.authors} +% format author names +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {push.editors} +% format editor names +{ editor empty$ + { "" } + { " (" push.hrsg * ")" * 'hrsg := + editor format.names + } + if$ +} + +FUNCTION {push.authors.editors} +% format author and/or editor names +{ author empty$ + { push.editors } + { push.authors + editor empty$ + { skip$ } + { "~; " * push.editors * } + if$ + } + if$ +} + + +FUNCTION {push.organization} +% format organization +{ organization empty$ + { "" } + { organization + " (" * push.veranst * ")" * + } + if$ +} + +FUNCTION {push.title} +% title as in entry +{ title empty$ + { "" } + { title } + if$ +} + +FUNCTION {push.url} +% prefixed with "URL" and special formatting +{ url empty$ + { "" } + { push.url.name " \url{" * url * "}" * + urldate empty$ + { skip$ } + { ". -- " * push.zugriff * ": " * urldate * } + if$ + } + if$ +} + +FUNCTION {push.date} +% format: month year +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + { year } + { month " " * year * } + if$ + } + if$ +} + +FUNCTION {push.address.publisher.year} +% the whole imprint +{ address empty$ + { publisher empty$ + { url empty$ + { year empty$ + { "no publisher, address, url or date in " cite$ * warning$ + "" } + { push.date } + if$ + } + { "no proper publisher, using url in " cite$ * warning$ + push.url + year empty$ + { skip$ } + { ", " * push.date * } + if$ + } + if$ + } + { publisher + year empty$ + { "there's a publisher but no year in " cite$ * warning$ } + { ", " * push.date * } + if$ + } + if$ + } + { address + publisher empty$ + { "there's an address but no publisher in " cite$ * warning$ } + { "~: " * publisher * } + if$ + year empty$ + { skip$ } + { ", " * push.date * } + if$ + } + if$ +} + +FUNCTION {push.btitle} +% the booktitle +{ title empty$ + { "" } + { title format.emphasize } + if$ +} + +FUNCTION {push.btitle.vol} +% booktitle in multivolume works +{ number empty$ + { series empty$ + { push.btitle + volume empty$ + { skip$ } + { ". " * push.bd * volume tie.or.space.connect } + if$ + } + { volume empty$ + { push.btitle } + { series format.emphasize ". " * + push.bd * volume tie.or.space.connect + ": " * push.btitle * + } + if$ + } + if$ + } + { push.btitle } + if$ +} + +FUNCTION {push.article.in.journal} +% source of article +{ journal empty$ + { "" } + { author missing$ + title missing$ + and + { journal format.emphasize } + { push.in " " * journal format.emphasize * } + if$ + } + if$ +} + +FUNCTION {push.series.number} +% series and number like DIN +{ volume empty$ + { series empty$ + { number empty$ + { "" } + { "there's a number but no series in " cite$ * warning$ + "(" number * ")" * } + if$ + } + { "(" series * + number empty$ + { skip$ } + { number tie.or.space.connect } + if$ + ")" * + } + if$ + } + { series empty$ + { "" } + { type$ "proceedings" = + { "(" series * + number empty$ + { skip$ } + { number tie.or.space.connect } + if$ + ")" * + } + { "" } + if$ + } + if$ + } + if$ +} + +FUNCTION {push.misc.series} +% series in MISC +{ series empty$ + { "" } + { "(" series * ")" * } + if$ +} + +FUNCTION {push.edition} +% like in entry +{ edition empty$ + { "" } + { edition } + if$ +} + +FUNCTION {push.isbn.issn} +% preceeded with ISSN/ISBN +{ isbn empty$ + { issn empty$ + { "" } + { push.issn " " * issn * } + if$ + } + { push.isbn " " * isbn * } + if$ +} + +FUNCTION {push.pages.book} +% as length of a book +{ pages empty$ + { "" } + { pages format.dashes "~" * push.sn * } + if$ +} + +FUNCTION {push.pages} +% as part of a book +{ pages empty$ + { "" } + { push.s "~" * pages format.dashes * } + if$ +} + +FUNCTION {push.vol.year.num.pages} +% for journals etc. +{ volume push.field.or.null + year empty$ + { "there's no year in " cite$ * warning$ } + { duplicate$ empty$ + { pop$ "(" } + { " (" * } + if$ + year * ")" * + } + if$ + month empty$ + { skip$ } + { duplicate$ empty$ + { pop$ month } + { ", " * month * } + if$ + } + if$ + number empty$ + { skip$ } + { duplicate$ empty$ + { pop$ push.nr } + { ", " * push.nr * } + if$ + "~" * number * + } + if$ + pages empty$ + { skip$ } + { duplicate$ empty$ + { skip$ } + { ", " * + title missing$ + { push.pages.book * } + { push.pages * } + if$ + } + if$ + } + if$ +} + +FUNCTION {push.chapter.pages} +% chapter and pages +{ chapter empty$ + { push.pages } + { type empty$ + { push.kap } + { type } + if$ + chapter tie.or.space.connect + pages empty$ + { skip$ } + { ", " * push.pages * } + if$ + } + if$ +} + +FUNCTION {push.in.ed.booktitle} +% main title and volume +{ booktitle empty$ + { "" } + { push.in " " * + editor empty$ + { skip$ } + { push.editors * ": " * } + if$ + booktitle format.emphasize * + volume empty$ + { skip$ } + { " " * push.bd * "~" * volume * } + if$ + } + if$ +} + +FUNCTION {push.mastersthesis.type} +% type of a mastersthesis +{ type empty$ + { push.diplom } + { type } + if$ +} + +FUNCTION {push.phdthesis.type} +% type of a phdthesis +{ type empty$ + { push.disser } + { type } + if$ +} + +FUNCTION {push.tr.number} +% type and number of a technical report +{ number empty$ + { " " } + { "(" number * "). " * } + if$ + "-- " * + type empty$ + { push.forschung * } + { type * } + if$ +} + +FUNCTION {push.article.crossref} +% article from a journal +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { push.in " " * journal format.emphasize * } + if$ + } + { push.in " " * key * } + if$ + " " * push.cite * "{" * crossref * "}" * + pages empty$ + { skip$ } + { ", " * push.pages * } + if$ +} + +FUNCTION {push.book.crossref} +% crossreference in BOOKs +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + push.siehe + } + { ". -- " push.bd * "~" * volume * + " " * push.von * + } + if$ + " " * push.cite * "{" * crossref * "}" * +} + +FUNCTION {push.incoll.inproc.crossref} +% crossreference with In: +{ editor empty$ + editor push.field.or.null author push.field.or.null = + or + { key empty$ + { booktitle empty$ + { push.siehe } + { push.in " " * booktitle format.emphasize * "." * } + if$ + } + { push.in } + if$ + } + { push.in } + if$ + " " * push.cite * "{" * crossref * "}" * + chapter empty$ + { skip$ } + { ", " * + type empty$ + { push.kap * } + { type * } + if$ + chapter tie.or.space.connect + } + if$ + pages empty$ + { skip$ } + { ", " * push.pages * } + if$ +} + +FUNCTION {push.crossref} +% a simple crossref +{ crossref empty$ + { "" } + { push.siehe " " * push.cite * "{" * crossref * "}" * } + if$ +} + + +%%------------------------------------------------------------------------------ +%% functions for the different entries +%%------------------------------------------------------------------------------ +FUNCTION {article} +% required: author, title, journal, year +% optional: volume, number, pages, month, note, url, issn +{ out.bibitem.start + push.authors "author" out.check.required + set.colon.after + push.title "title" out.check.required + crossref missing$ + { push.article.in.journal out.block + new.sentence + push.vol.year.num.pages out + } + { push.article.crossref out.block } + if$ + url set.period.dash.check + push.url out + note set.period.dash.check + note out + issn set.period.dash.check + push.isbn.issn out + out.bibitem.end +} + +FUNCTION {book} +% required: author/editor, title, publisher, year +% optional: volume oder number, series, address, edition, pages, month, +% note, url, isbn +{ out.bibitem.start + author empty$ + { push.editors "author and editor" out.check.required } + { push.authors.editors out.block } + if$ + set.colon.after + crossref missing$ + { push.btitle.vol } + { push.btitle } + if$ + "title" out.check.required + push.edition out + push.address.publisher.year "publisher" out.check.required + new.sentence + crossref missing$ + { push.series.number out } + { push.book.crossref out.block } + if$ + pages set.period.dash.check + push.pages.book out + address empty$ + publisher empty$ + and + { skip$ } + { url set.period.dash.check + push.url out + } + if$ + note set.period.dash.check + note out + isbn set.period.dash.check + push.isbn.issn out + out.bibitem.end +} + +% booklet see below + +% conference see below + +FUNCTION {inbook} +% required: author/editor, title, chapter/pages, publisher, year +% optional: volume oder number, series, type, address, month, note, url, isbn +{ out.bibitem.start + author empty$ + { push.editors "author and editor" out.check.required } + { push.authors out.block } + if$ + set.colon.after + push.btitle.vol "title" out.check.required + push.chapter.pages out + crossref missing$ + { push.in.ed.booktitle "booktitle" out.check.required + address empty$ + { part.of.sentence + push.address.publisher.year out + } + { push.address.publisher.year "publisher" out.check.required } + if$ + new.sentence + series empty$ + { skip$ } + { push.series.number out } + if$ + part.of.sentence + address empty$ + publisher empty$ + and + { skip$ } + { url set.period.dash.check + push.url out + } + if$ + } + { push.crossref out.block + url set.period.dash.check + push.url out + } + if$ + note set.period.dash.check + note out + isbn set.period.dash.check + push.isbn.issn out + out.bibitem.end +} + +FUNCTION {incollection} +% required: author, title, booktitle, publisher, year +% optional: editor, volume oder number, series, type, chapter, +% pages, address, edition, month, note, url +{ out.bibitem.start + push.authors "author" out.check.required + set.colon.after + push.title "title" out.check.required + crossref missing$ + { push.in.ed.booktitle "booktitle" out.check.required + push.edition out + push.address.publisher.year "publisher" out.check.required + new.sentence + push.series.number out + part.of.sentence + push.chapter.pages "pages" out.check.required + address empty$ + publisher empty$ + and + { skip$ } + { url set.period.dash.check + push.url out + } + if$ + } + { push.incoll.inproc.crossref out.block + url set.period.dash.check + push.url out + } + if$ + note set.period.dash.check + note out + isbn set.period.dash.check + issn set.period.dash.check + push.isbn.issn out + out.bibitem.end +} + +FUNCTION {inproceedings} +% required: author, title, booktitle, year +% optional: editor, volume oder number, series, pages, address, month, +% organization, publisher, note, url +{ out.bibitem.start + push.authors "author" out.check.required + set.colon.after + push.title "title" out.check.required + crossref missing$ + { push.in.ed.booktitle "booktitle" out.check.required + address empty$ + { organization new.sentence.check + push.organization out + part.of.sentence + push.address.publisher.year out + } + { push.address.publisher.year "publisher" out.check.required } + if$ + new.sentence + series empty$ + { skip$ } + { push.series.number out } + if$ + part.of.sentence + push.pages "pages" out.check.required + address empty$ + publisher empty$ + and + { skip$ } + { url set.period.dash.check + push.url out + } + if$ + } + { push.incoll.inproc.crossref out.block + url set.period.dash.check + push.url out + } + if$ + note set.period.dash.check + note out + isbn set.period.dash.check + issn set.period.dash.check + push.isbn.issn out + out.bibitem.end +} + +FUNCTION {manual} +% required: title +% optional: author, organization, address, edition, month, year, note, url +{ out.bibitem.start + author empty$ + { organization empty$ + { title empty$ + { skip$ } + { push.btitle "title" out.check.required } + if$ + } + { push.organization out.block + set.colon.after + push.btitle "title" out.check.required + } + if$ + } + { push.authors out.block + set.colon.after + push.btitle "title" out.check.required + } + if$ + push.edition "edition" out.check.required + author empty$ + { organization empty$ + { address out + part.of.sentence + } + { skip$ } + if$ + } + { address ": " * push.organization * out + part.of.sentence + } + if$ + push.date out + pages set.period.dash.check + push.pages.book out + url set.period.dash.check + push.url out + note set.period.dash.check + note out + out.bibitem.end +} + +FUNCTION {mastersthesis} +% required: author, title, school, year +% optional: type, address, month, note, url +{ out.bibitem.start + push.authors "author" out.check.required + set.colon.after + push.btitle "title" out.check.required + address out + part.of.sentence + school "school" out.check.required + part.of.sentence + push.mastersthesis.type out.block + part.of.sentence + push.date "year" out.check.required + pages set.period.dash.check + push.pages.book out + url set.period.dash.check + push.url out + note set.period.dash.check + note out + out.bibitem.end +} + +FUNCTION {misc} +% required: +% optional: author, title, howpublished, month, year, note, url +{ out.bibitem.start + note empty$ + { title empty$ + { skip$ } + { push.authors.editors out.block + set.colon.after + push.btitle out + howpublished out + push.date out + push.crossref out + url set.period.dash.check + push.url out + } + if$ + } + { note #1 #4 substring$ "u" change.case$ "NORM" = + { note out + part.of.sentence + push.date out + push.title format.emphasize out + push.crossref out + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { push.organization out.block + set.colon.after + } + if$ + } + { push.editors push.organization * out.block + set.colon.after + } + if$ + } + { push.authors.editors out.block + set.colon.after + } + if$ + push.btitle out + push.crossref out + howpublished out + push.date out + new.sentence + push.misc.series out + url set.period.dash.check + push.url out + note set.period.dash.check + note out + } + if$ + } + if$ + out.bibitem.end +} + +FUNCTION {phdthesis} +% required: author, title, school, year +% optional: type, address, month, note, url +{ out.bibitem.start + push.authors "author" out.check.required + set.colon.after + push.btitle "title" out.check.required + address out + part.of.sentence + school "school" out.check.required + part.of.sentence + push.phdthesis.type out.block + part.of.sentence + push.date "year" out.check.required + pages set.period.dash.check + push.pages.book out + url set.period.dash.check + push.url out + note set.period.dash.check + note out + out.bibitem.end +} + +FUNCTION {proceedings} +% required: title, year +% optional: editor, volume oder number, series, address, month, +% organization, publisher, note, url +{ out.bibitem.start + editor empty$ + { push.organization } + { push.editors + organization empty$ + { skip$ } + { "~; " * push.organization * } + if$ + } + if$ + out.block + set.colon.after + push.btitle "title" out.check.required + volume empty$ + { skip$ } + { push.bd "~" * volume format.emphasize * out.block } + if$ + push.address.publisher.year "publisher" out.check.required + push.series.number out + pages set.period.dash.check + push.pages.book out + address empty$ + publisher empty$ + and + { skip$ } + { url set.period.dash.check + push.url out + } + if$ + note set.period.dash.check + note out + isbn set.period.dash.check + issn set.period.dash.check + push.isbn.issn out + out.bibitem.end +} + +FUNCTION {techreport} +% required: author, title, institution, year +% optional: type, number, address, month, note, url +{ out.bibitem.start + author empty$ + { push.editors "author and editor" out.check.required } + { push.authors.editors out.block } + if$ + set.colon.after + push.title "title" out.check.required + institution empty$ + { skip$ } + { institution new.sentence.check + "/ " institution * out.block + } + if$ + push.address.publisher.year out + number new.sentence.check + push.tr.number "number" out.check.required + pages set.period.dash.check + push.pages.book out + address empty$ + publisher empty$ + and + { skip$ } + { url set.period.dash.check + push.url out + } + if$ + note "note" out.check.required + isbn set.period.dash.check + issn set.period.dash.check + push.isbn.issn out + out.bibitem.end +} + +FUNCTION {booklet} +% required: title +% optional: author, howpublished, address, month, year, note, url +{ misc % so far +} + +FUNCTION {conference} +% required: author, title, note +% optional: month, year, url +{ inproceedings % like stated in BibTeXing by O. Patashnik +} + +FUNCTION {masterthesis} +% required: author, title, school, year +% optional: type, address, month, note, url +{ mastersthesis % just because of a typo in former version +} + +FUNCTION {unpublished} +% required: author, title, note +% optional: month, year, url +{ misc % so far +} + +FUNCTION {default.type} +% all other types +{ misc +} + + +%%------------------------------------------------------------------------------ +%% for producing the labels +%%------------------------------------------------------------------------------ +FUNCTION {sortify} +% simplify for sorting +{ purify$ + "l" change.case$ +} + +FUNCTION {chop.word} +% cut a word +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + { s } + if$ +} + +FUNCTION {chop.article} +% cut article from a word +{ 't := + "A " #2 + "An " #3 + "Der " #4 + "Die " #4 + "Das " #4 + "Ein " #4 + "Eine " #5 + "The " #4 t chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word +} + + +FUNCTION {format.lab.names} +% format names for the label +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " " * push.ua * } + { #2 < + { skip$ } + { s #2 "{ll}" format.name$ "others" = + { " " * push.ua * } + { " " * push.und * " " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.label} +% label from key or author +{ key empty$ + { author empty$ + { cite$ } + { author format.lab.names } + if$ + } + { key } + if$ +} + +FUNCTION {author.editor.label} +% label from key, author or editor +{ key empty$ + { author empty$ + { editor empty$ + { cite$ } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ + } + { key } + if$ +} + +FUNCTION {author.organization.label} +% label from key, author or organization +{ key empty$ + { author empty$ + { organization empty$ + { cite$ } + { organization chop.article } + if$ + } + { author format.lab.names } + if$ + } + { key } + if$ +} + +FUNCTION {editor.organization.label} +% label from key, editor or organization +{ key empty$ + { editor empty$ + { organization empty$ + { cite$ } + { organization chop.article } + if$ + } + { editor format.lab.names } + if$ + } + { key } + if$ +} + +FUNCTION {calc.short.authors} +% make short label (only first author) +{ type$ "book" = + type$ "inbook" = + or + { author.editor.label } + { type$ "proceedings" = + { editor.organization.label } + { type$ "manual" = + { author.organization.label } + { author.label } + if$ + } + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +% make a full label +{ calc.short.authors + short.list "(" * + year push.field.or.null format.dashes * 'label := + short.list " " * + year push.field.or.null format.dashes * 'dinat.label := + label sortify 'sort.label := +} + + +%%------------------------------------------------------------------------------ +%% sorting +%%------------------------------------------------------------------------------ +FUNCTION {sort.format.names} +% format names for sorting +{ 's := + #1 'nameptr := + "" + s num.names$ 'namesleft := + { namesleft #0 > } % while + { nameptr #1 = + { skip$ } + { " " * } + if$ + s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + namesleft #1 = + t "others" = + and + { "[" * push.ua * "]" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ % { namesleft #0 > } +} + +FUNCTION {sort.format.title} +% format title for sorting (without article) +{ chop.article + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +% author or key for sorting +{ key empty$ + { author empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { author sort.format.names } + if$ + } + { key sortify } + if$ +} + +FUNCTION {author.editor.sort} +% author, editor or key for sorting +{ key empty$ + { author empty$ + { editor empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ + } + { key sortify } + if$ +} + +FUNCTION {author.organization.sort} +% author, organization or key for sorting +{ key empty$ + { author empty$ + { organization empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { organization chop.article sortify } + if$ + } + { author sort.format.names } + if$ + } + { key sortify } + if$ +} + +FUNCTION {editor.organization.sort} +% editor, organization or key for sorting +{ key empty$ + { editor empty$ + { organization empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { organization chop.article sortify } + if$ + } + { editor sort.format.names } + if$ + } + { key sortify } + if$ +} + +FUNCTION {presort} +% first sort +{ calc.label + sort.label + " " * + type$ "book" = + type$ "inbook" = + or + { author.editor.sort } + { type$ "proceedings" = + { editor.organization.sort } + { type$ "manual" = + { author.organization.sort } + { author.sort } + if$ + } + if$ + } + if$ + " " * + year push.field.or.null sortify * + " " * + title push.field.or.null sort.format.title * + #1 entry.max$ substring$ + 'sort.label := + sort.label * + #1 entry.max$ substring$ + 'sort.key$ := +} + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num label.count } + +FUNCTION {initialize.label} +{ "" 'last.label := + #0 'label.count := +} + +FUNCTION {forward.pass} +% find maximum additional character for identical labels +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + label.count #1 + 'label.count := +} + +FUNCTION {reverse.pass} +% add additional characters to identical labels +{ next.extra "b" = + { "a" 'extra.label := } + { skip$ } + if$ + extra.label 'next.extra := + extra.label empty$ + { "" } + { "{\natexlab{" extra.label * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := + dinat.label extra.label * 'dinat.label := +} + +FUNCTION {bib.sort.order} +{ sort.label 'sort.key$ := +} + + +%%------------------------------------------------------------------------------ +%% making the bbl. file +%%------------------------------------------------------------------------------ +FUNCTION {begin.bib} +% beginning of the file +{ preamble$ empty$ + { skip$ } + { preamble$ + write$ + newline$ + } + if$ + "\begin{thebibliography}{" label.count int.to.str$ * "}" * + write$ + newline$ + "% this bibliography was produced with the style dinat.bst v2.5" + write$ + newline$ + "\makeatletter" + write$ + newline$ + "\newcommand{\dinatlabel}[1]%" + write$ + newline$ + "{\ifNAT@numbers\else\NAT@biblabelnum{#1}\hspace{2\labelsep}\fi}" + write$ + newline$ + "\makeatother" + write$ + newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ + newline$ + "\expandafter\ifx\csname url\endcsname\relax\def\url#1{\texttt{#1}}\fi" + write$ + newline$ +} + +FUNCTION {end.bib} +% end of the bbl. file +{ newline$ + "\end{thebibliography}" write$ newline$ +} + + +%%------------------------------------------------------------------------------ +%% processing the .bib file +%%------------------------------------------------------------------------------ +READ + +ITERATE {presort} + +SORT + +EXECUTE {initialize.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +ITERATE {bib.sort.order} + +SORT + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +EXECUTE {end.bib} diff --git a/vorlagen/thesis/src/img/GPS-Modulation.pdf b/vorlagen/thesis/src/img/GPS-Modulation.pdf index 917685a..d9e260f 100644 Binary files a/vorlagen/thesis/src/img/GPS-Modulation.pdf and b/vorlagen/thesis/src/img/GPS-Modulation.pdf differ diff --git a/vorlagen/thesis/src/img/GPS-Modulation.svg b/vorlagen/thesis/src/img/GPS-Modulation.svg index 3717dbf..467a329 100644 --- a/vorlagen/thesis/src/img/GPS-Modulation.svg +++ b/vorlagen/thesis/src/img/GPS-Modulation.svg @@ -9,7 +9,7 @@ xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="541.67816" + width="611.77167" height="353.04208" id="svg2" version="1.1" @@ -23,8 +23,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.4" - inkscape:cx="245.3155" - inkscape:cy="135.37754" + inkscape:cx="396.25135" + inkscape:cy="135.37753" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" @@ -122,53 +122,58 @@ y="432.36218">NAV Data - 50 Hz - - x - + sodipodi:nodetypes="cccc" /> + + + x + + GPS L1 @@ -184,7 +189,7 @@ x="50" y="162.36218">BPSK Modulation @@ -224,5 +229,28 @@ d="m 330,461.36218 99.62937,0 0,0" id="path4465" inkscape:connector-curvature="0" /> + Modulo 2 + C/A Code diff --git a/vorlagen/thesis/src/img/GPS-Principle.pdf b/vorlagen/thesis/src/img/GPS-Principle.pdf new file mode 100644 index 0000000..7e3dedb Binary files /dev/null and b/vorlagen/thesis/src/img/GPS-Principle.pdf differ diff --git a/vorlagen/thesis/src/img/GPS-Principle.svg b/vorlagen/thesis/src/img/GPS-Principle.svg new file mode 100644 index 0000000..9a25320 --- /dev/null +++ b/vorlagen/thesis/src/img/GPS-Principle.svg @@ -0,0 +1,361 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r1 + + + + + r2 + + r3 + + diff --git a/vorlagen/thesis/src/img/NAV-Message.pdf b/vorlagen/thesis/src/img/NAV-Message.pdf new file mode 100644 index 0000000..7abe4f8 Binary files /dev/null and b/vorlagen/thesis/src/img/NAV-Message.pdf differ diff --git a/vorlagen/thesis/src/img/NAV-Message.svg b/vorlagen/thesis/src/img/NAV-Message.svg new file mode 100644 index 0000000..1bdb242 --- /dev/null +++ b/vorlagen/thesis/src/img/NAV-Message.svg @@ -0,0 +1,421 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + One frame - 1500 bits + + + + + + 300 bits at 50 bps - 6 s per subframe + + + + + + + 5 subframes - 30 s per frame + + Subframe 1 - Satellite accuracy, health & clock correction + + + + + + Subframe 2 - Ephemeris + + + + + + Subframe 3 - Ephemeris continued + + + + + + Subframe 5 - Almanac + + + + + + Subframe 4 - Almanac, Special messages, Ionospheric & UTC model + + + + + + diff --git a/vorlagen/thesis/src/kapitel_A.tex b/vorlagen/thesis/src/kapitel_A.tex index 444bb77..bdfd07a 100644 --- a/vorlagen/thesis/src/kapitel_A.tex +++ b/vorlagen/thesis/src/kapitel_A.tex @@ -286,7 +286,7 @@ where we can get the integer value $K$ for a previously selected $r$. \label{eq:unclatlong} \centering \begin{array}{l} -\displaystyle r=C\cdot((1+x)^{K}-1) \\ +\displaystyle r=C((1+x)^{K}-1) \\ \displaystyle \\ \displaystyle where \left\{ \begin{array}{rcl} C & = & 10 \\ @@ -354,7 +354,7 @@ describes the altitude uncertainty, \ref{eq:uncaltnew}. \label{eq:uncalt} \centering \begin{array}{l} -\displaystyle h=C\cdot((1+x)^{K}-1) \\ +\displaystyle h=C((1+x)^{K}-1) \\ \displaystyle \\ \displaystyle where \left\{ \begin{array}{rcl} C & = & 45 \\ @@ -445,7 +445,7 @@ The variable uses the hour unit, how often the data are being downloaded. If the used from a local GNSS station, refresh time of the ephemeris data should be set to every 30 minutes or 0.5 hours. The almanac data are valid for up to 180 days \citep{GPS-Guide} but are updated usually every day\footnote{Almanac update times can be found here: -\url{http://www.navcen.uscg.gov/?pageName=currentNanus&format=txt}} \citep{GPS-Pentagon} +\url{http://www.navcen.uscg.gov/?pageName=currentNanus&format=txt}} \citep{GPS-Pentagon}. \newpage \section{Sourcecode} @@ -463,3 +463,5 @@ int main(void) return 0; } \end{lstlisting} + +\section{GPS Constants} \ No newline at end of file diff --git a/vorlagen/thesis/src/kapitel_x.tex b/vorlagen/thesis/src/kapitel_x.tex index 3c87764..859dbd4 100644 --- a/vorlagen/thesis/src/kapitel_x.tex +++ b/vorlagen/thesis/src/kapitel_x.tex @@ -14,11 +14,98 @@ inside the GSM network \section{GPS Principles} \begin{figure}[ht!] \centering - \includegraphics[scale=0.50]{img/GPS-Modulation.pdf} + \includegraphics[scale=0.50]{img/GPS-Principle.pdf} \caption[]{nanoBTS with its plastic cover. Image courtesy of ip.access ltd} -\label{img:nanoBTSPlastic} +\label{img:gpsprinciple} \end{figure} +The GPS satellites\footnote{Satellites are named as space vehicles +and the abrevation SV is used in the equation notations +to denote a parameter related to the satellite itself.} +orbiting our planet have precise clocks on board. +These atomic clocks are calibrated and maintained on +a daily basis by the U.S. Air Force, \citep{GPS-Pentagon}. +The time the clocks generate is called \textit{GPS +system time}, $t_{SV}$, and it is generated at the moment +of the frame broadcast \citep{GPS-Interface-Specification}. +In order to calculate the signal travel time, +between the satellite and the GPS receiver, their precise +time difference needs to be known. Therefore, each +satellite signs the frame before its sent with its exact +broadcast time. The broadcast time is located in the +subframe 1 of the 1500 bit long frame. In addition to the +broadcast time, subframe 1 contains parameters to account +for the deterministic clock errors emodied in the +broadcast GPS system time stamp. These errors can be +characterized as bias, drift and aging errors +\citep{GPS-Interface-Specification}. The correct broadcast +time can be estimated using the model equation given in +\ref{eq:timecorrection1} \citep{GPS-Interface-Specification}. +$t$ is the correctly estimated GPS system time at broadcast +moment. In equation \ref{eq:timecorrection2}, where the GPS +receiver is required to calculate the satellite clock +offset, $\Delta t_{SV}$, a number of unknown terms can be +seen. These terms are contained in the subframe 1 or +can be estimated using predefined equations. The polynomial +coefficients, a +Finally, the only unknown term left in equation +\ref{eq:timecorrection2} is $t_{r}$, the relativistic correction +term. $t_{r}$ can be evaluated by applying the +equation in \ref{eq:timecorrection3}. + +\begin{equation} +\label{eq:timecorrection1} +\centering +t=t_{SV}-\Delta t_{SV} +\end{equation} + +\begin{alignat}{4} + & \Delta t_{SV} &= \;& a_{f0} + a_{f1}(t_{SV}-t_{oc}) + a_{f2}(t_{SV}-t_{oc})^{2} + \Delta t_{r} \label{eq:timecorrection2} \\ + & \Delta t_{r} &= \; & Fe\sqrt{A}\sin{E_{k}} \label{eq:timecorrection3} \\ + & F &= \;& \frac{-2\sqrt{\mu}} {c^{2}} = -4.442807633 \cdot 10^{-10} \label{eq:timecorrection4} +\end{alignat} + + +\begin{alignat}{4} + & A & = & \; (\sqrt{A})^2 \nonumber \\ + & n_{0} & = &\; \sqrt{\frac{\mu}{A^3}} \nonumber \\ + & t_{k} & = &\; t-t_{oe} \nonumber \\ + & n & = &\; n_{0} + \Delta n \nonumber \\ + & M_{k} & = &\; M_{0} + nt_{k} \nonumber \\ + & M_{k} & = &\; E_{k} - e\sin E_{k} \nonumber \\ + & v_{k} & = & \tan ^{-1} \left( \frac{\sin v_{k}}{\cos v_{k}} \right) = \tan ^{-1} \left( \frac{\frac{\sqrt{1-e^2} \sin E_{k}}{1-e \cos E_{k}}}{\frac{\cos E_{k}-e}{1-e\cos E_{k}}} \right) \nonumber \\ + & v_{k} & = & \tan ^{-1} \left( \frac{\sin v_{k}}{\cos v_{k}} \right) = \tan ^{-1} \left( \frac{\sqrt{1-e^2} \sin E_{k}/(1-e \cos E_{k})}{(\cos E_{k}-e)/(1-e\cos E_{k})} \right) = \tan ^{-1} \left( \frac{\sqrt{1-e^2} \sin E_{k}}{\cos E_{k} - e} \right) \nonumber \\ + & E_{k} & = & \cos ^{-1} \left( \frac{e+\cos v_{k}}{1+e \cos v_{k}} \right) \nonumber \\ + & \Phi_{k} & = &\; v_{k} + \omega \nonumber \\ + & \delta u_{k} & = &\; c_{us} \sin{2\Phi_{k}} + C_{us} \cos{2\Phi_{k}} \\ + & \delta r_{k} & = &\; c_{rc} \cos{2\Phi_{k}} + C_{rs} \sin{2\Phi_{k}} \nonumber \\ + & \delta i_{k} & = &\; c_{ic} \cos{2\Phi_{k}} + C_{is} \sin{2\Phi_{k}} \nonumber \\ + & u_{k} & = &\; \Phi_{k} + \delta u_{k} \nonumber \\ + & r_{k} & = &\; A(1-e\cos{E_{k}})+\delta r_{k} \nonumber \\ + & i_{k} & = &\; i_{0} + \delta i_{k} + (IDOT)t_{k} \nonumber \\ + & x_{k}^{'} & = &\; r_{k} \cos{u_{k}} \nonumber \\ + & y_{k}^{'} & = &\; r_{k} \sin{u_{k}} \nonumber \\ + & \Omega_{k} & = &\; \Omega_{0} + (\Omega - \Omega_{e})t_{k} - \Omega_{e}t_{oe} \nonumber \\ + & x & = &\; x_{k}^{'} \cos{\Omega_{k}}-y_{k}^{'}\cos{i_{k}}\sin{\Omega_{k}} \nonumber \\ + & y & = &\; x_{k}^{'} \sin{\Omega_{k}}-y_{k}^{'}\cos{i_{k}}\cos{\Omega_{k}} \nonumber \\ + & z & = &\; y_{k}^{'} \sin{i_{k}} \nonumber +\end{alignat} + +\begin{figure}[ht!] + \centering + \includegraphics[scale=0.50]{img/GPS-Modulation.pdf} + \caption[]{Modulation of the GPS signal L1} +\label{img:gpsmod} +\end{figure} + +\begin{figure}[ht!] + \centering + \includegraphics[scale=0.50]{img/NAV-Message.pdf} + \caption[]{One frame of 1500 bits on L1 frequency carrier} +\label{img:gpsframe} +\end{figure} + + \chapter{Radio Resource Location Protocol} \chapter {Working} diff --git a/vorlagen/thesis/src/maindoc.tex b/vorlagen/thesis/src/maindoc.tex index 156b2da..a033ca2 100644 --- a/vorlagen/thesis/src/maindoc.tex +++ b/vorlagen/thesis/src/maindoc.tex @@ -78,7 +78,7 @@ %\usepackage{jurabib} %\usepackage{plain} %weitere Stile auf der -\usepackage[sectionbib,square]{natbib} +\usepackage[numbers,sectionbib,square]{natbib} \usepackage{MnSymbol} %\usepackage{a4wide} diff --git a/vorlagen/thesis/src/natbib.cfg b/vorlagen/thesis/src/natbib.cfg deleted file mode 100644 index dae7528..0000000 --- a/vorlagen/thesis/src/natbib.cfg +++ /dev/null @@ -1,19 +0,0 @@ -% NATBIB.CFG in Verbindung mit natbib.sty -% Lorenzen, 2006-01-02 -% diese Konfigurationsdatei wird zuletzt eingelesen und -% enth"alt die lokal gew"unschten Einstellungen f"ur den -% Bibliographie-- und Zitierstil - -\newcommand{\bibstyle@natdin}% - {\bibpunct{[}{]}{;}{a}{}{,~} - \gdef\NAT@biblabelnum##1{\textbf{##1}\\}} -%% nach dieser Definition wird das label (dinatlabel) fett geschrieben, dann Zeilenumbruch; -%% darunter der bibliographische Beleg - - -\bibstyle@natdin - -%% Einzug der Belege nach der Einordnungsmarke -\setlength{\bibhang}{7mm} - - diff --git a/vorlagen/thesis/src/natbib.cfg_backup b/vorlagen/thesis/src/natbib.cfg_backup new file mode 100644 index 0000000..dae7528 --- /dev/null +++ b/vorlagen/thesis/src/natbib.cfg_backup @@ -0,0 +1,19 @@ +% NATBIB.CFG in Verbindung mit natbib.sty +% Lorenzen, 2006-01-02 +% diese Konfigurationsdatei wird zuletzt eingelesen und +% enth"alt die lokal gew"unschten Einstellungen f"ur den +% Bibliographie-- und Zitierstil + +\newcommand{\bibstyle@natdin}% + {\bibpunct{[}{]}{;}{a}{}{,~} + \gdef\NAT@biblabelnum##1{\textbf{##1}\\}} +%% nach dieser Definition wird das label (dinatlabel) fett geschrieben, dann Zeilenumbruch; +%% darunter der bibliographische Beleg + + +\bibstyle@natdin + +%% Einzug der Belege nach der Einordnungsmarke +\setlength{\bibhang}{7mm} + + -- cgit v1.2.3-55-g7522