Ostatnio znowu bawiłem się SDRem i człowieki z hackerspece’u chcieli żebym im poopowiadał, pomimo, iż nie czuję się za autorytet w tej kwestii. W linku macie moja prezentacją wraz ze zrobionymi post factum notatkami, które są zastępstwem mojego gadania.

Ogólnie GNU Radio ciekawe narzędzie. Z perspektywy czasu z jednej strony była to pewna przesada, żeby dawać GNU Radio do analizy prostego pilota (bardziej uczciwy tutaj byłby URH), ale z drugiej strony był to fajny cel ćwiczebny biorąc pod uwagę, że ciężko o jakąś realną pomoc z GNU Radio. Z jednego strony w internecie znajdziecie kilka prezentacji po polsku, gdzie program się przewija, ale znalezienie realnej pomocy jest ciężkie. Sporo rzeczy poznawałem metodą “rozpoznania w boju”. Nie jestem pewien na ile moje obecne rozwiązanie problemu jest optymalne, bo nie mam za bardzo z czym/z kim tego porównać. Wiem tylko, że ogólnie to działa z pilotem na oryginalnym scalaku. Muszę znaleźć jakiś sposób na ten scalak zamiennik.

Samo GNU Radio raczej średnio się nadaje, żeby zrobić swoją własną aplikację SDR i pociągnąć GNU Radio jako zależność. Na upartego niby można, ale nie wiem czy przypadkiem nie podlega to pod jakiś zakaz w konwencji Genewskiej. GNU Radio to bardziej taki Matlab/LabView, gdzie prototypujecie swoje rozwiązanie, ale jak potrzebujecie niezależną aplikację, to musicie go odłożyć na bok i wziąć inne libki do implementacji DSP. Pod tym kątem LuaRadio wydaje się bardziej obiecujące.

Chwilowo w wolnej chwili dłubię coś innego, ale wrócę do tematu tego drugiego pilota i algorytmu “Mueller and Muller Timing Synchronization”. Mam nawet przygotowaną nawet jakąś poezję na ten temat, tylko muszę znaleźć czas na ogarnięcie z tego. Z tego co szybko przejrzałem M&M do zrozumienia wymaga wcześniejszego poznania jakiś innych konceptów.

  • naurM
    link
    fedilink
    Polski
    arrow-up
    1
    ·
    7 days ago

    Huh, dopiero teraz dowiedziałem się o LuaRadio. Wygląda na fajny zestaw klocków.
    GNU Radio bawiłem się trochę żeby zapisywać transmisje odebrane RTL SDR, ale to była tylko prosta demodulacja FM. Nie dekodowałem żadnych [AF]SK.

    Ciekawe czy dałoby się zrealizować przesyłanie większej ilości danych tym nadajnikiem, poprzez ponawianie transmisji z następną porcją bitów na pinach D*. Nie widzę żadnego pinu RDY, więc pewnie trzeba by samodzielnie synchronizować.
    No i druga kwestia, czy nie ma tam jakiejś blokady/uśpienia, żeby nie blokować pasma.

    • LackyOP
      link
      fedilink
      arrow-up
      1
      ·
      6 days ago

      ASK to po prostu modulacja amplitudą. Rzecz jeszcze prostsza ;-)

      Wykorzystanie PT2262 w tym celu jest raczej bez sensu. Zwróć uwagę, że ten układ nie produkuje ci nośnej, którą musisz sam “wyczarować” na PCB. W nocie katalogowej nawet podają, że układ równie dobrze może być wykorzystany w zwykłym pilocie na podczerwień. W takiej sytuacji zamiast PT2262 możesz po prostu umieścić dowolny mikrokontroler, który będzie generował sygnał jak sobie wymarzysz. Do takich pilotów dają go, bo jest pewnie tańszy i wystarczająco dobry.

      • naurM
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        6 days ago

        Transmisje FSK / ASK wydawały mi sie bardziej złożone, bo trzeba by robić synchronizację zegara ze źródłem. Czyli odzyskiwanie symboli o którym piszesz w prezentacji.
        Ja zrzucałem tylko strumień audio, nie dekodowałem transmisji cyfrowych.

        Faktycznie, jak popatrzyłem na datasheet, to ten układ jest prostszy niż się spodziewałem. Myślałem, że wystawia gotowy, zmodulowany sygnał.

        • サぺル
          link
          fedilink
          Polski
          arrow-up
          1
          ·
          6 days ago

          Jeśli nie odpowiadają ci gotowce ESP32/NRF24L01/CC1101, które robią wszystko za ciebie. To jest taka grupa prymitywnych modemów/nadajników/odbiorników na 433 MHz za kilka zł. Mają tylko cyfrowy sygnał “Data”. Sam musisz tam zadbać o wszystko po stronie cyfrowej i zmagać się z niedoskonałością którą dostarczy ci tor analogowy i zaszumione medium. Oczywiście są do tego gotowe biblioteki. Ale gdzie zabawa?!

    • サぺル
      link
      fedilink
      Polski
      arrow-up
      1
      ·
      7 days ago

      https://www.futurlec.com/Datasheet/Others/PT2262.pdf

      W układzie masz sygnał /TE (Transmission Enable) na wyprowadzeniu 14. Piszą, że dopóki jest wysoki, układ jest w “Stand-by mode”. Kiedy jest niski, układ zaczyna transmitować ramkę danych. Kolejne sprawdzenie sygnału jest podobno po zakończeniu transmisji.

      • naurM
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        6 days ago

        /TE to pin wejściowy. Miałem raczej na myśli odczytywanie stanu układu, żeby wykryć moment zakończenia transmisji.
        Z drugiej strony, tak jak pisał Lacky, to jest na tyle prosty układ, że faktycznie nie miałoby to sensu.

        • サぺル
          link
          fedilink
          Polski
          arrow-up
          1
          ·
          6 days ago

          Jeśli znasz zegar układu to możesz wyliczyć czas transmisji i poczekać.