Matlab Plots

13:39, 4.08.2009. Von Pinguin

Nachdem ich schon im Moment den lieben langen Tag mit meiner Thesis verbring, kann ich auch dazu passend mal etwas bloggen. Wer kein Interesse an Matlab hat bzw. es nicht verwendet kann getrost an der Stelle aufhören zu lesen ;-).

Oftmals steht man ja vor der Aufgabe in einem Schaubild z.B. statt Sekunden etwa Milli- oder Mikro-Sekunden anzugeben. Per default gibt Matlab allerdings kleine Zahlen in der wissenschaftlichen Notation mit Zehnerpotenz an. Umgehen kann man das ganze z.B. so:

xticks=[0:.2:2]*1e-4;
set(gca,'XTick',xticks)
set(gca,'XTickLabel',num2str(xticks.'/1e-3))
xlabel('Time (ms)')

Man muss nur entsprechend die xticks, also die stellen an denen Tickmarken auftauchen sollen, anpassen. Ebenso ist es empfehlenswert in der dritten Zeile die Potenz entsprechend des SI-Präfixes, das man verwendet, anzupassen ;-)

Für ein einheitliches Aussehen der Plots sind folgende Befehle hilfreich:

set(0, 'DefaultAxesFontName', 'Palatino');    % Nutze Palatino für alle Beschriftungen
set(0,'defaultAxesFontSize',7)
labelsize = 9;
set(0,'units','inches')
set(gcf,'PaperUnits', 'inches')
set(gcf,'PaperPosition',[0,0,3.5,2.5])         % Größe der Ausgabedatei festlegen (in 'PaperUnits')

% ... Plots erzeugen ...

l=findall(gcf,'Type','Text');
set(l,'FontSize',labelsize) % setzt die Achsenlabel auf die gewünschte Größe

l=findall(gcf,'Type','Line');
set(l,'LineWidth',1)           % setzt alle Linien auf die Linienbreite 1 - besser für Ausdrucke als der Default-Wert 0.5

Umlaute und so ...

07:20, 28.07.2009. Von Pinguin

Noch ein kleiner Nachtrag zum letzten Eintrag: wenn sich jemand wundert wo denn da die Umlaute geblieben sind - nun ja, die Uni hier hat es sich wohl zum Ziel gesetzt alternative Betriebssysteme zu fördern, und unter meiner Linux-Installation hab ich mir die Umlaute noch nicht auf die englische Tastatur gebastelt. Inwiefern die Uni hier alternative Betriebssysteme fordert? Nun, gestern abend gings  WLAN nicht, aber dafür hats ja in jedem Zimmer eine Netzwerkdose. Nur wenn man sich über die verbindet, verlangt das System von Windows-Nutzern, dass sie eine Art Schutzsoftware installieren, die überprüft, das Firewall, Antivirus, etc. laufen und auf aktuellem Stand sind. Klar, dafür installier ich jetzt irgendeine andere Software ... komische Vorstellungen hat die Uni. Nein, da boote ich dann doch lieber Linux :-)

Eindruecke von der Konferenz

23:37, 27.07.2009. Von Pinguin

Als wir gestern ankamen, stand als erstes mal die Reception zum Beginn der Konferenz an. Zum Glueck gabs keine Reden oder sowas, sondern einfach nur eine "open bar" (ach wie liebe ich inzwischen diesen Begriff - das heisst naemlich Freigetraenke :)) und ein paar Snacks. Die haben uns dann auch ueber den Abend gerettet. Der Plan anschliessend noch etwas Essen zu gehen scheiterte daran, dass es keine oder zumindest zu wenig Autos gab und sowieso besser keiner (das schliesst die Professoren ein :)) mehr haette fahren sollen, allerdings in Laufdistanz vom Campus nichts zu kriegen war. Am Ende lief es darauf hinaus, dass wir noch Pizza bestellt haben, da unsere Maedels so hungrig waren. Und wir wissen ja alle, hungrige Frauen sind gefaehrlich :-)

Heute gabs dann die ersten Praesentationen. Ebenso wurde die Frage geklaert wie formell es denn auf so 'ner Konferenz zugeht. Man sieht quasi die komplette Bandbreite von Kleidungen - vom Anzug hin bis zu FlipFlops. Nachdem bei der einen Session der Session Chair, das ist derjenige der die Vortraege ankuendigt und die Sitzung leitet, mit FlipFlops, zerknittertem Hemd und zerknitterter Khaki-Hose die Ankuendigungen gemacht hat, scheint das wohl nicht ganz so steif zu sein mit der Kleiderordnung ... Egal, ich zieh morgen zur Poster Session trotzdem meinen Anzug an - wenn den diese kleinen fiesen Tierchen ueber die Naechte, die ich hier in den USA war, nicht zu eng genaeht haben. Wie hiessen die gleich nochmal? Irgendwas mit Kal...

Ach so, wo wir's gerade davon haben, die Verpflegung hier ist echt super :-) Fruehstueck und Mittagessen gibts Buffets mit toller Auswahl, und heute abend habens die Advisor dann doch organisiert gekriegt genuegend Leute auf genuegend Autos zu verteilen, so dass wir Essen gehen konnten. Morgen Abend steht dann das offizielle Drei-Gaenge-Dinner an ... so gehts grad weiter :)

Na ja, wird Zeit fuers Bett. Gute Nacht!

Das wahre Studentenleben ...

17:48, 26.07.2009. Von Pinguin

So, angekommen in Rhode Island. Die Internet-Verbindung funktioniert offensichtlich - also fürs wichtigste ist schonmal gesorgt *g*. Für die nächsten 4 Tage darf ich mich wie ein richtiger amerikanischer Student fühlen - wir haben hier Zimmer im Dorm, also im Wohnheim, bekommen. Mal schaun was das wird, gerade ist noch Pause, in ungefähr einer Stunde ist dann die Reception zum Start der Konferenz.

Manchmal ...

13:44, 11.05.2009. Von Pinguin

... ist es echt frustrierend. Gerade frag ich mich warum ich letzte Woche zwei Tage auf die Fehlersuche verwendet hab, wenn der Fehler diese Woche nicht mehr auftritt ... *args* ;-) Na ja, immerhin gute Neuigkeiten, kann also weitermachen.

Fehlersuche ...

23:26, 8.05.2009. Von Pinguin

... kann auf Dauer so frustrierend werden, vor allem wenn man es mit einem Mikroprozessor zu tun hat, der wohl seinen eigenen Willen hat (und nein, entgegen möglicher anderslautender Meinungen hat das nichts mit dem sprachlichen Geschlecht des Wortes "Mikroprozessor" zu tun!).  So sah das Ergebnis aus, als ich einen sägezahnförmigen Verlauf digitalisiert habe:



Sieht ja schonmal garnicht so schlecht aus, abgesehen von den zwei Spannungsspitzen (die im Eingangssignal aber nicht auftragen, wie mir das Oszilloskop verriet). Also Fehlersuche: ist vielleicht die externe Verkabelung schuld, oder die Platine? Vor allem tritt der Fehler schwer reproduzierbar immer mal wieder auf, aber bei weitem nicht jedes mal. Nun gut, durch Austausch von Verkabelung, Komponenten, Anschluss von anderen Signalen, etc. war dann sichergestellt, dass die Ursache wohl doch im Mikroprozessor zu suchen ist. Also schaun wir uns doch (mal wieder - an was erinnert uns das nur?) die Ergebnisse der Analog-Digital-Wandlung im Binärformat an:
001110010111
001111101010
100111011000 (1. Spitze)
010010100010
010011110011
...
101111110001
110001001010
001110101101 (2. Spitze)
110100000001
110101010010
Was fällt einem dazu noch ein außer *hmpf* ... Nicht, dass ich die letzten anderthalb Tage nicht hätte sinnvoller verwenden können ... Jetzt weiß ich nur noch nicht ob der AD-Wandler selbst (unwahrscheinlich, da zwei Module und bei beiden tritts auf) oder doch die Datenleitung zum Speicher schuld sind.

EDIT: so einfach ars wohl doch wieder mal nicht ... man sieht ja an den obigen Zahlen auch, dass nicht nur das oberste Bit sich änderte, sondern auch einige andere. Keine Ahnung was da schon wieder schiefläuft ... ich hab jedenfalls viel Spaß mit der Fehlersuche ... ähm ja.

Vorbei. Aus. Ende. Vorüber. Erledigt. Habe fertig. PRÜFUNGSFREI!

11:38, 1.05.2009. Von Pinguin

Jaaa, es ist endlich geschafft, vor etwa einer Stunde hab ich wohl das letzte mal in meinem Studentenleben eine Klausur beendet und abgegeben. Wurde irgendwie auch endlich mal Zeit, ist echt ein sehr erleichterndes Gefühl. Endlich freiiii! ... öhm ja, wir vergessen einfach für einen Moment mal die Master Thesis. ;-)  Oder besser gesagt, wir vergessen sie einfach mal übers komplette Wochenende, wäre schade in New Orleans viele Gedanken daran zu verschwenden. In knapp 2 Stunden machen wir uns auf den Weg, ich muss nur noch packen - das übliche Drama halt :-). Ab Dienstag kommender Woche werd ich dann wohl 24 h am Tag im Labor zu finden sein, wenns nicht reicht vielleicht auch noch in der Nacht - we'll see ;-). Und hoffentlich find ich dann auch mal wieder Zeit und Lust zum Bloggen, zu berichten gäbs genug :-).

Wenn Ingenieursstudenten der Spieltrieb packt ...

20:17, 10.04.2009. Von Pinguin

... was könnte ein Ingenieursstudent wohl mit solch einer Grafik anfangen?


Abstrakte Kunst? Vielleicht :-) Nützlich? Absolut! (und nein, ich hab hier drüben noch nicht den Verstand verloren)

Spring Break

21:37, 12.03.2009. Von Pinguin

Dank Spring Break wird hier in den kommenden 9 Tagen erstmal Sendepause herrschen. Wir, Martin, Frederik und ich, werden mit unserem treuen Kamel Florida unsicher machen. Einmal Ostküste runter bis nach Key West, danach Westküste wieder hoch. Wer's genauer wissen will, kann sich unseren Trip auf der Karte bei maps.google.com anschaun. Danach wirds wieder genug zu verbloggen geben - wenn ich zeitlich dazu komm. Bis demnächst :-)

PS: wenn nur die nervige Packerei nicht wäre, das erwartet mich heute abend noch :-(

Was man mit einem Mikroprozessor besser nicht machen sollte ...

21:12, 11.03.2009. Von Pinguin

Bisher hab ich an dieser Stelle ja noch garnicht darüber berichtet, was ich eigentlich den lieben langen Tag im Lab tue, und auch sonst nur sporadisch ein paar Infos rausgelassen. Nun denn, ich versuch das mal etwas nachzuholen. Wen es wirklich interessiert, der darf am Ende gerne die (hoffentlich entstehende) Master-Arbeit lesen - und wer gut in Englisch ist gerne auch korrekturlesen :-).

Das meiste das im Lab passiert lässt sich wohl unter "Wellenausbreitung" und "zerstörungsfreie Prüfung" (nondestructive evaluation) zusammenfassen. Ob es jetzt darum geht verschiedene Wellentypen (Raleigh, Lamb, ...) zur Prüfung zu verwenden, passende Applikatoren herzustellen, oder etwas Theorie dazu zu machen, die Möglichkeiten sind da recht breit gefächert. Mein Job ist es, die ganze Signalerzeugung, -aufbereitung und -verarbeitung auf einen Mikroprozessor unterzubringen, wobei ein Ziel der Betrieb nur mit Batterien versorgt ist. Die Daten sollen dann drahtlos an einen Zentralrechner gesandt werden. Ein Problem dabei sind die hohen Frequenzen - Anregungsfrequenzen im Bereich von 1 MHz, und entsprechend hohe Signale wollen zuverlässig erkannt werden. Bei einem 150 MHz Prozessor ist das nicht unbedingt so einfach.

Entsprechend hab ich mich in den vergangenen Monaten erstmal durch die Manuals des Mikroprozessors quälen dürfen. Dabei lernt man wirklich moderne PCs zu schätzen - bei Mikroprozessoren darf man sich selbst noch Gedanken machen in welchem Speicherbereich man was ablegt, und vor allem wo man genügend Platz für seine Daten findet. Solange man nur programmiert, ist die Sache noch einigermaßen harmlos - tut oder tut nicht. Sobald man aber eine externe Spannungsquelle anschließt um den Analog-Digital-Converter (ADC) zu testen, wird das schon interessanter: Spannungen außerhalb des zulässigen Bereichs können böse Folgen haben. Nun ja, eines der beiden ADC-Module hat dann auch seinen Geist aufgegeben, Eingänge waren auf Masse kurzgeschlossen oder haben das Signal merklich verzerrt. Aber dafür verfügt der Prozessor ja schließlich über zwei ADC-Module, also kann man flugs das zweite nehmen und man ist versorgt :-).

Jetzt hatte ich heute nochmal einen tollen anderen Effekt - fragt mich aber nicht wie das zustande kam: mein externer Speicher, in dem die gesampleten Daten abgelegt werden, kann 16 bit Zahlen speichern (für alle die nicht so viel mit Computern zu tun haben: 16 Einsen oder Nullen hintereinander ergeben eine Zahl, ergibt also 65536 verschiedene Zahlen). Die Zahlen werden dabei parallel übertragen, also für jede Stelle gibt es eine eigene Datenleitung. Irgendwann schaute ich mir die Zahlen, die dort abgelegt mal an, und wunderte mich, warum dort immer 16384 gespeichert war, obwohl eine 0 drinstehen sollte. Es lag nahe mal einfach die Testzahlen 0 (0000 0000 0000 0000) und 0xFFFF (hexadezimal für 1111 1111 1111 1111) in den Speicher zu schreiben und sich die ergebende Binärzahl anzuschaun. Das Ergebnis war:

0000 0000 0000 0000 -> 0100 0000 0000 0000
1111 1111 1111 1111 -> 1111 1111 1111 1111
Interessanterweise ist also offensichtlich die Datenleitung für das 15. der 16 Bits defekt. Keine Ahnung wo der Fehler lag, aber nachdem mein ADC nur mit 12 bit Auflösung Daten liefert, interessieren mich die höheren Bits an sich nicht. Nur das Auslesen wird etwas interessanter, es sollte aber mittels
out16bit = 0x2FFF & resultfromRAM14bit
funktionieren. Dabei ist resultfromRAM14bit die Zahl, die aus dem Speicher gelesen wird, und von der nur die niedrigsten 14 Stellen gültig sind (obwohl eine 16 Bit Zahl ausgelesen wird). Endlich mal eine vernünftige Verwendung für das binäre "UND" gefunden :-).

Allerdings hab ich es dann doch vorgezogen den Chip auszutauschen - wegen des defekten ADC hatten wir schon ein (glücklicherweise kostenloses Test-)Exemplar vom Hersteller geordert. Man will sich ja schließlich später nicht selbst ins Knie schießen und obige Kleinigkeit vergessen :-)