Okay.  Time to fork on github, methinks, and start contributing
documentation patches.

On Mon, 10 Aug 2015 at 14:02 Marcus Müller <marcus.muel...@ettus.com> wrote:

> With GNU Radio, never feel stupid ;)
> Documentation did turn out quite great in most places, but as soon as you
> want to figure out what happens inside, you're pretty much on your own,
> often. grep/ack/git grep is a constant friend, but it's not always easy to
> figure out how stuff works internally. There's a delicate balance between
> writing code and documenting that outside of the code itself, especially
> since GNU Radio has quite a lot of contributors.
>
> Cheers,
> Marcus
>
>
> On 10.08.2015 14:44, Tom Cook wrote:
>
> I see.  I don't feel quite so stupid for having not found it myself, now!
>
> On Mon, 10 Aug 2015 at 13:37 Marcus Müller <marcus.muel...@ettus.com>
> wrote:
>
>> Hi Tom,
>>
>> added the block, opened the block properties, had a look at the id; I
>> knew that these kind of blocks live within gr-filter, so
>>
>> cd gr-filter
>> vim grc/*rational*.grc ##that's where the block definitions for GRC reside
>>
>> found out that the non-base variant used rational_resampler_$(type), but
>> I had a look into filter, and only found rational_resampler_base_*; so I
>> guessed it was a python file.
>> Went into python/filter, and opened rational_resampler.py, based on it
>> being the only python file that was possibly relevant here.
>>
>> You know, that's really unintuitive, and I think we'll need some helpers
>> or better documentation that makes finding such things easier.
>>
>> Best regards,
>> Marcus
>>
>>
>> On 10.08.2015 14:31, Tom Cook wrote:
>>
>> On Mon, 10 Aug 2015 at 13:14 Marcus Müller <marcus.muel...@ettus.com>
>> wrote:
>>
>>> Hi Tom,
>>>
>>> I just had to look this up. If you're in GRC, you have "rationale
>>> resampler" and "rational resampler base"; they do basically the same, but
>>> if you use the one without "base", and don't specify the taps, GNU Radio
>>> just automatically designs a filter that avoids all aliasing and imaging,
>>> which is done with a python wrapper around the C++
>>> rational_resampler_base_xxx's make function[1]. That's pretty handy in most
>>> use cases, but not too much if you want your own filter for some reason.
>>>
>>> If you're using the "base" variant, you *must* specify the taps
>>> yourself, because you directly invoke the C++ block's maker. If you go
>>> ahead and just use "[1.0]" as taps, you get the aliased results from my
>>> pictures.
>>>
>>> So if you happen to *want *to specify the taps, because you can
>>> integrate the functionality of a downstream filter into the resampler to
>>> save CPU cycles, it doesn't make a difference which block you use.
>>>
>>
>> Ah, I see.  Many thanks for taking the time to explain this.  Where did
>> you look to find out that 'rational resampler' block does an automatic
>> filter design for you?
>>
>> Regards,
>> Tom
>>
>>
>>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to