
Niedawno w naszym laboratorium połączyły się dwa zupełnie różne światy: świat niedrogich nadajników-odbiorników radiowych i świat drogich systemów do rejestracji szerokopasmowych sygnałów radiowych.
Na początku nasi dobrzy znajomi zwrócili się do nas z prośbą o stworzenie oprogramowania do nagrywania sygnału 500 MHz. Oczywiście nie mogliśmy odmówić. W końcu musiało to zostać wykonane na płytce firmy Instrumental Systems, którą znam od dawna. Na początku mojej kariery inżynierskiej musiałem pracować z ich sprzętem i oprogramowaniem.
A potem przyszedł mój drogi przyjaciel z i poproszono go o stworzenie systemu pozycjonowania dronów bez GPS. Twierdzi, że konieczne jest organizowanie pokazów w pomieszczeniach. A w dzisiejszych czasach wystrzeliwanie kilku milionów dolarów w powietrze na zawodnym GPS-ie na ulicy jest mało pożądane. Zakłócenia i fałszowanie nawigacji satelitarnej .
Do pozycjonowania bez satelitów z dokładnością lepszą niż dziesięć centymetrów w strefie do kilometra nie znalazłem niczego poza technologią UWB. Od dawna na rynku działa firma DecaWave, która produkuje mikroukład DW1000 i oparte na nim moduły. Mikroukład jest transceiverem UWB zgodnym ze standardem IEEE 802.15.4-2011. Nawiasem mówiąc, jest to unikatowy obiekt, z podwójnym, a nawet potrójnym dnem. Mam nadzieję, że w ciągu najbliższych kilku lat uda nam się poznać jego głębiny i o nich napisać. Na pewno nie starczy nam czasu wcześniej.
Ale dzisiaj nie będziemy rozmawiać o pozycjonowaniu, o tym porozmawiamy w kolejnych odcinkach.
Dzisiaj nagrywamy sygnał DW1000. Pasmo tego sygnału nie jest ani większe, ani mniejsze niż 1000 lub 500 MHz, co ustala numer kanału. „Zupełnie przypadkiem” na sąsiednim stole stał komputer z płytą główną. od Instrumental Systems z antresolą FMC od Analog Devices.
W tym miejscu należy zaznaczyć „dla prokuratora”, że AD9208 ADC jest obecnie sprzętem objętym sankcjami. Nie można go legalnie kupić w Rosji, choć czasami bardzo się tego chce. Ale ten konkretny moduł został zakupiony dawno temu, kiedy jeszcze nie było sankcji. Jest czysty jak dusza dziecka. Mam nadzieję, że to zeznanie zostanie złożone w sprawie i potraktowane na korzyść oskarżonego.
Nie będziemy teraz wchodzić w szczegóły dotyczące tworzenia oprogramowania do zapisywania strumienia odczytów w pamięci komputera. Niestety, nie możemy jeszcze opublikować kodu źródłowego aplikacji. LinuxMamy jednak nadzieję, że uda nam się uzyskać na to pozwolenie następnym razem. Warto zauważyć, że nie było to łatwe, nawet z oprogramowaniem dostarczonym przez Instrumented Systems. Sam przetwornik ADC oraz jego system taktowania i próbkowania wyjściowego wykorzystujący technologię JESD204B są dość skomplikowane do zrozumienia, a moduł AD również wymagał poprawek sprzętowych. Sygnał REFCLK jest niezbędny dla układu wejściowego, ale na module został podłączony do niewłaściwych pinów złącza FMC i w konsekwencji nie docierał do właściwych pinów układu FPGA. Konieczne było zastosowanie poprawki, którą widać na poniższym zdjęciu – dwa czerwone przewody. Oczywiście istniały wątpliwości, czy to zadziała. Częstotliwość sygnału zegara jest wysoka – 375 MHz – a poprawka jest fatalna. Ale system sobie z tym poradził.

Cała kuchnia wygląda tak.

Tutaj widać komputer z dobrym systemem wejścia/wyjścia, płytą FMC126P i mezaninem AD9208-3000EBZ. Wśród generatorów znajduje się generator 3000 MHz do taktowania ADC i generator 770 MHz do taktowania REFCLK. Kable ze złączami SMA łączą generatory i dostarczają sygnał wejściowy.
Przepływność danych z wyjścia przetwornika ADC, jeśli zagłębimy się w szczegóły, wynosi 12 GB/s z dwóch kanałów. Według pomiarów i deklaracji producenta płytki FMC126P, maksymalna przepływność wejściowa wynosi 5 GB/s. Dlatego wykorzystaliśmy tylko jeden kanał w przetworniku ADC i przepuściliśmy go przez wbudowany w układ AD9208 przetwornik DDC (Digital Down Converter) z decymacją czterokrotnie. W rezultacie przepływ danych wyniósł 3 GB/s (częstotliwość próbkowania 750 MHz, 16-bitowy sygnał zespolony).
Sprawdzenie, czy system jest w stanie rejestrować odczyty, jest bardzo proste: wystarczy monitorować bity „sticky” stanu FIFO FPGA. Jeśli w ciągu nocy nie wystąpiły żadne zdarzenia przepełnienia FIFO, bit nie zostanie ustawiony. Z zadowoleniem stwierdzamy, że nie doszło do utraty odczytów. Oczywiście najpierw sprawdzamy, czy fiksacja bitu stanu działa. Sprawdzamy również postać sygnału z pliku, aby upewnić się, że jakość odczytu sygnału ADC jest zgodna z dokumentacją.
Ale jaki sygnał byłby odpowiedni dla takiego systemu wejściowego? Oczywiście UWB z następnej tabeli!
Na szczęście wybraliśmy częstotliwość kanału 4 GHz dla systemu pozycjonowania drona. Odpowiada to kanałom 4 i 2 w terminologii DW1000 (rysunek 13 w karcie katalogowej). Zbudowaliśmy antenę wbudowaną w płytkę dla tej częstotliwości, a raczej dla tego zakresu. Dopasowanie jej w tak szerokim paśmie nie było łatwe. Ale okazało się, że to erotyczne! Niektórzy twierdzą, że wygląda jak symbol... z uszami.

Sygnał 4 GHz, 500 MHz mieści się w trzecim paśmie Nyquista i ma wystarczającą liczbę pasm ochronnych, aby uniknąć aliasingu, więc po prostu podaliśmy sygnał DW1000 bezpośrednio do wejścia ADC AD9208.
Otrzymaliśmy dwa pliki: jeden z częstotliwością PRF 64 MHz, drugi 16 MHz. Prędkość transmisji została ustawiona na minimalną dla DW1000 – 110 kbps.
To plik, to jest Uważaj, pliki są ogromne!
W pierwszym pliku widzimy pakiety składające się z około 750 próbek lub trwające 1000 nanosekund.

W drugim pliku pakiety są cztery razy krótsze.

I jest to w pełni zgodne ze standardem IEEE 802.15.4-2011 w zakresie warstwy fizycznej UWB:

Modulacja wewnątrz pakietu jest podobna do modulacji fazowej, która również odpowiada standardowi BPSK. Sam standard można znaleźć w internecie, wyszukując hasło „IEEE 802.15.4-2011”.
Jeżeli nieznacznie rozszerzymy okno czasowe obserwacji, możemy zaobserwować nierównomierność sekwencji pakietów, co odpowiada opisowi hybrydowej modulacji IEEE 802.15.4-2011 UWB – położenie-faza (BPM-BPSK).


Ogólnie rzecz biorąc, uważam układ DW1000 i modulację tego UWB PHY za bombę, cokolwiek to znaczy, porównywalną z wojskowymi JTIDS. To moje nowe hobby. Ciąg dalszy nastąpi!
Z jednej strony zajmiemy się DW1000, z drugiej zaś standardem IEEE 802.15.4.
Źródło: www.habr.com
