Turn a WiFi 7 Router into a 320Msps Software Defined Radio Receiver
🇬🇧 English
This project turns a Gemtek W1700 K Wi-Fi 7 router into a wideband software-defined radio receiver. Its MediaTek MT7996 radio captures raw 14-bit IQ samples at up to 320 Msps, the Airoha AN7581 SoC streams them over 10 Gb Ethernet, and a Linux host displays live spectrum and waterfall views in the browser alongside the receiver's controls.
The system can observe the entire 2.4 GHz band at 320 Msps in real time, with an optional "flatten" correction that compensates for decimation roll-off. A 262,144-point FFT runs on every sample at 100 spectra per second. Sample rates of 40, 80, 160 or 320 Msps are supported on every band, and the local oscillator can be tuned across the 2.4, 5 and 6 GHz bands, retuning mid-stream in about 1 ms.
The MT7996 runs only custom firmware: a ROM patch, WM and WA built from the project repository, with no MediaTek code. It initializes the radio from a cold power-on, based on register-level analysis of MediaTek's own initialization and calibration, and accepts commands for LO, sample rate, capture, gain and filter from the host. To fit the 10 Gb link, half of the slices at 320 Msps are packed to 28 bits per sample pair on the radio's own cores, a process that is lossless and automatic.
Installation requires a W1700 K, a 3.3 V USB serial adapter, an Ethernet cable and a 10 Gb Ethernet NIC on the host. Running make builds everything from public sources, and the included test suites can be run with make check.
🇸🇦 العربية
جهاز توجيه WiFi 7 يتحول إلى مستقبل SDR بسرعة 320 Msps
يحوّل هذا المشروع جهاز التوجيه Gemtek W1700 K بمعيار Wi-Fi 7 إلى مستقبل راديو واسع النطاق معرّف بالبرمجيات. يلتقط الراديو MediaTek MT7996 عينات IQ خام بعرض 14 بت بسرعة تصل إلى 320 Msps، ويبثها معالج Airoha AN7581 عبر إيثرنت بسعة 10 Gb، ويعرض مضيف Linux في المتصفح أطياف مباشرة وعروض شلالية إلى جانب عناصر تحكم المستقبل.
يمكن للنظام رصد نطاق 2.4 GHz بالكامل بسرعة 320 Msps في الوقت الفعلي، مع تصحيح اختياري "للتسوية" يعوّض التراجع الناتج عن التخفيض. يُجرى تحويل فورييه السريع بـ262,144 نقطة على كل عينة بمعدل 100 طيف في الثانية. تُدعم معدلات أخذ العينات 40 أو 80 أو 160 أو 320 Msps في كل نطاق، ويمكن ضبط المذبذب المحلي عبر نطاقات 2.4 و5 و6 GHz، وإعادة ضبطه أثناء التدفق في نحو 1 ms.
يعمل MT7996 بالبرامج الثابتة المخصصة فقط: تصحيح ROM، وWM وWA المبنية من مستودع المشروع، دون أي شيفرة من MediaTek. يهيئ الراديو من بدء التشغيل البارد، استنادًا إلى تحليل على مستوى السجلات لعمليتي التهيئة والمعايرة الخاصتين بشركة MediaTek، ويقبل من المضيف أوامر المذبذب المحلي ومعدل أخذ العينات والالتقاط والكسب والمرشح. ولملاءمة وصلة 10 Gb، تُضغط نصف الشرائح عند 320 Msps إلى 28 بت لكل زوج عينات على أنوية الراديو نفسه، وهي عملية دون فقدان وتلقائية.
يتطلب التثبيت جهاز W1700 K، ومحوّل USB تسلسلي 3.3 V، وكابل إيثرنت، وبطاقة شبكة إيثرنت بسعة 10 Gb في المضيف. يؤدي تشغيل make إلى بناء كل شيء من مصادر عامة، ويمكن تشغيل مجموعات الاختبار المرفقة عبر make check.
لماذا يقوم النظام بضغط العينات عند 320 Msps؟
عند 320 Msps تتجاوز البيانات الخام ما يستطيع رابط الإيثرنت بسعة 10 Gb نقله، لذا تُضغط نصف الشرائح إلى 28 بت لكل زوج عينات على أنوية الراديو. الضغط دون فقدان وتلقائي، مما يتيح ملاءمة المعدل الكامل للرابط.
🇧🇩 বাংলা
WiFi 7 রাউটার হলো 320 Msps SDR রিসিভার
এই প্রকল্প Gemtek W1700 K Wi-Fi 7 রাউটারকে একটি ওয়াইডব্যান্ড সফটওয়্যার-ডিফাইনড রেডিও রিসিভারে রূপান্তর করে। এর MediaTek MT7996 রেডিও 320 Msps পর্যন্ত গতিতে কাঁচা 14-বিট IQ স্যাম্পল ক্যাপচার করে, Airoha AN7581 SoC সেগুলো 10 Gb ইথারনেটের মাধ্যমে স্ট্রিম করে, এবং একটি Linux হোস্ট রিসিভারের নিয়ন্ত্রণের পাশাপাশি ব্রাউজারে লাইভ স্পেকট্রাম ও ওয়াটারফলের দৃশ্য দেখায়।
এই সিস্টেম 320 Msps-এ পুরো 2.4 GHz ব্যান্ড রিয়েল টাইমে পর্যবেক্ষণ করতে পারে, সাথে ডেসিমেশন রোল-অফ ক্ষতিপূরণের জন্য একটি ঐচ্ছিক "flatten" সংশোধন রয়েছে। প্রতিটি স্যাম্পলে 262,144-পয়েন্ট FFT সেকেন্ডে 100টি স্পেকট্রা হারে চলে। সব ব্যান্ডে 40, 80, 160 বা 320 Msps স্যাম্পল রেট সমর্থিত, এবং লোকাল অসিলেটরকে 2.4, 5 ও 6 GHz ব্যান্ডে টিউন করা যায়, স্ট্রিমের মাঝেই প্রায় 1 ms-এ পুনরায় টিউন করা যায়।
MT7996 শুধুমাত্র কাস্টম ফার্মওয়্যার চালায়: প্রকল্প রিপোজিটরি থেকে তৈরি একটি ROM প্যাচ, WM ও WA, যেখানে MediaTek-এর কোনো কোড নেই। এটি কোল্ড পাওয়ার-অনে MediaTek-এর নিজস্ব ইনিশিয়ালাইজেশন ও ক্যালিব্রেশনের রেজিস্টার-স্তরের বিশ্লেষণের ভিত্তিতে রেডিও চালু করে, এবং হোস্ট থেকে LO, স্যাম্পল রেট, ক্যাপচার, গেইন ও ফিল্টারের কমান্ড গ্রহণ করে। 10 Gb লিংকে ফিট করার জন্য, 320 Msps-এ অর্ধেক স্লাইস রেডিওর নিজস্ব কোরে প্রতি স্যাম্পল-জোড়ায় 28 বিটে প্যাক করা হয়, যা লসলেস ও স্বয়ংক্রিয় প্রক্রিয়া।
ইনস্টলেশনের জন্য প্রয়োজন একটি W1700 K, একটি 3.3 V USB সিরিয়াল অ্যাডাপ্টার, একটি ইথারনেট ক্যাবল এবং হোস্টে একটি 10 Gb ইথারনেট NIC। make চালালে সবকিছু পাবলিক সোর্স থেকে বিল্ড হয়, এবং অন্তর্ভুক্ত টেস্ট স্যুট make check দিয়ে চালানো যায়।
সিস্টেম 320 Msps-এ স্যাম্পল প্যাক করে কেন?
320 Msps-এ কাঁচা ডেটা 10 Gb ইথারনেট লিংকের বহনক্ষমতার চেয়ে বেশি হয়ে যায়, তাই অর্ধেক স্লাইস রেডিওর কোরে প্রতি স্যাম্পল-জোড়ায় 28 বিটে প্যাক করা হয়। প্যাকিং লসলেস ও স্বয়ংক্রিয়, যা পূর্ণ গতিকে লিংকে ফিট করতে দেয়।
🇩🇪 Deutsch
WiFi-7-Router wird zum 320-Msps-SDR-Empfänger
Dieses Projekt macht aus einem Gemtek W1700 K Wi-Fi-7-Router einen softwaredefinierten Breitband-Funkempfänger. Sein MediaTek-MT7996-Funkmodul erfasst rohe 14-Bit-IQ-Samples mit bis zu 320 Msps, der Airoha-AN7581-SoC überträgt sie über 10-Gb-Ethernet, und ein Linux-Host zeigt im Browser Live-Spektrum- und Wasserfallansichten zusammen mit den Empfängerreglern an.
Das System kann das gesamte 2,4-GHz-Band mit 320 Msps in Echtzeit beobachten, mit einer optionalen "Flatten"-Korrektur, die den durch Dezimierung verursachten Abfall ausgleicht. Auf jedes Sample wird eine 262.144-Punkte-FFT mit 100 Spektren pro Sekunde angewendet. Abtastraten von 40, 80, 160 oder 320 Msps werden auf allen Bändern unterstützt, und der lokale Oszillator lässt sich in den Bändern 2,4, 5 und 6 GHz abstimmen, wobei ein Nachstimmen während des laufenden Streams in etwa 1 ms erfolgt.
Der MT7996 läuft nur mit eigener Firmware: einem ROM-Patch, WM und WA, die aus dem Projekt-Repository gebaut werden, ohne jeglichen MediaTek-Code. Er initialisiert das Funkmodul nach einem Kaltstart auf Basis einer Analyse der Register-Ebene der eigenen Initialisierung und Kalibrierung von MediaTek und nimmt Befehle für LO, Abtastrate, Erfassung, Verstärkung und Filter vom Host an. Um in die 10-Gb-Verbindung zu passen, werden bei 320 Msps die Hälfte der Slices auf den eigenen Kernen des Funkmoduls auf 28 Bit pro Sample-Paar gepackt, ein verlustfreier und automatischer Vorgang.
Die Installation erfordert einen W1700 K, einen 3,3-V-USB-Seriell-Adapter, ein Ethernet-Kabel und eine 10-Gb-Ethernet-Netzwerkkarte im Host. Mit make wird alles aus öffentlichen Quellen gebaut, und die enthaltenen Testsuiten lassen sich mit make check ausführen.
Warum packt das System die Samples bei 320 Msps?
Bei 320 Msps übersteigen die Rohdaten die Kapazität der 10-Gb-Ethernet-Verbindung, daher wird die Hälfte der Slices auf den Kernen des Funkmoduls auf 28 Bit pro Sample-Paar gepackt. Das Packen ist verlustfrei und automatisch, sodass die volle Rate in die Verbindung passt.
🇪🇸 Español
Un router WiFi 7 se convierte en receptor SDR de 320 Msps
Este proyecto convierte un router Gemtek W1700 K Wi-Fi 7 en un receptor de radio definida por software de banda ancha. Su radio MediaTek MT7996 captura muestras IQ brutas de 14 bits a una velocidad de hasta 320 Msps, el SoC Airoha AN7581 las transmite a través de Ethernet de 10 Gb y un host Linux muestra en el navegador vistas de espectro y cascada en vivo junto con los controles del receptor.
El sistema puede observar toda la banda de 2,4 GHz a 320 Msps en tiempo real, con una corrección opcional de "aplanado" que compensa la caída por decimación. Una FFT de 262 144 puntos se ejecuta sobre cada muestra a 100 espectros por segundo. Se admiten velocidades de muestreo de 40, 80, 160 o 320 Msps en todas las bandas, y el oscilador local puede sintonizarse en las bandas de 2,4, 5 y 6 GHz, reajustándose durante el flujo en unos 1 ms.
El MT7996 ejecuta únicamente firmware personalizado: un parche ROM, WM y WA construidos desde el repositorio del proyecto, sin código de MediaTek. Inicializa la radio desde un arranque en frío, basándose en un análisis a nivel de registros de la propia inicialización y calibración de MediaTek, y acepta desde el host comandos de LO, velocidad de muestreo, captura, ganancia y filtro. Para ajustarse al enlace de 10 Gb, la mitad de los slices a 320 Msps se empaquetan a 28 bits por par de muestras en los propios núcleos de la radio, un proceso sin pérdidas y automático.
La instalación requiere un W1700 K, un adaptador serie USB de 3,3 V, un cable Ethernet y una NIC Ethernet de 10 Gb en el host. Ejecutar make compila todo a partir de fuentes públicas, y las suites de prueba incluidas pueden ejecutarse con make check.
¿Por qué el sistema empaqueta las muestras a 320 Msps?
A 320 Msps, los datos brutos superan lo que puede transportar el enlace Ethernet de 10 Gb, por lo que la mitad de los slices se empaquetan a 28 bits por par de muestras en los núcleos de la radio. El empaquetado es sin pérdidas y automático, lo que permite que la velocidad completa quepa en el enlace.
🇫🇷 Français
Un routeur WiFi 7 devient un récepteur SDR à 320 Msps
Ce projet transforme un routeur Gemtek W1700 K Wi-Fi 7 en récepteur radio large bande défini par logiciel. Sa radio MediaTek MT7996 capture des échantillons IQ bruts de 14 bits à un débit allant jusqu'à 320 Msps, le SoC Airoha AN7581 les diffuse via une liaison Ethernet 10 Gb, et un hôte Linux affiche dans le navigateur des vues de spectre et de cascade en direct, aux côtés des commandes du récepteur.
Le système peut observer l'intégralité de la bande 2,4 GHz à 320 Msps en temps réel, avec une correction facultative « aplatissement » qui compense la chute due à la décimation. Une FFT de 262 144 points est appliquée à chaque échantillon à raison de 100 spectres par seconde. Les débits d'échantillonnage de 40, 80, 160 ou 320 Msps sont pris en charge sur toutes les bandes, et l'oscillateur local peut être accordé sur les bandes 2,4, 5 et 6 GHz, avec un réaccord en cours de flux en environ 1 ms.
Le MT7996 n'exécute que du micrologiciel personnalisé : un correctif ROM, WM et WA construits à partir du dépôt du projet, sans aucun code MediaTek. Il initialise la radio depuis un démarrage à froid, à partir d'une analyse au niveau des registres de l'initialisation et de l'étalonnage propres à MediaTek, et accepte de l'hôte les commandes de LO, de débit d'échantillonnage, de capture, de gain et de filtre. Pour tenir dans la liaison 10 Gb, la moitié des tranches à 320 Msps sont compressées à 28 bits par paire d'échantillons sur les cœurs de la radio elle-même, un procédé sans perte et automatique.
L'installation nécessite un W1700 K, un adaptateur série USB 3,3 V, un câble Ethernet et une carte réseau Ethernet 10 Gb sur l'hôte. L'exécution de make compile l'ensemble à partir de sources publiques, et les suites de tests incluses peuvent être lancées avec make check.
Pourquoi le système compresse-t-il les échantillons à 320 Msps ?
À 320 Msps, les données brutes dépassent la capacité de la liaison Ethernet 10 Gb, donc la moitié des tranches sont compressées à 28 bits par paire d'échantillons sur les cœurs de la radio. La compression est sans perte et automatique, ce qui permet à la pleine cadence de tenir dans la liaison.
🇮🇳 हिन्दी
WiFi 7 राउटर बना 320 Msps SDR रिसीवर
यह प्रोजेक्ट Gemtek W1700 K Wi-Fi 7 राउटर को एक वाइडबैंड सॉफ़्टवेयर-डिफ़ाइंड रेडियो रिसीवर में बदल देता है। इसका MediaTek MT7996 रेडियो 320 Msps तक की दर से कच्चे 14-बिट IQ नमूने कैप्चर करता है, Airoha AN7581 SoC इन्हें 10 Gb ईथरनेट पर स्ट्रीम करता है, और एक Linux होस्ट रिसीवर के नियंत्रणों के साथ ब्राउज़र में लाइव स्पेक्ट्रम और वॉटरफ़ॉल दृश्य दिखाता है।
यह सिस्टम पूरे 2.4 GHz बैंड को 320 Msps पर रियल टाइम में देख सकता है, जिसमें डेसीमेशन रोल-ऑफ़ की भरपाई के लिए वैकल्पिक "flatten" सुधार भी है। हर नमूने पर 262,144-बिंदु FFT प्रति सेकंड 100 स्पेक्ट्रा की दर से चलता है। सभी बैंड पर 40, 80, 160 या 320 Msps की नमूना दरें समर्थित हैं, और लोकल ऑसिलेटर को 2.4, 5 और 6 GHz बैंड में ट्यून किया जा सकता है, जिसे लगभग 1 ms में स्ट्रीम के बीच में री-ट्यून किया जा सकता है।
MT7996 केवल कस्टम फ़र्मवेयर पर चलता है: प्रोजेक्ट रिपॉज़िटरी से बने ROM पैच, WM और WA, जिनमें MediaTek का कोई कोड नहीं है। यह कोल्ड पावर-ऑन से रेडियो को इनिशियलाइज़ करता है, जो MediaTek की अपनी इनिशियलाइज़ेशन और कैलिब्रेशन के रजिस्टर-स्तर विश्लेषण पर आधारित है, और होस्ट से LO, नमूना दर, कैप्चर, गेन और फ़िल्टर के कमांड स्वीकार करता है। 10 Gb लिंक में फ़िट होने के लिए, 320 Msps पर आधे स्लाइस रेडियो के अपने कोर पर प्रति नमूना-जोड़ी 28 बिट में पैक किए जाते हैं, जो लॉसलेस और स्वचालित प्रक्रिया है।
इंस्टॉलेशन के लिए W1700 K, 3.3 V USB सीरियल एडेप्टर, ईथरनेट केबल और होस्ट पर 10 Gb ईथरनेट NIC चाहिए। make चलाने से सब कुछ सार्वजनिक स्रोतों से बनता है, और शामिल टेस्ट सूट make check से चलाए जा सकते हैं।
सिस्टम 320 Msps पर नमूनों को पैक क्यों करता है?
320 Msps पर कच्चा डेटा 10 Gb ईथरनेट लिंक की क्षमता से अधिक हो जाता है, इसलिए आधे स्लाइस रेडियो के कोर पर प्रति नमूना-जोड़ी 28 बिट में पैक किए जाते हैं। पैकिंग लॉसलेस और स्वचालित है, जिससे पूरी दर लिंक में फ़िट हो जाती है।
🇮🇩 Bahasa Indonesia
Router WiFi 7 Jadi Penerima SDR 320 Msps
Proyek ini mengubah router Gemtek W1700 K Wi-Fi 7 menjadi penerima radio pita lebar berbasis perangkat lunak. Radio MediaTek MT7996-nya menangkap sampel IQ 14-bit mentah hingga 320 Msps, SoC Airoha AN7581 mengalirkannya melalui Ethernet 10 Gb, dan host Linux menampilkan spektrum langsung serta tampilan waterfall di browser beserta kontrol penerima.
Sistem ini dapat mengamati seluruh pita 2,4 GHz pada 320 Msps secara real time, dengan koreksi "flatten" opsional yang mengompensasi penurunan akibat decimation. FFT 262.144 titik dijalankan pada setiap sampel dengan 100 spektrum per detik. Laju sampel 40, 80, 160, atau 320 Msps didukung di setiap pita, dan osilator lokal dapat disetel di pita 2,4, 5, dan 6 GHz, dengan penyetelan ulang di tengah aliran dalam sekitar 1 ms.
MT7996 hanya menjalankan firmware khusus: patch ROM, WM, dan WA yang dibangun dari repositori proyek, tanpa kode MediaTek sama sekali. Ia menginisialisasi radio dari kondisi power-on dingin, berdasarkan analisis tingkat register terhadap inisialisasi dan kalibrasi MediaTek sendiri, serta menerima perintah LO, laju sampel, capture, gain, dan filter dari host. Agar muat dalam tautan 10 Gb, separuh slice pada 320 Msps dikemas menjadi 28 bit per pasang sampel di inti radio itu sendiri, proses yang tanpa kehilangan data dan otomatis.
Instalasi memerlukan W1700 K, adaptor serial USB 3,3 V, kabel Ethernet, dan NIC Ethernet 10 Gb di host. Menjalankan make akan membangun semuanya dari sumber publik, dan rangkaian pengujian yang disertakan dapat dijalankan dengan make check.
Mengapa sistem mengemas sampel pada 320 Msps?
Pada 320 Msps, data mentah melebihi kapasitas tautan Ethernet 10 Gb, sehingga separuh slice dikemas menjadi 28 bit per pasang sampel di inti radio. Pengemasan ini tanpa kehilangan data dan otomatis, sehingga laju penuh dapat muat dalam tautan.
🇯🇵 日本語
WiFi 7ルーターが320 Msps SDR受信機に変身
このプロジェクトは、Gemtek W1700 K Wi-Fi 7ルーターを広帯域ソフトウェア無線受信機に変えます。MediaTek MT7996無線部は最大320 Mspsで14ビットの生IQサンプルを取得し、Airoha AN7581 SoCがそれを10 Gbイーサネット経由で送信します。Linuxホストは受信機の制御とともに、ブラウザ上でライブのスペクトラム表示とウォーターフォール表示を表示します。
このシステムは、オプションの「フラット化」補正により間引きによるロールオフを補償しながら、2.4 GHz帯全体を320 Mspsでリアルタイムに観測できます。すべてのサンプルに対して262,144点のFFTを毎秒100スペクトルの速度で実行します。40、80、160、320 Mspsのサンプルレートがすべての帯域でサポートされ、ローカル発振器は2.4、5、6 GHz帯で同調でき、ストリームの途中で約1 msで再同調できます。
MT7996はカスタムファームウェアのみで動作します。プロジェクトのリポジトリからビルドされたROMパッチ、WM、WAで構成され、MediaTek製のコードは一切含まれません。MediaTek自身の初期化・校正処理のレジスタレベルの解析に基づき、コールドパワーオンから無線部を初期化し、ホストからのLO、サンプルレート、キャプチャ、ゲイン、フィルタのコマンドを受け付けます。10 Gbリンクに収めるため、320 Mspsでは半分のスライスを無線部自身のコア上でサンプルペアあたり28ビットにパックします。この処理は無損失かつ自動です。
インストールには、W1700 K、3.3 V USBシリアルアダプタ、イーサネットケーブル、ホスト側の10 Gbイーサネットインターフェースカードが必要です。makeを実行すると公開ソースからすべてがビルドされ、付属のテストスイートはmake checkで実行できます。
なぜシステムは320 Mspsでサンプルをパックするのですか?
320 Mspsでは生データが10 Gbイーサネットリンクの転送能力を超えるため、半分のスライスを無線部のコア上でサンプルペアあたり28ビットにパックします。このパックは無損失かつ自動で行われ、全速度をリンクに収めることができます。
🇧🇷 Português
Roteador WiFi 7 vira receptor SDR de 320 Msps
Este projeto transforma um roteador Gemtek W1700 K Wi-Fi 7 em um receptor de rádio definido por software de banda larga. Seu rádio MediaTek MT7996 captura amostras IQ brutas de 14 bits em até 320 Msps, o SoC Airoha AN7581 as transmite por Ethernet de 10 Gb, e um host Linux exibe no navegador visualizações de espectro e cascata ao vivo, junto com os controles do receptor.
O sistema pode observar toda a banda de 2,4 GHz a 320 Msps em tempo real, com uma correção opcional de "achatamento" que compensa a queda de decimação. Uma FFT de 262.144 pontos é executada em cada amostra, a 100 espectros por segundo. Taxas de amostragem de 40, 80, 160 ou 320 Msps são suportadas em todas as bandas, e o oscilador local pode ser sintonizado nas bandas de 2,4, 5 e 6 GHz, com resintonização durante o fluxo em cerca de 1 ms.
O MT7996 executa apenas firmware personalizado: um patch de ROM, WM e WA construídos a partir do repositório do projeto, sem nenhum código da MediaTek. Ele inicializa o rádio a partir de uma energização a frio, com base em análise em nível de registradores da própria inicialização e calibração da MediaTek, e aceita do host comandos de LO, taxa de amostragem, captura, ganho e filtro. Para caber no link de 10 Gb, metade das fatias a 320 Msps são compactadas para 28 bits por par de amostras nos próprios núcleos do rádio, um processo sem perdas e automático.
A instalação requer um W1700 K, um adaptador serial USB de 3,3 V, um cabo Ethernet e uma placa de rede Ethernet de 10 Gb no host. Executar make compila tudo a partir de fontes públicas, e as suítes de teste incluídas podem ser executadas com make check.
Por que o sistema compacta as amostras a 320 Msps?
A 320 Msps, os dados brutos excedem o que o link Ethernet de 10 Gb consegue transportar, por isso metade das fatias é compactada para 28 bits por par de amostras nos núcleos do rádio. A compactação é sem perdas e automática, permitindo que a taxa completa caiba no link.
🇷🇺 Русский
Роутер WiFi 7 стал SDR-приемником на 320 Msps
Этот проект превращает роутер Gemtek W1700 K Wi-Fi 7 в широкополосный программно-определяемый радиоприемник. Его радиомодуль MediaTek MT7996 захватывает необработанные 14-битные IQ-отсчеты со скоростью до 320 Msps, SoC Airoha AN7581 передает их по 10-гигабитному Ethernet, а Linux-хост отображает в браузере живые спектр и водопадные диаграммы вместе с элементами управления приемником.
Система может в реальном времени наблюдать весь диапазон 2,4 ГГц на скорости 320 Msps с необязательной коррекцией «выравнивания», которая компенсирует спад, вызванный децимацией. БПФ на 262 144 точки выполняется для каждого отсчета со скоростью 100 спектров в секунду. Частоты дискретизации 40, 80, 160 или 320 Msps поддерживаются во всех диапазонах, а гетеродин может настраиваться в диапазонах 2,4, 5 и 6 ГГц, перестраиваясь прямо в процессе потока примерно за 1 мс.
MT7996 работает только с пользовательской прошивкой: патч ROM, WM и WA, собранные из репозитория проекта, без какого-либо кода MediaTek. Он инициализирует радиомодуль с холодного включения на основе анализа на уровне регистров собственной процедуры инициализации и калибровки MediaTek и принимает от хоста команды для гетеродина, частоты дискретизации, захвата, усиления и фильтра. Чтобы уложиться в 10-гигабитный канал, половина слайсов при 320 Msps упаковывается до 28 бит на пару отсчетов на собственных ядрах радиомодуля; процесс происходит без потерь и автоматически.
Для установки требуются W1700 K, USB-последовательный адаптер на 3,3 В, Ethernet-кабель и 10-гигабитная сетевая карта Ethernet на хосте. Команда make собирает все из открытых исходных кодов, а входящие наборы тестов запускаются командой make check.
Зачем система упаковывает отсчеты при 320 Msps?
При 320 Msps объем необработанных данных превышает пропускную способность 10-гигабитного Ethernet-канала, поэтому половина слайсов упаковывается до 28 бит на пару отсчетов на ядрах радиомодуля. Упаковка выполняется без потерь и автоматически, что позволяет передавать полную скорость по каналу.
🇨🇳 简体中文
WiFi 7路由器变身320 Msps SDR接收机
该项目将Gemtek W1700 K Wi-Fi 7路由器改造为宽带软件定义无线电接收机。其MediaTek MT7996无线电以高达320 Msps的速率捕获原始14位IQ采样,Airoha AN7581 SoC通过10 Gb以太网传输这些数据,Linux主机则在浏览器中显示实时频谱和瀑布图以及接收机控制界面。
该系统能够以320 Msps实时观测整个2.4 GHz频段,并提供可选的"平坦化"校正,用于补偿抽取滚降。每个采样都会以每秒100个频谱的速率进行262,144点FFT运算。每个频段均支持40、80、160或320 Msps的采样率,本振可在2.4、5和6 GHz频段内调谐,并能在约1毫秒内于数据流中途重新调谐。
MT7996仅运行自定义固件,包括来自项目代码库的ROM补丁、WM和WA,不含任何MediaTek代码。它基于对MediaTek自身初始化和校准过程的寄存器级分析,从冷上电状态初始化无线电,并接受主机发来的本振、采样率、捕获、增益和滤波器命令。为适应10 Gb链路,在320 Msps下,一半的切片会在无线电自身的核心上被打包为每对采样28位,该过程无损且自动完成。
安装需要W1700 K、3.3 V USB串口适配器、以太网线以及主机上的10 Gb以太网网卡。运行make即可从公共源代码构建全部内容,并可通过make check运行所含测试套件。
为什么系统在320 Msps时要对采样进行打包?
在320 Msps时,原始数据量超出了10 Gb以太网链路的承载能力,因此一半的切片会在无线电核心上被打包为每对采样28位。该打包过程无损且自动完成,从而使全速率能够适配该链路。