Тестирование FM фильтров с помощью RTL-SDR
TL;TR; Фильтры тестировать можно, но выводы нужно делать аккуратно.
Постановка задачи
Архитектура rtl sdr требует специального фильтра на входе. Поскольку сильнейшими источниками сигнала являются фм станции, то я решил поставить фм фильтры на входе приёмника. Но прежде, чем устанавливать их, мне хотелось измерить частотные характеристики фильтров и пощупать их в деле. Для этого я купил несколько фм фильтров и собрал стенд для их тестирования.
Описание стенда
Тестирование заключается в том, что генератор сигнала создаёт широкополосный шум по всей ширине спектра. Фильтр отфильтровывает только часть. Разница между сигналом с фильтром и без, и есть характеристика фильтра. Вот как выглядит мой стенд:
Софт
rtl_power - программа из стандартной поставки rtl-sdr. Она позволяет сканировать большой диапазон частот, разбивая его участки примерно 2Mhz и выполняя быстрое преобразование фурье. После этого, результаты преобразуются в dbm. Все измерения производились с помощью одних и тех же настроек:
rtl_power -f 50M:150M:100k -g 0 -c 20% -i 2m -1
rtlSpectrum - небольшая программа для удобного отображения результатов и сравнения нескольких графиков.
Генератор сигнала
Достаточно дешёвый и хороший генератор широкополосного сигнала. В описании сказано, что он должен работать от напряжения 12В. На практике же, это слишком большое напряжение для rtl-sdr, поэтому согласно рекомендациям я подключил его к источнику питания 5В. Для сравнения я измерил его частотную характеристику на 5В и 12В:
На картинке зелёный график - это 12В, жёлтый - 5В, оранжевый - без генератора. Как видно, разница между 5В и 12В составляет примерно 5дб.
Аттенюатор
Аттенюатор - это устройство для плавного понижения электромагнитных колебаний. Как в дальнейшем показали опыты, он крайне необходим, чтобы получить более или менее хорошие результаты. Я использовал аттенюатор -10db. Вот пример понижения частот в ФМ диапазоне:
Видно, что снижение мощности происходит на 9дб, что почти является заявленными 10дб.
Когда я начал тестировать фильтры, выяснилось, что снижение напряжения на генераторе до 5В недостаточно. Вот небольшое сравнение характеристики фильтра с аттенюатором и без:
По своим характеристикам фильтр должен давать уменьшение мощности на -60дб. Однако, судя по графику, он даёт только -30дб. При работе аттенюатора появляется более явный результат фильтрации. Однако, минимальное значение по-прежнему -35дб. Этот эффект называется “перегрузка”. Мощность входного сигнала слишком большая, поэтому динамического диапазона rtl-sdr не хватает и нижняя часть графика обрезается. Вот пример измерения того же фильтра на профессиональном оборудовании:
ФМ фильтры
В тесте участвовали следующие фильтры:
- rtl-sdr.com FM reject filter
- gpio labs
- Distill FM от NooElec
rtl-sdr приёмник
В качестве rtl-sdr приемника я использовал rtl-sdr.com. У него хорошие характеристики и удобный SMA коннектор.
Результаты теста
Где:
- жёлтый - Distill FM. Данные
- зелёный - gpio labs. Данные
- оранжевый - rtl-sdr.com FM reject filter. Данные
По ссылкам можно скачать результат для каждого фильтра, загрузить в rtlSpectrum и сравнить их на разных частотах.
Выводы:
- фильтры соответствуют заявленным характеристикам. По крайней мере на столько, на сколько позволяет судить стенд.
- с помощью rtl-sdr и rtl_power можно измерять характеристики фильтров, но делать это нужно очень аккуратно.