MCRB 0 3 сентября, 2015 Опубликовано 3 сентября, 2015 (изменено) · Жалоба интерполяторы лагранжа, синк и т.д. Полностью согласен. Если интересует литература, к примеру, есть статья 1996 года "Splitting the unit delay [FIR/all pass filters design]". Более того, авторы статьи выложили набор матлабовских скриптов для расчета фильтров, реализующих дробную задержку. Про структуры Фэрроу, ИМХО, хорошо написано в статье Гарднера из двух частей "Interpolation in digital modems". Хотя сейчас есть книги и т.п. Изменено 3 сентября, 2015 пользователем Evg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andyp 9 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба Для синтеза всепропускающих задерживающих фильтров с управляемой задержкой использовал метод взвешенных наименьших квадратов, как описано в прицепленных статьях. Другие статьи этого автора также представляют интерес 181bec3dc4908924329016f17fd03a6d.pdf 2c66eb01ee97dc90b00edd29f82fbb8c.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikSave 0 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба >(сколько угодно малое)? Полагаю, что в цифре - никак, либо вернуться в аналог. Если на конечное, то уже говорили - передискретизация. Ну конечно не сколь угодно малое. Зависит от того каким выбрать шаг смещения характеристики. Я уже писал что задержку обеспечиваю впольть до пикосукунд (все это уже работает), но это измерение глазом по осциллографу. Мне нужно подогнать теорию и расчитать получившуюся задержку на бумаге. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба Проще отмерить кусок коаксиального кабеля... :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба Проще отмерить кусок коаксиального кабеля... :) Только hardcore - впаивать необходимое число вентилей с нужными задержками. :bb-offtopic: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikSave 0 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба Проще отмерить кусок коаксиального кабеля... :) А если как раз и нужно компенсировать задержку в кабеле? Вставить еще один? А если кабель получается километр? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба Ну конечно не сколь угодно малое. Зависит от того каким выбрать шаг смещения характеристики. Я уже писал что задержку обеспечиваю впольть до пикосукунд (все это уже работает), но это измерение глазом по осциллографу. Мне нужно подогнать теорию и расчитать получившуюся задержку на бумаге. Если уже есть посчитанный КИХ фильтр, пересчитайте его ИХ через Sinc на требуемые фазы (смещения) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikSave 0 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Если уже есть посчитанный КИХ фильтр, пересчитайте его ИХ через Sinc на требуемые фазы (смещения) А по-подробней? Например: Есть фильтр с характеристикой: [5 -8 -3 12 2 -14 1 15 -8 -18 19 25 -28 -28 39 11 -83 21 225 1 -553 -288 1432 3284 3284 1432 -288 -553 1 225 21 -83 11 39 -28 -28 25 19 -18 -8 15 1 -14 2 12 -3 -8 5] Я сдвинул ее и получил следующие коэфф.: [6 -7 -4 11 4 -14 -2 15 -5 -19 15 28 -23 -33 34 20 -79 -1 216 50 -512 -384 1218 3157 3390 1648 -176 -585 -53 230 45 -85 1 43 -23 -33 21 23 -16 -11 14 3 -14 -1 12 -1 -8 3]. Вопрос: на сколько я задержал сигнал если частота дискретизации 100 МГц? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MCRB 0 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба А по-подробней? Например: Есть фильтр с характеристикой: [5 -8 -3 12 2 -14 1 15 -8 -18 19 25 -28 -28 39 11 -83 21 225 1 -553 -288 1432 3284 3284 1432 -288 -553 1 225 21 -83 11 39 -28 -28 25 19 -18 -8 15 1 -14 2 12 -3 -8 5] Я сдвинул ее и получил следующие коэфф.: [6 -7 -4 11 4 -14 -2 15 -5 -19 15 28 -23 -33 34 20 -79 -1 216 50 -512 -384 1218 3157 3390 1648 -176 -585 -53 230 45 -85 1 43 -23 -33 21 23 -16 -11 14 3 -14 -1 12 -1 -8 3]. Вопрос: на сколько я задержал сигнал если частота дискретизации 100 МГц? На 1 нс. Ts = 10; % ns a = [5 -8 -3 12 2 -14 1 15 -8 -18 19 25 -28 -28 39 11 -83 21 225 1 -553 -288 1432 3284 3284 1432 -288 -553 1 225 21 -83 11 39 -28 -28 25 19 -18 -8 15 1 -14 2 12 -3 -8 5]; b = [6 -7 -4 11 4 -14 -2 15 -5 -19 15 28 -23 -33 34 20 -79 -1 216 50 -512 -384 1218 3157 3390 1648 -176 -585 -53 230 45 -85 1 43 -23 -33 21 23 -16 -11 14 3 -14 -1 12 -1 -8 3]; angles = angle(fft(a).*conj(fft(b))); tau = length(a) * Ts * angles(2) / (2*pi) Результат: tau = 0.9982 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 6 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Вопрос: на сколько я задержал сигнал если частота дискретизации 100 МГц? Про полифазные фильтры почитайте, там ответ на ваш вопрос. Можно даже ничего не читать, а рассмотреть процесс интерполяции КИХ ФНЧ фильтром, добавляем нулей между исходными отсчётами, фильтруем, на выходе фильтра децимируем, выбирая нужную фазу, значение задержки очевидно. Теперь если внимательно рассмотреть процесс вычислений в фильтре, можно заметить, что на нули умножать нет смысла, фильтр может работать на исходной частоте в виде несмкольких параллельных веток, выбирая нужную ветку, выбираем задержку, эта структура полностью эквивалентна вычислению в лоб, значение задержки также очевидно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikSave 0 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба На 1 нс. Ts = 10; % ns a = [5 -8 -3 12 2 -14 1 15 -8 -18 19 25 -28 -28 39 11 -83 21 225 1 -553 -288 1432 3284 3284 1432 -288 -553 1 225 21 -83 11 39 -28 -28 25 19 -18 -8 15 1 -14 2 12 -3 -8 5]; b = [6 -7 -4 11 4 -14 -2 15 -5 -19 15 28 -23 -33 34 20 -79 -1 216 50 -512 -384 1218 3157 3390 1648 -176 -585 -53 230 45 -85 1 43 -23 -33 21 23 -16 -11 14 3 -14 -1 12 -1 -8 3]; angles = angle(fft(a).*conj(fft(b))); tau = length(a) * Ts * angles(2) / (2*pi) Результат: tau = 0.9982 Толком ничего не понял. Но все равно спасибо. Нужно сверить с измерением "на глаз". Если не напрягает - пару слов в качестве комментария к формуле? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MCRB 0 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Толком ничего не понял. Но все равно спасибо. Нужно сверить с измерением "на глаз". Если не напрягает - пару слов в качестве комментария к формуле? Идея такая. Задержка по времени приводит к появлению в ФЧХ сдвига фазы, линейно зависящего от частоты. Если мы знаем зависимость сдвига фазы от частоты, мы можем определить задержку по времени. Поэтому, вначале определяем разность фаз фурье-спектров импульсных характеристик фильтров a и b. Получая, таким образом, зависимость сдвига фаз от частоты. Потом по сдвигу фаз на одной из частот определяем задержку по времени. Собственно, это попытка ответить на конкретный вопрос, т.е., здесь нет претензий на универсальность метода для всех случаев жизни. Пардон, что не сделал описание сразу. Мне показалось, Вы знаете ответ. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikSave 0 5 сентября, 2015 Опубликовано 5 сентября, 2015 · Жалоба Идея такая. Задержка по времени приводит к появлению в ФЧХ сдвига фазы, линейно зависящего от частоты. Если мы знаем зависимость сдвига фазы от частоты, мы можем определить задержку по времени. Поэтому, вначале определяем разность фаз фурье-спектров импульсных характеристик фильтров a и b. Получая, таким образом, зависимость сдвига фаз от частоты. Потом по сдвигу фаз на одной из частот определяем задержку по времени. Собственно, это попытка ответить на конкретный вопрос, т.е., здесь нет претензий на универсальность метода для всех случаев жизни. Пардон, что не сделал описание сразу. Мне показалось, Вы знаете ответ. :) Теперь понятно. Спасибо. Напоследок: а вообще эта задержка зависит от промежуточной частоты оцифрованного сигнала? Например оцифровываю сигнал на промежуточной частоте 1 МГц или 10 МГц при одной и тойже частоте дискретизации? Тему можно практически закрывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MCRB 0 5 сентября, 2015 Опубликовано 5 сентября, 2015 · Жалоба Теперь понятно. Спасибо. Напоследок: а вообще эта задержка зависит от промежуточной частоты оцифрованного сигнала? Например оцифровываю сигнал на промежуточной частоте 1 МГц или 10 МГц при одной и тойже частоте дискретизации? Тему можно практически закрывать. Насколько я понимаю, разброс значений задержки в полосе пропускания составляет от значения 1 нс. Возможно, была использована плохая оконная функция. Наверное, не помешает дополнить нулями ИХ фильтров при расчете преобразования Фурье (я этого не делал). Если интересно, скрипт для матлаба (нужно переименовать в .m) + картинка с задержкой прилагается. test4.txt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikSave 0 5 сентября, 2015 Опубликовано 5 сентября, 2015 · Жалоба Насколько я понимаю, разброс значений задержки в полосе пропускания составляет от значения 1 нс. Возможно, была использована плохая оконная функция. Наверное, не помешает дополнить нулями ИХ фильтров при расчете преобразования Фурье (я этого не делал). Если интересно, скрипт для матлаба (нужно переименовать в .m) + картинка с задержкой прилагается. test4.txt Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться