Get Mystery Box with random crypto!

А ви знаєте про RFNOC? Це відкритий та безкоштовний інструмен | Lampa

А ви знаєте про RFNOC?

Це відкритий та безкоштовний інструмент створення систем обробки сигналів, де довільна частина реалізується на FPGA, а решта - на комп'ютері. Якщо не знаєте, читайте нижче, бо інструмент дуже потужний.

Отже RFNOC це фреймворк для швидкої реалізації DSP/SDR систем обробки сигналів на FPGA, для користування яким не обов'язково бути професійним FPGA розробником, а достатньо знати лише базові основи FPGA. При цьому професійні FPGA розробники можуть дуже просто інтегрувати в RFNOC свої обчислювачі для створення дійсно складних систем.

Архітектурно RFNOC складається з бібліотеки реалізованих на FPGA компонентів для цифрової обробки сигналів і телекоммунікацій, комутаційної матриці, підсистеми зв'язку між FPGA та комп'ютером через Ethernet (у т.ч. 10G), Linux драйвера (UHD), API для С++/Python. RFNOC має повну інтеграцію в GNU Radio.

Частину тракту обробки сигналу можна зробити на апаратних блоках в FPGA, а частину реалізувати програмно в GNU Radio, або на С++/Python. Інтеграція з GNU Radio реалізована таким чином, що кожному апаратному блоку відповідає компонент GNU Radio, при цьому передача даних між FPGA та GNU Radio прихована від користувача. У випадку використання С++/Python, доступ до апаратних блоків відбувається через API та драйвер UHD.

В наборі апаратно реалізованих блоків є цифрові фільтри, генератори сигналів, міксери, DDC, DUC, FFT, багатоканальні ченалайзери на основі поліфазних фільтрів і FFT, OFDM. Повний перелік тут: https://github.com/EttusResearch/fpga/tree/maint/usrp3/lib/rfnoc

Можна створювати свої обчислювальні блоки та інтерувати в систему

Тепер про сумне :) RFNOC підтримується лише SDR приймачами 3-го покоління компанії Ettus Research, що реалізовані на FPGA Xilinx 7-ї серії з Ethernet інтерфейсом. Вартість пристроїв 4-8К$. Припускаємо, що відносно не складно буде завести систему на кастомних платах з чіпами Xilinx 7-ї серії.

Залізо дороге, але враховуючи можливості і порівнюючи з вартістю того ж Matlab з HDL кодером і телекомунікаційними тулбоксами, виглядає дуже цікаво!

Тепер посилання.

Ось шикарне демо спектроаналізатора з використанням RFNOC (компонент fosphor):



В реальному часі демонструється спектр WiFi сигналу у смузі 200 МГц, зі згладжуванням і peak hold. А також спектри LTE та системи Iridium для супутникового зв'язку.

Ось приклади в GNU Radio: https://github.com/EttusResearch/gr-ettus/tree/rfnoc-ofdm/examples/rfnoc

Опис протоколів, інтерфейсів та API: https://files.ettus.com/app_notes/RFNoC_Specification.pdf

Детальна інструкція з початку роботи: https://kb.ettus.com/Getting_Started_with_RFNoC_Development

Відео воркшопу з основ роботи в RFNOC:



Розгорнутий воркшоп по RFNOC тривалістю 2.5 годин:



Презентації до воркшопу:
1) https://kb.ettus.com/images/5/5b/rfnoc4_workshop_slides_2020_part_1.pdf
2) https://kb.ettus.com/images/e/e9/rfnoc4_workshop_slides_2020_part_2.pdf

І ще один воркшоп (прям свіжайший, за грудень 2020):



Презентації до воркшопу:
1) https://kb.ettus.com/images/5/58/rfnoc3_workshop_slides_202008_part_1.pdf
2) https://kb.ettus.com/images/f/f6/rfnoc3_workshop_slides_202008_part_2.pdf