Difference between revisions of "Costas Loop"
From GNU Radio
(Created page with "Category:Block Docs Category:Stub Docs This is the template for the "Page-per-block Docs". This first section should describe what the block...") |
m (→Example Flowgraph) |
||
(4 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Block Docs]] | [[Category:Block Docs]] | ||
− | + | 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 == | == Parameters == | ||
(''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span> | (''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span> | ||
− | ; | + | ; 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 == | == Example Flowgraph == | ||
− | + | See [[Guided_Tutorial_PSK_Demodulation#Phase_and_Fine_Frequency_Correction]] | |
== Source Files == | == Source Files == |
Latest revision as of 13:22, 6 June 2020
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[edit]
(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[edit]
See Guided_Tutorial_PSK_Demodulation#Phase_and_Fine_Frequency_Correction
Source Files[edit]
- C++ files
- TODO
- Header files
- TODO
- Public header files
- TODO
- Block definition
- TODO