Исследование TEF6686. Часть 3. Set_RFAGC

Часть 1. Исследование возможностей TEF6686
Часть 2. IF Bandwidth
Часть 3. Set_RFAGC
Часть 4. Патчи
Часть 5. Set_MphSuppression
Часть 6. Set_ChannelEqualizer
Часть 7. Set_LevelStep
Часть 8. Set_LevelOffset
Часть 9. Set_Bandwidth_Options
Часть 10. Get_AGC
Часть 11. Get_Processing_Status
Исследование TEF6686. Выводы

Переходим к экспериментами с настройкой Set_RFAGC.

Параметр start в команде Set_RFAGC определяет пороговый уровень входного сигнала (в дБмкВ), при котором внутренний AGC тюнера включает аттенюатор, чтобы не перегрузить входной каскад.

Первые неудачные тесты

Исследования Set_RFAGC начались с интересной проблемы.
Я двое суток просидел над разными экспериментами, которые давали странные, противоречащие друг другу результаты.
По итогу в начальной версии этой заметки я тут с графиками доказывал, что ТЕФ, видимо, использует некие хитрые алгоритмы, работа которых не поддаётся адекватному анализу. И что настройка Set_RFAGC в целом не особо полезна.
Но закрались сомнения — явно что-то было не так.

В какой-то момент я вспомнил, что документация на ТЕФ настойчиво предписывает перед запуском приёмника загружать некий патч, исправляющий разные проблемы.
В описании исправлений я обратил внимание на

Resolved critical issue of muted FM radio after temperature change

А что, если температура влияет и на RFAGC? Проверяем!
Я поставил кулер рядом с модулем ТЕФа, и неожиданно всё заработало как надо!

Итак, проблема заключается в том, что при температуре внутри модуля >27 градусов (проверял термопарой) ТЕФ с каждым градусом всё дольше реагирует на команду снижения порога RFAGC. А после 33 градусов перестаёт реагировать совсем. При этом на команду увеличения порога RFAGC всегда реагирует нормально.
При охлаждении модуля ТЕФ снова начинает реагировать на команду снижения порога RFAGC.
Температуру самого чипа измерить не удалось, так как для этого нужно было снимать и распаивать модуль. Решил сделать это как-нибудь в другой раз.

Исправляет ли патч эту проблему? Проверим чуть позже. А пока исследуем Set_RFAGC с включенным кулером!

Как обычно строим панораму с минимальным и максимальным значениями порога AGC.

Порог 84 дБмкВ:

Порог 92 дБмкВ:

Что видим?
1) При пороге RFAGC = 92 дБмкВ Level выше на 5 дБ, чем при 84 дБмкВ.
2) При 92 дБмкВ на графике IF Bandwidth проявляются пики на 100.7 и 103.7 мГц.
Из предыдущих экспериментов мы знаем, что это означает, что ТЕФ детектировал на этих частотах станции.
3) При 92 дБмкВ на 103.1 мГц ТЕФ расширил полосу фильтра ПЧ. Кстати, у меня для этой станции ТЕФ почему-то всегда ставит более узкую полосу, чем для остальных станций. При том, что станция не самая слабая.

Посмотрим теперь графики двух разных слабых станций:

Что видим?
1) При пороге RFAGC = 92 дБмкВ Level выше на 5 дБмкВ, чем при 84 дБмкВ.
2) На первом графике вместе с увеличением порога RFAGC расширяется полоса фильтра ПЧ, а за ней и показатель шума USN. При прослушивании появляются помехи.
3) На втором графике USN не зависит от полосы.

Ну а что с патчем?

Вероятно, патч имело смысл поставить ещё в начале экспериментов.
Но я намеренно не загружал его изначально — было интересно, будет ли что-то работать не так, как указано в даташите. И если да, то что?
Итак, я пробовал загружать 2 известных патча:
Tuner_Patch_Lithio_V102_p209.h
Tuner_Patch_Lithio_V102_p224.h

К сожалению, это не исправило проблему — регулировка RFAGC всё так же работает некорректно.

Вывод

При увеличении порога RFAGC чувствительность приёмника возрастает. При этом, в зависимости от частоты, могут проявляться интермодуляционные помехи.
При уменьшении порога RFAGC чувствительность падает. Слабые станции слышно хуже, но снижаются интермодуляционные помехи.
Опция работает как и должна: позволяет выбрать компромисс между чувствительностью и устойчивостью к перегрузке/интермодуляции.
Во всех тестах дальние станции было слышно лучше при RFAGC = 92 дБмкВ. Это значение является дефолтным для TEF6686 и, вероятно, оптимально для большинства условий.
Опция непосредственно влияет на приём и вполне может использоваться для ручного DX.

Опция Set_RFAGC у меня работает корректно только на холодном модуле.
При этом, на заводских TEF6686 опция работает нормально. Вероятно, это связано либо с улучшенным теплоотводом, либо с тем, что у меня неудачный китайский клон ТЕФа.
Требуются дополнительные тесты.

Бонус

Во время одного из тестов я узнал о приёме слабой станции только по наличию этого пика на графике IF Bandwidth.
Запомним, что этот параметр может использоваться как вспомогательный критерий детектирования сигнала.

Поделиться
Отправить
Запинить
4 мес   DX   esp32   TEF6686   Радио