openDVB i GNU Octave

Na stronie http://www.radionetworkprocessor.com/opendvb.html można znaleźć programową implementację standardu DVB-T na Matlab/Octave. O ile w Matlabie uruchomienie nie sprawia większego problemu o tyle w środowisku Octave należy się troszkę bardziej napracować.

Założenia:

  • mamy zainstalowane GNU Octave
  • mamy zainstalowanego MPlayer'a
  • w katalogu domowym istnieje katalog SDR

1. Rozpakowanie archiwum.

gunzip opendvb-0.4.tar.gz
tar xf opendvb-0.4.tar
mv opendvb-0.4 ~/SDR/

2. Konfiguracja Octave.

W katalogu domowym lokalizujemy i edytujemy plik .octaverc lub a jeśli go nie mamy – tworzymy. U mnie wygląda on tak: # sciezka konfiguracyjna na GNU Radio
addpath("/opt/gnuradio/gnuradio-core/src/utils")

# ustawienia dla Mouse OpenDVB
addpath("~/SDR/opendvb-0.4/common")
addpath("~/SDR/opendvb-0.4/dvbt")
addpath("~/SDR/opendvb-0.4/kammeyer")
addpath("~/SDR/opendvb-0.4/octave")
addpath("~/SDR/opendvb-0.4")

3. Sprawdzenie poprawności ścieżek.

Wywołujemy polecenie „octave” i czytamy uważnie komunikaty powitalne. Jeżeli ścieżki zostały ustawione prawidłowo naszym oczom powinno ukazać się coś takiego: djj@djj-laptop:~$ octave
GNU Octave, version 3.0.5
Copyright (C) 2008 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'.

Octave was configured for "i486-pc-linux-gnu".

Additional information about Octave is available at http://www.octave.org.

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html

Report bugs to (...) (but first, please read
http://www.octave.org/bugs.html to learn how to write a helpful report).

For information about changes from previous versions, type `news'.

octave:1>

4. Konfiguracja config.m

Lokalizujemy plik ~/SDR/opendvb-0.4/config.m i poprawiamy ścieżkę. U mnie wygląda to tak: %% config, set paths to reference and dump files
%%
%% please replace [path] with the path to your files,
%% e.g., C:\Downloads

function config()

global DUMP;
DUMP.SETTINGS = {};

DUMP.SETTINGS.ref_dir = '~/SDR/opendvb-0.4/ref'
DUMP.SETTINGS.test_dir = '.'

5.Transport Stream.

Rozpakowujemy opendvb-data-0.2.tar.gz i umieszczamy TS w katalogu opendvb-0.4/ref

6. Uruchomienie.

Wywołując polecenia umieszczone w tabeli na stronie openDVB uruchamia się poszczególne testbench'e.

7. Oglądanie Transport Stream'ów

Niestety TS na którym działa openDVB jest niezgodny ze standardem ale jeżeli dysponujesz innym TS który chcesz podglądnąć - najwygodniej skorzystać z MPlayer'a. Oto przykład: mplayer football.ts