TOP

DVB-T Empfang in Augsburg 2009

Heute ist meine Amazon Bestellung mit dem DVB-T Receiver und einer Zimmerantenne gekommen. Da leider in der neuen Wohnung kein Kabel- oder Satellitenanschluss vorhanden ist beziehungsweise es sehr schwierig wäre eine Satellitenschüssel zu installieren habe ich mir gedacht ich versuche einmal, etwas in Augsburg über DVB-T zu empfangen ist. Leider war meine Internetrecherche zum Thema DVB-T Empfang nicht erfolgreich. Die offizielle Webseite zeigte mir das DVB-T Empfang angeblich nur über eine Dachantenne möglich wäre. Diskussionen in Foren und auf anderen Webseiten waren leider nicht mehr aktuell (die meisten stammten aus dem Jahr 2006).

Deshalb möchte ich hier nun eine aktuelle Bestandsaufnahme machen, wie es mit dem DVB-T Empfang im September 2009 aussieht.

zunächst meine verwendete Hardware:
Dyon Falcon DVB-T Receiver (2x Scart-Anschluss, USB 2.0) schwarz
Kathrein BZD 30 Zimmer-Antenne für DVB-T

Der Receiver erfüllt durchaus meine Erwartungen. Er ist mit einem USB 2.0 Anschluss ausgestattet, an welchen man eine USB Festplatte beziehungsweise einen USB Stick anschließen kann. Dies ermöglicht einen zeitversetztes Fernsehen (auf Pause drücken, wenn das Telefon klingelt und später weiter schauen). Dies funktioniert bisher bei mir sehr gut. Weiterhin ist es möglich Sendungen in dem integrierten Programmjournal zu markieren und auf den USB Stick aufzunehmen. Der Platzbedarf ist jedoch mit ca. 1 GB/h etwas groß. Aber für die Lieblingssendung reicht auch ein kleinerer USB Stick.

Die Antenne sieht im Vergleich zu anderen DVB-T-Antennen sehr schick aus und besitzt eine Verstärkung von 18 dB. Zu beachten ist lediglich das im Receiver die Versorgungsspannung des Antennenausgangs aktiviert wird – sonst wird man gar keinen Kanal finden. Sie wurde auch von Stiftung Warentest in der Ausgabe 4/2008 mit der Note gut (1,8) benotet und ist damit eine der beiden Testsieger.

Nach dem auspacken und aufbauen gab es die erste Ernüchterung. Gerade einmal sieben Kanäle wurden gefunden. Im Laufe des Tages habe ich daraufhin mehrfach den automatischen Sendesuchlauf ausgeführt und die Antenne an verschiedenen Stellen ausprobiert. Nun empfange ich 32 Kanäle im doch recht guter Qualität. Es sind alle wichtigen öffentlichen und privaten Sender vertreten. Ich nehme stark an das sich diese Sender aus dem nicht allzu weit entfernten München empfange. Da in Augsburg angeblich (laut DVB-T Webseite) keine privaten Sender ausgestrahlt werden. Ich hoffe, dass die gute Empfangsqualität und die Anzahl der Sender auch bei schlechtem Wetter weiterhin erhalten bleibt. Sollte dies nicht so sein, werde ich das hier noch ergänzen.

Update Juni 2010
Ich bin weiterhin zufrieden mit dem Fernsehempfang über DVB-T. Im Winter gab es bei Schneegestöber von Zeit zu Zeit einige Aussetzer. Diese haben mich aber nur wenig gestört, da ich so wie so nicht oft fernsehe. Wer jedoch sehr viel fernsieht und wert auf ein jederzeit störungsfreies Bild wert legt, der kommt leider nicht um eine Dachantenne herum.

Inzwischen besitzen auch einige Kommilitonen DVB-T Empfangsgeräte. Das allgemeine Fazit, welches man aus allen bisher gemachten Erfahrungen schließen kann, ist, dass es sehr stark davon abhängig ist, wo man in Augsburg wohnt. Im Zweifelsfall kann ich nur empfehlen es auf einen Versuch ankommen zu lassen und sich Gerät und Antenne zu bestellen. Es gibt im Versandhandel ja immer noch das 14-tägige Rückgaberecht.

Links:

Read More
TOP

Programmieren – Zeiger

Lösungsvorschläge für den Fragenkatalog von Prof. Stark im Fach Programmieren II – Technische Informatik an der Hochschule Augsburg.
(weiterlesen…)

Read More
TOP

Programmieren – Grundlagen

Lösungsvorschläge für den Fragenkatalog von Prof. Stark im Fach Programmieren II – Technische Informatik an der Hochschule Augsburg.
(weiterlesen…)

Read More
TOP

Oracle Berkeley DB unter Ubuntu

Berkeley DB ist eine Datenbank-Bibliothek für Linux, Windows, BSD UNIX, Solaris, Mac OS/X (…) und unterstützt diverse Programmiersprachen (C, C++, Java, Perl, Python, PHP, Tcl, Ruby, etc.). Berkeley DB wird von vielen Applikationen benutzt. Die mir darunter bekanntesten sind: KDevelop, Postfix und Subversion [1].

Die Installation hat mir einige Probleme bereitet, deshalb möchte ich hier kurz erläutern, wie man sich die aktuelle Version unter Linux (Ubuntu 9.04) installiert und ein Programm kompiliert. Diese Anleitung ist nur als Einstieg gedacht. Man sollte auf jeden Fall auch noch die Dokumentation von Oracle lesen. Es gibt für einige Programmiersprachen noch ausführliche Anleitungen, wie man die Datenbank in das eigene Programm einbinden kann [2].

Zuerst läd man sich die passende Version von der Oracle Homepage herunter: http://www.oracle.com/technology/software/products/berkeley-db/index.html in meinem Fall war das Berkeley DB 4.7.25.tar.gz, with AES encryption (13M)
Dann muss diese Datei entpackt werden:

tar xfvz db-4.7.25.tar.gz

nun wechselt man in das Verzeichnis db-4.7.25/build_unix konfiguriert, kompiliert und installiert die Bibliothek mit

cd db-4.7.25/build_unix
../dist/configure --enable-cxx
make -j
sudo make install

Was jetzt noch wichtig ist, ist dem Linker mit zuteilen, wo er die neue Bibliothek finden kann. Dafür sucht man in der Installationsausgabe die Zeile Libraries have been installed in: /usr/local/BerkeleyDB.4.7/lib und kopiert den Pfad.
Anschließend öffnet man mit einem beliebigen Editor (in meinem Fall vi) die Datei /etc/ld.so.conf:

sudo vi /etc/ld.so.conf

und fügt den Pfad ein. Sobald man den Linker aktualisiert hat ist die Installation abgeschlossen:

sudo ldconfig

Nun erstellen wir schnell ein erstes Programm:
Noch ein kurzes Wort zur Warnung: Das folgende Programm ist nicht vollständig. Normalerweise würde man erstens ein eher objektorientiertes Konzept wählen (eine eigene Klasse erstellen). Außerdem sind Fehler noch nicht abgefangen. Diese Dinge habe ich der Übersicht halber weggelassen.

#include <cstring>
#include <db_cxx.h>
 
#define BUF 100
 
int main()
{
    Db db(NULL,0);
    db.open(NULL,       // Transaction Pointer
            "my_db.db", // Dateiname der neuen Datenbank
            NULL,       // Optionaler logischer Datenbank Name
            DB_BTREE,   // Datenbank Zugriffsmethode
            DB_CREATE,  // Flags
            0);         // Datei Modus 0 = default
 
    // Dinge die wird in die Datenbank speichern möchten
    float money = 123.45;
    char describtion[BUF] = "HelloWorld" ;
 
    // Erstelle Objekte
    Dbt key( &money, sizeof(float) );
    Dbt data( &describtion, BUF );
 
    // Eintragen in die Datenbank - Duplikate nicht überschreiben
    int ret = db.put(NULL, &key, &data, DB_NOOVERWRITE );
    if( ret == DB_KEYEXIST )
    {
        std::cout < < "Schlüssel exisitert bereits" << std::endl;
    }
 
    db.sync(0); // Syncronisiere Datenbank (schreibe in Datei)
 
    // Erstelle Objekte für die Suche
    Dbt searchKey, searchData;
 
    float searchTerm = 123.45; // Suchterm - der gleiche wie oben
 
    // Setze Attribute für Suchobjekt
    searchKey.set_size( sizeof(float) );
    searchKey.set_data( &searchTerm );
 
    // Puffer für das Ergebnis
    char result[BUF];
 
    searchData.set_data( result );
    searchData.set_ulen(BUF+1); // Größe des benutzerspez. Buffers
    searchData.set_flags(DB_DBT_USERMEM);
 
    // Eigentliche Suche
    ret = db.get(NULL, &searchKey, &searchData, 0);
 
    if( ret == DB_NOTFOUND )
    {
        std::cout << "nicht gefunden" << std::endl;
    }
    else
    {
        std::cout << "gefunden: " <<  result << std::endl;
    }
}

Das ganze wird nun kompiliert und schon hat man seine erste Berkeley DB Anwendung.
g++ main.cpp -o dbApp -ldb_cxx-4.7 -I /usr/local/BerkeleyDB.4.7/include/ -L /usr/local/BerkeleyDB.4.7/lib/

Links:

Weiterführende Literatur (Amazon):

Read More