Hello,

I'd like to calculate the complex dot product with GNU Radio.

Is there a way to do it faster that this? This correlation takes 
"ages"...

--- snipp ---

// calculates the inner product <a, b> between complex vectors (dot
// product), optionally shifts vector b first.
gr_complex ofdm_rx_cc::dot_prod(gr_complex* a, gr_complex* b, unsigned
int len, int shift)
{
        gr_complex cor;

        assert((unsigned int)abs(shift)<len);

        if (shift<0) { return conj(dot_prod(b, a, -shift)); }

        b=b+shift;
        for(unsigned int i=0; i<(len-shift); i++) {
                cor+=a[i]*conj(b[i]);
        }

        return cor;
}

--- snipp --

Jens


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

Reply via email to