अंतिम महत्वपूर्ण रिलीज़ के छह साल बाद, एसe ने हाल ही में GNU रेडियो 3.8.0 के नए संस्करण को जारी करने की घोषणा की। जो लोग जीएनयू रेडियो से अपरिचित हैं, उनके लिए आपको यह जानना चाहिए यह सॉफ्टवेयर प्रोग्राम और लाइब्रेरी का एक सेट है जो आपको मनमाने रेडियो सिस्टम बनाने की अनुमति देता है, मॉड्यूलेशन योजनाएं और प्राप्त और भेजे गए संकेतों का रूप जिसमें वे प्रोग्रामेटिक रूप से कॉन्फ़िगर किए गए हैं और सिग्नलों को पकड़ने और उत्पन्न करने के लिए सबसे सरल हार्डवेयर उपकरणों का उपयोग किया जाता है।
अल proyecto यह GPLv3 लाइसेंस के तहत लाइसेंस प्राप्त है। अधिकांश GNU रेडियो घटकों के लिए कोड पायथन में लिखा गया है, प्रदर्शन और विलंबता के लिए महत्वपूर्ण भाग C ++ में लिखे गए हैं, जिससे पैकेज को वास्तविक समय समस्या निवारण के लिए उपयोग किया जा सकता है।
सार्वभौमिक प्रोग्रामयोग्य ट्रांससीवर्स के साथ संयोजन में जो आवृत्ति बैंड और सिग्नल मॉड्यूलेशन प्रकार से बंधा नहीं है, प्लेटफ़ॉर्म जीएसएम नेटवर्क के लिए बेस स्टेशन जैसे उपकरण बनाने के लिए इस्तेमाल किया जा सकता है, आरएफआईडी टैग के दूरस्थ पढ़ने के लिए उपकरण (इलेक्ट्रॉनिक आईडी और पास, स्मार्ट कार्ड), जीपीएस रिसीवर, वाईफाई, एफएम रेडियो रिसीवर और ट्रांसमीटर, टीवी डिकोडर, निष्क्रिय रडार, स्पेक्ट्रम विश्लेषक, आदि।
USRP के अलावा, पैकेज इनपुट और आउटपुट सिग्नल के लिए अन्य हार्डवेयर घटकों का उपयोग कर सकता है, उदाहरण के लिए, साउंड कार्ड, टीवी ट्यूनर, BladeRF डिवाइस, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, FUNcube, FMCOMMS, USRP के लिए उपलब्ध ड्राइवर और एस -मिनी।
रचना में फ़िल्टर, चैनल कोडेक्स, सिंक मॉड्यूल का एक संग्रह भी शामिल है, डेमोडुलेटर, इक्वलाइज़र, स्पीच कोडेक्स, डिकोडर और रेडियो सिस्टम बनाने के लिए आवश्यक अन्य तत्व।
इन तत्वों का उपयोग समाप्त सिस्टम डिज़ाइन के लिए बिल्डिंग ब्लॉक्स के रूप में किया जा सकता है, जो ब्लॉक के बीच डेटा प्रवाह को निर्धारित करने की क्षमता के साथ मिलकर आपको प्रोग्रामिंग कौशल के बिना भी रेडियो सिस्टम डिज़ाइन करने की अनुमति देता है।
GNU रेडियो 3.8.0 में नया क्या है?
जीएनयू रेडियो 3.8.0 के इस नए संस्करण के आगमन के साथ, डेवलपर्स ने C ++ 11 मानक के विकास में उपयोग करके कोड को संक्रमित किया और Cmake बिल्ड सिस्टम और क्लैंग प्रारूप का उपयोग करके कोड शैली संरेखित करें।
निर्भरता में MPIR / GMP, Qt5, gsm और codec2 शामिल हैं। जिसके साथ CMake, GCC, MSVC, Swig, Boost के लिए निर्भरता आवश्यकताओं को अद्यतन किया गया और बदले में libusb, Qt4 और CppUnit निर्भरता से समाप्त कर दिया गया।
का कोड है GNU रेडियो 3.8.0 पायथन 3 के साथ संगत है और डेवलपर्स ने बताया है कि GNU रेडियो 3.8 की अगली शाखा पायथन 2 समर्थन के साथ अंतिम होगी।
Gnuradio-runtime में, टाइम टैग्स के आंशिक मूल्यों के प्रसंस्करण को ओवरसोप्लाकिंग मॉड्यूल के साथ अनुप्रयोग संदर्भ में पुन: डिज़ाइन किया गया है।
C ++ कोड जनरेशन के लिए वैकल्पिक सपोर्ट को GRC ग्राफिकल इंटरफेस में जोड़ा गया है (GNU रेडियो कम्पेनियन), XML के बजाय, YAML प्रारूप का उपयोग किया गया है, blks2 को हटा दिया गया है, कैनवास टूल में काफी सुधार किया गया है, और गोल तीरों के लिए समर्थन जोड़ा गया है।
अन्य परिवर्तनों में से जो हम पाते हैं:
- Gr-qtgui GUI को Qt4 से Qt5 में स्थानांतरित कर दिया गया है
- जीआर- utils ने gr_modtool उपयोगिता में काफी सुधार किया है। PyQwt- आधारित उपयोगिताओं को संरचना से हटा दिया गया है
- जीआर-कॉमेडी, जीआर-एफडीसी और जीआर-विक्सगई मॉड्यूल के लिए बंद समर्थन।
Ubuntu और डेरिवेटिव पर GNU रेडियो कैसे स्थापित करें?
उन लोगों के लिए जो इस नए संस्करण को स्थापित करने में सक्षम हैं, अभी के लिए उन्हें अपना स्रोत कोड संकलित करना होगा, क्योंकि यह उबंटू रिपॉजिटरी के भीतर अभी तक उपलब्ध नहीं है।
ऐसा करने से पहले, हमें इसके संचालन के लिए आवश्यक निर्भरताएं स्थापित करनी चाहिए, हम उन्हें सिस्टम में एक टर्मिनल खोलकर स्थापित करते हैं (आप इसे कुंजी संयोजन Ctrl + Alt + T के साथ कर सकते हैं) और इसमें आप निम्नलिखित टाइप करने जा रहे हैं:
sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy \ python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev libcomedi-dev \ libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 \ liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins
उसके बाद हमें केवल स्रोत कोड डाउनलोड करने के लिए निम्नलिखित टाइप करना होगा:
git clone --recursive https://github.com/gnuradio/gnuradio.git cd gnuradio mkdir build cd build
और अंत में हम एक-एक करके निम्नलिखित कमांड टाइप करके संकलन करने जा रहे हैं:
cmake ../ make make test sudo make install