jan@42307
|
1 |
\documentclass[a4paper, 12pt]{article}
|
jan@42235
|
2 |
|
jan@42307
|
3 |
\usepackage[english]{babel}
|
jan@42235
|
4 |
\usepackage[T1]{fontenc}
|
jan@42235
|
5 |
\usepackage[latin1]{inputenc}
|
jan@42235
|
6 |
|
jan@42307
|
7 |
\usepackage{url}
|
neuper@42073
|
8 |
\usepackage{graphicx}
|
jan@42246
|
9 |
\usepackage{endnotes}
|
jan@42246
|
10 |
\usepackage{trfsigns}
|
jan@42246
|
11 |
\usepackage{setspace}
|
jan@42307
|
12 |
\usepackage[pdfpagelabels]{hyperref}
|
jan@42316
|
13 |
\usepackage{longtable}
|
jan@42316
|
14 |
%isabelle relevant
|
jan@42316
|
15 |
\usepackage{isabelle,isabellesym}
|
jan@42316
|
16 |
\usepackage{pdfsetup}
|
jan@42235
|
17 |
|
neuper@42073
|
18 |
\def\isac{${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}
|
neuper@42073
|
19 |
\def\sisac{\footnotesize${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}
|
neuper@42073
|
20 |
|
neuper@42073
|
21 |
\begin{document}
|
neuper@42073
|
22 |
|
jan@42316
|
23 |
%----------// INFO SETUP \\----------%
|
jan@42316
|
24 |
|
jan@42235
|
25 |
\title{
|
jan@42235
|
26 |
\Large{
|
jan@42235
|
27 |
\bf Interactive Course Material for Signal Processing based on Isabelle/\isac\\~\\
|
jan@42235
|
28 |
}
|
jan@42307
|
29 |
\sisac-Team in Cooperation with \\~\\
|
jan@42307
|
30 |
Institute for Software Technology\\
|
jan@42307
|
31 |
Institute of Signal Processing and Speech Communication\\~\\
|
jan@42276
|
32 |
Graz University of Technology\\
|
jan@42235
|
33 |
\vspace{0.7cm}
|
jan@42307
|
34 |
\normalsize{
|
jan@42316
|
35 |
Supervisor: Univ.-Prof. Dipl.-Ing. Dr.techn. Franz Wotawa
|
jan@42235
|
36 |
}
|
jan@42235
|
37 |
}
|
jan@42307
|
38 |
|
jan@42307
|
39 |
\author{Jan Simon Rocnik\\\href{mailto:student.tugraz.at}{\tt jan.rocnik@student.tugraz.at}}
|
jan@42235
|
40 |
|
jan@42235
|
41 |
\date{\today}
|
jan@42307
|
42 |
|
jan@42316
|
43 |
%----------// TITLE PAGE \\----------%
|
jan@42316
|
44 |
|
jan@42307
|
45 |
\begin{titlepage}
|
neuper@42073
|
46 |
\maketitle
|
jan@42307
|
47 |
\thispagestyle{empty}\end{titlepage}
|
neuper@42073
|
48 |
\clearpage
|
jan@42307
|
49 |
|
jan@42316
|
50 |
%----------// THANKS \\----------%
|
jan@42316
|
51 |
|
jan@42307
|
52 |
\setcounter{page}{2}
|
jan@42307
|
53 |
\begin{center}
|
jan@42307
|
54 |
Special Thanks to\\
|
jan@42307
|
55 |
\hfill \\
|
jan@42307
|
56 |
\emph{Dr.techn. Walther Neuper}\\
|
jan@42307
|
57 |
\emph{Dipl.-Ing. Bernhard Geiger}
|
jan@42307
|
58 |
\end{center}
|
jan@42307
|
59 |
\thispagestyle{empty}
|
jan@42307
|
60 |
\clearpage
|
jan@42307
|
61 |
|
jan@42316
|
62 |
%----------// ABSTRACT \\----------%
|
jan@42307
|
63 |
|
jan@42307
|
64 |
\begin{abstract}
|
jan@42307
|
65 |
The Baccalaureate Thesis creates interactive course material for Signal Processing based on the experimental math assistant Isabelle/\sisac.
|
jan@42307
|
66 |
|
jan@42307
|
67 |
The content of the course material is defined together with the Signal Processing and Speech Communication Laboratory (SPSC Lab) of Graz University of Technology (TUG). The content is planned to be used in specific lectures and labs of the SPSC and thus is thoroughly concerned with underlying mathematical and physical theory.
|
jan@42307
|
68 |
|
jan@42307
|
69 |
One challenge of this thesis is, that theory is not yet mechanized in Computer Theorem Provers (CTP); so this thesis will provide preliminary definitions in so-called \emph{theories} of the CTP Isabelle and theorems without proofs.
|
jan@42307
|
70 |
|
jan@42307
|
71 |
Another callenge is the implementation of interactive courses: this is done within the educational math assistant Isabelle/\sisac, which is under development at TU Graz. The present state of \sisac{} happens to provide the {\em first} occasion for authoring by a non-member of the \sisac{} developer team. So this challenge involves alpha-testing of the underlying ``CTP-based programming language'', because error messages are still not user-friendly and need frequent contact with \sisac-developers.
|
jan@42307
|
72 |
|
jan@42307
|
73 |
So the practical outcome of this thesis is twofold:
|
jan@42307
|
74 |
|
jan@42307
|
75 |
(1) interactive course material hopefully useful in education within the SPSC Lab and within STEOP, the introductory orientation phase at TUG, as a preview for students in Telematics on later application of math knowledge introduced in the first semester and
|
jan@42307
|
76 |
|
jan@42307
|
77 |
(2) a detailed description of technicalities in programming implemented as an interactive Isabelle/Isar theory, providing future programmers with guidelines and \sisac-developers with feedback in usability of the CTP-based program language.
|
jan@42307
|
78 |
\end{abstract}\clearpage
|
jan@42307
|
79 |
|
jan@42307
|
80 |
|
jan@42307
|
81 |
\pagenumbering{Roman}
|
neuper@42073
|
82 |
\tableofcontents
|
neuper@42073
|
83 |
\clearpage
|
jan@42307
|
84 |
\pagenumbering{arabic}
|
neuper@42073
|
85 |
|
jan@42307
|
86 |
\setcounter{page}{5}
|
jan@42316
|
87 |
|
jan@42316
|
88 |
This thesis is structured into a generell part describing the math fundamentals, a practical part including the work on \cal{ISAC} and finally the management part overviewing the work process.
|
jan@42316
|
89 |
|
jan@42316
|
90 |
%----------// PART-1 \\----------%
|
jan@42316
|
91 |
|
jan@42316
|
92 |
\part{Project Fundamentals}
|
neuper@42304
|
93 |
|
jan@42307
|
94 |
\section{Introduction --TODO--}
|
neuper@42073
|
95 |
|
jan@42307
|
96 |
The motivation to this thesis mainly takes it source from thr practice of mathematics learning and further ... STEOP
|
jan@42309
|
97 |
\cite{proakis2004contemporary}
|
neuper@42240
|
98 |
|
neuper@42240
|
99 |
\textbf{mathematics applied} in signal processing (SP)
|
neuper@42240
|
100 |
|
jan@42253
|
101 |
mathematics mechanized in Computer Theorem Provers \textbf{(CTP)} ... (almost) traditional mathematical notation (predicate calculus) for axioms, definitions, lemmas, theorems. Recent developments provide also proofs in a humand readable format TODO
|
neuper@42240
|
102 |
|
neuper@42240
|
103 |
This thesis tries to \textbf{connect these two worlds} ... this trial is one of the first; others see related work
|
neuper@42240
|
104 |
|
neuper@42304
|
105 |
the major challenge of the practical part is, that ``connecting the two worlds'' involves programming in a CTP-based programming language which is in a very early state of prototyping.
|
neuper@42304
|
106 |
|
neuper@42240
|
107 |
\subsection{Mechanization of Mathematics}
|
neuper@42073
|
108 |
|
jan@42235
|
109 |
todo
|
neuper@42073
|
110 |
|
neuper@42240
|
111 |
hughe theories of mathematics
|
neuper@42240
|
112 |
|
neuper@42240
|
113 |
still a hugh gap between these theories and ``real applications'' e.g. in SP
|
neuper@42240
|
114 |
|
neuper@42240
|
115 |
? academic engineering starts from physics (experimentation, measurement) and then proceeds to mathematical modelling --- mechanized math starts from mathematical models and (hopefully !) proceeds to match physics.
|
neuper@42240
|
116 |
|
neuper@42240
|
117 |
CTP Isabelle ... survey of knowledge, links to knowledge
|
neuper@42240
|
118 |
|
neuper@42240
|
119 |
\paragraph{\sisac}
|
neuper@42240
|
120 |
TODO
|
neuper@42240
|
121 |
|
neuper@42240
|
122 |
adds an ``application'' axis (formal specifications of problems) and an ``algorithmic'' axis to the ``deductive'' axis of knowledge ... 3-dimensional universe of mathematics.
|
neuper@42240
|
123 |
|
neuper@42240
|
124 |
\subsection{Goals of the Thesis}
|
neuper@42240
|
125 |
|
neuper@42240
|
126 |
todo
|
neuper@42240
|
127 |
|
neuper@42073
|
128 |
|
neuper@42240
|
129 |
\subsection{Structure of the Thesis}
|
neuper@42240
|
130 |
|
jan@42235
|
131 |
todo
|
neuper@42240
|
132 |
|
neuper@42240
|
133 |
\section{Mechanization of Mathematics for SP Problems}
|
neuper@42240
|
134 |
todo
|
neuper@42240
|
135 |
|
neuper@42240
|
136 |
\subsection{Relevant Knowledge available in Isabelle}
|
neuper@42240
|
137 |
todo
|
neuper@42240
|
138 |
|
neuper@42240
|
139 |
\paragraph{example FFT}, describe in detail !!!!
|
neuper@42240
|
140 |
|
neuper@42240
|
141 |
? different meaning: FFT in Maple
|
neuper@42240
|
142 |
|
neuper@42240
|
143 |
gap between what is available and what is required (@)!
|
neuper@42240
|
144 |
|
neuper@42240
|
145 |
traditional notation ?
|
neuper@42240
|
146 |
|
jan@42307
|
147 |
\subsection{Relevant Knowledge available in isac}
|
neuper@42240
|
148 |
todo
|
neuper@42240
|
149 |
|
neuper@42240
|
150 |
specifications (``application axis'') and methods (``algorithmic axis'')
|
neuper@42240
|
151 |
|
neuper@42240
|
152 |
partial fractions, cancellation of multivariate rational terms, ...
|
neuper@42240
|
153 |
|
neuper@42240
|
154 |
\subsection{Survey: Available Knowledge and Selected Problems}
|
neuper@42240
|
155 |
todo
|
neuper@42240
|
156 |
|
neuper@42240
|
157 |
estimate gap (@) for each problem (tables)
|
neuper@42240
|
158 |
|
neuper@42240
|
159 |
conclusion: following order for implementing the problems ...
|
neuper@42240
|
160 |
|
neuper@42240
|
161 |
\subsection{Formalization of missing knowledge in Isabelle}
|
neuper@42240
|
162 |
todo
|
neuper@42240
|
163 |
|
neuper@42240
|
164 |
axiomatization ... where ... and
|
neuper@42240
|
165 |
|
neuper@42240
|
166 |
\subsection{Notes on Problems with Traditional Notation}
|
neuper@42240
|
167 |
todo
|
neuper@42240
|
168 |
|
neuper@42240
|
169 |
u[n] !!
|
neuper@42240
|
170 |
|
neuper@42240
|
171 |
f x = why not f(x) ?!?!
|
neuper@42240
|
172 |
|
neuper@42240
|
173 |
...
|
neuper@42240
|
174 |
|
jan@42276
|
175 |
terms are not full simplified in traditional notations, in isac we have to simplify them complete to check weather results are compatible or not. in e.g. the solutions of an second order linear equation is an rational in isac but in tradition we keep fractions as long as possible and as long as they are 'beautiful' (1/8, 5/16,...)
|
jan@42276
|
176 |
|
jan@42316
|
177 |
%----------// PART 2 \\----------%
|
jan@42316
|
178 |
|
jan@42316
|
179 |
\part{Implementation}
|
jan@42316
|
180 |
|
jan@42316
|
181 |
%\section{Implementation of Certain SP Problems}
|
jan@42316
|
182 |
%tell why only choosen one problem given by geiger
|
jan@42316
|
183 |
%
|
jan@42316
|
184 |
%\subsection{Formal Specification of Problems}
|
jan@42316
|
185 |
%todo
|
jan@42316
|
186 |
%
|
jan@42316
|
187 |
%\subsection{Methods Solving the Problems}
|
jan@42316
|
188 |
%todo
|
jan@42316
|
189 |
%
|
jan@42316
|
190 |
%\subsection{Integration of Subproblems available in isac}
|
jan@42316
|
191 |
%todo
|
jan@42316
|
192 |
%
|
jan@42316
|
193 |
%\subsection{Examples and Multimedia Content}
|
jan@42316
|
194 |
%todo
|
jan@42316
|
195 |
|
jan@42316
|
196 |
{\center todo}
|
jan@42316
|
197 |
%\input{../../../test/Tools/isac/ADDTESTS/course/SignalProcess/document/Build_Inverse_Z_Transform}
|
jan@42316
|
198 |
|
jan@42316
|
199 |
\clearpage
|
jan@42316
|
200 |
|
jan@42316
|
201 |
%----------// PART 3 \\----------%
|
jan@42316
|
202 |
|
jan@42316
|
203 |
\part{Project Management}
|
jan@42316
|
204 |
|
jan@42316
|
205 |
\section{Milestones for the Project}
|
jan@42316
|
206 |
Die Planung des Projekts teilt sich in folgende Iterationen:
|
jan@42316
|
207 |
\begin{enumerate}
|
jan@42316
|
208 |
\item \textbf{Sammeln von Informationen "uber Themengebiete und deren Realisierbarkeit } (29.06. -- 27.07.)
|
jan@42316
|
209 |
identify problems relevant for certain SP lectures
|
jan@42316
|
210 |
|
jan@42316
|
211 |
estimate chances to realized them within the scope of this thesis
|
jan@42316
|
212 |
|
jan@42316
|
213 |
order for implementing the problems negotiated with lecturers
|
jan@42316
|
214 |
|
jan@42316
|
215 |
|
jan@42316
|
216 |
\item \textbf{1. Prsentation - Auswhlen der realisierbaren Themengebiete} (27.07.)
|
jan@42316
|
217 |
\item \textbf{Ausarbeiten der Aufgaben in \isac} (01.09. -- 11.11.)
|
jan@42316
|
218 |
\item \textbf{Dokumentation der Aufgaben} (14.11. -- 02.12.)
|
jan@42316
|
219 |
\item \textbf{Ausarbeitung in Latex, Bakkarbeit} (05.12. -- todo)
|
jan@42316
|
220 |
\item \textbf{2. Prsentation - Abschluss der Arbeit} (todo)
|
jan@42316
|
221 |
\end{enumerate}
|
jan@42316
|
222 |
|
jan@42316
|
223 |
\section{Beschreibung der Meilensteine}\label{ms-desc}
|
neuper@42240
|
224 |
todo
|
jan@42316
|
225 |
\section{Bericht zum Projektverlauf}
|
neuper@42240
|
226 |
todo
|
neuper@42240
|
227 |
|
neuper@42240
|
228 |
\section{Related Work and Open Questions}
|
neuper@42240
|
229 |
todo
|
neuper@42240
|
230 |
|
neuper@42240
|
231 |
See ``introduction'': This thesis tries to connect these two worlds ... this trial is one of the first; others see related work
|
neuper@42240
|
232 |
|
jan@42235
|
233 |
\section{Abschliesende Bemerkungen}
|
jan@42235
|
234 |
todo
|
neuper@42073
|
235 |
|
jan@42316
|
236 |
|
jan@42316
|
237 |
|
neuper@42073
|
238 |
\clearpage
|
neuper@42073
|
239 |
|
jan@42309
|
240 |
\renewcommand{\refname}{\section{Sources}} % Using "Sources" as the title of the section
|
jan@42309
|
241 |
\bibliographystyle{alpha}
|
jan@42309
|
242 |
\bibliography{references}
|
neuper@42073
|
243 |
|
neuper@42073
|
244 |
\clearpage
|
neuper@42073
|
245 |
|
jan@42316
|
246 |
|
jan@42316
|
247 |
%----------// APPENDIX \\-----------%
|
jan@42316
|
248 |
|
neuper@42073
|
249 |
\appendix
|
jan@42251
|
250 |
|
neuper@42073
|
251 |
|
neuper@42073
|
252 |
\section{Stundenliste}
|
jan@42316
|
253 |
\begin{footnotesize}
|
jan@42316
|
254 |
\begin{longtable}[h]{l p{6.5cm} c c r}
|
jan@42316
|
255 |
{\bf Date} & {\bf Description} & {\bf Begin} & {\bf End} & {\bf Dur.}\\
|
jan@42316
|
256 |
\hline \hline
|
jan@42316
|
257 |
\endhead
|
jan@42316
|
258 |
29.06.2011 & Treffen mit Geiger und Neuper & 15:00 & 17:30 & 2,50\\
|
jan@42316
|
259 |
02.07.2011 & Beispielaufbereitung (Bsp. Geiger Mail) & 20:00 & 21:30 & 1,50\\
|
jan@42316
|
260 |
03.07.2011 & Beispielaufbereitung, Vorraussetzungsausw. & 21:00 & 22:45 & 1,75\\
|
jan@42316
|
261 |
05.07.2011 & Treffen mit Neuper, Informationsaustausch & 10:00 & 13:00 & 3,00\\
|
jan@42316
|
262 |
06.07.2011 & Isabelle Installation & 20:00 & 22:30 & 2,50\\
|
jan@42316
|
263 |
07.07.2011 & Treffen mit Neuper, Präsentationsvorbereitung & 14:45 & 16:15 & 1,50\\
|
jan@42316
|
264 |
18.07.2011 & Präsentationsvorbereitung - Struktur & 14:15 & 16:00 & 1,75\\
|
jan@42316
|
265 |
19.07.2011 & Präsentationsvorbereitung - Inhalt & 07:20 & 09:20 & 2,00\\
|
jan@42316
|
266 |
19.07.2011 & Treffen mit Neuper & 10:00 & 12:00 & 2,00\\
|
jan@42316
|
267 |
21.07.2011 & HG Fehlersuche, Latex Ausarbeitung & 11:10 & 14:00 & 2,83\\
|
jan@42316
|
268 |
22.07.2011 & Treffen mit Neuper & 10:00 & 12:00 & 2,00\\
|
jan@42316
|
269 |
23.07.2011 & Berechnungen in Latex fertigstellen & 13:45 & 16:30 & 2,75\\
|
jan@42316
|
270 |
24.07.2011 & Präsentation fertigstellen & 20:10 & 20:40 & 0,50\\
|
jan@42316
|
271 |
25.07.2011 & Treffen mit Neuper, Präsentation \& erste Tests & 15:15 & 17:55 & 2,67\\
|
jan@42316
|
272 |
26.07.2011 & Test\_Complex.thy erarbeiten & 10:45 & 12:10 & 1,42\\
|
jan@42316
|
273 |
27.07.2011 & present-1 mit Neuper, Geiger & 10:00 & 12:00 & 2,00\\
|
jan@42316
|
274 |
\hline
|
jan@42316
|
275 |
02.09.2011 & Treffen mit Neuper, Vorlage Bakk-Arbeit & 08:30 & 10:20 & 1,83\\
|
jan@42316
|
276 |
05.09.2011 & Treffen mit Neuper, Beginn Partialbruchzerlegung & 09:30 & 12:45 & 3,25\\
|
jan@42316
|
277 |
05.09.2011 & Partialbruchzerlegung & 17:10 & 18:30 & 1,33\\
|
jan@42316
|
278 |
06.09.2011 & Dokumentation Partialbruchzerlegung & 10:00 & 13:15 & 3,25\\
|
jan@42316
|
279 |
07.09.2011 & Treffen mit Neuper, Einführung Programmierung & 10:00 & 12:50 & 2,83\\
|
jan@42316
|
280 |
08.09.2011 & Latex Umgebung einrichten - Theory export & 19:00 & 22:45 & 3,75\\
|
jan@42316
|
281 |
09.09.2011 & Latex Umgebung einrichten - Makefile & 11:40 & 15:00 & 3,33\\
|
jan@42316
|
282 |
10.09.2011 & Treffen mit Neuper, HG Fehler, Skript Inv.-Z-Transf. & 10:00 & 12:00 & 2,00\\
|
jan@42316
|
283 |
14.09.2011 & Skript Inv.-Z-Transf Prgrammierung & 09:10 & 12:25 & 3,25\\
|
jan@42316
|
284 |
16.09.2011 & Informationssammlung Summen & 13:15 & 16:00 & 2,75\\
|
jan@42316
|
285 |
19.09.2011 & Programmierübung & 10:00 & 13:10 & 3,17\\
|
jan@42316
|
286 |
20.09.2011 & Trefffen mit Neuper, Unterstützung bei Program. & 15:30 & 18:10 & 2,67\\
|
jan@42316
|
287 |
23.09.2011 & Neukonfiguration IsaMakefile & 13:00 & 14:30 & 1,50\\
|
jan@42316
|
288 |
23.09.2011 & Treffen Neuper, Programmierung Build\_Inverse\_Z & 14:30 & 17:30 & 3,00\\
|
jan@42316
|
289 |
26.09.2011 & Skript Partialbruchzerlegung - getArgument & 13:30 & 16:15 & 2,75\\
|
jan@42316
|
290 |
27.09.2011 & Treffen mit Neuper, HG Fehler & 09:00 & 12:20 & 3,33\\
|
jan@42316
|
291 |
28.09.2011 & Treffen mit Neuper, Dateiumstrukturierung & 10:00 & 12:30 & 2,50\\
|
jan@42316
|
292 |
01.10.2011 & Testen & 10:00 & 11:00 & 1,00\\
|
jan@42316
|
293 |
02.10.2011 & Fehlersuche & 15:00 & 16:10 & 1,17\\
|
jan@42316
|
294 |
06.10.2011 & Treffen mit Neuper & 15:00 & 17:50 & 2,83\\
|
jan@42316
|
295 |
07.10.2011 & Treffen mit Neuper, Programmbesprechung & 15:00 & 16:50 & 1,83\\
|
jan@42316
|
296 |
09.10.2011 & Bakk. Arbeit & 16:30 & 18:45 & 2,25\\
|
jan@42316
|
297 |
11.10.2011 & Treffen mit Neuper, Programmbespr., Abstract & 14:10 & 17:10 & 3,00
|
jan@42316
|
298 |
\end{longtable}
|
jan@42316
|
299 |
\end{footnotesize}
|
neuper@42073
|
300 |
|
jan@42246
|
301 |
\section{Calculations}
|
jan@42251
|
302 |
\input{calulations}
|
neuper@42073
|
303 |
\end{document}
|