On Tue, Sep 23, 2014 at 12:22 PM, Martin Braun <martin.br...@ettus.com>
wrote:

> On 23.09.2014 09:08, ruben.m...@swisscom.com wrote:
>
>> I was expecting that answer (not the jumping up and down part, but the
>> let's fix the right problem).
>>
>> I can try to fix it, I just need to find some time. Would you have a good
>> example of another block to look into?
>>
>
> First of all, you'll need to change check_topology to this:
>
>     bool
>     deinterleave_impl::check_topology(int ninputs, int noutputs)
>     {
>       set_relative_rate(1.0/double(noutputs));
>       d_noutputs = noutputs;
>       return true;
>     }
>
> Notice the rate change fix.
> Then, work needs to consume as much as possible (right now, it's as little
> as possible). stream_mux might be a good example for how to do that. The
> difficulty is, you need to keep track of where you are, what you have
> consumed etc.
> Which is probably why this wasn't implemented properly the first time
> 'round :)
>
>
> M
>

Martin, Ruben,

Thanks for pointing this out. Check out this patch here:

https://gist.github.com/trondeau/7d5d06ea2f0586f0e9e4

Passes all our QA, doing the right thing in my test setup, and working
about 20x faster than before.

Tom




>  Ruben
>>
>>  -----Original Message-----
>>> From: discuss-gnuradio-bounces+ruben.merz=swisscom....@gnu.org
>>> [mailto:discuss-gnuradio-bounces+ruben.merz=swisscom....@gnu.org] On
>>> Behalf Of Martin Braun
>>> Sent: Tuesday, September 23, 2014 5:40 PM
>>> Cc: discuss-gnuradio@gnu.org
>>> Subject: Re: [Discuss-gnuradio] Issue with deinterleave block from a file
>>> source to USRP sink with x300
>>>
>>> I usually jump up and down with excitement when people send
>>> documentation patches, but this is not one that should go in GNU Radio.
>>> First of all, deinterleave and stream_to_streams are not identical
>>> unless you
>>> have unit block size. Second, we should fix the deinterleaver rather than
>>> pointing out it is broken in the docs.
>>>
>>> Would you want to fix the deinterleaver? Basically, it needs to follow
>>> the
>>> 'process as much as you can' paradigm.
>>>
>>> M
>>>
>>> On 23.09.2014 00:02, ruben.m...@swisscom.com wrote:
>>>
>>>> Indeed.
>>>> Would the following patch to the documentation be useful (since streams
>>>> to
>>>>
>>> stream seems to replace it properly)?
>>>
>>>>
>>>> diff --git a/gr-blocks/include/gnuradio/blocks/deinterleave.h
>>>> b/gr-blocks/include/gnuradio/blocks/deinterleave.h
>>>> index a3b5480..1b9d5c1 100644
>>>> --- a/gr-blocks/include/gnuradio/blocks/deinterleave.h
>>>> +++ b/gr-blocks/include/gnuradio/blocks/deinterleave.h
>>>> @@ -40,6 +40,10 @@ namespace gr {
>>>>         * a single input to each output unless blocksize is given in the
>>>>         * constructor.
>>>>         *
>>>> +     * This block can only process one block at a time. Therefore its
>>>> +     * efficiency may be limited. It is advised to use the streams to
>>>> +     * stream block instead.
>>>> +     *
>>>>         * \code
>>>>         *   blocksize = 1
>>>>         *   connections = 2
>>>>
>>>> Ruben
>>>>
>>>> From: discuss-gnuradio-bounces+ruben.merz=swisscom....@gnu.org
>>>> [mailto:discuss-gnuradio-bounces+ruben.merz=swisscom....@gnu.org] On
>>>> Behalf Of Martin Braun
>>>> Sent: Tuesday, September 23, 2014 1:11 AM
>>>> Cc: discuss-gnuradio@gnu.org
>>>> Subject: Re: [Discuss-gnuradio] Issue with deinterleave block from a
>>>> file source to USRP sink with x300
>>>>
>>>> It seems deinterleave is both buggy and inefficiently designed. The bug
>>>> is
>>>>
>>> the relative rate is wrong, the inefficiency is that it only works on
>>> one block at
>>> a time. I suggest using something else.
>>>
>>>>
>>>> M
>>>>
>>>> On Fri, Sep 19, 2014 at 2:58 PM, <ruben.m...@swisscom.com> wrote:
>>>> Hello,
>>>>
>>>> I have the following setup: a file source, a deinterleave block and a
>>>> USRP
>>>>
>>> sink (see the attached .grc and related .png). This setup is a test to
>>> distribute
>>> two different signals on two channels of the USRP x300 (the file source
>>> loads a
>>> binary file with alternated channels containing 64 bit long IQ samples -
>>> 32 real
>>> followed by 32 imaginary - channel 1/channel 2/channel 1/channel
>>> 2/etc...).
>>>
>>>>
>>>> The hardware is a USRP x300 with two wideband SBX (SBX-120) boards.
>>>>
>>>> Now, the above setup used to function without a hitch. But recently, it
>>>>
>>> completely freezes gnuradio. Basically, I start the flowgraph and
>>> quickly get a
>>> large number of 'L' and no signal is transmitted. The only thing I can
>>> do is then
>>> to kill gnuradio-companion and related python processes.
>>>
>>>>
>>>> The interesting thing is that if I replace the deinterleave block by a
>>>> "stream
>>>>
>>> to streams" block, everything works fine. I am bit puzzled as to what I
>>> am
>>> missing.
>>>
>>>>
>>>> The operating system is Ubuntu 14.04 LTS (updated state), UHD is the
>>>> head
>>>>
>>> of the maint branch, and gnuradio as well (UHD_003.007.002-2-gdb35bf46
>>> and Gnuradio: 9dcb5067c55a0630c9edca6b62a32b1f8e633930). Firmware
>>> is also the most recent. I have attached the .grc, and the binary file I
>>> am using
>>> can be obtained here: http://www.net.t-labs.tu-
>>> berlin.de/~ruben/files/sine_test_10kHz_20kHz_cpx_float_2chan_interleaved
>>> _1MSs.bin.
>>>
>>>>
>>>> Assuming there is not something wrong in my .grc setup, how do I debug
>>>> this
>>>>
>>> issue?
>>>
>>>> Thanks for any suggestion or help,
>>>> Ruben
>>>>
>>>> _______________________________________________
>>>> 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 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

Reply via email to