Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: адаптивный ресеплинг
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
TigerSHARC
Требуется построить адаптивную систему изменения частоты дискретизации сигнала.

Сначала в сторону фильтра Фарроу смотрел, там как я понял в основе лежит апроксимация полиномами Лагранжа.
Но тут вдруг недавно наткнулся на научную работу, где прочитал следующие строки:
"Реализация формулы Лагранжа в вычислительном контексте неудобна, так как произведение n сомножителей приводит с существенным погрешностям при округлениях в разрядной сетке вычислительного устройства. Поэтому на практике применяют интерполяционные формулы, в основе которых лежит идея конечных разностей."

Далее приводится вывод о том, что наиболее подходит интерполяция Стирлинга 4-го порядка...

Где можно найти пример реализации такого подхода?
И какие ещё существуют методы изменения частоты дискретизации?
des00
Цитата(TigerSHARC @ Nov 15 2009, 14:53) *
Но тут вдруг недавно наткнулся на научную работу, где прочитал следующие строки:
"Реализация формулы Лагранжа в вычислительном контексте неудобна, так как произведение n сомножителей приводит с существенным погрешностям при округлениях в разрядной сетке вычислительного устройства. Поэтому на практике применяют интерполяционные формулы, в основе которых лежит идея конечных разностей."

Далее приводится вывод о том, что наиболее подходит интерполяция Стирлинга 4-го порядка...


а работу можно посмотреть ? как то все странно это. единственное место потери точности у фарроу это умножение на mu/D. Но даже по крайней мере до третьего порядка это можно сделать вообще без потери точности.
bahurin
Цитата(TigerSHARC @ Nov 15 2009, 23:53) *
Требуется построить адаптивную систему изменения частоты дискретизации сигнала.

Сначала в сторону фильтра Фарроу смотрел, там как я понял в основе лежит апроксимация полиномами Лагранжа.
Но тут вдруг недавно наткнулся на научную работу, где прочитал следующие строки:
"Реализация формулы Лагранжа в вычислительном контексте неудобна, так как произведение n сомножителей приводит с существенным погрешностям при округлениях в разрядной сетке вычислительного устройства. Поэтому на практике применяют интерполяционные формулы, в основе которых лежит идея конечных разностей."

Далее приводится вывод о том, что наиболее подходит интерполяция Стирлинга 4-го порядка...

Где можно найти пример реализации такого подхода?
И какие ещё существуют методы изменения частоты дискретизации?


думаю что речь в данной литературе идет об интерполяционных полиномах Лагранжа высокой степени, когда округления коэффициентов при степени скажем 12 или 24 приведет к недопустимым искажениям. Если использовать кубические полиномы, то ничего страшного вас не ждет.
TigerSHARC
Цитата(bahurin @ Nov 16 2009, 14:48) *
думаю что речь в данной литературе идет об интерполяционных полиномах Лагранжа высокой степени, когда округления коэффициентов при степени скажем 12 или 24 приведет к недопустимым искажениям. Если использовать кубические полиномы, то ничего страшного вас не ждет.


Спасибо! А как подобрать порядок фильтра Фарроу? От чего зависит и на что влияет?
В интернете очень скудно о них написано! Нашёл только единственную статью: dspsystem.narod.ru/models.html

больше ничего(((

В матлабе классная демка есть, сяду переводить сейчас...
Хотелось бы услышать насколько такой алгоритм пригоден на практике(может какие камни подводные есть)...??
MKS
Цитата
...А как подобрать порядок фильтра Фарроу? От чего зависит и на что влияет?

Порядок фильтра влияет на точность интерполяции. Оценка погрешности интерполяции есть в книге А.А. Амосов "Вычислительные методы для инженеров"(качество шрифта не очень, но что есть). Насколько этот алгоритм пригоден нужно смотреть на конкретной задаче. Возмите матлаб, и на моделе проверте. smile.gif
des00
Цитата(TigerSHARC @ Nov 16 2009, 10:43) *
Спасибо! А как подобрать порядок фильтра Фарроу? От чего зависит и на что влияет?
В интернете очень скудно о них написано! Нашёл только единственную статью: dspsystem.narod.ru/models.html

больше ничего(((


не верю!!!, потому как сам выкладывал неплохую доку в этой теме %) там и про особенности и про погрешности.

ЗЫ. работой то поделитесь %)
bahurin
Цитата(TigerSHARC @ Nov 16 2009, 19:43) *
Спасибо! А как подобрать порядок фильтра Фарроу? От чего зависит и на что влияет?
В интернете очень скудно о них написано! Нашёл только единственную статью: dspsystem.narod.ru/models.html

больше ничего(((

В матлабе классная демка есть, сяду переводить сейчас...
Хотелось бы услышать насколько такой алгоритм пригоден на практике(может какие камни подводные есть)...??

плохо искали. На том же сайте есть еще и статья . По сути на практике для ресемплинга редко применяют порядки выше 3 - 4 потому что большие задержки и вычислительная нагрузка (это все должно в реалтайме работать). Основная сложность заключается в правильном пересчете времени. Но это не столько к Фарроу относится сколько вообще к ресамплингу.
EvgenyNik
В вашей задаче (если речь про Фурье всех гармоник) как раз Фарроу 3-го порядка и достаточен и вот почему:
1. Частота дискретизации, по-любому, из соображений точности должна накрывать сигнал так, чтобы на интервале между соседними 3-4 выборками сигнал мало отличался от 3-го порядка, т.к. иначе Вы с достаточной степенью точности этот сигнал не отфильтруете из-за вносимых искажений от гармоник более высоких порядков.
2. Т.к. исходный сигнал, всё-таки, содержит небольшой шум АЦП, к включению которого в огибающую интерполятор будет стремиться в меру своей степени, то наращивание порядка интерполяции приведёт к генерации несуществующих компонент.
TigerSHARC
Цитата(Евгений Николаев @ Nov 17 2009, 17:33) *
В вашей задаче (если речь про Фурье всех гармоник) как раз Фарроу 3-го порядка и достаточен и вот почему:
1. Частота дискретизации, по-любому, из соображений точности должна накрывать сигнал так, чтобы на интервале между соседними 3-4 выборками сигнал мало отличался от 3-го порядка, т.к. иначе Вы с достаточной степенью точности этот сигнал не отфильтруете из-за вносимых искажений от гармоник более высоких порядков.
2. Т.к. исходный сигнал, всё-таки, содержит небольшой шум АЦП, к включению которого в огибающую интерполятор будет стремиться в меру своей степени, то наращивание порядка интерполяции приведёт к генерации несуществующих компонент.


поясните пожалуйста что значит: "... мало отличаться от 3-го порядка..."???

спасибо за ответ!
EvgenyNik
1. синусоида определяема по 3-ём точкам.
2. если эти 3 точки лежат на кривой порядок которой превышает 3-ий, значит Вы имеете в спектре сигнал, который ваша система не способна "увидеть" из частотного критерия (по тому же Котельникову) и он войдёт в более низкие гармоники, будучи промодулированным частотой дискретизации, что ощутимо снизит показатели точности.
3. т.к. идеально подавить более высокие частоты не получается без задавливания последней интересующей гармоники, то они, всё-таки, будут. Но их уровень должен быть достаточно низким, иначе говоря - на интервале 3-ёх точек кривая должна быть мало отличающейся от 3-го порядка.
Исходя из этого Фарроу 3-го порядка вполне применим. Другое дело, что шум квантования АЦП может вносить ощутимые искажения при расчёте коэффициентов интерполятора. Причём, т.к. это шум не аналоговый, то входные фильтры не помогут и надо городить цифровой шумоподавитель. Но это тонкости и глубина уже, сначала надо проверить живьём - нужно ли это всё.
thermit
Может бойан, но вроде как должно исчерпать тему топика...

https://ccrma.stanford.edu/~jos/resample/
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.