New QTGUI Eye Sink proposal
Hi I developed a QTGUI eye sink block for GRC and hope it will be interesting for the community. I will soon submit it as a pull request. The code was tested on the latest master branch (gnuradio 3.9) but it may be easily merge in 3.8 (I did 't tested it on 3.8). I really want to congratulate developers for their good quality code of GNURadio. Without that I wouldn't have been able to develop this eye_sink. The eye sink has been written starting from a raw copy of the time sink code: all time sink functionalities have been kept except some unusefull ones such as stemplot and xAxis scaling each eye_sink block handles several input streams, each single stream eye pattern is plotted on a separate QwtPlot eye length is fixed at 2 symbol time. each stream is used to displays all available subset of length 2 symbol time found in the input stream this requires that the symbol rate be an integer multiple of the sample rate. triggering is identical as time_sink Il must be noticed that a real eye diagram would be triggered with a (recovered) symbol clock. For these reasons, triggering of noisy and/or unsynchronized (receiver) signals is tricky and may lead to incorrect eye pattern Regards, Christophe
Re: New QTGUI Eye Sink proposal
Hi Christophe, That's awesome! I'm looking forward to reviewing that PR! On Fri, 2020-01-17 at 11:13 +0100, Christophe Seguinot wrote: > I really want to congratulate developers for their good quality code of > GNURadio. Without that I wouldn't have been able to develop this eye_sink. I think you're making more than one developer blush here :) > Il must be noticed that a real eye diagram would be triggered with a > (recovered) symbol clock. For these reasons, triggering of noisy and/or > unsynchronized (receiver) signals is tricky and may lead to incorrect eye > pattern Ah, that's not a bad limitation: that's what trigger-on-tag is for; you can write a synchronizer for your specific waveform (and synchronizers are different for different systems...) and just tag the correct point in time. Best regards, Marcus smime.p7s Description: S/MIME cryptographic signature
trellis.fsm method invoked with polynomials
Hello, I have noticed that such a method ia available: //# Automatically generate the FSM from the generator matrix //# of a (n,k) binary convolutional code //## fsm::fsm(int k, int n, const std::vector& G) I am doing some experimentation with BPSK31 code generation which uses Rate=1/2, Constraint length=5 convolutional code, polys are 0x17 and 0x19 now, k = 5 and n = 2, but how do I describe the polys in terms of array? I though, being poly1=0b10111 and poly2=0b11001, I had to specify them as a single array [1,0,1,1,1,1,1,0,0,1], but the comment talks about the generator matrix. Unluckily any attempt to specify a matrix returns error, and the C code seems to confirm an array is expected. any help? thank in advance matteo
GRC do not account for line color defined in time_sink and other sink
Hi When using GNURadio Companion 3.9, one can define color in different sinks such as the time sink. these color are not taken into account the .py generated code variable colors only account for default colors (colors = ['blue', 'red', 'green', 'black', ...'dark blue']) so that self.qtgui_time_sink_x_0_0_0.set_line_color(i, colors[i]) does not apply correct colors Does anyone knows how to correct this which seems to be a minor bug and fix? Regards, Christophe
Re: Library for matrix operations? (eigenvalues, pseudoinverse)
Thank you all so much for the detailed responses, really appreciate it. To give some background, my application is to build a CCA (canonical correlation analysis) filter as an OOT C++ block. And the inputs are two digital signals (represented as matrices) - one of them I receive and decode real time with my SDR (using usrp n210 with ubuntu). I am going to try Eigen and Armadillo to start with. Cheers Laura. On Thu, Jan 16, 2020 at 2:33 PM Müller, Marcus (CEL) wrote: > True, Eigen is pretty popular for people needing to do Matrix > operations – I wasn't aware they even have Matrix decompositions[1]! > (in hindsight... considering the library name...) > I like Eigen, but there's two caveats, I find: > > 1. indexing is done with () instead of [] (I guess it's made for people > who come from Matlab) > 2. It's very much mathematician's software – I found (but that's about > a decade in the past, at the very least, so older compilers, older > processors, older Eigen) that things like Matrix·Matrix products were > relatively slow > > I do recommend it to students that simply need some Matrix > functionality, as performance usually is of secondary concern and can > be optimized as soon as the software works. > > Best regards, > Marcus > > [1] > http://eigen.tuxfamily.org/dox/group__TopicLinearAlgebraDecompositions.html > On Fri, 2020-01-17 at 11:16 +1300, Jeremy Reeve wrote: > > Hi Laura, > > > > Just to add to the suggestions, I've seen Eigen [1] used in the past. > > It's a template library (headers only) and has no external > > dependencies other than the standard library and that might be > > something to consider given your use-case. > > > > [1] http://eigen.tuxfamily.org/index.php?title=Main_Page > > > > Jeremy > > > > On Fri, 17 Jan 2020 at 10:02, Laura Arjona wrote: > > > Hi all, > > > > > > Is there any library to use in gnuradio for algebra operations, such > as matrix eigenvalues, and pseudoinverse? Or I'd need to code them myself > in C++? > > > > > > I need to integrate those operations into my OOT C++ blocks. > > > > > > Thanks for your time > > > > > > Best > > > > > > -- > > > Laura Arjona > > > Washington Research Foundation Innovation Postdoctoral Fellow in > Neuroengineering > > > > > > Paul G. Allen School of Computer Science & Engineering > > > 185 E Stevens Way NE > > > University of Washington > > > Seattle, WA 98195-2350 > -- *Laura Arjona * Washington Research Foundation Innovation Postdoctoral Fellow in Neuroengineering *Paul G. Allen School of Computer Science & Engineering* 185 E Stevens Way NE University of Washington Seattle, WA 98195-2350