|
|
  |
Вопрос про децимацию |
|
|
|
Sep 14 2010, 13:03
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Цитата petrov: Дробная интерполяция полифазный фильтр+лагранж выйдет дешевле чем тупо одним полифазным фильтром. Применительно к фпга - согласен. Но ведь не одними фпга жив человек... Цитата des00: 4sps нарезка АЦП это сильно высокая? лагранж 3 го порядка показывает качество достаточное для работы %) Можно еще поставить чуть сложнее интерполятор. Топикстартер про децибеллы ничего не сказал. Может такая конфигурация его и удовлетворит...
|
|
|
|
|
Sep 14 2010, 13:06
|
Местный
  
Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859

|
Все таки о разных вещах мы говорим. Упоминая обработку радиосигналов я имел ввиду обработку из состава радиотракта. У меня требования к аналого-цифровому радиотракту очень жесткие. Особенно на счет днамического диапазона, подавления элайсинга и прочих паразитов в спектре. Бывает, что модем должен получать отсчеты с частотой дискретизации 19.2 кГц, а у меня на выходе DDC идет частота дискретизации 25 кГц. Приходится разрабатывать дробный ресэмплер 250/192. И если требуется ослабление паразитов от элайсинга не менее 120 dBc, то спасает только полифазный фильтр. Никакие другие алгоритмы дробной интерполяции к этим требованиям приспособить не удалось. Реализация в плис, там же где и DDC, получается дешевой и компактной. Тупо, но качественно. А вот в модеме, где сигнал на входе редко имеет SNR более 30 дБ, можно уже использовать всякие изыски с красивыми названиями
|
|
|
|
|
Sep 14 2010, 13:35
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Цитата soldat_shveyk: Все таки о разных вещах мы говорим. Упоминая обработку радиосигналов я имел ввиду обработку из состава радиотракта. У меня требования к аналого-цифровому радиотракту очень жесткие. Особенно на счет днамического диапазона, подавления элайсинга и прочих паразитов в спектре. Собсна, если речь идет о динамической передискретизации, альтернативы схеме полифазник+лагранж вроде как нет. В случае с фиксированным к-том передискретизации на такой схеме запросто можно получить характеристики как у просто полифазника, но с меньшей его длиной. Для фпга, где кучу констант хранить негде, зато все хорошо параллелится это очень даже нормальное решение. Цитата Бывает, что модем должен получать отсчеты с частотой дискретизации 19.2 кГц, а у меня на выходе DDC идет частота дискретизации 25 кГц. Приходится разрабатывать дробный ресэмплер 250/192. Ну и зря. Надо 96/125
|
|
|
|
|
Sep 15 2010, 04:00
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(soldat_shveyk @ Sep 14 2010, 17:06)  ... И если требуется ослабление паразитов от элайсинга не менее 120 dBc, то спасает только полифазный фильтр. Никакие другие алгоритмы дробной интерполяции к этим требованиям приспособить не удалось. Реализация в плис, там же где и DDC, получается дешевой и компактной. Тупо, но качественно. Да ладно! Можно сколько угодно сделать подавление "элайсингов" кусочно-полиномиальным фильтром. Только порядок полиномов будет достаточно высокий. Да, еще чтобы эта математика хорошо работала, нужно чтобы в спектре сигнала на частотах больше Fs/4 ничего не было ( ну или почти ничего  ). А насчет дешевизны реализации тут вопрос философский, для полифазника кучу памяти нужно, для полиномиального фильтра умножителей больше.
--------------------
ну не художники мы...
|
|
|
|
|
Sep 15 2010, 04:48
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(:-) @ Sep 15 2010, 08:39)  Возвращаясь к исходному посту: требуется получить реал-тайм на ПК (с учетом того, что основная задача уже отъедает порядка 60% ресурсов процессора). Какой из вышеназванных алгоритмов подойдет лучше? Для ПК лучше тот алгоритм где максимум вычислений и минимум памяти используется, по крайней мере раньше так было.
--------------------
ну не художники мы...
|
|
|
|
|
Sep 15 2010, 09:11
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
Цитата(soldat_shveyk @ Sep 14 2010, 14:17)  Если упростить соотношение частот 4000 и 2048, то получается 125/64.
Возможны два варианта: 1. Через ДПФ. Красиво но сложно. Делаем 125-точечный ДПФ, берем первые 64 точки и делаем обратный 64-точечный БПФ. ДПФ операция блочная, поэтому надо будет правильно организовать потоки, чтобы на выходе был сигнал без разрыва по фазе. Недостатки: нестандартный ДПФ на 125 точек плюс большие вносимые шумы квантования из-за ДОФ->ОБПФ.
2. Через интерполирующий КИХ фильтр. Полифазный интерполирующий на 64 КИХ фильтр с последующей децимацией на 125. Фильтр оптимальный по Чебышеву, число отсчетов имп. характеристики должно быть кратно 64. Получается, что с каждым поступающим отсчетом надо выполнять 64 свертки с полифазами фильтра, но с учетом того, что после фильтра идет децимация на 125, нужно вычислять только каждую 125-ю полифазу, а остальные пропускать. Просто и надежно. Линейный алгоритм без разветвлений - отсчет на входе, отсчет на выходе. Фаза сигнала выходе будет линейная, без скачков, демодуляция пойдет без проблем. Вычислительная сложность небольшая. Округление выполняется один раз на выходе - шумов соберете значительно меньше, чем в с БПФ. С Лагранжами и сплайнами не связывайтесь, это алгоритмы не для сигнальной обработки. Да улыбнуло. Значит полиномы лагранжа не для сигнальной обработки, а интерполятор на 64 для сигнальной. Если исходная частота сэмплирвоания 16 Мгц то умножаем на 64 и получаем что для вашего интерполятора 1 ГГц. Вот здесь почитайте как делают рэсамплинг на основе лагранжевой интерполяции практически на лету, прежде чем говорить что для сигнальной обработки, а что нет.
|
|
|
|
|
Sep 15 2010, 11:51
|
Группа: Участник
Сообщений: 11
Регистрация: 15-09-10
Пользователь №: 59 494

|
Вставлю свои 3 копейки: в классической литературе по радиолокации пишут про хорошие результаты, получаемые способом "частичного суммирования"
Суть способа - в том чтобы несколько рядом стоящих отсчетов просуммировать и превратить в один.
Единственное, надо учесть, что частота следования отсчетов такого "просуммированного" сигнала, должна быть по теореме Котельникова - минимум в 2 раза больше частоты несущей (иначе отсчеты на одном периоде синусоиды, но в разных ее фазах, будут друг друга "убивать" при сложении)
|
|
|
|
|
Sep 15 2010, 14:56
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(bahurin @ Sep 15 2010, 13:11)  ... получаем что для вашего интерполятора 1 ГГц. Вот здесь почитайте как делают рэсамплинг на основе лагранжевой интерполяции практически на лету, прежде чем говорить что для сигнальной обработки, а что нет. Да не получается там никакого 1 ГГц все это вырождается в FIR фильтр в который заталкиваются отсчеты с одной скоростью, а выход рассчитывается с нужной частотой,а коэф. фильтра берутся из здоровой таблицы. Для Лагранжева интерполятора тоже самое только коэф. не из таблицы а вычисляются  .
--------------------
ну не художники мы...
|
|
|
|
|
Sep 16 2010, 06:30
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 13-11-07
Пользователь №: 32 296

|
В случае разумных коэффициентов изменения частоты дискретизации (типа 125/256) использую всегда полифазный FIR фильтр. Просто и доступно, легко ложится на архитектуру ПЛИС (DSP48 блоки), а самое главное позволяет легко добиться нужной АЧХ и подавления заворотов спектра .Например, можно сразу получить АЧХ корня из приподнятого косинуса с нужным Roll-off, что требуется в цифровой свзяи...В этом случае всякие чисто математические Лагранжи неуместны, поскольку искажают характеристику, (действительно что называется "не подходят для сигнальной обработки"). Единственная проблема - обычно получается табличка на несколько тысяч коэффициентов, т.е. нужно памяти заметно побольше чем на простой дециматор скажем. Но по операциям MAC это все равно эквивалентно обычному децимирующему фильтру, т.к. операции со вставленными нулями пропускаются, плюс отбрасываемые сэмплы не вычисляются. При желаний конечно можно и нули на гигагерцах перемножать, но к практике это отношения не имеет... З.Ы. - Итого мое мнение - максимальная корректность операции - полноценнный FIR фильтр, все остальное - от лукавого. З.Ы.З.Ы. Кстати, кто вам сказал, что за пределами полосы 2.046 в GPS ничего нет? Там же уши от функции sin(x)/x -идут с периодом 2.046 (см спектр прямоуголного сигнала). В GPS передатчиках узких фильтров не ставят - там еще P код надо передать, полоса там мегагерц 20 минимум. Если не применять хороший фильтр, вырезающий основные 2 мгц, то все эти уши при децимации благополучно завернутся в основную полосу.
|
|
|
|
|
Sep 20 2010, 17:29
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
Цитата(petrov @ Sep 14 2010, 16:38)  Спору нет, конечно используется в комбинации с полифазным фильтром, ведь soldat_shveyk написал не используется мол для обработки сигналов. Дробная интерполяция полифазный фильтр+лагранж выйдет дешевле чем тупо одним полифазным фильтром. Что означает Полифазный фильтр+Лагранж??? Здесь http://www.dspsystem.narod.ru/content/farrow/farrow.html утверждается что интерполяция лагранжом может осуществляться с помощью полифазного фильтра. Читая топик прихожу к выводу что либо многие путают (подменяют) понятия, либо я не понимаю.
|
|
|
|
|
Sep 20 2010, 19:16
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(TigerSHARC @ Sep 20 2010, 21:29)  Что означает Полифазный фильтр+Лагранж??? Фарроу требует некоторой передискретизации для качественной интерполяции, вот эту передискретизацию и делаем хорошим ФНЧ фильтром в виде вычислительно эффективной полифазной стркутуры. Цитата(TigerSHARC @ Sep 20 2010, 21:29)  Здесь http://www.dspsystem.narod.ru/content/farrow/farrow.html утверждается что интерполяция лагранжом может осуществляться с помощью полифазного фильтра. Слово полифазного в статье обнаружить не удалось...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|