> I am using Flex-2400 boards and the received signal is ideally at baseband > which in fact is not possible because, of various factors. Now, we have a > signal that has a center frequency 'fc' which is not 0Hz. Assuming the > costas to lock at this carrier I can achieve my goal. Isn't it right? >
The Costas loop can lock to fc, and will output the original signal mixed with fc (i.e. your signal at baseband), so yes is the answer. It is worthwhile to look close at the secondary output of the Costas loop. This output is the frequency the loop is locked to, in radians per sample. If you take the real part of this output (the imaginary is just 0), and multiply it by sampling_frequency/(2*pi) and send it to the oscilloscope or other graphical sink, you can see what frequency, in Hertz, the loop is locked to. Nominally, you can try alpha=0.01 and beta=alpha^2/4 for the phase and frequency gains, respectively. Try things out in simulation first. > Can you also tell me how fmax and fmin are calculated? For example, dbpsk.py > has fmax=0.1 and fmin=-0.1. How do we get these? > Frequency (in radians per sample) = 2*pi*(frequency) / (sample rate), so if your carrier were 2MHz at a sampling rate of 6MHz, it would be 2*pi*2000000/6000000~=2.09 fmax=0.1 and fmin=-0.1 means the loop is set to lock to 0Hz (DC), with a tolerance of +/- 0.1Radians/Sample. Pick some margin above and below based on expected drift (say, for example, 1.95MHz and 2.05MHz), and calculate similarly to get your fmin and fmax. Given that dbpsk.py has fmax=0.1 and fmin=-0.1, I'm lead to believe that the costas loop can work at DC, in which case the frequency would be roughly 0 and the phase would adjust to compensate for error. I don't consider myself an authoritative source for this stuff, as I just started playing with it myself, but this should get you going at least. Tom _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio