[Top][All Lists]

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

Re: [Discuss-gnuradio] Block with N inputs and M outputs (M>=N)

From: Matt Ettus
Subject: Re: [Discuss-gnuradio] Block with N inputs and M outputs (M>=N)
Date: Mon, 10 Apr 2006 14:48:56 -0700
User-agent: Thunderbird 1.5 (X11/20051201)

I would take a look at gr_rational_resampler.  The forecasting and all
of the control stuff should be useful for you.


Achilleas Anastasopoulos wrote:
> Michael,
> Thanks for the info.
> Indeed I am looking into small numbers of M,N (order of 10)
> so this should work.
> Can I ask for a clarification here:
>> If the interpolator block doesn't do it for you (I think it does, so try
>> to inherit from that code), 
> Since my overall interpolator block is an M/N-interpolator, even if I
> inherit from interpolator, it does not force output_multiple to M,
> but rather multiples of (M/N), which is not what I want.
> I guess I have to inherit from block and do that manually using
> set_output_multiple(M), as you suggested.
> am I right?
>> use "set_output_multiple(M)", then make sure
>> your "forecast()" function sets the input stream's required items
>> correctly (to a multiple of N).  "forecast()" will always be called with
>> "noutput" being a multiple of "M", which makes finding the required
>> items simple (#in = #out * M / N).  You should do an "assert(M % N ==
>> 0)" before before the divide just to be sure it's OK.
>> Hope this helps! - MLD
>> On Mon, 10 Apr 2006 09:36:51 -0400, "Achilleas Anastasopoulos"
>> <address@hidden> said:
>>> I am trying to write a block that takes N inputs at a time
>>> and produces M outputs at a time.
>>> Since M>=N this is an interpolator.
>>> However, M/N is not neccesarily an integer.
>>> Is there an elegant way to force the work() function to
>>> process a multiple number of N input samples every time it is called?

reply via email to

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