Исследование TEF6686. Часть 8. Set_LevelOffset
Часть 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. Выводы
Казалось бы, простая настройка, которая лишь изменяет показатель Level, чтобы компенсировать, например, шумы от активной антенны:
The level offset can be used as an overall correction for antenna noise level and is included in the weak signal handling and the level read value of Get_Quality. A standard use case is the compensation for AM active antenna circuits (typical offset setting = -30 dB).
Но есть нюансы. Давайте разбираться.
Посмотрим на панораму эфира с разными LevelOffset.
LevelOffset = 15
LevelOffset = 0
LevelOffset = -7
LevelOffset = -48
Что видим?
1) При LevelOffset = 15 видно, что эфир зашумлён, ТЕФ увеличивает IF Bandwidth до 100 кГц даже на пустых участках диапазона.
2) При LevelOffset = -48 ситуация противоположная: судя по IF Bandwidth, ТЕФ детектирует даже не все реальные станции.
3) При LevelOffset = 0 слабую станцию на 100.7 мГц по IF Bandwidth ещё видно , а при LevelOffset = -7 — уже нет. Я специально акцентирую на этом внимание. Подробности — ниже.
Посмотрим на график слабой станции 105.0 мГц:
Что видим?
1) Level = 10 при LevelOffset = 0.
2) Level = 3 при LevelOffset = -7.
3) При более высоких показаниях Level ТЕФ расширяет полосу фильтра ПЧ. Слышно лучше.
Вывод
LevelOffset действительно корректирует показания Level на указанное число единиц. Но стоит помнить, что ТЕФ ориентируется на эти показатели при работе. То есть при принудительном изменении Level реально на слух меняется приём станций, особенно слабых. Об этом, кстати, написано прямо в даташите:
The level offset ... is included in the weak signal handling.
Ранее я писал, что в одной из прошивок приёмника на ТЕФе увидел в коде, что автор по умолчанию применяет LevelOffset = -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.
Во-первых, на мой взгляд, это не совсем так. ТЕФ действительно завышает показатель Level, но, видимо, не только по причине «poor design and unbalanced connection», а из-за того, что применяет плавное изменение Level в зависимости от состояния AGC, особенно на слабых сигналах. В этом мы убедились в предыдущей части исследований. Поэтому на пустых участках диапазона мы видим Level = ~5 дБмкВ.
Во-вторых, такая принудительная коррекция скорее вредит приёму дальних станций. На графиках видно, что при LevelOffset = -7 ТЕФ уже не распознаёт слабую станцию и не увеличивает IF Bandwidth. При автоматической настройке, вероятнее всего, он просто пропустит эту станцию. На слух слабую станцию при LevelOffset = -7 тоже слышно хуже. По итогу имеем явные проблемы с DX.
Я считаю, что LevelOffset лучше оставлять = 0. По крайней мере для DX.