Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Интерполяция при при маленьком числе отсчетов на символ
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
tim_s80
Когда отношение тактовой частоты и частот дискретизации примерно 1 к 4, то выполнить интерполяцию на базе Фарроу с 4 отсчетами вроде бы как понятно. Но иногда встречается ситуация, когда на один символ всего 1.5-2 отсчета. Как в этом случае можно выполнить передискретизацию, например, в 1.11111.... раз. Четыпехточечный Фарроу уже не подходит?
thermit
Интерполировать в целое число раз, затем лагранж.
tim_s80
Цитата(thermit @ Oct 27 2011, 12:36) *
Интерполировать в целое число раз, затем лагранж.


Это то понятно, нюанс в другом, обычно кокда возникает такая ситуация, то далеко не всегда есть вычислительные мощности для повышения частоты дискретизации. Утрированно, но для ясности - дискретизация 1Гиг, в этом случае повышать в целое число раз как то накладно. Если дискретизация 1Мгц, то повышать можно без проблем.
thermit
1. Дискретизация с частотой 1ГГц дает полосу <=0.5 ГГц.
а) Нахрена это надо?
б) Где такой ацп надыбали?

2. Можно попробовать лагранжа более высокого порядка или другие методы интерполяции (сплайн), но едва ли это потребует меньше ресурсов при равной погрешности.
alex_os
Цитата(tim_s80 @ Oct 27 2011, 12:21) *
Когда отношение тактовой частоты и частот дискретизации примерно 1 к 4, то выполнить интерполяцию на базе Фарроу с 4 отсчетами вроде бы как понятно. Но иногда встречается ситуация, когда на один символ всего 1.5-2 отсчета. Как в этом случае можно выполнить передискретизацию, например, в 1.11111.... раз. Четыпехточечный Фарроу уже не подходит?

И чего на этом Фарроу свет клином что ли сошелся?! Полифазный фильтр Вам поможет!
_Anatoliy
Цитата(alex_os @ Oct 27 2011, 16:16) *
И чего на этом Фарроу свет клином что ли сошелся?! Полифазный фильтр Вам поможет!

Очень интересно.А можете немного подробней раскрыть тему?
alex_os
Цитата(_Anatoliy @ Oct 27 2011, 19:54) *
Очень интересно.А можете немного подробней раскрыть тему?

Дык, ничего интересного все банально. Например Fs - частота дискретизации, синтезируем FIR-ФНЧ
для частоты дискретизации Fs*M, его импульсная характеристика h.
Фазы h1 = h(1:M:end), h2=h(2:M:end),... hM_1 = h(M-1:M:end). Сам интерполятор это есть короткий
FIR длиной length(h)/M, импульсная характеристика фильтра одна из фаз h1... hM_1 выбирается в
зависимости от задержки которая требуется от фильтра в данный момент. Недостаток - нужно много
памяти для хранения здоровенной таблицы с коэффициентами h.

Цитата(tim_s80)
Утрированно, но для ясности - дискретизация 1Гиг, в этом случае повышать в целое число раз как то накладно. Если дискретизация 1Мгц, то повышать можно без проблем.

1) Если дискретизация 1Гиг то интерполяция в два раза не обязательно означает, что в системе у Вас будет физически
2 ГГц.
2) Экономные в плане ресурсов передискретизаторы в два раза получаются на основе полуполосных фильтров.

sup-sup
Цитата(tim_s80 @ Oct 27 2011, 11:21) *
Когда отношение тактовой частоты и частот дискретизации примерно 1 к 4, то выполнить интерполяцию на базе Фарроу с 4 отсчетами вроде бы как понятно. Но иногда встречается ситуация, когда на один символ всего 1.5-2 отсчета. Как в этом случае можно выполнить передискретизацию, например, в 1.11111.... раз. Четыпехточечный Фарроу уже не подходит?

А вроде и нельзя ничего сделать корректно, если меньше 2х отсчетов. Надо выходить за пределы символа. Если забыть о символах, то классический способ добавления нулей и последующая фильтрация должна дать максимально точный результат.
_Anatoliy
Цитата(alex_os @ Oct 27 2011, 19:15) *
Дык, ничего интересного все банально. Например Fs - частота дискретизации, синтезируем FIR-ФНЧ
для частоты дискретизации Fs*M, его импульсная характеристика h.
Фазы h1 = h(1:M:end), h2=h(2:M:end),... hM_1 = h(M-1:M:end). Сам интерполятор это есть короткий
FIR длиной length(h)/M, импульсная характеристика фильтра одна из фаз h1... hM_1 выбирается в
зависимости от задержки которая требуется от фильтра в данный момент. Недостаток - нужно много
памяти для хранения здоровенной таблицы с коэффициентами h.

Ну если так то всё ясно.Я уж было подумал что новый метод появился.
tim_s80
История вопроса то в следующем.
Есть различные схемы TED - один отсчет на символ, два, три.
Mueller TED работает с одним отсчетом на символ. В ряде источников факт работы 1:1 преподносится как преимущество при высокоскоростных передачах, типа в этом случае вычислительная нагрузка меньше. Но тогда возникает вопрос. С учетом того, что частоты сэмплирования по факту разнатся не только по фазе но и по значениям на передающих и приемных концах, то обязательно потребуется не тоько фазу подгонять, но и частоту. В принципе аналогично и для случая когда на один символ примерно два отсчета (1:2).
И если люди говорят, что типа 1;1 и 1:2 это для вычислений гуд, то тогда решение, где одинм из этапов является повышение частоты дискретизации как то не вяжется.

По поводу полифазников. Для ПЛИС реализации формально понятно. Но для software разве они тоже эффективнее Фарроу?
petrov
Цитата(tim_s80 @ Oct 28 2011, 11:27) *
И если люди говорят, что типа 1;1 и 1:2 это для вычислений гуд, то тогда решение, где одинм из этапов является повышение частоты дискретизации как то не вяжется.


Чего удивительного в том что чем меньше передискретизация тем сложнее интерполятор, не важно плифазные фильтры или фарроу или и то и другое вместе? Чувствуете разницу между просто повышением частоты дискретизации(причём не обязательно повышать частоту работы вычислительного устройства ) для приемлемой работы фарроу интерполятора и повышением частоты дискретизации синхронной с клоком передатчика?
alex_os
Цитата(tim_s80 @ Oct 28 2011, 11:27) *
По поводу полифазников. Для ПЛИС реализации формально понятно. Но для software разве они тоже эффективнее Фарроу?


Вопрос философский, если посчитать число умножителей то однозначно эффективнее. Но если таблица с коэффициентами не влезет в кэш....
iiv
Цитата(tim_s80 @ Oct 27 2011, 13:21) *
Когда отношение тактовой частоты и частот дискретизации примерно 1 к 4, то выполнить интерполяцию на базе Фарроу с 4 отсчетами вроде бы как понятно. Но иногда встречается ситуация, когда на один символ всего 1.5-2 отсчета. Как в этом случае можно выполнить передискретизацию, например, в 1.11111.... раз. Четыпехточечный Фарроу уже не подходит?

когда мне надо было из 400МГц получить 750МГц (15 к 8, то есть ни 2 раза, но почти) я делал так:
каждую точку умножал на затабулированный на сетке 400*15МГц B-spline 3-ей степени, мне надо было иметь точность порядка 14 бит, поэтому вперед и назад надо было смотреть на 7 отсчетов (400МГц). Далее с шагом 8, и латентностью примерно в (7+2)*2.5нс я получал то, что хотел. При умножении на эти коэффициенты можно было так извратиться, что умножение на константу заменялось на 2-3 сложения сдвинутых данных (у меня входные данные все положительные были), так, что я не попользовал вообще ни одного умножителя, но логики правда на 3-ем стратиксе примерно на 25к алутов набежало. При Гигагерце все можно попараллелить, но реально в 80к логики влезть, или, попользовать сколько есть умножителей, тогда, ИМХО, в 20к логики влезть можно будет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.