您的当前位置:首页GNURAdioDoc-2

GNURAdioDoc-2

来源:小侦探旅游网
Tutorial2:BeforeDivingintoGNURadio,YouShould...

DaweiShen∗

May21,2005

Abstract

GNURadiorequiresbothstrongcomputerskillsandextensiveknowledgeoncommunicationsanddigitalsignalprocessing.Thisarticlelistssomeusefulresourcesincludingtextbooks,weblinks,on-linetutorials.ThepurposeofthissheetistohelptheGNURadiofanstogetpreparedforthisexcitingtool.

IdefinitelybelieveyouhavefoundGNURadiointerestingandareeagertoplayaroundwithit.Unfortunately,itcontainsmorechallengethanfun.Youneedextensiveknowledgeonawiderangeofareas,includingcommunication(wireless)systems,digitalsignalprocessing,basichardwareandcircuitdesign,OOPprogramming,etc.However,yourinterestandpassioncouldmakethemmucheasier.Inthispage,Ilistsomeusefularticlesandresources,whichmightbeimportanttoyoubeforeyoudiveintotheGNURadio.

1HavingaclearerpictureofGNURadio...

Ifyouhaven’t,pleasereadthison-linearticlefirst.EricBlossom,”ExploringGNURadio”.Averybriefandexcellentintroductiontosoftwareradio.EricisthefounderofthewholeGNURadioproject.MakesureyouunderstandhowADCworksandwhyweneedanRFfrontend.RecallthesamplingtheorylearntfromyourSignalandSystemsclass.Thentakeacloselookatthetwoparts”TheUniversalSoftwareRadioPeripheral”and”WhatGoesintheFPGA”.Thisarticlealsoprovidestwoexamples,asimpledialtoneoutputandanFMreceiver.Atleastyoushouldunderstandthefirstone.Can’tunderstandtheFMreceiver?Nevermind,readthesecondarticle:EricBlossom,”ListentoFMRadioinSoftware,StepbyStep”.Youdon’tneedtounderstandthecodelinebyline,butyoushouldknowhowthesignalflowsfromtheairtothesoundcard.Thenit’sbetterforyoutoknowmoreaboutwhatUSRPdoes,thetwopages”USRPwiki”and”USRPUser’sGuide”wouldbeveryvaluable.Assumingyouhavegonethourghthearticlesabove,youmaygotothe”GNURadiowiki”pagestolookformoreinformation.

2ProgrammingonGNURadio...

Toreally”play”withGNURadio,youshouldbeabletowriteyourowncode.Fromthearticle”ExploringGNURadio”,youshouldhaveknownthatthesoftwarestructureofGNURadiocontainstwolevels.AllthesignalprocessingblocksarewritteninC++andPythonisusedtocreateanetworkorgraphandgluetheseblockstogether.Sointhisparticularscenario,Pythonisahigherlevellanguage.ManyusefulandfrequenctlyusedblockshavebeenprovidedbytheGNURadioproject,soinmanycasesyoudon’tneedtotouchC++,justusingPythontofinishyourtask.However,todomoresophisticatedwork,youhavetouseC++tocreateyourownblock.Insuchcases,anon-line

authorisaffiliatedwithNetworkingCommunicationsandInformationProcessing(NCIP)Laboratory,

DepartmentofElectricalEngineering,UniversityofNotreDame.Welcometosendmeyourcommentsorinquiries.Email:dshen@nd.edu

∗The

1

2Tutorial2-StartwithGNURadio

articleEricBlossom,”howtowriteablock”iswhatyouneed.Youmaywanttoknow,whatblockshavebeenprovidedtous?Unfortunately,unlikesomeotherdevelopingtools,suchasTinyOS,GNURadioisbadlydocumentedatthispoint.ButyoustillhavetwoveryusefuldocumentsgeneratedusingDoxygen.Afterinstallingthe”gnuradio-core”and”usrp”modules,youcanfindtwohtmlpackageslocatedat

•/usr/local/share/doc/gnuradio-core-x.xcvs/html/index.html•/usr/local/share/doc/usrp-x.xcvs/html/index.html

Ibookmarktheminmybrower.Althoughtheyarenotclearenough,theycantellyouquitemuchinformation.Thefirstoneisalsoavailableon-linehere.

Ifyouhaven’thadachancetousePython,pleasegothoughthePythonon-linetutorials.Themostimportantsectionsare:

•Section2:UsingthePythonInterpreter•Section3AnInformalIntroductiontoPython•Section6:Modules

•Section7:InputandOutput•Section9:Classes

TheywillbefrequentlyusedinGNURadioprogramming.IfObject-OrientedProgramming(OOP)soundsunfamiliartoyou,youshouldreadsection9morecarefully.ThefollowinglinksalsomayhelpyoutograsptheessenceofOOP.

•Lesson:Object-OrientedProgrammingConcepts

•IntroductiontoObject-OrientedProgrammingUsingC++•TheObjectOrientedProgrammingWeb

Anyway,Pythonseemstobecrucialatthisstage,somakesureyoumasteritwell.

3DigitalSignalProcessing(DSP)

Mostofushavetakenthe”SignalsandSystems”class,Iguess.Whatwelearntinthiscourseisextremelyimportanthere.However,that’snotenough.Makesureyouwon’tgetlostifIchangethesignaltoanalogortodigitalworld;tothetimedomainortothefrequencydomain.Thebottomlineis,youneedtoknowwhatissamplingtheorem,whatisz-transform,howtogetthespectrumofasignal,andtheconceptsofFIRandIIRfilters.Irecommendseveralbookshere,whicharefamousandclassical.

•”SignalsandSystems(2ndedition)”-AlanV.Oppenheim,AlanS.Willsky

•”Discrete-TimeSingalProcessing(2ndedition)”-AlanV.Oppenheim,RonaldW.Schafer,JohnR.Buck•”DigitalSignalProcessing:Principles,AlgorithmsandApplications(3rdedition)”-JohnG.Proakis,DimitrisManolakisReadthechaptersaboutdiscrete-timeFouriertranformandFIR,IIRfilters.Iknowthebooksareexpensiveandtedious,therearesomeotherusefulon-lineresources:•DigitalSignalProcessingTutorial

•TheScientistandEngineer’sGuidetoDigitalSignalProcessing

D.Shen3

4Communications

Weknowtherealsignalswesendandreceivecan’tbeinbaseband.Theyneedtomodulatedanddemodulated.IbelieveyouhavestudiedtheconceptsofAMandFMradiosinsomecourses.Bothofthembelongtoanalogworld.Todevelopmoreusefulandinterestingschemes,weneeddigitalcommunications.Ofparticularimportanceandinterestatthispoint,isdigitalmodulationanddemodulation,synchronization.Thecourseinyoursenioryear,”CommunicationSystems”maybeofinteresttoyou.Furthermore,Irecommendyouread:

•Chapters4and5,”DigitalCommunications(4thedition)”-JohnG.ProakisTheknowledgeintroducedinthesetwochaptersisexactlywhatwearegoingtotryoutrecently.

5Readytostart?

Ilistfourtopicsabove.Itdoesn’tmeanyoushouldcompletethemonebyonebeforeyoucandosomethingwithGNURadio.Youcertainlycanlearnthemthroughthisstudyprocess.ButatleastyoushouldreadthearticlesImentionedaboveinsection1andsection2.Thenyoucantrythis”homework”:

Inthemodule”gnuradio-examples”,youcanfindmanysamplecodesinthefoldergnuradio-example/python/usrp/.Canyoureadthefollowingtwoprogramsandunderstandthecodelinebyline?•gnuradio-examples/python/usrp/amrcv.py•gnuradio-examples/python/usrp/wfmrcvgui.pyIfso,Iwouldsayyouhavemovedahugestep.

References

Allthebookchapters,on-lineresourcesmentionedinthisarticle.

因篇幅问题不能全部显示,请点此查看更多更全内容