From b604eeeaa0dd6df53ec129bbcd332ffd50c20771 Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 27 Oct 2020 22:33:39 +0100 Subject: [PATCH] AFC: added documentation --- doc/img/AFC_plugin.png | Bin 0 -> 19854 bytes doc/img/AFC_plugin.xcf | Bin 0 -> 80950 bytes plugins/feature/afc/readme.md | 60 +++++++++++++++++++++++----------- 3 files changed, 41 insertions(+), 19 deletions(-) create mode 100644 doc/img/AFC_plugin.png create mode 100644 doc/img/AFC_plugin.xcf diff --git a/doc/img/AFC_plugin.png b/doc/img/AFC_plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..3180605df593d1088e93daedc8d7ff193da25a23 GIT binary patch literal 19854 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 literal 0 HcmV?d00001 diff --git a/doc/img/AFC_plugin.xcf b/doc/img/AFC_plugin.xcf new file mode 100644 index 0000000000000000000000000000000000000000..92c019b8d43ab17c9255298bb41964dda3056843 GIT binary patch literal 80950 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 ZOUwXYI;A~XoEWV%VvSd5$5R@0{|}BSU^oB( literal 0 HcmV?d00001 diff --git a/plugins/feature/afc/readme.md b/plugins/feature/afc/readme.md index 6d60f5b16..573280371 100644 --- a/plugins/feature/afc/readme.md +++ b/plugins/feature/afc/readme.md @@ -1,8 +1,8 @@ -

AFC plugin

+

Automatic Frequency Control plugin

Introduction

-This plugin controls switchover between a Rx (Device source) and Tx (Device sink). It has no other controls than an adjustable delay from Rx to Tx and back to Rx. Because of its simplicity it can also serve as a model to build other feature plugins. +This plugin makes the link between a [frequency tracker](../../channelrx/freqtracker/readme.md) and other channels in order to have them controlled by the frequency tracker. Thus it closes the loop to effectively make an automatic frequency control system.

Interface

@@ -12,34 +12,56 @@ This plugin controls switchover between a Rx (Device source) and Tx (Device sink This button starts or stops the plugin -

2: PTT button

+

2: Update device sets lists

-Click to switch from Rx to Tx and again to switch back to Rx. When in Tx mode the button is lit. +It updates the tracker device set and tracked device set combo boxes (3) and (4) respectively with the available device sets. -

3: Status indicator

+

3: Tracker device set selection

-This LED type display shows the current PTT status: +The first frequency tracker in this device set will be used to control frequency. Thus only Rx device sets can be selected. - - **Green**: Rx runs - - **Red**: Tx runs - - **Grey**: None active (transient) +

4: Tracked device set selection

-

4: Refresh list of devices

+All channels but frequency tracker(s) in this device set will have their offset frequency controlled by the frequency tracker selected with (3). -Use this button to refresh the list of devices (5) and (6) +

5: (Re)apply device sets selection

-

5: Select Rx device set

+Use this button to force evaluation of selected device sets i.e. the first frequency tracker used for tracking and the tracked channels. -Use this combo to select which Rx device is controlled +

6: Automatic target frequency readjustment

-

6: Select Tx device set

+When the frequency tracker drifts following the signal it is tracking its effective frequency will move accordingly. To avoid it going too far from a nominal frequency set by (7) the device or transverter frequency can be used to re-adjust the frequency tracker center frequency periodically. -Use this combo to select which Tx device is controlled +

7: Tracker target frequency

-

7: Transistion delay from Rx to Tx

+This is the nominal frequency of the signal being tracked. For example (as in the picture) when tracking the QO-100 center beacon this is 10489.750 MHz thus with the transverter shift set at -250 kHz this is 489.750 MHz (The actual downconverted Rx frequency is 739.750 MHz). -Value in milliseconds between Rx stop and Tx start +

8: Use transverter shift to adjust target frequency

-

8: Transistion delay from Tx to Rx

+When unset the device center frequency is used and when set the device center frequency setting is unchanged and the transverter shift is adjusted. -Value in milliseconds between Tx stop and Rx start +You would use the transverter adjustment for QO-100 tracking for example thus the resulting IF frequency is unchanged maintaining the center beacon around 489.750 MHz. + +The transverter shift can be adjusted down to the Hz but depending on the device actual steps such granularity may not be effectively achievable. + +

9: Target frequency tolerance

+ +Frequency readjustment will actually take place only if the frequency tracker frequency moves further away than ± this value from the nominal frequency (7). + +You should not choose a value that is too tight else the frequency tracker frequency will keep moving around the target frequency without stabilizing. In practice you may set a low value and trigger a single shot adjustment with the (11) button and once stabilized choose a value significantly higher than the offset from nominal that is obtained. + +Please note that if the device frequency adjustment is used the steps are in kHz so multiples of the kHz should be used. + +

10. Target frequency readjustment period (seconds)

+ +The target frequency readjustment is periodically activated and frequency change is effectively activated if the tracker frequency offset from nominal is larger than the tolerance (9). + +Depending on how fast the frequency drift occurs you should set a value in combination with the frequency tolerance (9) so that the frequency is not readjusted too frequently. + +

11. Activate target frequency readjustment immediately

+ +This forces target readjustment process described above immediately. + +

12. Target readjustement indicator

+ +This indicator will flash briefly when the readjustment process takes place. Its color is green if the frequency is not changed and is red if frequency changes. The tooltip shows the last frequency difference that was calculated.