Спасибо от R3KBL
EU1KY, Вопрос по режиму рефлектометра. Что надо поправить для использования рефлектометра с генератором другого диапазона частот? С теме же реализованными ADF4351 или планируемой SI5338? Интересуют места где надо код поправить под другой частотный диапазон. Можно ли увеличить число точек по частоте или сделать их число настраиваемым для увеличения разрешающей способности TDR?
khach, конечно можно.
Представьте, что вы оцифровали отклик бесконечно короткого импульса с частотой дискретизации 256 МГц, взяв 512 отсчётов. И перевели полученные данные в частотный домен с помощью RFFT, получив 256 комплексных чисел для частотных бинов от 0 до 127.5 МГц с шагом 0.5 МГц. Обратное преобразование с помощью IRFFT даст точно тот же исходный массив чисел во временнОм домене.
Это позволяет сделать TDR наоборот, с помощью антенного анализатора: просканировать 255 частот, от 0.5 до 127.5 МГц с шагом 0.5 МГц, измерить комплексный коэффициент отражения (гамма) на каждой из частот. Для нулевого бина (постоянная составляющая) можно спокойно взять значение 0+j0. Выполняем для этого вектора IRFFT и получаем картинку отражений во временном домене, 512 отсчетов с частотой дискретизации 256 МГц.
Но если сделать просто так, то получится заметный "звон" во временнОм домене. Ведь такое измерение эквивалентно отклику от бесконечно короткого одиночного импульса. Звон можно легко сгладить, применив к данным частотного домена оконную функцию (вернее, половину её, ведь массив данных для IRFFT - половинка спектра). Желательно применить функцию,у которой на краях не абсолютный ноль, лучше всего для этого подходит Kaiser Bessel-derived window (KBD). Коэффициент для этой функции я экспериментально выбрал 3.5, при этом звона уже нет, но импульсы отражений во временнОм домене еще не очень широко расползаются. Вот так оно и реализовано. Кстати, из 512 отсчетов на экране отображаются только 400, чтобы в экран вместиться.
Если памяти хватает, и анализатор позволяет точно мерить коэффициент отражения на более высоких частотах - можете изменить параметры. Выбирайте частоту дискретизации, сканируйте массив Г для соответствующей сетки частот, умножайте на "окно" соответствующей длины, и делайте IRFFT. Как вы понимаете, разрешающая способность зависит исключительно от эквивалентной частоты дискретизации. От количества отсчетов зависит только максимальное расстояние, отражения от которого видны. Если нужны сотни метров, тогда есть смысл увеличивать количество отсчетов. Но где в радиолюбительской практике применяются линии такой длины? В них же затухание неприемлемое.
Нужно ещё учесть особенности реализации IRFFT в библиотеке для ARM - CMSIS. Вместо 257 отсчётов в частотном диапазоне есть только 256, при этом Г для нулевого бина в реальной части содержит число для частоты 0, в мнимой - для частоты Fs/2. Меня очень это смущает, ведь на Fs/2 реальная составляющая тоже есть, но она в расчетах не участвует. Тем не менее, даже в таком виде всё работает правильно.
Последний раз редактировалось EU1KY; 23.07.2017 в 23:22.
Спасибо от DerBear
EU1KY, Большое спасибо за столь подробные объяснение алгоритма. Попытаюсь разобраться, но это мой первый опыт с алгоритмом TDR с частотно-временным преобразованием, так что заранее извиняюсь за возможно тривиальные вопросы.
Сейчас у меня есть самодельный фронтенд на базе MAX2870, т.е диапазон частот 23мгц-6ГГц. Но есть проблема с направленными ответвителями- мостами. Они работоспособны в границах 200 мгц- 5 ггц. Возможно ли модифицировать алгоритм расчета TDR чтобы он был работоспособный с "дыркой" в нижнем диапазоне частот? Т.е в будущем я планировал закрыть эту дырку с использованием генератора частоты подставки, например 23 мгц для МАХ 2870 или 135 мгц для ADF4350, но т.к направленны мосты в нижнем диапазоне частот получились неработоспособные, то пока от этой идеи отказался.
Эххх, ещё бы АЧХ им мерять, цены бы не было прибору!
khach, "дырки" вполне допустимы, если их заполнять интерполированными значениями. Но интерполировать надо с умом, примерно зная характеристики линии и нагрузки. Например, по спирали, с учётом затухания линии, к Г нагрузки.
Но можно этого не делать, забив нулями данные для отсутствующих измерений. Импульсы останутся на своих местах по времени, но появится некоторое смещение "нуля" или звон, а вычисленные амплитуды импульсов отражения будут неточными. Это всё равно, что вы примените прямоугольное окно к сигналу.
Вот, как пример, отсканировал в SimSmith 2 куска кабеля по 2 метра с резистором между ними (типа утечка), от 10 МГц до 2550 МГц (255 точек с шагом 10 МГц, Fs=2560*2 МГц, разрешение где-то 2.5 см), сохранил в два файла S1P. Первый оставил как есть, во втором для всех частот ниже 200 МГц обнулил Г. Посчитал TDR для обоих файлов, вывел на график. Синий - нормальный файл, зелёный - "обкоцанный".
Последний раз редактировалось EU1KY; 24.07.2017 в 03:02.
Нагружаете исследуемый фильтр на эквивалент нагрузки равный волновому сопротивлению фильтра в диапазоне установок графического анализатора и смотрите АЧХ на дисплее прибора.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)