Страница 10 из 11 Первая ... 891011 Последняя
Показано с 181 по 200 из 201

Тема: Экономичная реализация арифметики ЦОС в аудио

  1. #1 Показать/скрыть первое сообщение.
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    4,027

    По умолчанию Экономичная реализация арифметики ЦОС в аудио

    Просто FIR интерполятор - вещь достаточно банальная, а вот оптимизация ресурсов - задача более интересная.
    Поэтому новая ветка про оптимизацию. Предлагаю пообсуждать решения по оптимизации арифметики на FPGA и MCU для аудио ЦОС.
    Предыдущий проект со ссылками на другие ветки здесь.

    С появлением недорогих FPGA GoWin оптимизация вроде как особо и не нужна. Но в наших (отечественных) реалиях ассортимент и стоимость микросхем могут быть не самые лучшие.
    Ну а кроме того, у меня уже давно были мысли уместить ЦФ в LCMXO2-1200, т.к. это недорогая FPGA со встроенной флешью и в компактном исполнении: QFN-32 5x5mm. Что так же послужило поводом для нового проекта и стало целевой задачей при разработке.
    Несколько лет назад я прикидывал, что туда поместится только что-то совсем простое, вроде SM5842. Однако с опытом работы в верилоге получилось ужать арифметику настолько, что даже в такой скромный чип помещается нормальный полноценный апсемплер с шейпером.

    Кое что из стандартных приемов оптимизации уже описывал в проекте DF1.
    Теперь дополнил подробнее (документ во вложении ниже).
    Изначально мысль ужать ресурсы возникла из того обстоятельства, что в DF2 для первой ступени х2 интерполятора использовались каскады с максимально широкой полосой пропускания (максимально узкой переходной полосой). Сделал я это по аналогии со старыми микросхемами ЦФ, типа SM5847.
    Но потом подумал - а собственно нафига?
    В интегральных ЦФ первая ступень для любой входной частоты семплирования сделана максимально широкополосной чисто из соображений экономии: тупо используется одна и та же логика, просто на разной частоте.
    А на FPGA ситуация обратная: максимальная частота тактирования лимитирована, а добавить несколько наборов коэффициентов для разной входной частоты семплирования - не проблема.
    Частоты выше 20кГц все равно не слышно, поэтому переходную полосу можно сделать более пологой (сделать полосу пропускания для всех входных частот семплирования в районе 20кГц).
    Это не только укорачивает импульсную хар-ку фильтра, сохраняя преимущества Hi-Res контента, но и потенциально упрощает фильтрацию в аналоге: чем шире полоса пропускания, тем шире и ее отражение на частоте семплирования.
    А если так, то кол-во тактов, необходимых для обсчета фильтра резко уменьшается. На столько, что при тактировании частотой 1024Fs можно успеть обсчитать оба канала по очереди, что и стало основным нововведением в проекте DF3E. Т.е. в данном ЦФ блок многоступенчатого FIR апсемплера запускается вдвое чаще, чем в DF2.

    Правда одного сужения полосы первой ступени интерполятора оказалось недостаточно для поочередной обработки каналов.
    Поэтому для DF3E проекта были так же оптимизированы полуполосные каскады интерполяторов (сокращены до минимума). Из-за этого боковые лепестки в полосе задержания получились повыше, чем в DF2 проекте, но только на частотах кратных 705кГц, где они легко дофильтровываются аналоговым ФНЧ.
    Еще немного тактов удалось сэкономить оптимизацией алгоритма умножения центрального отвода полуполосных каскадов. В DF2 это умножение, как и остальные, выполнялось за два такта, а в DF3E - за один.

    Для упрощения модуля приема пакетов SPI обработка выполняется сразу по приему данных одного канала: приняли левый - запустили обработку, приняли правый - запустили обработку.
    Данное обстоятельство накладывает ограничение на входной I2S фрейм, в котором сигнал LRCK обязан иметь скважность 50%. Но я еще не сталкивался со случаями, когда данное условие не выполняется.
    Кроме того, обработка в остальных блоках так же выполнена последовательной, что позволило серьезно сэкономить еще и на шейпере и дополнительных амсемплерах. Кто пользовал DF2 сразу почувствует разницу.

    Что еще стоит отметить - добавлено округление с дизером в маке. Что позволило уменьшить разрядность шины данных до 22 бит, а так же - сделало входной аттенюатор фактически беспотерьным даже при малой разхрядности шины данных, и его теперь можно использовать как качественный цифровой РГ.
    Округление с дизером было и в самом первом проекте DF1, но теперь оно выполнено более аккуратно.
    Дизеры для мака и для округления выходных данных выполнены на LFSR со сдвигом на 16 тактов перед выборкой. Если использовать сдвиг на 2^N тактов, то длина генерации последовательности до повтора получается такая же, как и при сдвиге на один такт (т.к. 2^N всегда некратно максимальной длине последовательности LFSR).
    Так же, в ходе экспериментов с округлением на сигналах малой разрядности выяснил, что амплитуда дизера должна быть не менее +/-1 LSB, иначе получается модуляция шума, хотя на спектре следов квантования не видно.
    Для округления данных на выходе добавлена опция дизера с треугольным распределением. Шум которого на 3дБ ниже, чем с прямоугольным. Однако это имеет значение только для округления без шейпера.
    Наличие даже самого простого шейпера 1-го порядка исключает модуляцию шума и можно использовать самый простой шум с равномерным распределением минимальной амплитуды: +/-0.5LSB.

    Схему отработки переполнения наоборот упростил: убрал дополнительный аттенюатор перед шейпером.
    Теперь аттенюация отдана на откуп пользователю проекта, который должен сам решать - на сколько ослабить сигнал в случае вывода данных малой разрядности с шейпингом.

    Ну и отдельно стоит упомянуть про такую вещь, как асинхронное тактирование ядра в DF3E. Для этого выделен отдельный порт "CCLK".
    Типовая тактовая частота для данного проекта 1024Fs.
    Однако, в случае отсутствия тактовых генераторов на такую частоту, можно применить например 512Fs генераторы, а ядро фильтра (а так же ядро DSD дециматора) затактировать любой произвольной частотой, не обязательно кратной 1024Fs (например от встроенного в FPGA генератора).
    Это не только позволяет сохранить производительность при низкой частоте тактовых генераторов, но и при необходимости - поднять тактовую частоту и увеличить длину фильтров.
    Подняв частоту вдвое получим производительность DF2 (если конечно позволит быстродействие выбранной плисины).

    В архиве проект DF3E с исходниками, как обычно в альфа версии, т.к. протестировать весь накрученный функционал слишком трудоемко.
    В файле с примерами приведено два проекта:
    1. Вывода на параллельный ЦАП с возможность приема DSD битстрима.
    2. Вывод данных с соневского модулятора дифференциальными битстримами на PCM179x в моно-включении в режиме DSD.

    Помимо исходников в архиве есть графики частотных хар-к в разных режимах (включая хар-ки DSD дециматоров), диаграммы управляющих сигналов и данных, а так же доработанная утилита (и ее исходник) для преобразования коэф-тов, сгенерированным в матлабе.
    Модули вывода SAI_OUTPUT взяты с проекта DF2 с чисто косметическими доработками, поэтому его описание не делал.
    Вложения Вложения
    Последний раз редактировалось dortonyan; 26.02.2025 в 23:38.

  2. #181
    Частый гость Аватар для Антидот
    Регистрация
    10.12.2023
    Адрес
    СПб
    Возраст
    58
    Сообщений
    298

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от dortonyan Посмотреть сообщение
    При оцифровке в DSD однобитным АЦП отсутствует цифровая обработка, вообще. И воспроизвести такую запись также можно без ЦОС, чисто аналоговым трактом.
    Это всё хорошо, если после оцифровки не будет никакой обработки, никогда. Сонька с таким подходом лажанулась.

    P.S. Не холиваров ради.

  3. #182
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    4,027

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от Антидот Посмотреть сообщение
    Это всё хорошо, если после оцифровки не будет никакой обработки, никогда.
    Естественно.

    Цитата Сообщение от Антидот Посмотреть сообщение
    Сонька с таким подходом лажанулась.
    Изначально, когда задумывался DSD формат, сведение выполнялось в основном в аналоге и результат уже сведенной записи хранился на мастерленте.
    Потому что с цифровой обработкой в 90-х годах было еще не очень. А оцифровать записи для более надежного хранения уже хотелось, т.к. цифра в отличие от пленки не деградирует.
    В такой ситуации DSD формат - это отличное (можно даже сказать гениальное) решение. Т.к. позволяет оцифровать сигнал без ЦОС, и сохранить кач-во с заделом на будущее, когда будет доступна более качественная ЦОС.
    Единственное что, видимо, не учли создатели формата - скорость развития цифровой аппаратуры. Очень скоро мастернг полностью перешел на "цифру", и возня с DSD превратилась в цирк.
    Формат в результате оказался никому не нужен, а по объему данных даже проигрывает стандартным ИКМ данным.

  4. #183
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    38,992

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Т.к. позволяет оцифровать сигнал без ЦОС, и сохранить кач-во с заделом на будущее, когда будет доступна более качественная ЦОС.
    А что мешало точно также без ЦОС цифровать в РСМ?!
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  5. #184
    Частый гость Аватар для Антидот
    Регистрация
    10.12.2023
    Адрес
    СПб
    Возраст
    58
    Сообщений
    298

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Изначально, когда задумывался DSD формат, сведение выполнялось в основном в аналоге и результат уже сведенной записи хранился на мастерленте.
    Если бы мастер-лента была верхом технического совершенства + качество сведения/мастеринга на тех лентах было безупречным...но всё ведь не так, и даже тогда это было понятно. Поэтому оцифровка в PCM была бы гораздо логичней.

  6. #185
    Завсегдатай Аватар для domician
    Регистрация
    07.12.2012
    Сообщений
    2,717

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    А сонька всегда отличалась попытками протолкнуть свой проприетарный формат.

  7. #186
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    4,027

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от Alex Посмотреть сообщение
    А что мешало точно также без ЦОС цифровать в РСМ?!
    Линейность и полоса тогдашних SAR АЦП, с одной стороны.
    Приличные появились совсем недавно в виде LTC2386 и AD4030. И то, по SNR они все равно проигрывают ДС.
    Слабая ЦОС в тогдашних ДС АЦП - с другой стороны.

    Цитата Сообщение от Антидот Посмотреть сообщение
    Если бы мастер-лента была верхом технического совершенства + качество сведения/мастеринга на тех лентах было безупречным...но всё ведь не так, и даже тогда это было понятно. Поэтому оцифровка в PCM была бы гораздо логичней.
    Оно и оцифровывалось, но DSD по выше описанным причинам обеспечивал лучше кач-во, которое ограничивалось аналоговым трактом и аналоговым модулятором АЦП.

  8. #187
    Завсегдатай Аватар для ditter
    Регистрация
    04.07.2004
    Адрес
    RUS
    Возраст
    52
    Сообщений
    1,120

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио


    Offтопик:
    Цитата Сообщение от dortonyan Посмотреть сообщение
    Потому что с цифровой обработкой в 90-х годах было еще не очень.
    к концу 90х большинство СД пошли с маркировкой DDD, так что тут не согласен.
    емнип сони прописала в каталоге полностью цифровую студию 24 бита в 1996г.

  9. #188
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    4,027

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио


    Offтопик:
    Цитата Сообщение от ditter Посмотреть сообщение
    емнип сони прописала в каталоге полностью цифровую студию 24 бита в 1996г.
    24 бита для мастеринга - это не так чтобы очень много. А у DSD вообще нету такого понятия как "разрядность", ДД ограничивает только SNR.

  10. #189
    Частый гость Аватар для Антидот
    Регистрация
    10.12.2023
    Адрес
    СПб
    Возраст
    58
    Сообщений
    298

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от dortonyan Посмотреть сообщение
    И то, по SNR
    Для оцифровки аналоговых мастер-лент SNR даже 16 бит - с хорошим запасом.

    ---------- Сообщение добавлено 17:17 ---------- Предыдущее сообщение было 17:16 ----------

    Цитата Сообщение от dortonyan Посмотреть сообщение
    24 бита для мастеринга - это не так чтобы очень много.
    Минимум децибел на 30 лучше аналога.

  11. #190
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    4,027

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Антидот, у нас же речь не за кач-во мастер-ленты, а за кач-во формата.
    DSD при оцифровке однобитным АЦП обеспечивал ультимативное кач-во, не хуже современного, не смотря на слабую тогдашнюю ЦОС.
    Какое кач-во достаточно для оцифровки мастер-ленты - вопрос отдельный, спорить не буду.

  12. #191
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    38,992

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Потому что с цифровой обработкой в 90-х годах было еще не очень.
    ..
    Линейность и полоса тогдашних SAR АЦП, с одной стороны.
    Приличные появились совсем недавно в виде LTC2386 и AD4030. И то, по SNR они все равно проигрывают ДС.
    Слабая ЦОС в тогдашних ДС АЦП - с другой стороны
    Т.е. Dire Straits в 85-м хватило, а в 90-х уже было "не очень"?
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  13. #192
    Частый гость Аватар для Антидот
    Регистрация
    10.12.2023
    Адрес
    СПб
    Возраст
    58
    Сообщений
    298

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Антидот, у нас же речь не за кач-во мастер-ленты, а за кач-во формата.
    Нет, началось с этого:


    Цитата Сообщение от dortonyan Посмотреть сообщение
    Вообще DSD формат имеет смысл только в двух случаях:
    1. Для оцифровки уже сведенных мастер-лент.
    2. Для воспроизведения на своем однобитном ЦАП.

  14. #193
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    4,027

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от Антидот Посмотреть сообщение
    Нет, началось с этого:
    Во-первых, не вижу противоречия. К чему эта цитата?
    Во-вторых, началось с вопроса Владимира (Turbo_man) про DSD. В этом контексте и писалось все остальное.

    Цитата Сообщение от Alex Посмотреть сообщение
    Т.е. Dire Straits в 85-м хватило, а в 90-х уже было "не очень"?
    Не понял вопроса.

  15. #194
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    38,992

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Не понял вопроса.
    Альбом 85 года Dire Straits "Brothers In Arms".
    Его очень часто приводят как пример очень качественно записанного винила!
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  16. #195
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    4,027

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Alex, я читать умею. Я в самом деле не догоняю к чему это?

  17. #196
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    38,992

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Я в самом деле не догоняю к чему это?

    Он не существовал в аналоге.
    Ну конечно, пока на винил не попал
    Точнее там был один промежуточный момент существования в аналоговом виде - после сведения, (а потом опять в цифру), но весь исходный звук был в цифре, как и результат.
    Т.е. было чем оцифровать и как по мне - так весьма не плохо
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  18. #197
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    4,027

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Alex, понятно.
    Цифровую запись до DSD никто не отрицал.

  19. #198
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    38,992

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Я не столько про DSD, сколько про качество АЦП в те годы.
    И ЦАП, ведь для промежуточного аналога чем-то выводили.
    А потом еще через АЦП в цифровой "мастер".
    И еще раз через ЦАП на виниловые рекордер (насколко я знаю, винил писали именно так, а не с промежуточного аналога).

    P.S. Понятно что сейчас и АЦП и ЦАПы на порядки лучше, вот только Нопфлер на 40 лет старше
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  20. #199
    Частый гость Аватар для Антидот
    Регистрация
    10.12.2023
    Адрес
    СПб
    Возраст
    58
    Сообщений
    298

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Во-первых, не вижу противоречия.
    Как хотите.


    Цитата Сообщение от dortonyan Посмотреть сообщение
    К чему эта цитата?
    Ну вот Алекс пояснил, что уже 40 лет назад вполне умели писать в цифре, соответственно, и оцифровывать. А если вернуться к моменту, когда я встрял, вопрос на фига вообще нужен DSD остаётся. Не вижу, чтобы DSD предлагал что-то новое-революционное, или делал что-либо лучше, чем PCM. Записывается, редактируется, сводится-мастерится в PCM 99,999% записей, и непохоже, что это изменится. Какой смысл всё делать в одном формате, а для прослушивания перекидывать в другой? Лучше точно не будет. И с редактированием у DSD засада.

  21. #200
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    41
    Сообщений
    2,201

    По умолчанию Re: Экономичная реализация арифметики ЦОС в аудио

    Цитата Сообщение от Антидот Посмотреть сообщение
    Записывается, редактируется, сводится-мастерится в PCM 99,999% записей
    Если записывается дельта-сигма-АЦПом, то тезис становится не таким однозначным ;)
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

Страница 10 из 11 Первая ... 891011 Последняя

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

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

Ваши права

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