Costas Loop: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 29: | Line 29: | ||
== Example Flowgraph == | == Example Flowgraph == | ||
See [[Guided Tutorial PSK Demodulation]] | |||
== Source Files == | == Source Files == |
Revision as of 04:16, 27 July 2019
A Costas loop carrier recovery module, great for synchronizing to BPSK, QPSK, and 8PSK. The Costas loop locks to the center frequency of a signal and downconverts it to baseband.
- When order=2: used for BPSK where the real part of the output signal is the baseband BPSK signal and the imaginary part is the error signal.
- When order=4: can be used for QPSK where both I and Q (real and imaginary) are outputted.
- When order=8: used for 8PSK.
The Costas loop can have two output streams:
- stream 1 (required) is the baseband I and Q;
- stream 2 (optional) is the normalized frequency of the loop
There is a single optional message input for a noise floor estimate used to calculate the SNR of a sample.
More details can be found online:
J. Feigin, "Practical Costas loop design: Designing a simple and inexpensive BPSK Costas loop carrier recovery circuit," RF signal processing, pp. 20-36, 2002.
Parameters
(R): Run-time adjustable
- Loop Bandwidth (R)
- Internal 2nd order loop bandwidth (~ 2pi/100)
- Order
- The loop order, either 2, 4, or 8, see above.
- Use SNR
- Use or ignore SNR estimates (from noise message port) in measurements; also uses tanh instead of slicing.
Example Flowgraph
See Guided Tutorial PSK Demodulation
Source Files
- C++ files
- TODO
- Header files
- TODO
- Public header files
- TODO
- Block definition
- TODO