⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 gnuradio软件无线电源程序.现在的手机多基于软件无线电
💻
字号:
Files beginning with Gr* define classes that inherit from VrSigProc.These are high level signal processing modules that can be gluedtogether in your signal processing chain.All the others are either lower level routines which implement thefunctionality of the Gr* modules, but are easier to test (fewerdependencies), or they are general purpose.gr_fir_???.{h,cc}, where ??? are in F, S or C are low level FiniteImpulse Response Filters.  These turn out to be where the bulk of thecycles are burned in many applications.  The ??? suffix  specifies theinput type, output type and tap type of the arguments.  We'veimplemented the most frequently used ones.[Once upon a time this stuff was done with templates(gr_fir<iType,oType,tapType>), but this turned out to be a headache.The code appeared to trigger a bug in GCC where we were gettingmultiple definitions of unrelated stuff when we starting subclassingpartially specialized templates.  It was also not obvious as to towhat combinations of iType, oType and tapType actually worked.  We'renow explicit, and the world is a safer place to live...]The top level routines for FIR filtering are:    GrFIRfilterFFF : Float input, Float output, Float taps	-- general purpose    GrFIRfilterCCF : Complex input, Complex output, Float taps	-- applying real filter to a complex signal    GrFIRfilterFCC : Float input, Complex output, Complex taps	-- applying complex filter to float input    GrFIRfilterSCC : Short input, Complex output, Complex taps	-- applying complex filter to short input.  Quantizes complex           coefficients to 16 bits and uses MMX or SSE2 as appropriateThe combination of down conversion (frequency translation) and channelselection (filtering) is performed with:    GrFreqXlatingFIRfilterSFC : Short input, Float taps, Complex baseband output        -- quantizes complex coefficents to 16 bits and uses MMX or	   SSE2 (128-bit MMX) as appropriate [optimization to be done].    GrFreqXlatingFIRfilterFFC : Float input, Float taps, Complex baseband output       -- 3dnow or SSE as appropriate [optimization to be done].[ The stuff described from here down is used to implement the routines  above.  This info is only relevant to those who are hacking the internals ]A bit of indirection is involved in selecting the fastestimplementation for any given platform.  The lower level classesgr_fir_FFF.h, gr_fir_CCF, gr_fir_FCC and gr_fir_SCC have i/osignatures similar to the high level clases above.   Theseshould be considered the abstract base classes that youwork with.  Note that they are not actually abstract (they've got adefault implementation; this might be considered a bug), but theyshould not be directly instantiated by user code.Instead of directly instantiating a gr_fir_FFF, for example, your codeshould actually:       #include <gr_fir_util.h>       // let the system pick the best implementation for you       gr_fir_FFF *filter = gr_fir_util::create_gr_fir_FFF (my_taps);Clear?  The same for all the other gr_fir_XXX's.Performance hacking can be done by subclassing the appropriatebase class.  For example, on the x86 platform, there are twoadditional classes derived from gr_fir_FFF, gr_fir_FFF_sse andgr_fir_FFF_3dnow.  These classes are then made available to the restof the system by virtue of being added to gr_fir_sysconfig_x86.cc,along with any guards (CPUID checks) needed to ensure that onlycompatible code is executed on the current hardware.TO DO------* Move all the machine specific code to a subdirectory, then haveconfigure symlink to the right directory.  This will allow us to build onany platform without choking.  There is generic code for all routines,only the machine dependent speedup will be lacking. * Add an interface to gr_fir_util that will return a vector of allvalid constructors with descriptive names for each i/o signature.This will allow the test code and benchmarking code to be blissfullyignorant of what platform they're running on.  The actual building ofthe vectors should be done bottom up through the gr_fir_sysconfighierarchy. 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -