[Discuss-gnuradio] Layer Mapper in GnuRadio
Hello I'm supposed to create a block in GnuRadio that has 1 input and 2 or 4 outputs , it's actually a Layer mapper in MIMO processing of LTE. I have written the constructor : Layer_Mapper_Transmit_Diversity_cc_impl::Layer_Mapper_Transmit_Diversity_cc_impl(int numLay,int constNum) : gr_block("Layer_Mapper_Transmit_Diversity_cc", gr_make_io_signature(1, 1, sizeof (float)*16/(constNum)), gr_make_io_signature(2, 4, sizeof (float)*16/(constNum*numLay))) { NumLay=numLay; //Number of Layers M=constNum; //Constellation Cardinality } and the Forecast Function: void Layer_Mapper_Transmit_Diversity_cc_impl::forecast (int noutput_items, gr_vector_int &ninput_items_required) { ninput_items_required[0] = NumLay * noutput_items; } In The General Work Function I wanted to create 4 outputs this way: int Layer_Mapper_Transmit_Diversity_cc_impl::general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) { const float **in = (const float **) input_items[0]; float **out0 = (float **) output_items[0]; float **out1 = (float **) output_items[1]; float **out2 = (float **) output_items[2]; float **out3 = (float **) output_items[3]; Because the inputs and outputs are arrays so I declared them as matrices , does GnuRadio accept this ? ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] GSOC ideas [802.11]
On Thu, Apr 25, 2013 at 11:15 AM, Martin Braun (CEL) wrote: > On Thu, Apr 25, 2013 at 04:38:19PM +0200, 2_...@libero.it wrote: >> Hi guys, >> I've a question(maybe this is spam): I'm thinking about my proposal,where I > > As long as you don't want an investment of 100 from us, it's > probably not spam :) > >> want move some part on cuda( in this way,you can also see/verify the >> difference >> in term of performance). Is cuda okay for you, or do you prefer openCL? > > I'm not sure you will be able to do either for this project. Have you > checked the mailing list archives? Getting GPU-based processing into a > GNU Radio flowgraph is quite hard, given the structure of the > scheduler. Also, which elements are you hoping to accelerate? > > To answer your question, the more portable, the better, so my gut says > OpenCL > CUDA. > > MB There is the gr-gpu project (it's a CGRAN project) that is based on using CUDA for the development of the signal processing blocks. Mostly, this was done because OpenCL was too new at the time and was not really usable for this purpose. On the other hand, CUDA is incompatible with GNU Radio's license, so while it's fine to have gr-gpu use CUDA and GNU Radio, it's not a solution we can integrate. If OpenCL can now solve the problem, I would suggest/support using that. And, an aside on co-processor projects like gr-gpu. My opinion on this is that we wouldn't carry gr_block's that are written for co-processors in GNU Radio, anyways. So the license doesn't matter so much for that. What we will hopefully be able to do is support the interface between GNU Radio and the co-processor, but that for a given co-processor, someone would have an external project that defines blocks for use with that (like a CUDA-gpu, OpenCL-gpu, etc., etc.). This is a developing concept, so we'll be figuring it out as more of these projects exist. Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Barker Code GNadio
On Wed, Apr 24, 2013 at 11:47 PM, Jumail Soba wrote: > Dear friends, > > We want to generate 13 bit barker code on gnuradio companion software. Can > you help me how to generate this radar signal, together with the block > diagram and the setting parameter for the block diagram. > > For any help and information we are very thank you. > > Regards. Jumail, You'll probably want to write your own block for this. Look at the glfsr_source or the lfsr_32k_source_s blocks as a starting point. Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Polyphase clock sync ccf symbols needed ?
On Mon, Apr 15, 2013 at 12:25 AM, Sam mite wrote: > > > >> > Hi list, >> > >> > I want to calculate the number of symbols taken by my Polyphase clock >> > sync >> > ccf block after which it locks. Although I am getting 0 BER (except at >> > start) but I want to know after how many symbols loop get lock. And then >> > by >> > varying different parameters I want to observe the lock time/symbols >> > needed. >> > From which plot I can get this information and how? . Current parameters >> > set >> > are: >> > >> > Sample/symbpol= 4 >> > Loop BW= pi/100 >> > damp factor= 0.707 >> > filter size = 32 >> > output sps = 1 >> > max rate dev = 1.5 >> > initial_phase=16 >> > >> > Phase plot is showing some sinusoidal output. Attached are the two phase >> > plots. phase2.jpg is zoomed in version of phase1.jpg. >> > >> > Thanks ahead of time. >> > >> > >> > -- >> > Best Regards, >> > >> > Sam >> >> Sam, >> >> Yes, the phase output port of the sync block is the one you want to >> look at. The phase rounded to the nearest integer (unless it's the >> floor) is the number of the filterbank being used at that time, which >> represents the phase offset of the signal. >> >> Are you tracking a real signal being received or a simulated signal? >> You're going to see some movement, plus or minus, around the closest >> phase, though. If its a real signal being received, there's going to >> be some small jitter in the timing between the two radios that the >> algorithm is trying to track. Also noise will affect if somewhat as it >> tries to keep a lock. The fact that it looks like it's actually >> oscillating is interesting. Have you tried to reduce the loop >> bandwidth to see how that affects things? >> >> Tom >> > > Thanks Tom, > > Currently, I am tracking a simulated signal (although I am getting zero BER > through USRPs as well). There is currently no additive noise. Reducing loop > bandwidth by a factor of 4 gives nice plots, as tracking become good by > reducing noise bandwidth. But, steady state value of 24 reaches after > approximately 9000samlples. That means my loop is taking 9000/4 symbols to > get lock? And after that it 'll produce desired output. Am i doing > something wrong? Something I am missing? > > Attached are the snapshots of new phase plots. > > -- > > Best Regards, > > Sam Sam, No, I don't think that you are doing something wrong here. But those figures you've posted look like the circuit is under-damped. It should be critically damped, so it'd be interesting to see what's going wrong inside of the algorithm. I've looked at it with this in mind, but I can't see that anything is being done differently than the normal control loops that we use, and the parameters should be set to be critically damped. This sounds like something we can develop and discuss on the signal processing wiki page. Would you be able to start something here? There's already a section for Synchronization. Maybe just create a new page off that for discussing this particular algorithm/block. (for signing up to post on the wiki: http://gnuradio.org/redmine/projects/gnuradio/wiki/FAQ#How-can-I-post-on-this-wiki-use-the-bug-tracker) Thanks! Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] S/N ratio vs BER reference?
On Fri, Apr 26, 2013 at 04:36:36PM -0400, Gregory Warnes wrote: > Hi All, > > I'm playing around with digital modulation techniques in GnuRadio and > would like to get a sense of how successful my efforts are in terms of > BER vs. S/N ratio. > > Can someone suggest a reference that provides BER vs S/N ratio curves > for some of the common encoding approaches? Hi Gregory, not sure if this is what you want, but have you checked gr-digital/examples/berawgn.py? Also, perhaps you want to read http://gnuradio.org/redmine/projects/gnuradio/wiki/Simulations Cheerio, MB -- Karlsruhe Institute of Technology (KIT) Communications Engineering Lab (CEL) Dipl.-Ing. Martin Braun Research Associate Kaiserstraße 12 Building 05.01 76131 Karlsruhe Phone: +49 721 608-43790 Fax: +49 721 608-46071 www.cel.kit.edu KIT -- University of the State of Baden-Württemberg and National Laboratory of the Helmholtz Association pgpvnxbh4eRH1.pgp Description: PGP signature ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] FM Stereo decoder, frequency doubler, IIR issues
On Wed, Apr 24, 2013 at 8:56 AM, Chuck Ritola wrote: > Hi list, > > I just got started with GNU Radio Companion for use with my FCDPP and it's > been great, already am decoding FM stereo and it sounds very good. However > it probably isn't the most optimal way to do it: There are FM receivers/demod blocks already that you can play and experiment with. In 3.6, they are located in gnuradio-core/src/python/gnuradio/blks2impl, look for wfm_rcv blocks. Obviously, though, nothing stopping you from building and experimenting on your own. > My filters are the inbuilt bandpass - they're a bit hard on the CPU and was > hoping to use the IIR filters as biquads instead but I can't seem to get > them to work. Filter was designed with this applet ( > http://www.earlevel.com/main/2010/12/20/biquad-calculator/ ) and I fed the A > values into Feed-Forward of the IIR and B values to the Feed-Backward and it > would not pass signal so I swapped A and B values and it apparently just > passed the signal unaffected. Any ideas what I'm doing wrong? I think this has already been addressed in another email thread, but try negating the A vector. And try using the gr_filter_design tool. > What is the internal resolution for the IIRs? I am asking because some of my > filter Q's are in the 10-60 range and am concerned about blowing them up. The taps are passed in as double-precision floating point. > Also, what would be the most efficient way (in GNU Radio) to get the > absolute value of a signal? The best I've come up with so far was a > Float->Complex feeding a Complex->Magnitude. Well, you could always write a block to do that yourself. There's also the blocks::transcendental block that you can use. Should be able to pass it "fabsf" and "float" as the arguments. > Thanks! > > Chuck Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] RFID at 2.4GHz simulation-Encoding, Modulation techniques (grc implementation)
On Sat, Apr 27, 2013 at 4:31 AM, stefosee wrote: > Hi everyone, > i'm an undergraduate student of ee and currently i'm working on my thesis > which is related to an RFID standard simulation in GNURadio. > > I don't have a USRP device yet, so i'm just working on the grc tool with > default signal sources. > > As i figured out, there are already some pre-installed blocks for bpsk or > gmsk simulation methods that i need in my thesis. > Although, i also need ASK simulation. > I implemented it with a square and cosine source multiplication and i think > it works properly. What should i take care of? > > Also, i have to implement manchester and fm0 encoding. I started the > implementation by creating an edge detecting circuit. Before carrying on, > i'd like to ask you if i'm on the right path (i mean creating boolean, > mathematical functions between sources and constant numbers) or i have to > change the way of thinking. > Finally, is it necessary to use code for any of this techniques i mentioned > above, or it is possible to manage it just with grc blocks? > > Thank you in advance. Those are all very vague questions. I think you're going to have to get a good start on things yourself, first, then come back with any specific questions you have. Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] How to diagnose make test failures
On Sun, Apr 21, 2013 at 6:26 PM, Barry Jackson wrote: > On 21/04/13 22:42, Stamper, Brian wrote: >> >> Some additional information.. >> >>> When I run make test I get the following failures: >>> >>> >>> 22/192 Test #22: qa_fft_filter ***Failed 1.05 sec >>> 85/192 Test #85: test_gr_filter ...***Failed 0.27 sec >>> 91/192 Test #91: qa_fft_filter ***Failed 1.11 sec >>> 92/192 Test #92: qa_hilbert ...***Failed 1.09 sec >>> 93/192 Test #93: qa_filter_delay_fc ...***Failed 1.10 sec >>> 94/192 Test #94: qa_pfb_arb_resampler .***Failed 1.13 sec >>> 95/192 Test #95: qa_rational_resampler ***Failed 1.23 sec >>> 97/192 Test #97: qa_fir_filter ***Failed 1.23 sec >>> 114/192 Test #114: qa_ctcss_squelch .***Failed 1.21 sec >> >> >>> My question is how should I go about diagnosing the problems? > > > > I am seeing similar errors with tests, but only when building on an i586 > system, these (except for #1) don't appear in x86_64. > The following tests FAILED: > 1 - qa_volk_test_all (Failed) #1 Can't find > libvolk.so.0.0.0 > 52 - qa_fft_filter (Failed)#52 Segmentation > fault > 84 - test_gr_filter (Failed) #84 Segmentation > fault > 86 - qa_fractional_interpolator (Failed) #16 Pass #86 > Segmentation fault > 87 - qa_pfb_decimator (Failed) #87 Segmentation > fault > 93 - qa_fft_filter (Failed)#93 Segmentation > fault > 96 - qa_adaptive_fir_filter (Failed) #96 Segmentation > fault > 97 - qa_channel_model (Failed) #97 Segmentation > fault > 98 - qa_freq_xlating_fir_filter (Failed) #98 Assertion Errors > 99 - qa_pfb_synthesizer (Failed) #99 Segmentation > fault > 100 - qa_pfb_channelizer (Failed) #100 Segmentation > fault > 102 - qa_fir_filter (Failed)#102 Segmentation > fault > 103 - qa_pfb_interpolator (Failed) #103 Segmentation > fault > 104 - qa_pfb_arb_resampler (Failed) #104 Segmentation > fault > 156 - qa_qtgui (Failed) #156 Passes when not > run from script > Errors while running CTest > > Output of all failing tests with ctest -V -R is attached. > > I too would like to know how to resolve these failures. That's very concerning about not finding libvolk.so. Make sure you have, in the build directory, volk/lib/libvolk.so.0.0.0. If that's not there, volk didn't build properly, which is necessary for the rest of the QA tests that are failing. Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Nothing known about namespace 'pmt'
Hi, I am trying to install the gr-ieee802-11 project from CGRAN on top of my gnuradio-3.6.4.1 installation and keep getting the following error during 'make': ... Scanning dependencies of target _ieee802_11_swig_swig_tag [ 38%] Building CXX object swig/CMakeFiles/_ieee802_11_swig_swig_tag.dir/_ieee802_11_swig_swig_tag.cpp.o Linking CXX executable _ieee802_11_swig_swig_tag [ 38%] Built target _ieee802_11_swig_swig_tag [ 42%] Generating doxygen xml for ieee802_11_swig_doc docs [ 47%] Generating ieee802_11_swig_doc.i [ 52%] Generating ieee802_11_swig.tag [ 57%] Swig source /usr/local/include/gnuradio/swig/gr_basic_block.i:27: Error: Nothing known about namespace 'pmt' make[2]: *** [swig/ieee802_11_swigPYTHON_wrap.cxx] Error 1 make[1]: *** [swig/CMakeFiles/_ieee802_11_swig.dir/all] Error 2 make: *** [all] Error 2 Also all the required libs seem to be found during cmake including GRUEL and "/usr/local/include/gruel/swig/pmt_swig.i", where namespace 'pmt' is defined, exists. Also the package was installed on an identical machine with Ubuntu 12.04 just fine! I noticed this issue was raised some time before in the thread below for gr-osmosdr installation, but no solution was given at the end: http://lists.gnu.org/archive/html/discuss-gnuradio/2013-02/msg00306.html Any thoughts? Thanks, Alex ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] GNU Radio portable 3.6.4.1 released
Hi, Here is a build of GNU Radio, for 32-bit and 64-bit Windows, that should not require Administrator privileges, apart from the installation of USB drivers, Python dependencies and Visual C++ 2010 runtime. It can be downloaded from https://drive.google.com/folderview?id=0B6epa28Yi91sRUYzdVJJNkRLTEU&usp=sharing This is not an official GNU Radio distribution, I'm only sharing it in the hope that it will be useful to others. The installation guide also includes the steps to recompile GNU Radio / UHD, as well as other optional components (rtl-sdr, gr-osmosdr, grextras, itpp). There is no guarantee that this build works correctly, so please be sure to report any error/misbehaviour that you encounter. Thanks, Morning Star ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] New OFDM blocks
If I'm reading ofdm_carrier_allocator_cvc_impl.cc right, it appears that the user must make sure that the occupied carrier indexes and pilot tones don't refer to the same positions with OFDM symbols, otherwise the occupied data carriers will get blown array. Is this correct? --sean ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Layer Mapper in GnuRadio
> In The General Work Function I wanted to create 4 outputs this way: > > int > Layer_Mapper_Transmit_Diversity_cc_impl::general_work (int > noutput_items, >gr_vector_int &ninput_items, >gr_vector_const_void_star &input_items, >gr_vector_void_star &output_items) > { > const float **in = (const float **) input_items[0]; > float **out0 = (float **) output_items[0]; > float **out1 = (float **) output_items[1]; > float **out2 = (float **) output_items[2]; > float **out3 = (float **) output_items[3]; > > Because the inputs and outputs are arrays so I declared them as matrices , > does GnuRadio accept this ? > > So input_items[0] or output_items[1] for example, is a pointer to a linear chunk of memory. Casting it to a float ** might imply that its an array of pointers which each point to a linear row/column of a matrix. But that isnt the case, so things will likely segfault. You could cast the pointer to a C matrix with the double brackets and the fixed widths like a [64][4] for example, I think C will map those double bracketed access nicely to a linear chunk of memory. I hope that helps! -josh > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Is there any PN cross correlator implementation for packet detection in Gnuradio?
Hi guys, I noticed that Gnuradio uses schmidl PN correlator for packet detection by defalt, where the 1st copy autocorrelate with 2nd copy in one preamble. I wonder if any PN cross correlator is implemented, which means the received signal is cross correlated with known preamble stored locally. Thank you so much. Best, Kay ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio