PLL Frequency Detector: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(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...")
 
(→‎Example Flowgraph: Add sonar Example to illustrate real-time usage and unit conversions)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Block Docs]]
[[Category:Block Docs]]
[[Category:Stub Docs]]
Implements a PLL which locks to the input frequency and outputs an estimate of that frequency. Useful for FM Demod.
This is the template for the [[:Category:Block_Docs|"Page-per-block Docs"]].  This first section should describe what the block does and how to use it, using however many paragraphs necessary.  Note that the title of the wiki page should match the block's name in GRC, i.e. the one defined in the block's .grc file.  Look at the [[FFT]] Block for a good example.


As this is a basic template, it's also in the [[:Category:Stub_Docs|"Stub Docs category"]]. Please improve it.
This PLL locks onto a [possibly noisy] reference carrier on the input and outputs an estimate of that frequency in radians per sample


== 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>


; Param 1 (''R'')
; Loop bandwidth (''R'')
: Description of parameter, provide any tips or recommended values.  Note that the name of the parameter above should match the param's label that shows up in grc (e.g. Sample Rate).
: The loop bandwidth determines the lock range and should be set around pi/200  2pi/100.


; Param 2
; Max freq
: blah blah blah
: Maximum frequency of the carrier in radians per sample
 
; Min freq
: Minimum frequency of the carrier in radians per sample


== Example Flowgraph ==
== Example Flowgraph ==


Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI. Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately.  The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.
=== Simple Usage Example ===
 
[[File:Pll_freqdet_simple.png]]
 
PLL Freq Det can be used to detect the frequency of a (noisy) single tone.
 
This minimal demo does nothing than allow the user to adjust a Signal Source's frequency, and then estimate the same.
 
=== Doppler Sonar ===
 
The [[Media:Sonar PLL freqdet.grc|flow graph below]] demonstrates a functioning Doppler sonar, which allows the user to estimate the speed of an object moving towards the speaker. (For this to work, the microphone and the speaker need to point into the same direction, not at each other; ideally, the microphone is directive, so that it doesn't pick up as much crosstalk from the speaker next to it.)
 
[[File:Sonar PLL freqdet.png]]
 
[[File:Doppler Sonar Display.png]]


== Source Files ==
== Source Files ==

Latest revision as of 09:31, 2 October 2023

Implements a PLL which locks to the input frequency and outputs an estimate of that frequency. Useful for FM Demod.

This PLL locks onto a [possibly noisy] reference carrier on the input and outputs an estimate of that frequency in radians per sample

Parameters

(R): Run-time adjustable

Loop bandwidth (R)
The loop bandwidth determines the lock range and should be set around pi/200 2pi/100.
Max freq
Maximum frequency of the carrier in radians per sample
Min freq
Minimum frequency of the carrier in radians per sample

Example Flowgraph

Simple Usage Example

Pll freqdet simple.png

PLL Freq Det can be used to detect the frequency of a (noisy) single tone.

This minimal demo does nothing than allow the user to adjust a Signal Source's frequency, and then estimate the same.

Doppler Sonar

The flow graph below demonstrates a functioning Doppler sonar, which allows the user to estimate the speed of an object moving towards the speaker. (For this to work, the microphone and the speaker need to point into the same direction, not at each other; ideally, the microphone is directive, so that it doesn't pick up as much crosstalk from the speaker next to it.)

Sonar PLL freqdet.png

Doppler Sonar Display.png

Source Files

C++ files
TODO
Header files
TODO
Public header files
TODO
Block definition
TODO