Исследование возможностей TEF6686. Часть 1
Часть 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. Выводы
Начинаю собственное исследование возможностей чипа TEF6686.
TEF6686 — популярная микросхема, на основе которой делают приёмники для приёма дальних радиостанций.
В интернете есть много проектов на основе этого чипа. Да и готовых приёмников у китайцев тоже много.
Я тоже увлекаюсь приёмом дальних FM-станций, поэтому готовые проекты у меня всегда вызывали вопросы:
1) Все ли возможности чипа используются в любительских прошивках?
2) Оптимальные ли используются настройки? Или дефолтные?
3) Что можно улучшить, чтобы приёмник принимал ещё более слабые станции?
Попробуем разобраться.
Уверен, эта информация будет полезна многим радиолюбителям.
Исследование решил проводить так. Буду менять настройки приёмника через регистры, а так же кое-что в схемотехнике всей сборки.
И оценивать изменения в приёме — как по показателям, которые отдаёт сам приёмник, так и просто на слух.
Меня интересует только «верхний» УКВ-диапазон (по-простому FM), поэтому работать буду с ним.
Если у вас есть вопросы, замечания или собственные наблюдения — буду рад обсудить их:
→ в Телеграме: https://t.me/amironoff_ru
→ по электронной почте: amironof@yandex.ru
Оборудование
Итак, для начала я собрал минимально рабочий приёмник на базе TEF6686, ESP32 и LCD 2004 и написал собственную прошивку на Си. Прошивка реализует управление тюнером по интерфейсу I²C, обработку полученных данных и вывод информации на дисплей, а также передачу диагностических данных по UART в терминал.
Внимательно изучил даташит на TEF и посмотрел, какие показатели приёма он умеет отдавать по i2c для УКВ-диапазона.
Если вкратце, команда Get_Quality_Status отдаёт:
status — статус детектора
level — уровень входного сигнала (дБмкВ)
usn — уровень ультразвукового шума
wam — детектор многолучевого приёма
offset — смещение частоты
bandwidth — полоса пропускания ПЧ
modulation — детектор уровня модуляции
Чтобы понять, как изменяются все эти показатели при приёме различных станций, я решил для начала получить данные по всему диапазону и посмотреть параметры в виде графиков. Настройки приёмника — дефолтные.
Для этого в бесконечном цикле я обхожу диапазон 87.5 — 108 мГц с шагом 50 кГц, получаю данные по каждой частоте 10 раз, усредняю и отправляю через UART в COM-порт винды. Далее эти данные получает скрипт на Python и рисует графики.
В результате получаем красивые графики с информацией о верхнем УКВ диапазоне Петрозаводска:
Мне повезло, и в день тестов начался небольшой тропосферный проход из Финляндии, поэтому на панораму диапазона попали 3 слабых станции. Это выглядит так:
Итак, что мы видим на графиках интересного и полезного?
- Для городских станций ТЕФ показывает уровень примерно от 50 до 75 дБмкВ. Я не думаю, что можно доверять абсолютным показаниям детектора уровня, но относительным — вполне. Передатчики некоторых станций находятся за городом, и на графиках явно видно, что уровень у них ниже.
Ещё на графиках видны небольшие пики на частотах 102.9 и 103.7 мГц. В этот день на них был слабый проход — и он виден! Это при том, что эти станции находятся рядом с мощными городскими станциями.
- Level на пустых участках диапазона находится в районе 5-7 дБмкВ. Кстати, я смотрел код некоторых прошивок приёмников на ТЕФе и увидел, что некоторые разработчики вычитают из показаний level как раз 7 дБ. Судя по всему, чтобы при отсутствии сигнала станций показания уровня были около нуля.
Я задавал вопрос по поводу этой коррекции автору одной из прошивок. Он ответил:
So the actual display level is 7dB higher than it really is. This is due to poor design and unbalanced connection to the FM input of the chip.
Запомним это на будущее.
- График USN — ultrasonic noise detector. Видно, что чем выше уровень сигнала, тем ниже значение USN, что указывает на уменьшение ультразвуковой шумовой составляющей. Пока не очень понятно, каким образом это можно использовать для поиска или анализа слабых станций, потому что на слабых сигналах этот показатель сильно скачет. Вероятно, разработчики автомагнитол используют эту характеристику для включения / отключения Soft noise и т. п.
- График multipath. ТЕФ якобы умеет определять наличие многолучевого приёма и отдаёт этот показатель в процентах от 0 до 100. По графикам видно, что этот показатель тоже тем ниже, чем выше уровень сигнала. Судя по всему, на слабых сигналах малополезен.
- Offset. При точной настройке на станцию стремится к нулю. Вероятно, можно использовать как дополнительный фактор оценки приёма реальной станции.
- IF Bandwidth — ширина фильтра ПЧ. На графиках видно, как ТЕФ настраивает полосу фильтра на дефолтных настройках. При хорошем городском уровне сигнала он держит полосу на уровне 236 кГц. При снижении уровня начинает сужать полосу.
Например, при level = 20 (103.7 мГц) IF bandwidth = ~150 кГц.
А при level = 10 (102.9 мГц) полоса уже 100 кГц.
При отсутствии станций полоса = 56 кГц.
- Modulation. На мой взгляд, самый малоинформативный показатель. Может скакать от 0 до 80% как при наличии сигнала, так и при его отсутствии. Наверно, можно его использовать при анализе каких-то конкретных станций. Возможно, понятнее станет при дальнейших тестах.
Некоторые сырые данные
Приведу примеры некоторых данных, полученных из чипа через UART:
Оценка приёма на слух: 4 из 10
FREQ 93.4 MHz, LEVEL=5.2, USN=16.5, WAM=39.3, OFFSET=3.0, BW=57.6, MOD=41.0
FREQ 93.4 MHz, LEVEL=5.6, USN=16.1, WAM=39.1, OFFSET=3.0, BW=58.4, MOD=39.4
FREQ 93.4 MHz, LEVEL=5.3, USN=15.6, WAM=38.7, OFFSET=4.0, BW=59.2, MOD=41.4
FREQ 93.4 MHz, LEVEL=6.8, USN=18.8, WAM=45.3, OFFSET=3.3, BW=57.6, MOD=41.6
FREQ 93.4 MHz, LEVEL=6.2, USN=19.1, WAM=41.0, OFFSET=3.6, BW=58.4, MOD=39.8
Оценка приёма на слух: 6 из 10
FREQ 90.2 MHz, LEVEL=11.1, USN=21.3, WAM=38.5, OFFSET=5.8, BW=88.6, MOD=41.7
FREQ 90.2 MHz, LEVEL=11.4, USN=22.0, WAM=37.6, OFFSET=5.2, BW=86.9, MOD=40.0
FREQ 90.2 MHz, LEVEL=11.5, USN=17.7, WAM=32.4, OFFSET=4.0, BW=84.8, MOD=40.2
FREQ 90.2 MHz, LEVEL=10.8, USN=17.4, WAM=39.2, OFFSET=4.6, BW=70.4, MOD=36.1
FREQ 90.2 MHz, LEVEL=11.8, USN=21.8, WAM=36.0, OFFSET=5.0, BW=88.5, MOD=45.8
Оценка приёма на слух: 9 из 10
FREQ 102.9 MHz, LEVEL=20.3, USN=8.6, WAM=21.7, OFFSET=8.7, BW=98.4, MOD=35.0
FREQ 102.9 MHz, LEVEL=20.1, USN=10.7, WAM=23.7, OFFSET=10.2, BW=102.6, MOD=48.5
FREQ 102.9 MHz, LEVEL=20.1, USN=10.2, WAM=21.9, OFFSET=8.4, BW=103.9, MOD=48.5
FREQ 102.9 MHz, LEVEL=19.8, USN=9.2, WAM=21.7, OFFSET=9.0, BW=96.3, MOD=49.9
FREQ 102.9 MHz, LEVEL=20.1, USN=10.8, WAM=21.4, OFFSET=8.5, BW=104.2, MOD=46.5
Выводы
ТЕФ отдаёт неплохой массив данных о принимаемом сигнале. Вероятно, эти данные отчасти являются «попугаями», но если их рассматривать как относительные показатели, они вполне поддаются анализу и обработке.
Если сопоставить субъективную оценку приёма на слух с параметром Level, при среднем уровне шума на пустом участке диапазона около Level ≈ 5, можно условно выделить следующие зоны:
<5.0 — разборчивость отсутствует, приёма нет;
5.1—7.5 — разборчивость нестабильная: от полного отсутствия до едва различимого сигнала;
7.5+ — устойчивый приём, как правило соответствует реальной станции.
Таким образом, станция начинает восприниматься как адекватно слышимая при превышении среднего фонового уровня Level примерно на 3 пункта.