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