Traditionally this was a job for CORDIC.  I don't know what the tradeoffs
look like on a modern processor, though.  If a significant part of your
algorithm operates in phase/magnitude, might you consider a rect->polar
conversion?

John Malsbury [jmalsbury.perso...@gmail.com] wrote:
> I have a  complex phase rotation function that uses a pre-generated sin/cos
> LUT and some basic multiple/adds.
> 
> As it turns out, the rotation calc, which uses "straight" C/C++ math is
> still the bottleneck in a demod.
> 
> I was wondering, is there some uber-efficient rotation block/class I should
> be using?   I notice there is a volk kernel for the job and gr_rotator.
> But I also should mention that the phase rotation operation must happen one
> sample at a time.  This is due to the sequential nature of the algorithm -
> ie.  I can't align and call a kernel with hundreds of nicely-aligned
> samples.
> 
> Any advice?
> 
> -John

> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to