Pull to refresh

Comments 83

Кстати да, сэкономили пару-тройку корпусов операционных усилителей для активного ФНЧ и добавили корпус цифрового фильтра. Плюс выкинули операцию по проверке АЧХ фильтра на выходе. Плюс получили возможность написать на коробке красивые маркетинговые слова про цифровую фильтрацию и 192 кГц.
Похоже, уважаемый, вы не слишком внимательно прочитали статью, прежде чем оставлять этот комментарий. Дело не в количестве корпусов операционников, хотя их для реализации аналогичного фильтра понадобится намного больше двух. Дело в том, что подобный фильтр просто не получится реализовать из-за невозможности подобрать аналоговые компоненты — резисторы, индуктивности, конденсаторы с необходимой для него точностью, я уже не говорю о том, что с изменением температуры его параметры уплывут всё равно уплывут.
Для того, чтобы обрезать все, что лежит за границами звукового диапазона (20 кГц) и получить затухание под 40 дБ на 44 кГц, да с ровной фазовой характеристикой, требуется (с ровной — это фильтр Баттерворта) фильтр 7 порядка, это три операционных усилителя и по 10 5%-е резисторов и конденсаторов на канал. Да, громоздко, но не невозможно. Два счетверенных операционных усилителя типа TL074. В любительском приемнике прямого преобразования бывает больше (в фазовращателе).
и по 10 5%-е резисторов и конденсаторов на канал

Вы сами то поняли, что написали? С таким разбросом компонентов это будет не фильтр, а генератор искажений сигнала.
Ничего страшного. Если все резисторы и конденсаторы одновременно изменят свой номинал на 5% — частота фильтра тоже уйдет на 5%. Ну будет затухание не 100 раз, а 95 раз на исходной частоте, 39 дБ вместо 40 дБ. Никто этого не ощутит и никаких серьезных последствий не вызовет. А 5% допуск на значения резисторов и конденсаторов и сейчас, и в середине 80-х годов на Западе вполне стандартен. Даже для бытовой техники.
Не смотря на то, что с человеком, имеющим такую подготовку спорить бесполезно, я всё таки позволю себе последний комментарий — вы просто не сможете найти в стандартном ряду компонентов с допуском в 5 процентов нужного номинала. Плюс к тому допуск он на то и допуск что все компоненты изменяют свои значения в разных направлениях, совершенно непредсказуемо.
UFO just landed and posted this here
> Если все резисторы и конденсаторы одновременно изменят свой номинал на 5% — частота фильтра тоже уйдет на 5%

Это вряд ли. Если я правильно помню, то в формуле рассчета частоты фильтра емкости и сопротивления отнюдь не суммируются, а потому результат будет отличаться совсем не на 5%.
Не говоря уже о том, что в реальной жизни никогда не будет одновременного изменения всех параметров именно на 5%
Да, согласен, частота обратно пропорциональна RC. 0,95*R*0.95*C = 0,9025RC, т.е. на 10 %. А если номиналы уйдут не в одну сторону, то это даже проще — часть уйдет в одну, часть в другую, в итоге останется среднее значение.
Я вот вспомнил закон Мерфи для электроники. «Всё, что требует наладки и регулировки, обычно не поддаётся ни тому ни другому»
UFO just landed and posted this here
В любительском приемнике прямого преобразования

полоса в нём от силы 3 kHz
Да и к качеству сигнала требования нулевые — главное слова различать. Там и 5 процентами можно обойтись.

Уйдет не только частота. Не строят сложные фильтры на 5% компонентах.

Совершенно верно! Когда нарушается соотношение между компонентами то фильтр просто теряет свои свойства, а не изменяет частоту полосы пропускания. Причём чем больший порядок имеет фильтр, тем тщательнее надо подбирать компоненты для того чтобы получить заявленные характеристики. Я уже не говорю о том, что паразитная составляющая в компонентах во всём частотном диапазоне не должна играть существенного значения.
UFO just landed and posted this here
Все в той или иной степени, которая зависит насколько вы нахимичили с компонентами. Но самое неприятное что он может элементарно потерять главное свойство — устойчивость и похоже гораздо быстрее чем вы думаете.
UFO just landed and posted this here
UFO just landed and posted this here
Вы же занимаетесь разработкой устройств практически любой сложности, в чём проблемы? Для вас не составит труда собрать фильтр девятого порядка на компонентах с допуском 5% и измерить параметры своего творения.
Если ещё и статью с результатами опубликуете вообще будет замечательно!
UFO just landed and posted this here
Регенеративный каскад. Там вводилась ПОС для компенсации потерь в контуре ®. Для получения максимальной избирательности приходилось регулировать величину обратной связи достаточно часто. Иначе получаем сверхрегенератор. Который, кстати, излучает в антенну. И который можно засечь радиопеленгатором. Причём у гетеродинного приёмника, где частота гетеродина сдвинута на величину ПЧ и хоть как-то отфильтровывается входным фильтром, шансов быть непойманным больше.

Вообще абсолютно устойчивыми являются только нерекурсивные фильтры.
UFO just landed and posted this here
На слабо будете фраеров ловить. Здесь вроде другой ресурс.
Если без активных элементов — то это будет как раз аналог цифрового нерекурсивного фильтра. Кочечно будет устойчив как айсберг на пути Титаника. Но кто будет делать фильтр на ЗЧ такого порядка только на пассивных элементах?
UFO just landed and posted this here
UFO just landed and posted this here
Вроде в Радио я видел схему трёхпрограммного приёмника с активным фильтром на мосте Вина. Там то же самое — для получения максимальной избирательности надо было подходить близко к порогу генерации. Почти регенеративный каскад, но на RC и операционнике ;-) Там почти ЗЧ — что-то типа 75 кГц.
А есть дельта-сигма, где идея ресемплинга доведена до оверсемплинга — частота дискретизации превышает полезную полосу на пару порядков (и разрядность сокращена до одного бита). Чем упрощает ФНЧ до уровня RC-цепочки.
В последние годы АЦП и ЦАП, основанные на этом принципе, практически полностью завоевали область обработки звука.
Рассказанная сегодня история уже в прямом смысле является ИСТОРИЕЙ. Я выбрал её как пищу для ума — изящного решения проблемы. И как лишнее напоминание того, что прежде чем строить теории заговора стоит самому разобраться в сути проблемы.
Извините, а можете на пальцах объяснить или посоветовать литературу, где объясняется, почему при повышении дискретизации можно огрублять квантование?
Если совсем на пальцах…
Нарисуйте график синусоиды на клетчатой бумаге, только сравнительно большой амплитуды — клеток двадцать не меньше примерно как в моей следующей статье и второй такой в 4 раза шире, а потом попробуйте по клеточкам соединить как в моей следующей статье и увидите сами на каком из графиков аппроксимированный сигнал будет ровнее.
Увеличим частоту дискретизации сигнала в четыре раза путём элементарной операции — добавления лишних двух сэмплов между двумя соседними, каждый из которых имеет нулевые значения, как показано на рисунке C.
Там и вправду вставка нулевых значений? Логичнее было бы делать либо повтор предыдущего значения, либо интерполяцию между соседними значениями… Тем более что интерполяция в аудио CD, вроде бы, предусмотрена для коррекции сигнала в том случае, когда из-за дефектов или повреждения диска цифровая коррекция ошибок уже не срабатывает. Понятно, что цифровой фильтр может эту интерполяцию и сам сделать, так что вопрос, скорее, о том, а как же оно всё-таки реализовано на самом деле…
Трудно сказать. Речь идёт об аппаратном решении, причём весьма старом. Данный чип увидел свет более 15 лет назад. Вполне вероятно что в целях упрощения именно так и сделали — всё таки обработка сигнала ведётся на приличной частоте. Возможно также что подобного рода интерполяция не слишком хорошо вписывалась в аппаратную реализацию алгоритма фильтрации.
Думаю что сегодня, когда вычисления строятся на основе DSP ядер, вставляют уже интерполированные значения в качестве нулевых условий
Там и вправду вставка нулевых значений. Если сделать повтор предыдущих то сигнал на выходе не изменится (то есть, если увеличить частоту дискретизации в N раз и повторять капждый сэмпл N раз, то его никак не отличить от исходного). Если сделать интерполяцию значений — то возникает вопроос: а как интерполировать, чтобы в спектре не появилось новых гармоник? Например если мы сделаем линейную интерполяцию то получим новые гармоники (немножко лень расписывать подробно, но навскидку это будет расширение спектра + фильтр «бегущее среднее», которы не обеспечивает нужное подавление).
Если расписать красивыми мат. выкладками вставку нулевых значений + фнч, получим самую православную интерполяцию. вставка нулевых значений оставляет исходный спектр + появляются отражения, которые и давяца ФНЧ, обеспечивая нам отсутсвие внеполосных гармоник. При этом к ФНЧ предъявляются определенные требования по крутизне спада и глубине подавления.
Если сделать повтор предыдущих то сигнал на выходе не изменится (то есть, если увеличить частоту дискретизации в N раз и повторять капждый сэмпл N раз, то его никак не отличить от исходного).
А зачем его отличать? Дело не в этом, скорее всего, а в том, что повторение в данном случае эквивалентно фильтрации сигнала через фильтр с sinc-образной передаточной характеристикой, т.е. слегка будут завалены верхние частоты…
как интерполировать, чтобы в спектре не появилось новых гармоник? Например если мы сделаем линейную интерполяцию то получим новые гармоники
Нет. Линейная интерполяция эквивалентна прохождению сигнала через фильтр с симметричным треугольным откликом. Никаких лишних гармоник при этом не появится, разве что из-за квантования, но это один бит и при увеличенной разрядности ЦАП это будет совсем незаметно. Наверное, тут тоже дело в том, что так же, как и в случае повторением, в случае линейной интерполяции чуть-чуть завалятся верхние частоты… Конечно, надо бы прикинуть всё математически или, хотя бы, на картинках с передаточными характеристиками, но сейчас каникулы… :)
предложение состояло не в том, чтобы вообще отказаться от фильтров в пользу простейшей линейной интерполяции, а в том чтобы в качестве начальных значений взять интерполированные, ма не нулевые.
А зачем его отличать? Дело не в этом, скорее всего, а в том, что повторение в данном случае эквивалентно фильтрации сигнала через фильтр с sinc-образной передаточной характеристикой, т.е. слегка будут завалены верхние частоты…
Когда я говорил «неотличимы» я имел ввиду одинаковы. Не вижу причин, по которым у двух одинаковых сигналов будет отличаться спектр.
Нет. Линейная интерполяция эквивалентна прохождению сигнала через фильтр с симметричным треугольным откликом.
Вот как раз тут будет фильтр с прямоугольным окном и отклик будет sinc (а точнее его дискретный эквивалент — периодический sinc/функция Dirichlet). Линейная аппроксимация эквивалентна (скажем в 2 раза, когда вставляется среднее между двух отсчётов): повторяем каждый сэмпл по два раза (то есть [x0 x1 x2… xn] -> [x0 x0 x1 x1 x2 x2… xn xn] и пропускаем через КИХ фильтр с коэффициентами [1/2 1/2] (в случае линейной интерполяции в N раз будет [1/N 1/N… 1/N] N-раз, это есть фильтр бегущее среднее по N). Легко показать, что для рассматриваемого случая, выходной сигнал будет [(x0+x0)/2 (x0+x1)/2 (x1+x1)/2 (x1+x2)/2 ...], то есть эквивалентно линейной аппроксимации со вставкой среднего между отсчётами. Отклик такого фильтра есть diric (периодический sinc), а спектр исходного сигнала не изменился (если поверить мне в первом утверждении, о неизменности спектра при повторении исходных значений в N раз). Вот как раз и получим небольшой завал (перемножая спектр исходного сигнала и КИХ фильтра). Да, новые гармоники не появятся, это я лишнего махнул.
Проще показать это всё через свёртку. Но новый год и лень =)
Вставку нулей вместо повтора предыдущего значения используют потому что это позволяет уменьшить вычислительную нагрузку соответственно кратности ресэмплинга — используются КИХ-фильтры, представляющие собой множество MAC-операций (умножить сэмпл на коэффициент и добавить к аккумулятору), при этом для вставленных нулевых сэмплов вычисления делать не нужно.
Логичнее было бы делать либо повтор предыдущего значения, либо интерполяцию между соседними значениями

Не логичнее, поскольку это приведёт к искажению АЧХ исходного сигнала (за исключением sinc-интерполяции). Математически интерполяция в данном случае будет равна свёртке сигнала с интерполируемой функцией (в случае линейной интерполяции — с треугольной, при повторе предыдущего семпла — прямоугольной и т.д.).
В процессе оцифровки мы сигнал умножаем на дельта-импульс.
При восстановлении его и получаем.
Преславутый «ступенчатый» сигнал на выходе ЦАПа — крайне неправильный сигнал, имеет огибающую спектра sinx/x вместо плоской.

Передискритизация с вставлением нулей приближает сигнал к исходному дельта-импульсу.

Простите, или я не понял, или вы не раскрыли мысль из начала статьи — "для воспроизведения 16 битных записей начали применять 18 и даже 20 битные цифро-аналоговые преобразователи". Зачем повышать разрядность ЦАП, если передискретизация позволяет, напротив, обойтись меньшей разрядностью (вплоть до "однобитных" дельта-сигма, которые тут уже упоминали)?
Или маркетинг в том, что взяли 16-битный ЦАП на 176 кГц и стали продавать, как 18-битный?

Тоже хотел задать подобный вопрос, но по обсуждению ниже: «Только увеличение количества сэмплов даёт возможность повысить разрядность ЦАП, иначе эта операция просто не имеет смысла.», фактически все распинания автора про разрядность не имеют смысла, стоило говорить про 176КГц, для полного раскрытия потенциала которых требуется прибавить хотя бы пару бит, я — возмущён стилем изложения, если не сказать больше.
Вы правы, действительно непрозрачно получилось.
Подправил в статье.
Смысл в том, что добавляя два лишних сэмпла мы изменяем разрядность существующих, прибавляем два младших бита, заполняя их нулями. В результате процесса фильтрации «промежуточные» сэмплы «сгладят» переходы между исходными.
Если бы мы попытались тупо прибавить разрядность, не повысив частоту сэмплирования эта операция была бы бессмысленной.

Ну да, результат промежуточных вычислений будет иметь больше 16 бит. Но непонятно, почему это требует повышения разрядности ЦАП:


  1. При тупом отбрасывании младших бит мы всё равно получаем выигрыш (кто делал subpixeling при рисовании во времена CGA-VGA — поймёт: наклонную линию можно сместить на долю пиксела даже без anti-aliasing).
  2. Отброшенные биты необязательно терять — их можно подмешать к сигналу последующих отсчётов. Вроде в те годы алгоритм Флойда-Стейнберга был уже широко распространён в компьютерной графике, и поступить так же — естественно.
    Т.е. вроде бы нет причин повышать разрядность АЦП, а можно и вообще понизить (как я понимаю, в итоге к этому и пришли, но это уже совсем другая история).
Тут пожалуй связь обратная.
Только увеличение количества сэмплов даёт возможность повысить разрядность ЦАП, иначе эта операция просто не имеет смысла.
Повысив разрядность ЦАП можно сделать интерполяцию между существующими точками — собственно именно эту операцию и выполняет фильтр. Теоретически разрядность АЦП можно и не повышать, но тогда и интерполяция будет грубее.
Да, про сигма дельта АЦП — совершенно другая история.
Возможно тут ещё причина в том, что упрощается аппаратная реализация цифрового фильтра при одновременном увеличении частоты и разрядности по амплитуде. Если кто то из крупных специалистов в области ЦОС подскажет буду благодарен.
Мне кажется, что поскольку коэффициенты в импульсном отклике цифрового фильтра явно не будут целочисленными, то для представления промежуточных вычислений и выходного сигнала фильтра потребуется больше разрядов. Возможно, что до ЦАПа «тащить» все разряды и не сто́ит, но ЦАП с бо́льшим числом бит — не такая уж сложная и дорогая штука, как, например, АЦП, так что, может, даже это хорошо — уменьшить шумы квантования за счёт увеличения числа бит. Вытянет такой увеличенный динамический диапазон после ЦАПа аналоговый усилитель или нет — это уже другой вопрос…
А что делает SHA section на последнем рисунке? Я так понял, что она занимается задержкой сигнала, чтобы уменьшить фазовый сдвиг между правым и левым каналом, т.к. АЦП работают по очереди. Правильно?

И с рисунком D как-то не прозрачно. Понятно, что у сигнала с вставленными нулевыми семплами получится такой спектр, но почему зеркалки (images) считаются от 88кГц, а не от 176? Хоть этот момент особой роли и не играет, но интересно.
Честно скажу — не знаю ответа на эти вопросы. Возможно кто то из читателей подскажет.
Про SHA (Sample-and-Hold-Amplifier) — правильно: восстанавливает синхронность дискретизации обоих каналов. Про рисунок D: вообще, aliases («зеркалки») — это то, что появляется от половины частоты дискретизации и дальше…
Небольшое уточнение по грамматике.
Законченные аудиофилы теперь могут ворчать о том, какой крутой звук был у старых аппаратов с аналоговыми фильтрами пока всё не испортила цифра и охотится за винтажной техникой.
Аудиофилы что могут делаТЬ? ОхотиТЬся.
Разрешите продемонстрировать более наглядно.

Дан сигнал с частотой дискретизации 4кГц (зелёный — во временном домене, синий — в частотном — АЧХ):



Увеличиваем частоту дискретизации до 16кГц, для чего добавляем по 3 промежуточных нулевых отсчёта:



Отфильтровываем гармоники фильтром нижних частот от 2 кГц (так как их не было в исходном сигнале) и получаем



Профит.
Спасибо, красиво получилось.
Восхитительно. Я правильно понимаю, что такая операция мене затратная, чем синк интерполяция?
Похоже что в мире цифры да. Ведь линейно кусочная интерполяция далеко не самый лучший вариант, она породит новые гармоники, а более сложные виды интерполяции проще за счёт фильтров реализовать.
Чисто математически это одно и тоже, поскольку sinc в теореме Котельникова как раз и играет роль идеального фильтра низких частот с линейной фазой. Разница только в реализации — программно FIR-фильтрацию эффективнее делать через FFT, в железе — линейной свёрткой, но используя специальную архитектуру для распараллеливания вычислений. Аналоговыми (IIR) фильтрами высокого порядка тоже можно получить приемлемые результаты, но они фазу вращают. В некоторых случаях используют гибридные решения, когда FIR-ом компенсируют фазовые сдвиги от IIR.
Просветите не специалиста? ;)

Первоначальная цепочка такая:
1) Живой звук -> АЦП(16бит, 44.1 КГц) -> CD
2) CD -> 16бит -> Микроконтроллер -> ЦАП(16бит, 44.1 КГц) -> восстановленный звук

После апгрейда:
2) CD -> 16бит -> Микроконтроллер + (Некий фильтр преобразующий 16бит в 18, 44.1 КГц в 44.1*4) -> ЦАП(18бит, 44.1*4 КГц) -> восстановленный звук

Т.е. в апгрейде мы всего лишь:
1. Поставили более дорогой ЦАП (с повышенной частотой дискретизации и разрядностью)
2. За счет придумывания(интерполирования) отсутствующих семплов на шкале времени CD — увеличили кол-во воспроизводимых семплов.
Верно?

Тогда, внимание, вопрос:
1. А действительно ли мы улучшили качество звука, добавив семплы, которые в оригинале (живом звуке) могли отличаться от тех, которые мы придумали(интерполировали)? Ведь, то что мы записали с частотой 44.1 КГц — было реально зафиксировано микрофоном, а то что было между записанными семплами нам не известно.

2. На сколько далеко наша фантазия (прошу прощения, интерполяция :) может нас завести? Т.е. теоретически, мы можем интерполировать и 8битный звук и 4х…

3. И о каком таком повышении качества мы говорим?
Для человека средний порог частоты воспринимаемого звука 20 кГц, мы воспроизводим с частотой 44.1 КГц — есть ли смысл в дальнейшем увеличении?.. Повышение точности воспроизведения на 2 разряда — единственное, что имеет отношение к реальному улучшению качества, хорошо, а кто-нибудь знает сколько разрядов может различать человеческое ухо? ;)
1. А действительно ли мы улучшили качество звука, добавив семплы, которые в оригинале (живом звуке) могли отличаться от тех, которые мы придумали(интерполировали)?
В оригинале (живом звуке) никаких семплов нет, потому что он непрерывный, а не дискретный. Мы не улучшаем качество звука как таковое, мы снижаем уровень шумов.

Ведь, то что мы записали с частотой 44.1 КГц — было реально зафиксировано микрофоном, а то что было между записанными семплами нам не известно.
Известно согласно теореме Котельникова или Шеннона. Сигнал перед дискретизацией обязательно фильтруется, причём с некоторым запасом. Более того, чувствительность микрофонов, используемых для записи, редко превышает 15кГц.

2. На сколько далеко наша фантазия (прошу прощения, интерполяция :) может нас завести? Т.е. теоретически, мы можем интерполировать и 8битный звук и 4х…
Битность мы не интерполируем, т.к. шумы квантования удалению не подлежат, только маскировке. А частоту дискретизации можно увеличивать хоть до бесконечности.

Для человека средний порог частоты воспринимаемого звука 20 кГц, мы воспроизводим с частотой 44.1 КГц — есть ли смысл в дальнейшем увеличении?
Это вопрос снижения погрешности при восстановлении исходного непрерывного сигнала, а не человеческой чувствительности.

а кто-нибудь знает сколько разрядов может различать человеческое ухо? ;)
Ухо отличает не разряды, а перепад в децибелах. Разряды определяют шумы квантования. По поводу чувствительности — множество научных статей можно найти при желании как-то так.
«В оригинале (живом звуке) никаких семплов нет, потому что он непрерывный, а не дискретный. Мы не улучшаем качество звука как таковое, мы снижаем уровень шумов.»

Если звук считать точками амплитуд во времени (именно это имелось в виду под семплами), то не совсем понятна формулировка «Мы не улучшаем качество звука как таковое, мы снижаем уровень шумов».
По факту, мы на графике время/текущая_амплитуда создаем новые (интерполированные) точки. А потом наш ЦАП пытается этот график воспроизвести в реальный звук. На мой взгляд, качество воспроизводимого звука — это то, насколько точно он соответствует оригиналу (живому звуку).

«Известно согласно теореме Котельникова или Шеннона.»
— Да, похоже по этой теореме, если мы записали звук с необходимой минимальной частотой дискретизации, то можем сгенерировать промежуточные точки в любом количестве.

«Битность мы не интерполируем, т.к. шумы квантования удалению не подлежат, только маскировке.»
— Но ведь мы, преобразуем 16бит в 18бит, именно для того чтобы промежуточные точки по амплитуде могли более точно отобразиться на ЦАП. Или я не прав?

«Это вопрос снижения погрешности при восстановлении исходного непрерывного сигнала, а не человеческой чувствительности.»
— Так ведь смысл как раз таки в том, зачем снижать погрешность, если ее человек и так уже не чувствует?

«Ухо отличает не разряды, а перепад в децибелах. Разряды определяют шумы квантования. „
— Ну почему же, разрядность уха человека (его чувствительность к звукам по амплитуде) можно было бы посчитать (грубо конечно). Если бы мы знали минимальное изменение амплитуды которое различает человек и максимальное значение амплитуды которое человек может слышать.
А что вы называете шумом квантования?

Тут утверждается, что дискретность уха в один момент времени не превышает 5 бит, а 16 с головой покрывает весь динамический диапазон уха: https://geektimes.ru/company/audiomania/blog/246304/
Спасибо, как раз то, о чем я спрашивал.
Собственно, это подтверждает мнение, что увеличение интерполированных точек, повышение частоты дискретизации и разрядности на ЦАП не влияет на качество звука воспринимаемое человеком, ибо ЦАП(16бит, 44.1 КГц) достаточно и даже с большим запасом.

Получается все эти «улучшения качества» с точки зрения человека воспроизводящего звук с CD — не более чем маркетинговый трюк…
Всё не так просто. Маркетинг в 192/24 действительно имеет место быть. 44.1/16 достаточно, если он воспроизводится идеально. А вы возьмите осциллограф и посмотрите, что ваша звуковая карта выдаёт на частот 10кГц.
Он не может воспроизводиться идеально, во всяком случае на сложном сигнале. Даже ресемпл не поможет.
Не случайно даже во времена CD профессиональная аппаратура поддерживала формат 48/16 плюс ресмпл до 18-20 бит. Видимо этого уже достаточно. В большинстве случаев.
Прекрасные графики, но у меня вопрос дилетанта:
Добавленные нули, это фактически расширение спектра в этих местах до бесконечности, на резком перепаде амплитуды, что должно восприниматься как щелчки. Дальнейшая фильтрация, убирает все лишнее, что по графику должно выравнивать эти провалы, фактически интерполируя исходный сигнал. Однако фильтровать полезный сигнал мы не можем, поэтому ширина фильтра будет 20 КГц, соотвественно вместо нулей в итоге должны получиться не гладенькие участки плавно соединящие изначальные точки квантизации а биения с частотой до 20 КГц включительно, можете показать тот же график в увеличенном виде, и с фильтром на 44КГц, а не 20КГц?
Добавленные нули, это фактически расширение спектра в этих местах до бесконечности
Спектр дискретного сигнала ограничен по определению.

что должно восприниматься как щелчки
Не должно. В частотном домене «щелчок» — это всплеск в широком диапазоне частот, из чего следует, что для восприятия перепадов амплитуд как щелчков они должны быть достаточно далеко разнесены во времени.

соотвественно вместо нулей в итоге должны получиться не гладенькие участки плавно соединящие изначальные точки квантизации а биения с частотой до 20 КГц включительно, можете показать тот же график в увеличенном виде

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

и с фильтром на 44КГц, а не 20КГц
С моим примером эти частоты не пересекаются.
Ладно, я понял, что эту статью можно забыть, мне такие рано ещё читать.
воспроизведения дисков формата Аудио CD в начале тысячелетия. Именно тогда для воспроизведения 16 битных записей начали применять 18 и даже 20 битные цифро-аналоговые преобразователи


Первый 20-битный цап это AD5791 и представлен он в 2010-м году. Так что в начале тысячелетия не могли начать применять 20-битные цапы.

И по поводу «теоремы Нейквиста». Во-первых на русском языке Nyquist всегда был Найквистом. А во-вторых «Nyquist–Shannon theorem» на русском языке звучит как «теорема Котельникова-Шеннона», или просто «теорема Котельникова». Вот такие загогулины при переводе.
UFO just landed and posted this here
Первый 20-битный цап это AD5791 и представлен он в 2010-м году.

А это тогда что?
The PCM1702 is a precision 20-bit digital-to-analog
converter with ultra-low distortion (–96dB typ with a
full scale output).

http://www.ti.com/lit/ds/symlink/pcm1702.pdf
А во-вторых «Nyquist–Shannon theorem» на русском языке звучит как «теорема Котельникова-Шеннона»,

да, да я в курсе что Россия — Родина Слонов
Первый 20-битный цап это AD5791 и представлен он в 2010-м году.

Конечно-конечно, ES9018 и PCM1795 — 32 битные, в айфоне стоит 24-битный цап, а на многих картриджах для NES было по 9999 игр. Всё так.
Вы считаете, что дельта-сигма это не настояцие ЦАПы?
Например набор микросхем, включающий «однобитный» TDA1547, реализующий 20-битное ЦАП в 91 году был точно. http://www.lampizator.eu/lampizator/LINKS%20AND%20DOWNLOADS/DATAMINING/tda1547.pdf
Есть ещё обзор по ЦАПАм в хайэнде http://www.dutchaudioclassics.nl/the_evolution_of_dac_the_digital_filter/
Почему не настоящие? У меня сейчас играет ЦАП который может дельта-сигму на 11,2 Мгц. Вполне себе ЦАП.

Из вашего даташита (THD + N)/S от -96 до -101 дб.
При таких параметрах он не может выдавать больше чем 16 бит информации.

И, раз мы вспоминали Найквиста, шум Джонсона-Найквиста ограничивает теоретический предел ЦАПа в ≈27 бит при комнатной температуре на частоте 20 Кгц.

Ещё раз повторю, 32-битный цап имеет такое же отношение к реальности как картриджи на 9999 игр.
При таких параметрах он не может выдавать больше чем 16 бит информации.

Но от этого он не перестаёт быть 20 битным. Есть такая весчь как эффективная разрядность. И в данном случае эти 16 бит эффективной разрядности прекрасно согласуются с 16 битами, получаемыми с СD.
1 бит на входе, не больше 16 бит информации на выходе. В каком месте он 20-битный?

эти 16 бит эффективной разрядности

Я бы не стал так спешить. «не больше 16 бит» не значит что их таки 16.
я специально отметил «набор микросхем». Сам ЦАП однобитный. Остальное реализуется ещё парочкой. А 20 бит (в даташите про них есть) там нужны ещё для маскирования цифрового шума (noise shaping). Он более неприятен человеческому уху ибо это просто ошибка округления. И зависит от сигнала. И самый простой способ с ним бороться — утопить его в собственных шумах аналоговой части подняв разрядность. Аудиотехника — достаточно специфическая область. Народ прекрасно слушает свою музыку через ламповые усилители с КГ под 10%. Но, по вашему им в таком случае достаточно 6-8 битного ЦАП? Неет. Искажения ламповых усилителей не вызывают такого дискомфорта, как «цифровой шум» Это как с градиентом на экране. Монитор может быть не калиброван, но это фигня по стравнению со ступеньками на градиенте из-за «цифрового шума»
А сколько в этих ЦАПах реально используется бит? Сколько бит бесполезны из-за искажений аудиотракта типа шумов и т.п.? Сильно повезет, если в айфоне полезными окажутся хотя бы 14-16 бит ЦАПа.
Дело не в слонах, а в том, что над этой проблемой в то время реально работали независимо несколько человек. Независимо — потому что это было слишком узкоспециализировано, а то и секретно. Даже в англоязычной Вики упоминается, что Найквист выдвинул теорему, а Шеннон и Котельников развили и доказали теорию. Уиттекеры же доказали чисто математически. Каждый работал несколько в отличном направлении, но вот в этом краеугольном месте вынужденно пересеклись.
В прошлом веке, как и позапрошлом очень много исследований велось в рамках государственных околовоенных программ. Правда секретность больше физиков касалась, чем математиков.

Quantization и теорема Найквиста всё же, а не Нейквиста. И ещё «CD диск» — тавтология. Как и digital-to-analog DAC. За статью спасибо :-)

Quantization и теорема Найквиста всё же

Сдаюсь, исправил.
Статейка, действительно о делах дней давно минувших, так-что мне невольно вспомнилась моя первая DAW — CreamWare tripleDAT это была та ещё «песочница», большинство покупателей стремилось от неё избавиться дабы не распугать со студии всех клиентов, а правда была лишь в том, что фильтров на плате не было :-) что для музыкантов это было полной засадой.
Sign up to leave a comment.

Articles

Change theme settings