Страница 3 из 5 Первая 12345 Последняя
Показано с 41 по 60 из 86

Тема: Многоканальный FIR процессор

  1. #1 Показать/скрыть первое сообщение.
    Новичок
    Автор темы
    Аватар для trox
    Регистрация
    09.02.2015
    Сообщений
    13

    По умолчанию Многоканальный FIR процессор

    Неспешно разрабатывается многоканальный (8 каналов) FIR процессор. Хотелось бы услышать мнение заинтересованного большинства насчет необходимого функционала.
    На данный момент времени характеристики таковы :
    1. Оптический (toslink) цифровой вход (Обсуждаемо).
    2. Оптические (toslink) цифровые выходы (4 выходов - в каждом по 2 канала, - итого 8 каналов). (Обсуждаемо).
    3. Дискретизация входного сигнала - 32 ~ 192 Кгц, 24 бита.
    4. Дискретизация выходного сигнала - 96 Кгц, 24 бита.
    5. Внутренняя обработка - 32 бита, плавающая точка (в дальнейшем возможно обновление - 64 бита, плавающая точка).
    6. Кроссоверная секция (FIR фильтрация) - до 4096 taps на каждый канал (в дальнейшем возможно модификация). Возможна произвольная коррекция АЧХ звукового сигнала с помощью FIR фильтров.
    7. Временная задержка - 0 ~ 20 mc в каждом канале с шагом 10 мкс.
    8. Регулирование выходного уровня - 0 ~ 60 дб в каждом канале с шагом 0.5 дб (Обсуждаемо).
    9. Мастер регулировка уровня (Обсуждаемо).
    10. В дальнейшем возможно реконфигурирование процессора (изменение его аппаратной архитектуры).
    11. Управление и конфигурирование процессора - USB интерфейс.

    Готов выслушать дальнейшие предложения, обсуждения.

  2. #41
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Многоканальный FIR процессор

    Меня очень интересует применение плисок, как дсп. Объясните мне, пожалуйста, "эквивалентность параметров" при сравнении специализированных под DSP чипов и универсальных программируемых чипов (например, на странице производителя http://www.xilinx.com/products/silic...a/artix-7.html говорится про 930GMAC/s; следует ли, что чип этой серии плисок эквивалентен 194 чипам самой быстрой "тигровой акулы" http://www.analog.com/en/processors-...ARC_Processors ? )

  3. #42
    Завсегдатай Аватар для mr-marlen
    Регистрация
    03.05.2009
    Адрес
    Москва, Бун.Луга
    Возраст
    36
    Сообщений
    4,016

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от trox Посмотреть сообщение
    В какую сторону "пилить" прототип, что народу нужно, какие возможности, функции? Короче чего и сколько вешать в граммах?
    1) Копия miniSHARC, генератор устанавливается на плату опционально. Клок заводится с ЦАП на дополнительный пин. Чтобы было проще стыковать с ЦАП, попробовать сделать работу с сеткой 256xFs (в Шарке 512xFs).
    2) Кол-во тапов при 48кГц для саба около 32к, для НЧ около 16к; для СЧ около 8к, для ВЧ около 4к. (идеальный вариант, допустимо уменьшить все в 2-3 раза при 48кГц)

  4. #43
    котег Аватар для _Сам_
    Регистрация
    04.05.2010
    Адрес
    ☂☂☂Питер☂☂☂
    Сообщений
    2,305

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от Игорь Гапонов Посмотреть сообщение
    4096 тапов не могут дать даже 12-битной точности FIR-ресемпла ЛЮБОГО ограниченного по спектру и по шкале отсчётов СИГНАЛА (а не какого-то "наиболее вероятного").
    решил проверить. Написал программу ресеплирования синуса с сетки 44.1 кГц на сетку 48 кГц по формуле Ланцоша

    тескт программы


    #include <WINDOWS.H>
    #include <STDIO.H>
    #include <MATH.H>

    /*------------------------------------------*/
    double Func ( double Time )
    {
    return sin ( 20000.0 * Time * double ( 2 ) * 3.14159265358979323846E0 );
    }
    /*------------------------------------------*/
    double SinC ( double X )
    {
    X *= 3.14159265358979323846E0;

    if ( ( -0.0001E0 < X ) && ( X < +0.0001E0 ) )
    return ( double ( 1 ) - X * X / double ( 6 ) *
    ( double ( 1 ) - X * X / double ( 20 ) ) );
    else
    return ( sin ( X ) / X );
    }
    /*------------------------------------------*/
    double Weight ( double t, int LanczosParam )
    {
    if ( t < -LanczosParam ) return double ( 0 );

    if ( t > +LanczosParam ) return double ( 0 );

    return SinC ( t ) * SinC ( t / double ( LanczosParam ) ) ;
    }
    /*------------------------------------------*/
    double Resampler ( int iIndex48kHz )
    {
    double RealTime = double ( iIndex48kHz ) / double ( 48000 );
    double rIndex44kHz = RealTime * double ( 44100 );
    int iIndex44kHz = int ( rIndex44kHz );

    int LanczosParam = 2048;

    int index = iIndex44kHz - LanczosParam;
    double Sum = double ( 0 );
    for (;;)
    {
    double t = rIndex44kHz - double ( index );
    if ( t < -LanczosParam ) break;

    double time = double ( index ) / double ( 44100 );
    Sum += Weight ( t, LanczosParam ) * Func ( time );
    index ++;
    }

    return Sum;
    }
    /*------------------------------------------*/
    void main ()
    {
    double DeltaMax = double( 0 );
    for ( int i = 0; i < 48000; i++ )
    {
    double Delta = fabs( Resampler(i) - Func(double(i)/double(48000)) );
    if ( DeltaMax < Delta ) DeltaMax = Delta;
    }
    printf ( "DeltaMax = %20.14e\n", DeltaMax );
    }
    [свернуть]

    4096 тапам соответсвует параметр фильтра а=2048
    при интерполяции 200 Гц и 2 кГц ошибка не более 1.е-8 (26 бит)
    для 20 кГц хуже, но всё равно 1.7е-6 (19 бит)

  5. #44
    Завсегдатай Аватар для mr-marlen
    Регистрация
    03.05.2009
    Адрес
    Москва, Бун.Луга
    Возраст
    36
    Сообщений
    4,016

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от _Сам_ Посмотреть сообщение
    для 20 кГц хуже, но всё равно 1.7е-6 (19 бит)
    Делаю ставку на то, что это из-за низкой частоты дискретизации 44,1 - 48кГц.
    Сделай такой-же расчет при 512 тапах 48кГц и при 4096, но с дискретизацией 96кГц.

  6. #45
    Частый гость Аватар для LexaryStyle
    Регистрация
    25.07.2006
    Сообщений
    452

    По умолчанию Re: Многоканальный FIR процессор

    Чем оно будет лучше того же PXA-H800 например? Стоит овчинка выделки?

  7. #46
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    36,229

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от LexaryStyle Посмотреть сообщение
    Чем оно будет лучше того же PXA-H800 например?
    А можно встречный вопрос - а чем PXA-H800 лучше, и есл ион лучше - почему все поголовно его не применяют?
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  8. #47
    котег Аватар для _Сам_
    Регистрация
    04.05.2010
    Адрес
    ☂☂☂Питер☂☂☂
    Сообщений
    2,305

    По умолчанию Re: Многоканальный FIR процессор

    mr-marlen, у меня вот что получилось:

    Нажмите на изображение для увеличения. 

Название:	tabl.png 
Просмотров:	231 
Размер:	4.1 Кб 
ID:	229440

  9. #48
    Завсегдатай Аватар для mr-marlen
    Регистрация
    03.05.2009
    Адрес
    Москва, Бун.Луга
    Возраст
    36
    Сообщений
    4,016

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от _Сам_ Посмотреть сообщение
    mr-marlen, у меня вот что получилось:
    Спасибо. Результат ожидаемый.

  10. #49
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от _Сам_ Посмотреть сообщение
    решил проверить. Написал программу ресеплирования синуса с сетки 44.1 кГц на сетку 48 кГц по формуле Ланцоша
    Я тоже думал, типа, "с точностью интерполяции всё давно решено". Но оказалось всё сложнее. Основание (строгое утверждение для финитных последовательностей, т.е. содержащих конечное число ненулевых семплов с ограниченной амплитудой): всегда можно указать сигнал, отсекаемая часть которого, влияет на интервал интерполяции больше любой наперёд заданной точности. Это следствие более общего свойства разложения по синк функциям ограниченных (финитных) по спектру сигналов: существуют расходящиеся на заданном интервале ряды Виттекера/Шеннона. " Бесконечный синус" к таким не относится, но вот некоторые "радиоимпульсы" (конечное число периодов), пропущенные через синк фильтр именно такие. Пример такого "особенного" сигнала в ветке про межсемловый клипинг (кстати, очень хорош для оценки и сравнения ресемплеров). Используя его как "источник идеи реализации последовательности" при должной сообразительности Вы сами можете синтезировать многочисленные "отсекаемые части" с ограниченными по шкале отсчётами, влияющие на интервал интерполяции сильнее, чем младший разряд любой битности и любой удалённости от этого интервала. Простейшая такая "отсекаемая часть" - чередование отрицательных и положительных отсчётов на пол шкалы с ограниченным количеством отсчётов, варьируя число которых, можно поиметь любой заданный выброс на любом заданном расстоянии этой отсекаемой части от интервала интерполяции. Сигнал, соответствующий такой последовательности, ограничен и по "межсемпловой" амплитуде и по спектру (удовлетворяет всем условиям т. Котельникова).

    В Вашем случае "4096 тапов по Ланцошу", в исходной последовательности замените один максимальный отсчёт любого допустимого синуса единичным отсчётом "противоположной полярности", проведите FIR интерполяцию и посмотрите, что случится с амплитудной ошибкой на интервалах больших 4096 периодов от этого отсчёта. Истинное значение равно разности синуса и синк-функции амплитудой во всю шкалу- +2, синхронизированной с максимумом синуса - +1. Вы же сами согласились, что "по Ланцошу" синк-функция за этими пределами равна нулю

    Очень физически внятная книжка по этой теме (1971 год!) - http://www.twirpx.com/file/869170/
    Последний раз редактировалось Игорь Гапонов; 11.02.2015 в 20:11.

  11. #50
    Завсегдатай Аватар для sia_2
    Регистрация
    18.07.2005
    Сообщений
    4,009

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от Игорь Гапонов Посмотреть сообщение
    Меня очень интересует применение плисок, как дсп. Объясните мне, пожалуйста, "эквивалентность параметров" при сравнении специализированных под DSP чипов и универсальных программируемых чипов (например, на странице производителя http://www.xilinx.com/products/silic...a/artix-7.html говорится про 930GMAC/s; следует ли, что чип этой серии плисок эквивалентен 194 чипам самой быстрой "тигровой акулы" http://www.analog.com/en/processors-...ARC_Processors ? )
    В умелых руках - разница может быть и больше, ценой того, что обработка проектируется вплоть до уровня "мелкого железа". Но, вообще говоря, для практических задач достаточно хорошего владения особенностями современных видеопроцессоров - там очень мощные средства поддержки распараллеливаемых вычислений.

  12. #51
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Многоканальный FIR процессор

    2sia_2

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

  13. #52
    Мимо проходил Аватар для Костя Мусатов
    Регистрация
    05.03.2004
    Адрес
    Москва
    Возраст
    57
    Сообщений
    5,529

    По умолчанию Re: Многоканальный FIR процессор

    Я не думаю, что надо строить столь длинные фильтры только из предположения, что можно придумать сигнал, на котором можем получить ошибку в последнем бите.
    Ведь различия в звучании, которые, иногда обоснованно, приписывают цифровым фильтрам с ограниченной длинной, можно проконтролировать в том же Матлабе. Можно взять набор характерных треков, на которых, как вам кажется, наиболее заметны различия, связанный с цифровой фильтрацией. Далее обработать их с двойной плавающей точкой и удлиненным фильтром и сохранить результат в 24 битах. Потом проделать такую же операцию, но с ограниченной разрядностью и длиной и сравнить результаты.
    Что-то мне сдается, что большая часть мифов может рухнуть...

  14. #53
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Многоканальный FIR процессор

    Что говорит теория в абсолютном смысле (для любой финитной последовательности семплов "по Котельникову"), так это то, что выходная (результирующая) максимальная разрядность ресемплинга жёстко связана с "длиной файла" и для именно реальных "длин" порядка гигасемлов не превышает +5 бит. Т.е. даёт совсем не астрономический рациональный критерий округления ещё до начала вычислений. А это очень много!

  15. #54
    Завсегдатай Аватар для anatol0
    Регистрация
    14.05.2005
    Адрес
    Москва
    Возраст
    64
    Сообщений
    2,380

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от sia_2 Посмотреть сообщение
    Но, вообще говоря, для практических задач достаточно хорошего владения особенностями современных видеопроцессоров - там очень мощные средства поддержки распараллеливаемых вычислений.
    Все дороги ведут в Рим к платформе PC с технологией CUDA...

  16. #55
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Многоканальный FIR процессор

    Я знаю одно - дешёвый аудиоредактор может быть только в мышеловке.

  17. #56
    Мимо проходил Аватар для Костя Мусатов
    Регистрация
    05.03.2004
    Адрес
    Москва
    Возраст
    57
    Сообщений
    5,529

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от Игорь Гапонов Посмотреть сообщение
    Что говорит теория в абсолютном смысле (для любой финитной последовательности семплов "по Котельникову"), так это то, что выходная (результирующая) максимальная разрядность ресемплинга жёстко связана с "длиной файла" и для именно реальных "длин" порядка гигасемлов не превышает +5 бит. Т.е. даёт совсем не астрономический рациональный критерий округления ещё до начала вычислений. А это очень много!
    Я что-то не понял, о каких +5 бит идет речь. Тем более ресемплирование завязано еще на применяемый алгоритм.

  18. #57
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Многоканальный FIR процессор

    И о любых "пяти битах" (превышение выходной амплитуды над максимально возможной исходной) и любом алгоритме. Всё остальное - от разработчика. Например, исходных n бит (но PCM!) длина файла m семплов, получите макс. возможную амплитуду на выходе.

    Кстати, аналогично определяется максимально возможная абсолютная ошибка интерполяции по заданной исходной точности отсчётов. За основу принимается не распределение вероятности по уровню ошибки, а значение конкретного максимума по всем отсчётам. Например, в уже зарегистрированных семплах и отсутствии какой либо информации о свойствах регистратора "априорно" считается таковой 1/2 младшего разряда дискретного отсчёта. Максимум ошибки приходится на середину между отсчётами. Таким образом, относительная погрешность в идеальном ресемплере не изменяется, но абсолютная в общем случае растёт. Но это совсем не даёт повода заменять "нижние разряды" результатов интерполяции нулями.

    Собственно, существует и известна точная функция "предельной интерполяционной дуги".
    Последний раз редактировалось Игорь Гапонов; 11.02.2015 в 21:55.

  19. #58
    Профиль удален Аватар для bukvarev
    Регистрация
    18.08.2012
    Адрес
    Нижний Новгород
    Возраст
    51
    Сообщений
    1,786

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от Игорь Гапонов Посмотреть сообщение
    Вы же сами согласились, что "по Ланцошу" синк-функция за этими пределами равна нулю
    Манипуляция с граничными условиями.. Классика. Еще бывает, приводят сигналы, не содержащие части векторных компонент. Сдвиньте этот "сэмпл", к примеру, на 1/3.333.. интервала дискретизации, он превратится в нормальный sinc, и с ошибкой станет все ок . Или повторите эксперимент при более точном представлении сигналов (та же полоса, но в несколько раз выше частота дискретизации).

    Но вот что касается выполнения теоремы Котельникова при малом инженерном запасе, и практической обработке сигналов, содержащих в спектре нули, то да, проблема недостаточной частоты дискретизации, кмк, есть. Причем, многое будет зависеть от аппаратуры, с помощью которой производится запись реальных сигналов. Скорее всего, некоторая ошибка часто присутствует уже на самом носителе, к сожалению . И это принципиально ограничивает возможность восстановления волновой формы.
    Если ничего не путаю, то у SACD регламентирована структура SD модулятора ацп (1 бит, 5 порядок). Там погрешности можно оценить более точно ..
    С наилучшими пожеланиями, Евгений.

  20. #59
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Многоканальный FIR процессор

    Цитата Сообщение от bukvarev Посмотреть сообщение
    Манипуляция с граничными условиями.. Классика....
    тогда претензии к классику - к Лацошу, т.к. не я и не Шеннон с Котельниковым, а он изменил точные условия интерполяции не на эквивалентные, а на приблизительные И самое главное, НЕ СКРЫВАЛ ЭТОГО.


    Подчёркиваю. Все "окна" и временные и частотные и те, о которых ещё никто не имеет представления - компромисс между бесконечностью (требования теоремы) и реальностью. Например, "конечное число не нулевых отсчётов с ограниченной точностью и ограниченной амплитудой" в реальном файле. Вот от этого и пляшем. Ясное дело, что по файлу из одного отсчёта не имеет смысла восстанавливать синк функцию до амплитуд меньших 1/2 мзр. Что и определяет "длину" выходного файла при любом ресемплинге, которая далеко "не кратна" выбранным характеристикам конкретного ресемплера . Другими словами, сигнал сам выбирает ресемплер.
    Последний раз редактировалось Игорь Гапонов; 11.02.2015 в 22:26.

  21. #60
    Мимо проходил Аватар для Костя Мусатов
    Регистрация
    05.03.2004
    Адрес
    Москва
    Возраст
    57
    Сообщений
    5,529

    По умолчанию Re: Многоканальный FIR процессор

    А, понял, что речь идет о выбросах при ресамплинге. Но есть одна тонкость, мы работаем не с умозрительным сигналом, а с вполне конкретным музыкальным. Пока я занимался ресамплингом на DSP, то имел возможность созерцать такие выбросы в реалии, но не было зафиксировано ни одного выброса больше чем на 6 дБ превышения, т.е. на 1 бит. Конечно, у меня окно фильтра было не длиной в исходный файл, но увеличение окна не давало появления этих всплесков выше. Мало того, даже такие всплески фиксировались крайне редко. Наиболее частые всплески были в рамках +3 дБ, таких пруд пруди при ресемплировании компрессированых записей.

Страница 3 из 5 Первая 12345 Последняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •