База Знаний Audio : AudioDB/БазаПрактики/Источники/CD/OversamplingFilter

 
> Правильно расположить дополнительнае «точки»
> между отсчётами, заранее не зная, где там должен быть
> сигнал? Как я могу делать то,что неизвестно В ПРИНЦИПЕ? КАК 
> ты узнаёшь «правильность» этого, своего
> оверсемплинга?

Очень просто я всё узнал. Доверился сторонним производителям, и всего лишь. В кратце, перепробовал около десятка, может даже больше, разных ЦФ и выбрал из них «правильные». Список небольшой. SM5842, SM5847 и PMD100. Остальные изделия в разной степени «неправильные».
Oleg N, а я бы, по-возможности, фотографию готового девайса посмотрел. Сложно со слов оценить, много зависит от конечного исполнения. Моё мнение, 5842 звучит лучше PMD100 и 5813 . 5847 я никогда не включал
Белка

CXD1144 и CXD1244 являются лучшими по параметрам ЦФ из всех мною виденых, а из слов знакомых сравнивавших их с продукцыей НПЦ еще и по звуку
Nazar

Вот здесь, коллега, с Вами не соглашусь. 1244- я использовал, они даже в Питере в Мега-Электронике продавались в прежние годы. Параметры у них неплохие, но субъективно они сильно уступают DF1700, SM5803/5813, 5847, 5842.
Рысь

Пока что среди тех людей что их сравнивали статистика такая что только тебе они не нравятся, кроме того корреляция параметров и звука в ЦФ практически 100%
Nazar

Ну, ведь и с моей стороны статистика тех, кому они нравятся равна ОДНОМУ человеку – то есть тебе
Насчет корреляции параметров и звучания ЦФ – согласен. Но ведь в параметры входят не только неравномерность АЧХ в полосе пропускания и подавление в полосе задержания. высокие параметры соневских ЦФ определяются их бОльшей длиной, т.е. большей результирующей длиной автокорреляции корреляции в сигнале. И не факт, что мы ее не слышим, судя по всему, слуховой аппарат очень трепетно относится к нарушению статистических связей...
Рысь

Честный ответ – слышно. Не могу сказать, что кардинально, но слышно. Более того, за то время, что я занимаюсь ЦАП-ами (более 10 лет) я постарлся по возможности в близких условиях сравнить те ЦФ, что были мне доступны (SM5803, SM5813\DF1700, SM5840, 5841, 5842, 5843, 5846, 5847, DF1704, DF1706, PMD100, CXD1144, CXD2567) на ЦАП Ad 1862. И готов в очередной раз утверждать, что разница между разными типами ЦФ отчетливо слышна. Более того, имеются и однозначные лидеры, в проядке улучшения это SM5803(5813, DF1700 – то же самое, только с параллельным интерфейсом), SM5846, SM5847, SM5842.
разница в звучании легко может быть объяснена тем, что мозг, как система мощной адаптивной фильтрации, способен воспринимать сигналы глубоко ПОД уровнем шумов, если их стат. характеристики отличются от характеристик шума. По сути стат. характеристики продуктов ошибок вычисления и интерполяции иные по сравнению с найквистовским шумом дискретизации, тепловым шумом и т.п., практически некоррелированными с сигналом при работе с ЦАП, КФ которого равна имли меньше периода дискретизации. И мы хорошо отличаем продукты неидеальности вычислений филтра, различных в разных приборах алгоритмов округления и .т.п.
С дельтасигма ЦАп все несколько сложнее, поскольку их шум дискретизации коррелирован с сигналом из-за большой длины КФ, но тем не менее, и в этом случае хорошо слышны отличия между фильтрами, в частности, при работе ЦАП SM5865 с разными ЦФ или при сравнении работы внутреннего ЦФ AD1955 и внешнего, блоаго в этих ЦАП есть возможность использования их в режиме чистых ДС модуляторов.
Коллега, мы говорим о различии звучания фильтров, соответственно, в данном случае ПОЛЕЗНЫМ является именно тот сигнал, который и определяет данные различия, т.е. те составляющие, которые будут различны для разных фильтров. А это, по сути – а)составляющие, образовавшиеся в процессе передискретизации и интерполяции и находящеся выше частоты 22.05кГц. Они сами по себе не слышны, но продукты их интермод с сигналом, самими собою и шумами последующих цепей находятся в звуковом диапазоне и при всей своей малости могут быть распознаны, как изменения, пусть небольшие, звучания, б)продукты ошибок алгоритмов округления вычислений в фильтре (при недостаточной разрядности сумматора-накопителя (менее 32 для 16-разрядного сигнала) и коэффициентов (менее 16 разрядов), они могут находится и в звуковом диапазоне, в)продукты ошибок округления при формировании из данных накопителя 18, 20 или 24-х разрядных данных для ЦАП.. они тоже могут находится в звуковом диапазоне.
Рысь

По порядку. PMD100 совсем немного уступает SM5842 (этот факт я на днях в очередной раз проверил в ЦАП Lynx 30 V 3) и при работе на 44.1кГц превосходит PMD200 (вывод сделан на основе прослушивания различных устройств, поэтому могут быть варианты)
Рысь

> Кстати SM5813 есть одна лишняя
Это тоже очень хороший ЦФ, уступает лишь 5842\47 да PMD100, и существенно лучше, чем DF1704\06 и SM5843.
Рысь

а от лучшего к худшему наверное будет так

1. SM5842 / PMD100
2. SM5847 (почти также хорош как и 5842)
3. SM5813 / DF1700 (то же что и 5813)/ SM5803
4. DF1704/ DF1706 / AD1896 (довольно неплохо работал)
5. SM5843/ YM3434/ SAA7220
6. SM 5841 / SM5840
SergioT

SM5847 – отличный фильтр, в этом я целиком доверяю Диме Андронникову.
Только у него есть волны АЧХ в полосе пропускания, большая длина, сильное резкое подавление в stopband, т.е. фильтр спроектирован как измерительный.
Почитай о фильтрах на основе полиномов Лагранжа (Lagrange interpolators), all pass Thiran filters, Baher (?) filters, maximum flatness filters.
Цифровой фильтр конторы Wadia сделан именно как лагранжевый интерполятор. И считаются эти ЦАПы одними из самых качественных в мире, несмотря на неважные объективные показатели
Эзотехник

В 2000\2001гг я делал ЦАП с ЦФ на ADSP21065. Особо не мудрил, делал 80 и 160 элементные фильтры с аппроксимацией Чебышева, инверсного Чебышева и Баттерворта. Аппаратно делал по-максимуму, не использовал собственные порты процессора, как весьма сильно диспергированные во времени, а формировал входные\выходные потоки на основе шины данных с помощью внешней ПЛИС. Естетственно, использовалась и чистовапя пересинхронизация, и параллельные ЦАП. Всё работало и до сих пор работает у заказчика., неплохо работает, но 5847 все-таки заметно лучше.
Основная причина – очень большая мощность помех от процессора и их высокая спектральная насыщенность из-за большого количества одновременно выполняемых поцессором спонтанных действий независимых от пользователя.
В этом отношении специализированные ЦФ гораздо «тише» (по уровню интегральной мощности излучаемых помех в диапазоне до 10ГГц – в 500....1000 раз, по уровню интегральной мощности помех в питании в том же диапазоне – в 20...50раз.
К слову, я бы не назвал субъективное звучание Вадий образцовым. Да, они очень неплохи, но есть достаточно много аппаратов, гораздо дешевле по ценнику и лучше звучащих.
Lynx

> SM5847 – что в нем хорошего, кроме помех?
Единственный фильтр (еще 5842 такой) с 25 бит внутренней разрядностью и 32 бит округлением промежуточных результатов. В результате максимальная точность вычислений и минимум конечной деградации сигнала, в отличии от других. Еще из вкусного – там есть буферок небольшой для данных и полезный в некоторых случаях джиттер-фри режим
Эx, залужу...

Посмотрите патенты Мейтнера, там всё по полочкам разложено.
На счет лучше – это ещё никому не удалось доказать, так, фантазии одни.
Oleg Net

Мейтнеровские фильтры – это двухкритериальные адаптивные системы, которые настраивают свои параметры в зависимости от свойств входного обрабатываемого сигнала (скорости его изменения и предыстории). Насчет лучше – вопрос крайне спорный и неоднозначный.
более того, еще в 1977г была выпущена прекрасная переводная книга Рабинера и Голда «Теория и практика цифровой обработки сигналов», где популярнейшим образом всё расписано. Только почему-то народ лениться почитать, а хочет всего сразу, готового и бесплатного
Lynx

Если серьёзно, то я сейчас читаю Bernard Widrow – Adaptive signal processing (1985, рус.пер. 1989) и жалею, что почти забыл высшую математику.
Эзотехник

Поподробнее попробую, хотя предупрежу сразу – я не математик.Но указанный подход демонстрирует применение известных математических методов интерполяции применительно ко гладким функциям, а интерполяция сплайнами – это такой метод, который и дает в результате гладкую функцию. Если быть точным, то мы использовали так называемые локальные В-сплайны, которые для своих вычислений не требуют большого количества отсчетов ( помоему 5, 7 или 9 отсчетов в зависимости от порядка В-сплайна). Но вначале рассмотрим классический способ интерполяции сигнала с помощью ФНЧ. Грубо говоря, что собой представляет сигнал с выхода ЦАП-а? Это некая ступенчатая функция напряжения, которую мы кастрируем по спектру, причем хотим мы того или нет, но ежели мы пользуем классический способ (ЦАП + ФНЧ), то реально никогда не увидим точной копии входного сигнала из-за нейдеальности этих самых ЦАП и ФНЧ – такова суровая правда жизни. Цифровые фильтры позволяют снизить требования к ФНЧ, но тащат с собой кучу проблем во временной области и в итоге страдает импульсная характеристика всего тракта.
Теперь рассмотрим сплайн-интерполяцию. Это своего рода цифровой фильтр с предкоррекцией, причем где сигнал с выхода ЦАП существенно отличается от от того, который мы хотим получить на выходе, НО! пропустив этот ступенчатый сигнал через специальный фильт (например, идеальный интегратор или реальный интегратор, RC-цепочку или LC-фильтр) мы на выходе фильтра и получим искомый входной сигнал, причем реальная ошибка может быть весьма и весьма мала. Приемущество локальных В-сплайнов еще в том, что для вычесления отсчетов сигнала не нужно лопатить весь массив с данными (как у традиционных цифровых фильтров), а достаточно несколько соседних отсчетов для ТОЧНОГО восстановления функции при помощи локальных В-сплайнов. В итоге, как бонус, мы имеем и прекрасную импульсную характеристику фильтра.
Вот, если коротко про саму идею. В далеком 88-м для синуса, представленного 8-ю точками на период и при интерполяции его локальным В-сплайном второго порядка (необходим двойной интегратор для восстановления конечной функции) реальный выигрыш по гармоникам по сравнению с традиционным методом был около 8 раз.
Для интересующихся что такое В-сплайны и где они применяются вот несколько ссылок для ознакомления, которые я нашел в инете:
http://stratum.ac.ru/textbooks/kgraf...l/addit20.html
http://graphics.cs.msu.ru/grafor/gra...hapter_5_9.htm
http://lukyanovich.narod.ru/cpp/b-spline.htm#2
http://www.uran.donetsk.ua/~masters/.../splines.htm#3
http://x.archaeology.nsc.ru/Home/pub...ap8.htm&id=210
http://math.tsu.ru/books/spline/part_3_4.htm
http://masters.donntu.edu.ua/2003/fv...urbcurvrus.htm
Andrey Orloff

Документ с объяснениями разных типов сплайновых интерполяций
Документ PDFhttp://www.biochem.oulu.fi/~oniemita/dsp/deip.pdf.

Еще перечитал тут недавно «Цифровая обработка сигналов» Гольденберг, Матюшкин, Полак, так там тоже написано, в главе интерполяция, что линейная интерполяция приводит к спаду в верхней части, близкой к половине исходной частоты дискретизации, поэтому применяется только если диапазон сигнала значительно меньше частоты Найквиста. С интерполяциями более высоких порядков спад еще более значителен.
Так что для генерации синусов сплайн интерполяция может быть применена легко (если верить deip.pdf, то при некоторых типах обеспечивается затухание 80 дБ в полосе задерживания), а для интерполяции шумоподобных сигналов получим неравномерную АЧХ в полосе сигнала (см. пост с результатами Виктора).
Ну и как сказал Dark Abbat, интерполяции высоких порядков значительно более затратны в вычислительном смысле и более требовательны к точности расчетов (например уже для 2-ей степени нужна большая разрядность аккумулятора, чем для FIR)
Nikkov

DF1704 и 1706 мне не нравятся своей несколько большей резкостью и жесткостью звука по сравнению с фильтрами NPC. Причем, если вводит некоторую градацию, то я бы расположил (по субъективному восприятию звучания устройства с одним и тем же ЦАП) фильтры таким образом: SM5842 – SM5847 (ОЧЕНЬ близко к 5842) – SM5846 – SM5813 (SM5803, DF1700) – DF1704. ЦФ NPC обладают более мягким звучаниеми в то же время, более глубокой проработкой и эшелонированностью звукового образа, особнно 5842 и 5847.
Насчет свойств ЦАПов – я согласен с Вашей оценкой. Наиболее «честный» и ровный – 1865-й. Еще более точен1862-й.
PCM58\64, DAC729, PCM63 помягче, посмазаннее, при этом в ряде случаев это может быть и достоинством. Хотя, в любом случае
, все это приборы очень высокого класса, существенно превосходящие все то барахло, что выпускается сегодня...
> Дмитрий опишыте пожалуйста разницу в звуке между 5846 и 5842/47

Вкратце, 5846 несколько более упрощенный звук, общий характер очень похож, но, на хорошо известных композициях есть различия в деталях. Например, гитара Gary Moore Gibson Heritage теряет ряд черт присущих только этому инструменту и становится похожей на более простой инструмент Gibson Les Paul Classic. Голос B.B. King становится моложе и теряет часть очарования голоса старого нигера-блюзмена... Всё это, конечно, в очень незначительной степени и заметить, если не знаешь, что конкретно нужно выслушивать, очень сложно.
Рысь

Фильтр PMD100 выпускался с 1993 по 2001 годы. Это довольно старый, но, надо отметить, весьма удачный фильтр. Из недостатков в первую очередь нужно отметить не дизеринг (об этом – чуть ниже), а то, что из-за декодера HDCD в режиме обычного CD этот фильтр снижает уровень сигнала на 1 разряд (6дБ), то есть уменьшает эффективное разрешение.
Кроме того, в режиме аппаратного управления (перемычками) у него используется только один и не самый удачный режим дизеринга, и, в отличие от фильтров NPC (5842, 5846, 5847), его включение в PMD100 (в режиме по умолчанию) негативно влияет на звук. При программном управлении дизерингом нужно включать режим 4 или 7. Но обычно эти возможности PMD100 не используются.
lynx