Заметки про электронику, IT и всякое такое

Исследование TEF6686. Выводы

Часть 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. Выводы

Исследование я проводил, чтобы понять для себя:

1) Все ли возможности чипа используются в любительских прошивках?
2) Оптимальные ли используются настройки? Или дефолтные?
3) Что можно улучшить?

По итогам исследования можно сделать следующие выводы.

Все ли возможности чипа используются в любительских прошивках?

В популярных прошивках используются почти все опции, которые предоставляет TEF6686.
В общем случае можно пользоваться самыми простыми прошивками, ведь даже на дефолтных настройках ТЕФ вполне неплохо себя показывает.
Прошивка PE5PVB — отличный вариант для повседневного использования.

Оптимальные ли используются настройки? Или дефолтные?

Многие опции не имеют универсальных оптимальных настроек — их нужно менять, исходя из конкретных условий приёма. Речь, например, про Set_ChannelEqualizer или Set_MphSuppression. Главное, что прошивки предоставляют возможность их переключения.
Я обнаружил только одну спорную настройку в популярной прошивке от PE5PVB. Это принудительное снижение показателя Level при помощи LevelOffset на 7 дБ. Я писал об этом в части про SetLevelOffset.

Что можно улучшить?

Во-первых, обнаружилась проблема срабатывания RF AGC при нагреве модуля ТЕФа. Учитывая сложные алгоритмы обработки сигнала, вполне можно предположить, что нагрев модуля непосредственно влияет на качество приёма слабых станций. Моё мнение — модулю требуется дополнительное охлаждение. Стоит отметить, что проблема замечена только на китайском модуле с Али и не наблюдается на «заводских» приёмниках.

Во-вторых, в своей прошивке я добавлю вывод показателей уровня AGC, softmute и stereo blend. Важно их учитывать для оценки состояния радиоэфира в точке приёма.

В-третьих, исследования проводились на чипе TEF6686 версии V102. У этого чипа есть ещё одна версия V205 — ходят легенды, что она «лучше». Я обязательно его закажу, протестирую и напишу о результатах.

В-четвёртых, стоит признать, что моя конструкция в целом требует более аккуратной реализации — в частности, лучшей фильтрации питания и других аппаратных доработок. Эти улучшения также входят в планы дальнейшей работы.

Итоги

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

Отдельный интерес представляют данные, полученные при анализе работы AGC и алгоритмов обработки слабого сигнала — они позволяют наглядно оценивать состояние радиоэфира в точке приёма.

Все эти наработки я использую при написании собственной прошивки.

Буду рад, если результаты этого исследования окажутся полезными и для других радиолюбителей, экспериментирующих с приёмниками на базе TEF6686.
Если у вас есть вопросы, замечания или собственные наблюдения — буду рад обсудить их:
→ в Телеграме: https://t.me/amironoff_ru
→ по электронной почте: amironof@yandex.ru

13 дн   DX   esp32   TEF6686   Радио

Исследование TEF6686. Часть 11. Get_Processing_Status

Часть 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. Выводы

Команда Get_Processing_Status отдаёт не то что бы очень важные данные, но интересующемуся радиолюбителю взглянуть всё равно интересно.

В ответ на данную команду модуль возвращает параметры текущего состояния алгоритмов обработки слабого сигнала, включая:
softmute;
highcut;
stereo blend;
stereo high blend.

Что ж, посмотрим на панораму:

Вывод

Графики демонстрируют поведение алгоритмов обработки сигналов: при ухудшении приёма станции степень их воздействия возрастает до 100%, а при уверенном сигнале стремится к 0%.
SoftMute при отсутствии сигналов станций активен на 75%.
Примечательно, что даже у мощных местных станций стерео не всегда стопроцентное, так как степень воздействия stereo blend не достигает 0%. Вероятно, это определяется совокупностью параметров, таких как Level, USN, Multipath и т. д.
Очень интересные данные для анализа состояния радиоэфира в точке приёма.

13 дн   DX   esp32   TEF6686   Радио

Исследование TEF6686. Часть 10. Get_AGC

Часть 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. Выводы

Все основные команды управления мы рассмотрели, переходим к командам чтения данных.
Get_AGC — очень интересная команда, показывающая, насколько входное АРУ срезает сигнал на входе приёмника.

Добавим на панораму графики AGC:

В моём случае TEF применил 18 дБ входной аттенюации (input_att) и 6 дБ по цепи обратной связи (feedback_att), суммарно 24 дБ.

Посмотрим, как ведёт себя AGC при использовании опции Set_RFAGC_TEF:

Наблюдается изменение уровня аттенюации в зависимости от параметра Set_RFAGC_TEF: при снижении порога срабатывания Set_RFAGC_TEF с 92 дБмкВ до 84 дБмкВ аттенюация input_att увеличивается до 24 дБ.
Но прослеживается и знакомая нам проблема: Set_RFAGC_TEF работает только при включенном охлаждении модуля.

Дополнительно я проверил работу AGC с опциями SetLevelStep и setLevelOffset. Они никак не влияют.

Вывод

AGC функционирует корректно, однако наблюдается некоторая температурная зависимость его работы.
Без охлаждения модуля AGC срабатывает нестабильно.

Команда Get_AGC предоставляет диагностические данные, позволяющие оценить состояние радиоэфира в точке приёма. Очень полезная информация, которую стоит учитывать при попытках приёма слабых станций.

13 дн   DX   esp32   TEF6686   Радио
Ранее Ctrl + ↓