Monday, 14 July 2014

Dekodowanie D-STAR z użyciem RTL2832U

Część 1. - Przygotowania

Do dekodowania D-STAR'a wykorzystamy program DSD (Digital Speech Decoder). Niestety, ze względów prawnych nie można go rozpowszechniać w postaci wykonywalnej (pliku .exe), jednak nic nie stoi na przeszkodzie, by skompilować go ze źródeł. Do tego celu wykorzystamy środowisko Cygwin.


  1. Ściągamy środowisko CygwinCygwin 32bit | Cygwin 64bit
  2. Uruchamiamy instalację
  3. Naciskamy NEXT
  4. Wybieramy Install from Internet i naciskamy NEXT
  5. Wybieramy ścieżkę zapisu, w moim przypadku będzie to C:\cygwin64 i dajemy NEXT
  6. Wybieramy ścieżkę, gdzie będą przechowywane pobrane dane, można zostawić domyślną wartość i dajemy NEXT
  7. Jeżeli używamy serwera Proxy, to tu trzeba wybrać odpowiednią opcję, jeżeli nie używamy lub nie mamy pojęcia co to jest, to wybieramy Direct Connection i dajemy NEXT
  8. Po chwili ukażę się lista serwerów, nie ma większego znaczenia który wybierzemy, najlepiej by był jak najbliżej nas i dajemy NEXT
  9. Zacznie się ściąganie i po chwili ukaże się lista bibliotek do zainstalowania, aby zainstalować wybraną bibliotekę, należy ją wyszukać wpisując w polu Search jej nazwę, rozwinąć odpowiednie drzewko i kliknąć w Skip, by zmieniło się na numer.
Oto lista potrzebnych bibliotek:
  • libsndfile-devel
  • libsndfile1
  • libogg-devel
  • libogg0
  • libvorbis0
  • libvorbis-devel
  • libvorbisenc2
  • libvorbisfile3
  • libFLAC8
  • libFLAC-devel
  • lapack
  • liblapack-devel
  • liblapack0
  • fftw3
  • libfftw3-devel
  • libfftw3_3
  • libquadmath0
  • gcc-core
  • gcc-fortran
  • gcc-g++ 
  • cmake
  • gcc-objc
  • gcc-objc++
  • libgcc1
  • gcc-debuginfo
  • cygwin-gcc32-debuginfo
  • libgomp1 
  • libstdc++6 
Klikamy NEXT, zostaniemy zapytani o zainstalowanie wymaganych i rekomendowanych bibliotek, klikamy NEXT i czekamy, aż wszystko się ściągnie i zainstaluje.


Część 2. - Kompilacja

  1. Ściągamy kod źródłowy DSDDownload
  2. Ściągamy kod źródłowy mbelib: Download
  3. Ściągamy kod źródłowy IT++: Download
  4. Wszystkie archiwa rozpakowujemy. Ja rozpakowałem je do C:\Cygwin64\home\<NAZWA_UŻYTKOWNIKA>\
  5. Uruchamiamy Cygwin
  6. Jeżeli wszystko rozpakowaliśmy do katalogu jak powyżej to po wpisaniu komendy ls powinny ukazać się katalogi: dsd-master, mbelib-master i itpp-4.3.1 (w zależności od wersji biblioteki ITPP ta liczba może być inna)
  7. Wpisujemy: cd itpp-4.3.1
  8. mkdir build
  9. cd build
  10. cmake ..
  11. Teraz czekamy chwilę. Jeżeli nie ma żadnych błędów to idziemy dalej
  12. Wpisujemy: make
  13. To potrwa kilka minut
  14. Następnie wpisujemy: make install
  15. Pierwsza potrzebna biblioteka jest skompilowana i zainstalowana w środowisku Cygwin, czas na mbelib
  16. Wpisujemy: cd ~/
  17. cd mbelib-master
  18. mkdir build
  19. cd build
  20. cmake ..
  21. make
  22. make install
  23. Pozostaje już tylko sama aplikacja
  24. cd ~/
  25. cd dsd-master
  26. mkdir build
  27. cd build
  28. cmake ..
  29. make
  30. make install
  31. Ok, jeżeli nie wydarzyło się nic specjalnego to mamy gotową do użycia aplikację

Część 3. - Porządki

  1. Potrzebujemy zebrać teraz wszystkie potrzebne pliki w jedno miejsce. Polecam stworzyć nowy katalog np. na pulpicie o nazwie DSD.
  2. Z podkatalogu bin w folderze gdzie zainstalowany jest Cygwin musimy przekopiować do powyższego katalogu następujace pliki:
  • cygwin1.dll
  • cygvorbisenc-2.dll
  • cygvorbis-0.dll
  • cygstdc++-6.dll
  • cygsndfile-1.dll
  • cygquadmath-0.dll
  • cygogg-0.dll
  • cyglapack-0.dll
  • cyggomp-1.dll
  • cyggfortran-3.dll
  • cyggcc_s-seh-1.dll
  • cygFLAC-8.dll
  • cygfftw3-3.dll
  • cygblas-0.dll 
  • Z podkatalogu home/<NAZWA_UŻYTKOWNIKA>/itpp-4.3.1/build/itpp musimy przekopiować plik: cygitpp-8.dll 
  • Z folderu  mbelib-master/build plik cygmbe-1.dll
  • Na koniec pozostaje sam program, znajduje się on w katalogu dsd-master/build i nazywa się dsd.exe. Kopiujemy go i mamy gotowy program z plikami DLL niezbędnymi do uruchomienia

Część 4. - Przygotowanie SDR

Cała procedura została wyjaśniona w tym poście -> Instalacja RTL2832U


Część 5. - Uruchomienie

  1. Ściągamy VB-Audio [Download], jest to program, który utworzy nam wirtualną kartę dźwiękową dzięki czemu sygnał audio z SDR# do DSD będzie kierowany po tejże karcie pozostawiając nam nasza kartę wolną, a jest ona nam potrzebna do słuchania zdekodowanego D-Star'a
  2. Po rozpakowaniu uruchamiamy: VBCABLE_Setup.exe (systemy 32 bitowe) lub VBCABLE_Setup_x64.exe (suystemy 64 bitowe)
  3. Klikamy Install
  4. Uruchamiamy SDR# i stroimy się na częstotliwość np. lokalnego przemiennika D-Star
  5. Wybieramy modulację NFM
  6. Zmieniamy Bandwidth na 12500
  7. Odznaczamy opcję Filter Audio
  8. Wybieramy z listy Output: [MME] Cable Input
  9. Otwieramy Panel Sterowania -> Dźwięki
  10. W zakładce Nagrywanie, klikamy prawym klawiszem na CABLE Output i klikamy Ustaw jako urządzenie domyślne
  11. W zakładce Odtwarzanie, upewniamy się, że jako urządzenie domyślne wybrane są nasze głośniki
  12. Ściągamy plik Bat [Download] do katalogu z programem DSD
  13. Uruchamiamy plik DSD.bat i czekamy na jakąś D-Star'ową transmisję.

No comments:

Post a Comment