реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Вопрос про децимацию
thermit
сообщение Sep 14 2010, 13:03
Сообщение #16


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
petrov:
Дробная интерполяция полифазный фильтр+лагранж выйдет дешевле чем тупо одним полифазным фильтром.


Применительно к фпга - согласен. Но ведь не одними фпга жив человек...

Цитата
des00:
4sps нарезка АЦП это сильно высокая? лагранж 3 го порядка показывает качество достаточное для работы %) Можно еще поставить чуть сложнее интерполятор.



Топикстартер про децибеллы ничего не сказал. Может такая конфигурация его и удовлетворит...
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение Sep 14 2010, 13:06
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Все таки о разных вещах мы говорим.
Упоминая обработку радиосигналов я имел ввиду обработку из состава радиотракта.
У меня требования к аналого-цифровому радиотракту очень жесткие. Особенно на счет днамического диапазона, подавления элайсинга и прочих паразитов в спектре.
Бывает, что модем должен получать отсчеты с частотой дискретизации 19.2 кГц, а у меня на выходе DDC идет частота дискретизации 25 кГц.
Приходится разрабатывать дробный ресэмплер 250/192.
И если требуется ослабление паразитов от элайсинга не менее 120 dBc, то спасает только полифазный фильтр. Никакие другие алгоритмы дробной интерполяции
к этим требованиям приспособить не удалось. Реализация в плис, там же где и DDC, получается дешевой и компактной. Тупо, но качественно.

А вот в модеме, где сигнал на входе редко имеет SNR более 30 дБ, можно уже использовать всякие изыски с красивыми названиями smile.gif


Go to the top of the page
 
+Quote Post
thermit
сообщение Sep 14 2010, 13:35
Сообщение #18


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
soldat_shveyk:
Все таки о разных вещах мы говорим.
Упоминая обработку радиосигналов я имел ввиду обработку из состава радиотракта.
У меня требования к аналого-цифровому радиотракту очень жесткие. Особенно на счет днамического диапазона, подавления элайсинга и прочих паразитов в спектре.


Собсна, если речь идет о динамической передискретизации, альтернативы схеме полифазник+лагранж вроде как нет.
В случае с фиксированным к-том передискретизации
на такой схеме запросто можно получить характеристики как у просто полифазника, но с меньшей его длиной.
Для фпга, где кучу констант хранить негде, зато все хорошо параллелится это очень даже нормальное решение.


Цитата
Бывает, что модем должен получать отсчеты с частотой дискретизации 19.2 кГц, а у меня на выходе DDC идет частота дискретизации 25 кГц.
Приходится разрабатывать дробный ресэмплер 250/192.


Ну и зря. Надо 96/125
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение Sep 14 2010, 13:46
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



250/192 написал для простоты понимания.
Сокращать общие делители умею smile.gif
Go to the top of the page
 
+Quote Post
alex_os
сообщение Sep 15 2010, 04:00
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(soldat_shveyk @ Sep 14 2010, 17:06) *
...
И если требуется ослабление паразитов от элайсинга не менее 120 dBc, то спасает только полифазный фильтр. Никакие другие алгоритмы дробной интерполяции
к этим требованиям приспособить не удалось. Реализация в плис, там же где и DDC, получается дешевой и компактной. Тупо, но качественно.


Да ладно! Можно сколько угодно сделать подавление "элайсингов" кусочно-полиномиальным фильтром. Только порядок полиномов будет
достаточно высокий. Да, еще чтобы эта математика хорошо работала, нужно чтобы в спектре сигнала на частотах больше Fs/4 ничего не было
( ну или почти ничего smile.gif ). А насчет дешевизны реализации тут вопрос философский, для полифазника кучу памяти нужно, для полиномиального
фильтра умножителей больше.




--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
:-)
сообщение Sep 15 2010, 04:39
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 23-10-05
Из: Мск
Пользователь №: 10 006



Возвращаясь к исходному посту: требуется получить реал-тайм на ПК (с учетом того, что основная задача уже отъедает порядка 60% ресурсов процессора). Какой из вышеназванных алгоритмов подойдет лучше?
Go to the top of the page
 
+Quote Post
alex_os
сообщение Sep 15 2010, 04:48
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



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

Для ПК лучше тот алгоритм где максимум вычислений и минимум памяти используется, по крайней мере раньше так было.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 15 2010, 09:11
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 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 ГГц. Вот здесь почитайте как делают рэсамплинг на основе лагранжевой интерполяции практически на лету, прежде чем говорить что для сигнальной обработки, а что нет.
Go to the top of the page
 
+Quote Post
Олег Oleg
сообщение Sep 15 2010, 11:51
Сообщение #24





Группа: Участник
Сообщений: 11
Регистрация: 15-09-10
Пользователь №: 59 494



Вставлю свои 3 копейки: в классической литературе по радиолокации пишут про хорошие результаты, получаемые способом "частичного суммирования"

Суть способа - в том чтобы несколько рядом стоящих отсчетов просуммировать и превратить в один.

Единственное, надо учесть, что частота следования отсчетов такого "просуммированного" сигнала, должна быть по теореме Котельникова - минимум в 2 раза больше частоты несущей (иначе отсчеты на одном периоде синусоиды, но в разных ее фазах, будут друг друга "убивать" при сложении)

Go to the top of the page
 
+Quote Post
alex_os
сообщение Sep 15 2010, 14:56
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(bahurin @ Sep 15 2010, 13:11) *
... получаем что для вашего интерполятора 1 ГГц. Вот здесь почитайте как делают рэсамплинг на основе лагранжевой интерполяции практически на лету, прежде чем говорить что для сигнальной обработки, а что нет.


Да не получается там никакого 1 ГГц все это вырождается в FIR фильтр в который заталкиваются отсчеты с одной скоростью,
а выход рассчитывается с нужной частотой,а коэф. фильтра берутся из здоровой таблицы. Для Лагранжева интерполятора тоже
самое только коэф. не из таблицы а вычисляются smile.gif.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Serg76
сообщение Sep 15 2010, 17:47
Сообщение #26


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(:-) @ Sep 14 2010, 00:37) *
Возникла вот какая задача. Требуется перейти от частоты дискретизации 4 МГц к частоте дискретизации 2.048МГц. Сейчас для выполнения децимации просто выкидываю лишние данные (беру только i*2048/4000 1<i<=4000). Но возник вопрос насколько это коректно?

Каким алгоритмом следует воспользоваться? (Два главных критерия: максимальная "корректоность" операции и максимальная скорость, т.к. требуется выполнять эту операцию параллельно с другими в реальном времени на ПК).


Попробовал решить Вашу задачу. По результатам тестирования у меня это заняло 30% ресурсов одного ядра процессора (Intel i5 2,26 GHz) с использованием полифазного фильтра на базе КИХ-структуры. Так что реалтайм на ПК вполне возможен
Go to the top of the page
 
+Quote Post
Singer
сообщение Sep 16 2010, 06:30
Сообщение #27


Участник
*

Группа: Свой
Сообщений: 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 мгц, то все эти уши при децимации благополучно завернутся в основную полосу.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Sep 20 2010, 17:29
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Цитата(petrov @ Sep 14 2010, 16:38) *
Спору нет, конечно используется в комбинации с полифазным фильтром, ведь soldat_shveyk написал не используется мол для обработки сигналов.
Дробная интерполяция полифазный фильтр+лагранж выйдет дешевле чем тупо одним полифазным фильтром.


Что означает Полифазный фильтр+Лагранж???

Здесь http://www.dspsystem.narod.ru/content/farrow/farrow.html утверждается что интерполяция лагранжом может осуществляться с помощью полифазного фильтра.

Читая топик прихожу к выводу что либо многие путают (подменяют) понятия, либо я не понимаю.
Go to the top of the page
 
+Quote Post
petrov
сообщение Sep 20 2010, 19:16
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 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 утверждается что интерполяция лагранжом может осуществляться с помощью полифазного фильтра.


Слово полифазного в статье обнаружить не удалось...
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 21 2010, 06:23
Сообщение #30


Местный
***

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



вот статья в которой также рассмотрены различные структуры интерполяторов.

Сообщение отредактировал bahurin - Sep 21 2010, 06:25
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 10:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01564 секунд с 7
ELECTRONIX ©2004-2016