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

 
 
> Передискретизация звука методом интерполяции, подскажите качественный алгоритм
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
 
Start new topic
Ответов
Fast
сообщение Nov 21 2011, 08:10
Сообщение #2


Местный
***

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



для интереса, т.е. чистоты эксперимента, попробуйте вот этот ФНЧ для 2x up-samp перед Lanczos
в нем 256 отводов, обе части симметричны, потребуется 128 умножений

Код
const int BL = 256;
const int16_T B[256] = {
       11,     22,      9,    -18,    -15,     14,     19,    -12,    -22,
        9,     25,     -7,    -27,      5,     29,     -4,    -31,      2,
       33,      0,    -35,     -1,     37,      3,    -40,     -5,     42,
        6,    -44,     -8,     47,     10,    -49,    -12,     52,     14,
      -54,    -16,     57,     18,    -60,    -20,     63,     22,    -66,
      -25,     69,     27,    -72,    -30,     76,     33,    -80,    -36,
       83,     39,    -87,    -43,     91,     46,    -96,    -50,    100,
       54,   -105,    -58,    110,     63,   -115,    -67,    121,     73,
     -126,    -78,    133,     84,   -139,    -90,    146,     97,   -154,
     -104,    162,    112,   -171,   -121,    180,    130,   -191,   -141,
      202,    152,   -214,   -165,    228,    179,   -243,   -195,    261,
      213,   -280,   -233,    302,    257,   -328,   -285,    359,    318,
     -395,   -358,    440,    407,   -496,   -470,    567,    553,   -664,
     -666,    800,    833,  -1008,  -1101,   1367,   1606,  -2135,  -2919,
     4946,  14721,  14721,   4946,  -2919,  -2135,   1606,   1367,  -1101,
    -1008,    833,    800,   -666,   -664,    553,    567,   -470,   -496,
      407,    440,   -358,   -395,    318,    359,   -285,   -328,    257,
      302,   -233,   -280,    213,    261,   -195,   -243,    179,    228,
     -165,   -214,    152,    202,   -141,   -191,    130,    180,   -121,
     -171,    112,    162,   -104,   -154,     97,    146,    -90,   -139,
       84,    133,    -78,   -126,     73,    121,    -67,   -115,     63,
      110,    -58,   -105,     54,    100,    -50,    -96,     46,     91,
      -43,    -87,     39,     83,    -36,    -80,     33,     76,    -30,
      -72,     27,     69,    -25,    -66,     22,     63,    -20,    -60,
       18,     57,    -16,    -54,     14,     52,    -12,    -49,     10,
       47,     -8,    -44,      6,     42,     -5,    -40,      3,     37,
       -1,    -35,      0,     33,      2,    -31,     -4,     29,      5,
      -27,     -7,     25,      9,    -22,    -12,     19,     14,    -15,
      -18,      9,     22,     11
};
\
и глянем разницу в картинках
Go to the top of the page
 
+Quote Post
petrov
сообщение Nov 21 2011, 08:40
Сообщение #3


Гуру
******

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



Цитата(Fast @ Nov 21 2011, 12:10) *
для интереса, т.е. чистоты эксперимента, попробуйте вот этот ФНЧ для 2x up-samp перед Lanczos
в нем 256 отводов, обе части симметричны, потребуется 128 умножений


Полифазный надо делать с нечётным количеством коэффициентов, одна фаза получилась бы с одним единственным коэффициентом(ведь каждый второй выходной отсчёт равен входному), все вычисления на исходной частоте.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- soolo   Передискретизация звука методом интерполяции   Nov 17 2011, 11:35
- - petrov   Полифазные фильтры + интерполятор Farrow.   Nov 17 2011, 11:39
|- - soolo   Цитата(petrov @ Nov 17 2011, 14:39) Полиф...   Nov 17 2011, 11:56
|- - soolo   Цитата(petrov @ Nov 17 2011, 14:39) Полиф...   Nov 17 2011, 18:53
|- - Самурай   Цитата(soolo @ Nov 17 2011, 21:53) Попроб...   Nov 17 2011, 19:02
|- - Fast   Цитата(soolo @ Nov 17 2011, 22:53) Попроб...   Nov 17 2011, 19:08
||- - soolo   Цитата(Fast @ Nov 17 2011, 22:08) фрагмен...   Nov 18 2011, 07:19
||- - Fast   Цитата(soolo @ Nov 18 2011, 11:19) Да, ко...   Nov 18 2011, 08:31
||- - soolo   Цитата(Fast @ Nov 18 2011, 11:31) исходны...   Nov 18 2011, 08:48
||- - Fast   линейность ФЧХ принципиальна ? Цитата(soolo ...   Nov 18 2011, 10:26
||- - soolo   Ну вот и свершилось! Lanczos и степень полином...   Nov 18 2011, 12:14
|- - petrov   Цитата(soolo @ Nov 17 2011, 22:53) Попроб...   Nov 18 2011, 07:39
|- - soolo   Цитата(petrov @ Nov 18 2011, 10:39) Плохо...   Nov 18 2011, 08:24
|- - petrov   Цитата(soolo @ Nov 18 2011, 12:24) Расска...   Nov 18 2011, 08:57
- - SPACUM   Цитата(soolo @ Nov 17 2011, 15:35) Сигнал...   Nov 17 2011, 12:31
|- - soolo   Цитата(SPACUM @ Nov 17 2011, 15:31) А по ...   Nov 17 2011, 13:18
|- - SPACUM   Цитата(soolo @ Nov 17 2011, 17:18) Пробов...   Nov 17 2011, 16:16
- - thermit   Не надо ничего изобретать. Все уже изобретено. htt...   Nov 17 2011, 13:27
- - Fast   а зачем здесь к полифазному фильтру еще и лагранж(...   Nov 17 2011, 13:44
|- - soolo   Забыл сказать в начале топика. Лишнего преобразова...   Nov 17 2011, 13:50
|- - petrov   Цитата(Fast @ Nov 17 2011, 17:44) а зачем...   Nov 17 2011, 13:57
|- - Fast   Цитата(petrov @ Nov 17 2011, 17:57) Хотит...   Nov 17 2011, 14:16
|- - petrov   Цитата(Fast @ Nov 17 2011, 18:16) зачем ж...   Nov 17 2011, 14:26
|- - Fast   Цитата(petrov @ Nov 17 2011, 18:26) Вы по...   Nov 17 2011, 14:36
|- - petrov   Цитата(Fast @ Nov 17 2011, 18:36) да, при...   Nov 17 2011, 15:04
|- - Fast   Цитата(petrov @ Nov 17 2011, 19:04) Какое...   Nov 17 2011, 17:18
- - thermit   ЦитатаFast: и каким же образом up-samp на полифазн...   Nov 17 2011, 18:11
|- - Fast   Цитата(thermit @ Nov 17 2011, 22:11) Бере...   Nov 17 2011, 18:31
- - Самурай   Цитата(soolo @ Nov 17 2011, 14:35) Стоит ...   Nov 17 2011, 18:45
|- - Eger   Цитата(Самурай @ Nov 17 2011, 21:45) Я не...   Nov 18 2011, 10:12
||- - des00   Цитата(Eger @ Nov 18 2011, 04:12) скажите...   Nov 18 2011, 10:22
||- - Eger   Цитата(des00 @ Nov 18 2011, 14:22) а что ...   Nov 24 2011, 13:33
|- - alex_os   Цитата(Самурай @ Nov 17 2011, 21:45) Я не...   Nov 18 2011, 18:15
- - thermit   Задаетесь ошибкой интерполяции для гармонического ...   Nov 17 2011, 19:07
- - Alexey Lukin   soolo, наиболее распространённый для аудиосигналов...   Nov 17 2011, 19:42
- - thermit   Цитатаsoolo: Lanczos и степень полинома 7 дали иде...   Nov 18 2011, 12:25
- - Fast   да как-то не верю, что все хорошо и звона нет sool...   Nov 18 2011, 17:37
|- - soolo   Цитата(Fast @ Nov 18 2011, 20:37) да как-...   Nov 18 2011, 20:02
|- - soolo   Цитата(soolo @ Nov 18 2011, 23:02) Осталс...   Nov 21 2011, 06:26
|- - Fast   Цитата(soolo @ Nov 21 2011, 10:26) Как и ...   Nov 21 2011, 07:08
|- - soolo   Это не Ланцош понизил уровень, это я не мог записы...   Nov 21 2011, 07:35
- - Fast   попробуйте протестировать не в среднем по больнице...   Nov 21 2011, 07:50
|- - soolo   Цитата(Fast @ Nov 21 2011, 10:50) попробу...   Nov 21 2011, 08:10
|- - soolo   Цитата(Fast @ Nov 21 2011, 11:10) для инт...   Nov 21 2011, 08:37
||- - Fast   Цитата(soolo @ Nov 21 2011, 12:37) . Я уж...   Nov 21 2011, 11:59
||- - petrov   Цитата(Fast @ Nov 21 2011, 15:59) не могл...   Nov 21 2011, 13:19
- - thermit   Цитатаsoolo: Зато алгоритм на 100% гибкий и позвол...   Nov 21 2011, 08:17
|- - petrov   Цитата(thermit @ Nov 21 2011, 12:17) Да у...   Nov 21 2011, 08:30
- - shkal   Посмотрите это, может быть интересно. ad1896 datas...   Nov 21 2011, 12:48


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

 


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


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