discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] gr_unpack_k_bits_bb, its inverse, and higher orde


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] gr_unpack_k_bits_bb, its inverse, and higher order constellations
Date: Fri, 5 Mar 2010 18:34:49 -0800
User-agent: Mutt/1.5.20 (2009-08-17)

On Fri, Mar 05, 2010 at 04:26:34PM +0100, Mattias Kjellsson wrote:
> Mattias Kjellsson wrote:
> > Tom Rondeau wrote:
> >   
> Sorry, I just saw that I wrote the last message off- list.
> 
> Anyway, I have searched some more in the causes of this error. I took
> the easy way out and looked in gr_buffer.h at line 127. and Changed this:
> Approximately around lines 115->130 in gr_buffer.h
> unsigned index_add (unsigned a, unsigned b){
> unsigned s = a + b;
>     /*if (s >= d_bufsize)
>            s -= d_bufsize;*/
>     while(s>=d_bufsize){
>         s-=d_bufsize;
>     }
>     assert (s < d_bufsize);
>     return s;
> }
> 
> I assume this is not the way to do this, but it gets rid of the error-
> message... But since I have changed in the library to make this specific
> block not produce an error... It just seems like doing things backwards.
> But then again, this code- change assures that s<d_bufsize, but is it
> always correct to do this? I guess not, but I'm not sure.

index_add is correct as originally written.

I suspect that pfb_clock_sync_ccf has a problem in it.

It looks like it only works if the number of output streams is 1 or 4,
but not 2 or 3.  It needs to override check_topology to enforce this.

The two occurences of:

    if(output_items.size() > 2) {
      ...
    }

should probably be changed to: if (output_items.size() == 4)

It also looks like it's leaking d_diff_filters (should delete in the
destructor).

Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]