[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Good sugestions - gr_fast_atan2() and gr_fast_nco()
From: |
Jose Marcelo Lima Duarte |
Subject: |
[Discuss-gnuradio] Good sugestions - gr_fast_atan2() and gr_fast_nco() |
Date: |
Thu, 7 Jul 2005 14:11:28 -0300 |
User-agent: |
KMail/1.7.2 |
I'm trying to build a costas loop to demodulate a BPSK signal from a
non-geostationary satellite. I need to make it work at real
time; since our computer can't store all the data during the transmission
period. The base band signal has a frequency of 70 kHz.
In order to make a fast costas loop, I made a fast_atan2() function. I think
it would be interesting to include it into the GNU Radio library.
I create the function following the instructions of the site below.
http://www.dspguru.com/comp.dsp/tricks/alg/fxdatan2.htm
I would like to know if someone has developed a nco that use table technique
to calculate the sin and -cos? It would be nice to make an gr_fast_nco that
find the values of sin and cos in a table instead of calculate them at each
nco step.
float fast_atan2( float y, float x){
float r, theta;
if ( x>=0 ){ // quadrante 1 ou 4
r = (x-y) / (x+y);
theta = PI4 - PI4 * r;
if ( y>=0 )
return theta; //quadrante 1
else
return -theta; //quadrante 4
}
else { // quadrante 2 ou 3
r = (x+y) / (x-y);
theta = 3*PI4 - PI4 * r;
if ( y>=0 )
return theta; // quadrante 2
else
return -theta; // quadrante 3
}
}
- [Discuss-gnuradio] Good sugestions - gr_fast_atan2() and gr_fast_nco(),
Jose Marcelo Lima Duarte <=