ఒక సంవత్సరం అభివృద్ధి తర్వాత, ఉచిత డిజిటల్ సిగ్నల్ ప్రాసెసింగ్ ప్లాట్ఫారమ్ GNU రేడియో 3.10 యొక్క కొత్త ముఖ్యమైన విడుదల రూపొందించబడింది. ప్లాట్ఫారమ్లో సాఫ్ట్వేర్లో పేర్కొనబడిన ఏకపక్ష రేడియో సిస్టమ్లు, మాడ్యులేషన్ స్కీమ్లు మరియు స్వీకరించిన మరియు పంపిన సిగ్నల్ల రూపాన్ని సృష్టించడానికి మిమ్మల్ని అనుమతించే ప్రోగ్రామ్లు మరియు లైబ్రరీల సమితి ఉంటుంది మరియు సిగ్నల్లను సంగ్రహించడానికి మరియు రూపొందించడానికి సరళమైన హార్డ్వేర్ పరికరాలు ఉపయోగించబడతాయి. ప్రాజెక్ట్ GPLv3 లైసెన్స్ క్రింద పంపిణీ చేయబడింది. GNU రేడియోలోని చాలా భాగాల కోసం కోడ్ పైథాన్లో వ్రాయబడింది; పనితీరు మరియు జాప్యానికి కీలకమైన భాగాలు C++లో వ్రాయబడ్డాయి, ఇది నిజ సమయంలో సమస్యలను పరిష్కరించేటప్పుడు ప్యాకేజీని ఉపయోగించడానికి అనుమతిస్తుంది.
ఫ్రీక్వెన్సీ బ్యాండ్ మరియు సిగ్నల్ మాడ్యులేషన్ రకంతో ముడిపడి ఉండని యూనివర్సల్ ప్రోగ్రామబుల్ ట్రాన్స్సీవర్లతో కలిపి, ప్లాట్ఫారమ్ GSM నెట్వర్క్ల కోసం బేస్ స్టేషన్లు, RFID ట్యాగ్ల రిమోట్ రీడింగ్ కోసం పరికరాలు (ఎలక్ట్రానిక్ IDలు మరియు పాస్లు, స్మార్ట్ వంటి పరికరాలను రూపొందించడానికి ఉపయోగించవచ్చు. కార్డ్లు) , GPS రిసీవర్లు, WiFi, FM రేడియో రిసీవర్లు మరియు ట్రాన్స్మిటర్లు, టీవీ డీకోడర్లు, పాసివ్ రాడార్లు, స్పెక్ట్రమ్ ఎనలైజర్లు మొదలైనవి. USRPతో పాటుగా, ప్యాకేజీ సిగ్నల్ల ఇన్పుట్ మరియు అవుట్పుట్ కోసం ఇతర హార్డ్వేర్ భాగాలను ఉపయోగించవచ్చు, ఉదాహరణకు, సౌండ్ కార్డ్లు, TV ట్యూనర్లు, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP మరియు S పరికరాలు అందుబాటులో ఉన్నాయి -మినీ.
ఇది రేడియో సిస్టమ్లను రూపొందించడానికి అవసరమైన ఫిల్టర్లు, ఛానెల్ కోడెక్లు, సింక్రొనైజేషన్ మాడ్యూల్స్, డీమోడ్యులేటర్లు, ఈక్వలైజర్లు, వాయిస్ కోడెక్లు, డీకోడర్లు మరియు ఇతర అంశాల సేకరణను కూడా కలిగి ఉంటుంది. పూర్తయిన సిస్టమ్ను సమీకరించడానికి ఈ మూలకాలను బిల్డింగ్ బ్లాక్లుగా ఉపయోగించవచ్చు, ఇది బ్లాక్ల మధ్య డేటా ప్రవాహాలను నిర్ణయించే సామర్థ్యంతో కలిపి, ప్రోగ్రామింగ్ నైపుణ్యాలు లేకుండా కూడా రేడియో సిస్టమ్లను రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది.
ప్రధాన మార్పులు:
- GNU రేడియో బ్లాక్ల మధ్య బదిలీ చేయబడిన డేటా కోసం ఉపయోగించే PDU (ప్రోటోకాల్ డేటా యూనిట్) రకంతో వస్తువులను మానిప్యులేట్ చేయడానికి సాధనాలను కలిగి ఉండే కొత్త మాడ్యూల్ gr-pdu జోడించబడింది. gr-blocks మాడ్యూల్ నుండి, అన్ని PDU బ్లాక్లు gr-network మరియు gr-pdu మాడ్యూల్లకు తరలించబడ్డాయి మరియు gr-బ్లాక్లకు బదులుగా, వెనుకబడిన అనుకూలతను నిర్ధారించడానికి ఒక లేయర్ వదిలివేయబడింది. వెక్టర్ PDU రకాలు ఇప్పుడు gr::types నేమ్స్పేస్లో అందుబాటులో ఉన్నాయి మరియు PDU మానిప్యులేషన్ కోసం విధులు ఇప్పుడు gr::pdu నేమ్స్పేస్లో అందుబాటులో ఉన్నాయి.
- GNU రేడియో మరియు ప్లూటోSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 వంటి IIO (పారిశ్రామిక I/O) సబ్సిస్టమ్ ఆధారంగా పారిశ్రామిక పరికరాల మధ్య డేటా మార్పిడిని నిర్వహించడానికి ఇన్పుట్/అవుట్పుట్ ఫ్రేమ్వర్క్ను అందించే కొత్త మాడ్యూల్ gr-iio జోడించబడింది. -EBZ, AD -FMCOMMS4-EBZ, ARRADIO మరియు AD-FMCOMMS5-EBZ.
- కస్టమ్ బఫర్ క్లాస్ కోసం ప్రయోగాత్మక మద్దతు ప్రతిపాదించబడింది, ఇది GNU రేడియో బ్లాక్లు మరియు GPU, FPGA మరియు DSP ఆధారంగా హార్డ్వేర్ యాక్సిలరేటర్ల మధ్య డేటా బదిలీని సులభతరం చేస్తుంది. కస్టమ్_బఫర్ని ఉపయోగించడం వలన మీరు GPU వైపున త్వరణాన్ని ప్రారంభించడానికి ప్రత్యేక బ్లాక్లను వ్రాయడాన్ని నివారించవచ్చు మరియు GNU రేడియో రింగ్ బఫర్ నుండి నేరుగా GPU మెమరీకి డేటాను తరలించడం, CUDA కెర్నల్లను ప్రారంభించడం మరియు డేటాను GNU రేడియో బఫర్లకు తిరిగి ఇవ్వడం సాధ్యపడుతుంది.
- లాగింగ్ ఇన్ఫ్రాస్ట్రక్చర్ spdlog లైబ్రరీని ఉపయోగించేందుకు మార్చబడింది, ఇది లాగ్లతో పని చేసే వినియోగాన్ని మెరుగుపరిచింది, iostream మరియు cstdioకి కాల్లను తొలగించింది, స్ట్రింగ్ ఫార్మాటింగ్ కోసం libfmt ఎక్స్ప్రెషన్లకు మద్దతును అందించింది మరియు ప్రోగ్రామ్ ఇంటర్ఫేస్ను ఆధునీకరించింది. గతంలో ఉపయోగించిన Log4CPP లైబ్రరీ డిపెండెన్సీగా తీసివేయబడింది.
- C++17 ప్రమాణం అభివృద్ధిలో ఉపయోగించడానికి మార్పు చేయబడింది. boost::filesystem లైబ్రరీ std::filesystemతో భర్తీ చేయబడింది.
- కంపైలర్లు (GCC 9.3, క్లాంగ్ 11, MSVC 1916) మరియు డిపెండెన్సీల కోసం పెరిగిన అవసరాలు (పైథాన్ 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako1.1.0ind11, Py2.4.3. pygccxml 2.0.0).
- RFNoC బ్లాక్ల కోసం పైథాన్ బైండింగ్లు జోడించబడ్డాయి.
- gr-qtgui గ్రాఫికల్ ఇంటర్ఫేస్ను నిర్మించడానికి బ్లాక్లకు Qt 6.2 కోసం మద్దతు జోడించబడింది. GRC (GNU రేడియో కంపానియన్) GUIకి క్రమానుగత బ్లాక్ల కోసం “--ఔట్పుట్” ఎంపిక జోడించబడింది.
మూలం: opennet.ru