Jay Kickliter wrote:

> I'm actively developing that code at the moment, and haven't implemented
> that yet. I still haven't decided how to do it. I could make it the user's
> responsibility to ensure that the input is of a length that wouldn't have
> any leftovers, but I'd like to handle it. I'm writing this code for my
> needs, where I sometimes need to processes hundreds of GB of IQ data. I'd
> prefer to just read a bit of file/stream, process it, and repeat without
> thinking about input length.
> 
> If you see anything else that doesn't make sense, please let me know. I've
> spent months reading books and blog posts on multirate filtering, and it
> only recently made sense to me. I never intended to handle interpolation,
> decimation, and rational resampling in separate functions. I'd like to
> combine them to make the code more manageable. I think resample() can
> handle all of them, but I may need to change a few things. Next on the todo
> list is arbitrary sample rate conversion (if I can ever read that chapter
> of Fred Harris book without giving up).
> 
> If you do a lot of DSP work and need speed, I also have IPPDSP.jl
> <https://github.com/JayKickliter/IPPDSP.jl>.
> 
> On Monday, August 4, 2014 3:40:07 PM UTC-6, Neal Becker wrote:
>>
>> Very interesting code.  One question:
>>
>> It appears the variables "xleftover" (and similar) are never used?
>>
>>

My c++ code has separate classes for fir, decimation, and interpolation and I 
like the design.  Only pay for what you need.  I never use matlab, but AFAIK 
the 
filter design used there a major waste of cpu cycles, not taking advantage of 
efficient interpolation, decimation, or rational rate conversion.

In the case of decimation, I do maintain state (leftover) between invocations 
of 
the filter.  Sometimes I have needed this.

I wrote python wrappers for IPP but abandoned it.  I found IPP was causing 
memory corruption on my platform.

Reply via email to