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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Передискретизация звука методом интерполяции, подскажите качественный алгоритм
soolo
сообщение Nov 17 2011, 11:35
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 17-11-11
Пользователь №: 68 362



Стоит казалось бы банальная задача: Сигнал с опорной частотой 44.1 кГц преобразовать в сигнал с частотой 48 кГц. Алгоритмы с FFT по некоторым причинам не подходят, поэтому было решено использовать интерполяцию. Но коэффициент 1.088 и звуки вплоть до всеми любимых 20 кГц пока что ставят нас в тупик. Алгоритмы Lanczos, B-Spline, Mittchel, Sinc результат дают, но где-то гармоники зашкаливают, где-то частоты урезаются.
В первую очередь интересуют минимальные гармонические искажения, задача вторая по степени важности - минимальный срез АЧХ. Может быть есть более подходящие для обработки звука алгоритмы? Подскажите, пожалуйста!
Go to the top of the page
 
+Quote Post
petrov
сообщение Nov 17 2011, 11:39
Сообщение #2


Гуру
******

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



Полифазные фильтры + интерполятор Farrow.
Go to the top of the page
 
+Quote Post
soolo
сообщение Nov 17 2011, 11:56
Сообщение #3





Группа: Участник
Сообщений: 14
Регистрация: 17-11-11
Пользователь №: 68 362



Цитата(petrov @ Nov 17 2011, 14:39) *
Полифазные фильтры + интерполятор Farrow.

Спасибо, попробуем.

Буду рад и другим советам. Мощности для реализации имеются =)
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Nov 17 2011, 12:31
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(soolo @ Nov 17 2011, 15:35) *
Сигнал с опорной частотой 44.1 кГц преобразовать в сигнал с частотой 48 кГц.

А по классике, представить каждый отсчет слева и справа синком и просуммировать. Успех гарантирован. Легко посчитать сколько отсчетов надо брать. Но результат не радует так как синк плохо спадает и точек надо много. Думаю для любого метода их столько и нужно, а если взяли меньше - легко посчитать погрешность просуммировав остальные.


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post
soolo
сообщение Nov 17 2011, 13:18
Сообщение #5





Группа: Участник
Сообщений: 14
Регистрация: 17-11-11
Пользователь №: 68 362



Цитата(SPACUM @ Nov 17 2011, 15:31) *
А по классике, представить каждый отсчет слева и справа синком и просуммировать. Успех гарантирован. Легко посчитать сколько отсчетов надо брать. Но результат не радует так как синк плохо спадает и точек надо много. Думаю для любого метода их столько и нужно, а если взяли меньше - легко посчитать погрешность просуммировав остальные.

Пробовали Синк со степенью полинома 3 и 5 - результат один и тот же - сильные гармонические искажения + усиление высоких частот
Go to the top of the page
 
+Quote Post
thermit
сообщение Nov 17 2011, 13:27
Сообщение #6


Знающий
****

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



Не надо ничего изобретать. Все уже изобретено.
https://ccrma.stanford.edu/~jos/resample/

Вкратце - повышение частоты дискретизации в целое число раз и понижение до целевой при помощи интерполяции лагранжа (например) вырождается в полифазный фильтр+лагранж.
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 17 2011, 13:44
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



а зачем здесь к полифазному фильтру еще и лагранж(или фарроу) ?
тогда уж upsampling в 2 раза с помощью ФНЧ КИХ-фильтра, а там уже и Лагранж 6-8 узлов (Lanczos, B-Spline) для понижения 88.2->48
Go to the top of the page
 
+Quote Post
soolo
сообщение Nov 17 2011, 13:50
Сообщение #8





Группа: Участник
Сообщений: 14
Регистрация: 17-11-11
Пользователь №: 68 362



Забыл сказать в начале топика. Лишнего преобразования частоты тоже хотелось бы избежать. Т.к. задача преобразования 44.1 >> 48 скорее всего частный случай и в будущем трансформируется в преобразование в любую частоту. Насяльника у нас такая =)

Сообщение отредактировал soolo - Nov 17 2011, 13:52
Go to the top of the page
 
+Quote Post
petrov
сообщение Nov 17 2011, 13:57
Сообщение #9


Гуру
******

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



Цитата(Fast @ Nov 17 2011, 17:44) *
а зачем здесь к полифазному фильтру еще и лагранж(или фарроу) ?
тогда уж upsampling в 2 раза с помощью ФНЧ КИХ-фильтра, а там уже и Лагранж 6-8 узлов (Lanczos, B-Spline) для понижения 88.2->48


Хотите умножайте нули после upsampling, обычно это полифазной структурой КИХ фильтра делают.


Цитата(soolo @ Nov 17 2011, 17:50) *
Лишнего преобразования частоты тоже хотелось бы избежать.


Ничего лишнего и нету с помощью полифазного фильтра промежуточные отсчёты вычисляются для нормальной работы дробного интерполятора Лагранжа(Фарроу).
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 17 2011, 14:16
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(petrov @ Nov 17 2011, 17:57) *
Хотите умножайте нули после upsampling, обычно это полифазной структурой КИХ фильтра делают.
зачем же нули умножать в 21м веке..
смысл исключительно расширении полосы, чтобы не "накрыть" полезные составляющие спектра сигнала неравномерной частью АЧХ фильтра Лагранжа
в этом случае Лагранж можно успешно применять как на up- так и на down- sampling на любую дробную частоту
полифазные фильтры же мне кажутся громоздкими, но правда, не знаю , насколько они удобны в FPGA-реализации


Go to the top of the page
 
+Quote Post
petrov
сообщение Nov 17 2011, 14:26
Сообщение #11


Гуру
******

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



Цитата(Fast @ Nov 17 2011, 18:16) *
зачем же нули умножать в 21м веке..
смысл исключительно расширении полосы, чтобы не "накрыть" полезные составляющие спектра сигнала неравномерной частью АЧХ фильтра Лагранжа
в этом случае Лагранж можно успешно применять как на up- так и на down- sampling на любую дробную частоту
полифазные фильтры же мне кажутся громоздкими, но правда, не знаю , насколько они удобны в FPGA-реализации


Вы понимаете что
Цитата(Fast @ Nov 17 2011, 17:44) *
тогда уж upsampling в 2 раза с помощью ФНЧ КИХ-фильтра
это и есть полифазный фильтр, если нули не умножать, а поменять местами upsampling и КИХ ФНЧ?.
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 17 2011, 14:36
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(petrov @ Nov 17 2011, 18:26) *
Вы понимаете что это и есть полифазный фильтр, если нули не умножать, а поменять местами upsampling и КИХ ФНЧ?.
да, при упрощении. Но up-samp в 2 раза и re-samp на произвольную частоту с помощью полифазного фильтра все же разные вещи.
Go to the top of the page
 
+Quote Post
petrov
сообщение Nov 17 2011, 15:04
Сообщение #13


Гуру
******

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



Цитата(Fast @ Nov 17 2011, 18:36) *
да, при упрощении.


Какое нафиг упрощение? О чём вы? Это есть натуральный полифазный фильтр.

Цитата(Fast @ Nov 17 2011, 18:36) *
up-samp в 2 раза


И не обязательно в 2, в зависимости от необходимого качества может и больше потребоваться.


Цитата(Fast @ Nov 17 2011, 18:36) *
re-samp на произвольную частоту с помощью полифазного фильтра все же разные вещи.


Про это речи вообще не было.
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Nov 17 2011, 16:16
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(soolo @ Nov 17 2011, 17:18) *
Пробовали Синк со степенью полинома 3 и 5 - результат один и тот же - сильные гармонические искажения + усиление высоких частот

Так и ошибка 1/(3 * PI) или 1/(5 * PI) тоже не очень(это если по 3 или по 5 в каждую сторону). При насыщенном почти равномерном спектре Фарроу 6 и 10 порядка будут еще хуже. А метод идеальный по определению. Можно ли его выполнить побыстрее для большего числа точек не знаю.

Сообщение отредактировал SPACUM - Nov 17 2011, 21:12


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 17 2011, 17:18
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(petrov @ Nov 17 2011, 19:04) *
Какое нафиг упрощение? О чём вы? Это есть натуральный полифазный фильтр.
такой нафиг, что полифазный - это форма реализации. Полифазным может быть как КИХ, так и БИХ, к примеру, и КИХ с невысчитываемыми нулями не становится автоматом полифазным, также как не становится автоматом лагранж интерполятором фарроу, хотя фарроу одна из форм реализации лагранжа. А становится при определенных условиях реализации.
Цитата(petrov @ Nov 17 2011, 19:04) *
И не обязательно в 2, в зависимости от необходимого качества может и больше потребоваться.
и каким же образом up-samp на полифазнике в N-раз (+Фарроу) нам поднимет качество больше чем up-samp на КИХ-фильтре в 2 раза (+Фарроу)?

p.s. Могу представить только один вариант, если это Фарроу 3го порядка, с пологой АЧХ, для которого надо стабильно повышать в 4, а лучше в 8 раз сигнал. При Лагранже 8-порядка повышай хоть в 4, 8, 128 - качеству взяться неоткуда..

Цитата(SPACUM @ Nov 17 2011, 20:16) *
При насыщенном почти равномерном спектре Фарроу 6 и 10 порядка будут еще хуже. А метод идеальный по определению. Можно ли его выполнить побыстрее для большего числа точек не знаю.
при насыщенном и равномерном спектре до частоты Найквиста ничто не поможет , любая интерполяция будет с искажениями. Потому что цифровать надо было с бОльшей частотой. Никакой преселектор, ни какое АЦП с дельта-сигма-модуляцией не имеет прямоугольной характеристики фильтра НЧ. И если мы видим сильный сигнал вблизи найквиста, сто пудово часть его уже "завернулась" в полосу полезного сигнала при оцифровке
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 19:52
Рейтинг@Mail.ru


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