discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] DSP Block with internal variable output / monitor


From: CEL
Subject: Re: [Discuss-gnuradio] DSP Block with internal variable output / monitor
Date: Wed, 24 Jul 2019 15:38:38 +0000

Hi Alex!
Hm, interesting. Would you happen to have the full verbatim error?

As a complete aside:
I know we're not doing any of that consistently in the tree, but
especially when handling things like polynomials "packed" into
integers, and amounts of bits, I always recommend people explicitly use
"unsigned int", or directly go for an explicitly sized integer type,
e.g. "uint64_t gfpoly" for their polynomial representations, so that
there's no arithmetic surprises – signed integer overflow, for example,
is way less well-defined than unsigned.

Best regards,
Marcus

On Wed, 2019-07-24 at 10:30 -0500, Alex Roberts wrote:
> So I tried re-implementing the gr-dtv Reed Solomon decoder with an additional 
> output so I could monitor/output the number of errors corrected.
> I used gr-modtool, created new block with new name so it wouldn't conflict 
> with the existing and made sure to update the markup language for the grc 
> block. 
> 
> I get an error about Number of outputs 1 exceed max 0. I'm not sure why that 
> is.
> 
> Here is my impl declaration with io_signatures.
> 
> custom_reed_solomon_dec_impl::custom_reed_solomon_dec_impl(int p, int m, int 
> gfpoly, int n, int k, int t, int s, int blocks)
>       : block("custom_reed_solomon_dec",
>           io_signature::make(1, 1, sizeof(unsigned char) * blocks * (n - s)),
>           io_signature::make2(1, 2, sizeof(unsigned char) * blocks * (k - s), 
> sizeof(int) )), // Change to make2 to support outputting nerrors_corrected in 
> the general_work() function
>       d_n(n), d_k(k), d_s(s), d_blocks(blocks)
> {
> ...
> }
> 
> 
> On Tue, Jul 23, 2019 at 3:44 PM Alex Roberts <address@hidden> wrote:
> > Marcus,
> > 
> > I think what you said makes sense. I was initially thinking I would have a 
> > synchronous block with a message port output, but if I can keep it as 
> > simple as a sync block with two outputs just with different sizes, then 
> > that is where I will start.
> > 
> > Thanks,
> > Alex.
> > 
> > On Tue, Jul 23, 2019 at 9:16 AM Müller, Marcus (CEL) <address@hidden> wrote:
> > > Hi Alex,
> > > 
> > > to get this straight: on your monitoring output, you get one item of
> > > output per item of input? (an input item being a vector, and a
> > > monitoring output item being a number)
> > > 
> > > Then, everything is well: The thing is still a sync block, just one
> > > where not all output item sizes are identical, and not all are
> > > identical to the input item sizes.
> > > 
> > > Even if that's not the case, the right way here would be to write a
> > > general block with streams, not an asynchronous messaging block, since
> > > the monitoring data is "synchronous" to the other data.
> > > 
> > > Best regards,
> > > Marcus
> > > 
> > > On Tue, 2019-07-23 at 09:10 -0500, Alex Roberts wrote:
> > > > I'd like to monitor an internal variable on a DSP block. have not made 
> > > > a custom block before but have read through some tutorials. 
> > > > 
> > > > Since the DSP inputs and outputs are vectors, and the variable is a 
> > > > single item whose value is dependent on the processing of the vector, 
> > > > the number of outputs does not match the number of inputs. The value is 
> > > > updated after each input vector is processed. Does this mean I should 
> > > > use the message port to asynchronously output the variable, or can I 
> > > > simply add another port and output the value as say a float or integer 
> > > > that is synchronously updated with the block?
> > > > 
> > > > For example, in a Reed-Solomon implementation, how could I add an 
> > > > output to monitor the number of errors corrected?
> > > > _______________________________________________
> > > > Discuss-gnuradio mailing list
> > > > address@hidden
> > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

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