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

 
 
> Фильтры фарроу, принципы...
TigerSHARC
сообщение Dec 1 2009, 14:00
Сообщение #1


Знающий
****

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



1)Читаю статьи о филтрах Фарроу.
Там эти фильтры больше фигурируют как фильтры дробной задержки.
Кто-нибудь может объяснить как задержка cигнала связана с передискретизацией, как , скажем, появляются ноыве отсчёты при передискретизации с использованием этих филтров...???

2)Хочу использовать эти фильтры в своей системе, где, например, нужно увеличить частоту дискретизации в 1.037 раз. Просто децимацией и интерполяцией (например функция resample в матлаб) мою задачу, думаю, не решить, т.к. коэффиценты первоначального повышения, а затем понижения частоты слишком велики.
Правильно ли я понимаю, что в фильтрах фарроу используется совсем другой подход и они здесь более пригодны...????

как студент буду очень благодарен всем, кто ответит)!

Сообщение отредактировал TigerSHARC - Dec 1 2009, 14:46
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
petrov
сообщение Dec 1 2009, 15:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(TigerSHARC @ Dec 1 2009, 17:00) *
1)Читаю статьи о филтрах Фарроу.
Там эти фильтры больше фигурируют как фильтры дробной задержки.
Кто-нибудь может объяснить как задержка cигнала связана с передискретизацией, как , скажем, появляются ноыве отсчёты при передискретизации с использованием этих филтров...???


Ну например нужно вам вычислить новый отсчёт посередине между двумя исходными - это соответствует задержке кратной половине периода дискретизации, ФНЧ КИХ фильтр с чётным количеством коэффициентов обладает такой задержкой, можно построить набор таких фильтров(полифазный фильтр) под разные дробные задержки и таким образом вычислять фиксированный набор промежуточных отсчётов между исходными. Интерполятор фарроу позволяет легко вычислять отсчёт между исходными с любым положением(дробной задержкой).



Цитата(TigerSHARC @ Dec 1 2009, 17:00) *
2)Хочу использовать эти фильтры в своей системе, где, например, нужно увеличить частоту дискретизации в 1.037 раз. Просто децимацией и интерполяцией (например функция resample в матлаб) мою задачу, думаю, не решить, т.к. коэффиценты первоначального повышения, а затем понижения частоты слишком велики.
Правильно ли я понимаю, что в фильтрах фарроу используется совсем другой подход и они здесь более пригодны...????

как студент буду очень благодарен всем, кто ответит)!


Пригоден фарроу. Но требуется некоторая передискретизация для уменьшения искажений. Смотрите ЧХ характеристику интерполятора фарроу для наихудшего случая дробной задержки кратной половине периода дискретизации исходного сигнала, при фиксированном порядке интерполятора чем больше передискретизация тем меньше искажения.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Dec 2 2009, 21:51
Сообщение #3


Знающий
****

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



Цитата(petrov @ Dec 1 2009, 18:40) *
Ну например нужно вам вычислить новый отсчёт посередине между двумя исходными - это соответствует задержке кратной половине периода дискретизации, ФНЧ КИХ фильтр с чётным количеством коэффициентов обладает такой задержкой, можно построить набор таких фильтров(полифазный фильтр) под разные дробные задержки и таким образом вычислять фиксированный набор промежуточных отсчётов между исходными. Интерполятор фарроу позволяет легко вычислять отсчёт между исходными с любым положением(дробной задержкой).





Пригоден фарроу. Но требуется некоторая передискретизация для уменьшения искажений. Смотрите ЧХ характеристику интерполятора фарроу для наихудшего случая дробной задержки кратной половине периода дискретизации исходного сигнала, при фиксированном порядке интерполятора чем больше передискретизация тем меньше искажения.


Никак не даёт покоя вот такой вопрос.

Нужно выбрать наименьшую частоту дискретизации. Нужно было как-то связать частоту дискретизации и погрешность интерполятора.

В литературе нашёл такую формулу для выбора частоты дискретизации(см. вложение)

так вот, как я понял:

эпсилон - это погрешность интерполяции(в моём случае фильтром Фарроу, по другому - полиномом Лагранжа 3-й степени).
и, если(гипотетически) погрешность равна 0.01(т.е. 1%), и верхняя частота сигнала равна 2200Гц(ну, с учётом неидеальности цифрового фильтра чуть больше).
В итоге наименьшая частота дискретизации получилась 48400Гц!!!

теперь нужно посчитать реальную погрешность фильтра-интерполятора, что бы более точно выбрать частоту дискретизации.

Я всё правильно понял? Или эти формулы справедливы только для линейной интерполяции, и фильтра с крутизной -20дБ???

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

Сообщение отредактировал TigerSHARC - Dec 2 2009, 21:52
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 3 2009, 03:58
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(TigerSHARC @ Dec 2 2009, 15:51) *
Вобщем нужно как-то завязать частоту дискретизации минимальную на входе фильтра-интерполятора с погрешностью этого интерполятора и наибольшей частотой в спектре сигнала.


выложите доку, интересно почитать.

Как я понял частота дискретизации выбирается на основе АЧХ/ФЧХ интерполятора, критерии выбора очевидны если вы их построите. А ошибка интерполяции зависит только от порядка интерполятора. Я выкладывал доки на форуме с подробным анализом интерполяторов.

ЗЫ. В вашем случае я бы делал не кубический фарроу порядка, а кубический интерполятор с фильтрами 10го порядка. Он дает меньшую ошибку интерполяции, но дороже в реализации %)


--------------------
Go to the top of the page
 
+Quote Post
alex_os
сообщение Dec 3 2009, 06:40
Сообщение #5


Знающий
****

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



Цитата(des00 @ Dec 3 2009, 06:58) *
выложите доку, интересно почитать.

Как я понял частота дискретизации выбирается на основе АЧХ/ФЧХ интерполятора, критерии выбора очевидны если вы их построите. А ошибка интерполяции зависит только от порядка интерполятора. Я выкладывал доки на форуме с подробным анализом интерполяторов.

ЗЫ. В вашем случае я бы делал не кубический фарроу порядка, а кубический интерполятор с фильтрами 10го порядка. Он дает меньшую ошибку интерполяции, но дороже в реализации %)


Чего такая любовь к полиномиальным интерполяторам? Если памяти дофига и реализация на чем-то вроде микропроцессора стоит посмотреть на банальный интеролятор на основе полифазного FIR. Посчитать такой проще, по вычислительным затратам быстрее.

p.s. вот простейший полифазный ресамплер c дополнительной линейной интерполяцией, "спуры" кажется не менее 50 дБ при F<Fs*0.4.
Прикрепленный файл  resampler_demo.zip ( 4.51 килобайт ) Кол-во скачиваний: 384


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
fontp
сообщение Dec 3 2009, 08:00
Сообщение #6


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(alex_os @ Dec 3 2009, 09:40) *
Чего такая любовь к полиномиальным интерполяторам? Если памяти дофига и реализация на чем-то вроде микропроцессора стоит посмотреть на банальный интеролятор на основе полифазного FIR. Посчитать такой проще, по вычислительным затратам быстрее.


Вы, наверное, не смотрели начало дискуссии в другой и третьей темах.
Это ему сейчас нужен прецизионный интерполятор для ресамплинга с коэффициентом 1.037. В другой раз ему нужен будет на 0.99 и всё решается в реальном времени. Полифазные фильтры ему не очень подходят, ему нужна адаптивная интерполяция, но в отличие от модемов, с точностью 0.001%.
Типа интерполяции Лагранжа по 7-ми точкам, как http://www.springerlink.com/content/r113673647v40251/
Цитата(des00 @ Dec 3 2009, 06:58) *
ЗЫ. В вашем случае я бы делал не кубический фарроу порядка, а кубический интерполятор с фильтрами 10го порядка. Он дает меньшую ошибку интерполяции, но дороже в реализации %)

Не понятно, что есть "кубический фарроу порядка" ( порядка 3?), но результат видимо будет не хуже, чем у тех китайцев.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Dec 3 2009, 08:48
Сообщение #7


Знающий
****

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



[quote name='fontp' date='Dec 3 2009, 11:00' post='688363']
Вы, наверное, не смотрели начало дискуссии в другой и третьей темах.
Это ему сейчас нужен прецизионный интерполятор для ресамплинга с коэффициентом 1.037. В другой раз ему нужен будет на 0.99 и всё решается в реальном времени. Полифазные фильтры ему не очень подходят, ему нужна адаптивная интерполяция, но в отличие от модемов, с точностью 0.001%.
Типа интерполяции Лагранжа по 7-ми точкам, как http://www.springerlink.com/content/r113673647v40251/

Да всё верно.

но скажите, что по этой формуле(страница книги) для частоты дискретизации её можно использовать в моём случае ???
там пример если точность 0.01...
нужно как-то выбрать частоту дискретизации, что бы подать на вход интерполятора, и уже её изменять интерполяцией...

Сообщение отредактировал TigerSHARC - Dec 3 2009, 08:55
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
bahurin
сообщение Dec 3 2009, 09:25
Сообщение #8


Местный
***

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



Цитата(TigerSHARC @ Dec 3 2009, 11:48) *
но скажите, что по этой формуле(страница книги) для частоты дискретизации её можно использовать в моём случае ???
там пример если точность 0.01...
нужно как-то выбрать частоту дискретизации, что бы подать на вход интерполятора, и уже её изменять интерполяцией...


Там же написано что это для синусоидального сигнала. Если сигнал несинусоидальный про эту формулу можно забыть. Вам нужно понять что вы хотите. Если сигнал с цифровой модуляцией, скажем QPSK и требуется дробный ресамплер для синхронизации, то надо понять с какой точностью необходимо производить ресамплинг. Поскольку фильтры Фарроу - интерполяторы Лагранжа, то для них есть оценка ошибки в зависимости от порядка полиномов. Исходя из требуемой ошибки вырбрать порядок фильтра Фарроу и реализовать. В принципе на Фарроу свет клином не сошелся и можно использовать любой метод интерполяции ( кусочно полиномиальные сплайны и прочее). Осталось только понять какой метод интерполяции удовлетворит вас с точки зрения точности восстановления. То что вы привели 1% точности, это скорее справедливо для аналоговой передачи.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Dec 3 2009, 15:27
Сообщение #9


Знающий
****

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



Цитата(bahurin @ Dec 3 2009, 12:25) *
Там же написано что это для синусоидального сигнала. Если сигнал несинусоидальный про эту формулу можно забыть. Вам нужно понять что вы хотите. Если сигнал с цифровой модуляцией, скажем QPSK и требуется дробный ресамплер для синхронизации, то надо понять с какой точностью необходимо производить ресамплинг. Поскольку фильтры Фарроу - интерполяторы Лагранжа, то для них есть оценка ошибки в зависимости от порядка полиномов. Исходя из требуемой ошибки вырбрать порядок фильтра Фарроу и реализовать. В принципе на Фарроу свет клином не сошелся и можно использовать любой метод интерполяции ( кусочно полиномиальные сплайны и прочее). Осталось только понять какой метод интерполяции удовлетворит вас с точки зрения точности восстановления. То что вы привели 1% точности, это скорее справедливо для аналоговой передачи.


Есть сигнал содержащий в себе основную гармонику ( fосн = 50Гц) и кратные ей высшие...
При этом основная гармоника случайно меняется от 45 до 55 Гц.
нужно построить правильный спектр гармоник (до 40-й включительно). Пусть сигнал дискретизирован с некторой частотой(????) и отфильтрован строго до 2200Гц (40-я гармноника для fосн = 55Гц).
Теперь необходимо передискретизировать сигнал, с учётом измеренного значения частоты основной гармоники.
Для того, чтобы предотвратить "растекание" спектра, т.к. при дискретизации на фиксированной частоте во временное окно уместится неполное число периодов сигнала.
Только так можно получить верный спектр. Этот метод производится как альтернатива оконному взвешиванию.
Никакая аппаратная передискретизация не годится.
Вот суть вопроса!

Теперь о порядке фильтра Фарроу.
Пользователь Евгений Николаев писал:

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

погрешность интерполяции зависит от порядка... я так думаю.

Так вот! Вопрос стоит вопрос в том, чтобы по какому-либо правилу выбрать частоту дискретизации приходящую на интерполятор!!!!????????
и всё...)

Сообщение отредактировал TigerSHARC - Dec 3 2009, 15:29
Go to the top of the page
 
+Quote Post
alexkok
сообщение Dec 3 2009, 18:06
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(TigerSHARC @ Dec 3 2009, 19:27) *
Есть сигнал содержащий в себе основную гармонику ( fосн = 50Гц) и кратные ей высшие...
При этом основная гармоника случайно меняется от 45 до 55 Гц.
нужно построить правильный спектр гармоник (до 40-й включительно). Пусть сигнал дискретизирован с некторой частотой(????) и отфильтрован строго до 2200Гц (40-я гармноника для fосн = 55Гц).
Теперь необходимо передискретизировать сигнал, с учётом измеренного значения частоты основной гармоники.
Для того, чтобы предотвратить "растекание" спектра, т.к. при дискретизации на фиксированной частоте во временное окно уместится неполное число периодов сигнала.
Только так можно получить верный спектр. Этот метод производится как альтернатива оконному взвешиванию.
Никакая аппаратная передискретизация не годится.
Вот суть вопроса!

ИМХО Вы ошибочно зациклились на передискретизации.
"суть вопроса" не в передискретизации, а в наиболее точной оценке спектра.
Предлагаю другой вариант.
Это fitting.
Процедура такая:
1. Накладываем окно с малым уровнем боковиков (<90дБ) на входной массив.
2. Делаем ДПФ на основной частоте, результаты ДПФ используем как входные данные для фиттинга.
3. Определяем с помощью фиттинга частоту и фазу основной гармоники по минимуму в одной из квадратур.
Естественно при каждой итерации повторяя п.2.
4. Если есть желание, определяем фиттингом же первую производную частоты.
5. После этого можно также ограничить импульсные помехи, если они есть, и повторить п. 3, 4.
6. Получив параметры основной частоты вычисляем при помощи ДПФ все гармоники.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TigerSHARC   Фильтры фарроу   Dec 1 2009, 14:00
|- - des00   Цитата(alex_os @ Dec 3 2009, 00:40) Чего ...   Dec 3 2009, 07:06
||- - alex_os   Цитата(fontp @ Dec 3 2009, 11:00) Вы, нав...   Dec 3 2009, 08:30
|||- - fontp   Цитата(alex_os @ Dec 3 2009, 11:30) Дык, ...   Dec 3 2009, 08:58
||||- - alex_os   Цитата(fontp @ Dec 3 2009, 11:58) Тогда д...   Dec 3 2009, 09:34
|||- - Serg76   Цитата(alex_os @ Dec 3 2009, 11:30) ...пр...   Dec 3 2009, 20:34
|||- - alex_os   Цитата(Serg76 @ Dec 3 2009, 23:34) если я...   Dec 4 2009, 11:00
|||- - Serg76   Цитата(alex_os @ Dec 4 2009, 14:00) Да им...   Dec 4 2009, 11:17
||- - TigerSHARC   Цитата(alexkok @ Dec 3 2009, 21:06) ИМХО ...   Dec 3 2009, 19:02
||- - alexkok   Цитата(TigerSHARC @ Dec 3 2009, 23:02) Я ...   Dec 3 2009, 21:50
||- - alexkok   Цитата(TigerSHARC @ Dec 3 2009, 23:02) Я ...   Dec 3 2009, 23:48
|- - des00   Цитата(alex_os @ Dec 3 2009, 00:40) p.s. ...   Dec 3 2009, 10:38
|- - alex_os   Цитата(des00 @ Dec 3 2009, 13:38) реализу...   Dec 3 2009, 11:03
- - TigerSHARC   Спасибо!   Dec 1 2009, 15:58
- - thermit   Почитайте про интерполяцию лагранжа... И вообще, п...   Dec 1 2009, 16:24
|- - TigerSHARC   Цитата(thermit @ Dec 1 2009, 19:24) Почит...   Dec 2 2009, 20:37
- - thermit   ЦитатаTigerSHARC: но скажите, что по этой формуле(...   Dec 3 2009, 12:30
- - thermit   ЦитатаTigerSHARC: Так вот! Вопрос стоит вопрос...   Dec 4 2009, 10:27
|- - TigerSHARC   Цитата(thermit @ Dec 4 2009, 13:27) Для к...   Dec 4 2009, 12:14
- - thermit   ЦитатаTigerSHARC: Боюсь покзатться назойливым(или ...   Dec 4 2009, 13:03


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

 


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


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