Страница 20 из 22 Первая ... 101819202122 Последняя
Показано с 381 по 400 из 436

Тема: Проектируем цифровой фильтр для ЦАП

  1. #1 Показать/скрыть первое сообщение.
    Забанен (навсегда)
    Автор темы
    Аватар для Эзотехник
    Регистрация
    10.10.2004
    Адрес
    Ru
    Сообщений
    1,188

    По умолчанию Проектируем цифровой фильтр для ЦАП

    Подскажите структуру идеального фильтра и его желаемые характеристики, например для частоты 4х44 кГц. Если в наличии значительная вычислительная мощность и объём памяти.
    Нужна именно теория, поскольку "синицы в руках" уже имеются и подробно рассмотрены в других ветках (микросхемы NPC и BB).
    Кстати фирма Wadia в своих изделиях применяла мотороловские процессоры на шестислойных платах, а не готовые фильтры.

  2. #381
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    3,956

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от aal Посмотреть сообщение
    А это расшифровать на пальцах можно - что-то я не догнал.
    Дифференциальная нелинейность, это скачки на ступенчатой функции преобразования. Так вот эти скачки, так же как и шумы квантования (ступени квантования) можно "размазать" шумом. В ЦФ PMD100 для этой цели специально было несколько уровней дизеринга (для ЦАП с разным уровнем диф. нелинейности). Я это дело пробовал на данном фильтре, диф. нелинейности действительно "смазывает" (на спектре на малых уровнях сигнала исчезают палки).

    Цитата Сообщение от aal Посмотреть сообщение
    В свете выше выясненного получается, что дизеринг может быть наложен ещё на уровне АЦП каждой дорожки сведения в соответствии с разрешением АЦП.
    Так в АЦП дизеринг присутствует в любом случае. В виде естественного шума аналоговой схемы преобразователя и шума опорника.

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

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от aal Посмотреть сообщение
    Здесь не дизеринг просится, а ноизшейпинг, что бы эти шумы за звуковой диапазон выбросить
    Бррр... мы, кажется, на разных языках говорим.
    Нойс-шейпинг - это и есть дизеринг, независимо от того, подмешиваем ли мы при этом дополнительный шум.
    Но в целом тезис понятен. Добавлю в копилку того, с чем надо поиграться на досуге

    ---------- Сообщение добавлено 11:59 ---------- Предыдущее сообщение было 11:55 ----------

    И, кстати, мне кажется, чтобы эффективно сдвинуть шумы за звуковой диапазон, нам придётся менять "исходные" (не интерполированные) семплы. ХЗ, что тут лучше.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  4. #383
    Завсегдатай Аватар для aal
    Регистрация
    04.11.2004
    Адрес
    пос. Краснообск, Новосибирская область
    Возраст
    53
    Сообщений
    2,854

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    И, кстати, мне кажется, чтобы эффективно сдвинуть шумы за звуковой диапазон, нам придётся менять "исходные" (не интерполированные) семплы.
    ИМХО ошибка. Здесь основное сдвинуть шумы квантования конкретного ЦАП за пределы спектра входного сигнала (не обязательно звукового!!!). Стало быть только после ресэмплера.

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

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Ясно, что после, я имею ввиду, что придётся менять не только новые семплы, которые перед фильтрацией мы заполнили нулями, но и те, которые перед фильтрацией были скопированы из исходного сигнала (их в общем случае можно вообще не менять).
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  6. #385
    Завсегдатай Аватар для aal
    Регистрация
    04.11.2004
    Адрес
    пос. Краснообск, Новосибирская область
    Возраст
    53
    Сообщений
    2,854

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Нойс-шейпинг - это и есть дизеринг
    То, что оба способа применяются для уменьшения слышимости шума квантования - да, но способ их работы отличается в корне:
    1. Дизеринг перераспределяет шумы квантования по всему спектру записи.
    2. Ноиз шейпинг перераспределяет шумы квантования по ВЧ части спектра записи.

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    я имею ввиду, что придётся менять не только новые семплы, которые перед фильтрацией мы заполнили нулями, но и те, которые перед фильтрацией были скопированы из исходного сигнала
    Здесь ошибка в понимании процесса: в обычном фильтре ничего не копируется, а поток только фильтруется. Дополнение "0" это добавление частоты в 1/2 Fs исходного потока в удвоенный поток с минимально возможной энергией без дополнительной сложной математики и без "обогащения гармониками". Эту частоту и надо подавить в выходном потоке, как и зеркальный спектр. Вот на удвоенный поток, при округлении до нужной разрядности и надо наложить низшейпинг, с учётом отбрасываемой дробной части...

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

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от aal Посмотреть сообщение
    Вот на удвоенный поток, при округлении до нужной разрядности и надо наложить низшейпинг, с учётом отбрасываемой дробной части...
    Это всё понятно.
    Видимо надо с картинками
    Есть исходный сигнал:
    a0, a1, a2, a3...
    Удваиваем частоту:
    a0, 0, a1, 0, a2, 0, a3, 0.
    Теперь надо пропустить это через фильтр.
    Причём можно вычислять новые значения для всех семплов КИХ-фильтром, а можно, например, ради экономии ресурсов
    сделать фильтр, который будет расчитывать только новые семплы. В этом случае, полагаю, семплы a0 ,a1, a2, a3 можно и не дизерить.
    Я думал, мы говорим именно об этом.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  8. #387
    Завсегдатай Аватар для aal
    Регистрация
    04.11.2004
    Адрес
    пос. Краснообск, Новосибирская область
    Возраст
    53
    Сообщений
    2,854

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Теперь надо пропустить это через фильтр.
    Причём можно вычислять новые значения для всех семплов КИХ-фильтром, а можно, например, ради экономии ресурсов
    Экономия может оказаться сомнительной: абсолютной точности вычислений нет ни когда, а в данном случае накопление ошибки для вычисленных "промежуточных" сэмплов даст дополнительные нелинейности. Пропускать надо весь поток через фильтр. К тому же подобная оптимизация может вылиться в большие накладные расходы по пропуску исходных сэмплов. Проще и точнее пропустить всё.

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    В этом случае, полагаю, семплы a0 ,a1, a2, a3 можно и не дизерить.
    Я думал, мы говорим именно об этом.
    Рассматривайте дизеринг не как манипуляцию с битами, а как наложенную функцию/"помеху" на исходный спектр. Всё что делал дизеринг в исходном сигнале, он делает и в апсэмплинг случае: только он распредлит шумы квантования не по всему спектру полученного потока, а только по спектру исходной фонограммы. Посему ваше высказывание несколько лишено смысла....

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

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Ладно, проехали. Очевидные вещи я сам знаю
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  10. #389
    Завсегдатай Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    67
    Сообщений
    1,040

    Подмигивать Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    сделать фильтр, который будет расчитывать только новые семплы. В этом случае, полагаю, семплы a0 ,a1, a2, a3 можно и не дизерить.
    К сожалению, фильтры пропускающие исходные данные неизменными, имеют серьезные ограничения. Например для апсэмплинга в 2 раза это будет полуполосный с -6 дб на Найквисте и.т.д и т.п. нетрудно видеть, что при апсэмплинге N, у них каждый N-тый коэффициент=0.Я когда-то тоже думал, что это что-то даст, но увы.

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

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

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

  12. #391
    Завсегдатай Аватар для Оллема
    Регистрация
    11.09.2005
    Сообщений
    3,817

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Алиасы в уши или в глаза лезли?

  13. #392
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    3,956

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от Alex Посмотреть сообщение
    Алиасы задолбали
    Тем не менее, абсолютно все аппаратные ЦФ (даже в самый "звучащих" цапах) - полуполосники.

  14. #393
    Завсегдатай Аватар для aal
    Регистрация
    04.11.2004
    Адрес
    пос. Краснообск, Новосибирская область
    Возраст
    53
    Сообщений
    2,854

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

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

  15. #394
    Завсегдатай Аватар для Оллема
    Регистрация
    11.09.2005
    Сообщений
    3,817

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Все давно написано. И послушано. Я никаких алиасов не услышал. Может тугоух, может аппаратура недостаточна. Спросил без задних мыслей и ерничества. Сравнить очучения.

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

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

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

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

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от Alex Посмотреть сообщение
    Слушать я даже и не стал.
    Алекс, вопрос же не в том, что на частоте Найквиста подавление только 6дБ, а насколько круто идет спад, который определяется порядком фильтра. Все реальные релизы ни имеют сигнала рядом с частотой Найквиста. Соответственно, можно подобрать порядок полуполосного фильтра, что бы отсечь первый реальный алиас. Получается не так страшно.

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

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

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

  19. #398
    Завсегдатай Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    67
    Сообщений
    1,040

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Тем не менее, абсолютно все аппаратные ЦФ (даже в самый "звучащих" цапах) - полуполосники.

    Offтопик:
    А гадость пьем из экономии .. (с)
    Настоящий инженер экономит инстинктивно, из принципа, даже если незачем.
    Как говаривал великий инженер академик Крылов - Лишняя вычисленная цифра есть ошибка!
    Последний раз редактировалось tomtit; 08.03.2017 в 04:53.

  20. #399
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    3,956

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от Костя Мусатов Посмотреть сообщение
    Все реальные релизы ни имеют сигнала рядом с частотой Найквиста.
    Как сказать. Я вот специально посмотрел спектры пары альбомов с тяжелым для воспроизведения материалом. Оказалось данные записи отличаются повышенными уровнями ВЧ, вплоть до частоты Найквиста, и вдобавок еще имеют клипп. Так вот, на полуполосном ЦФ (примерно уровня SM5847) алиясинг прекрасно виден в виде горба правее частоты найквиста. И на отдельных участках этот горб имеет уровень всего на 2..3 десятка децибел ниже уровня сигнала. Конечно это частоты 22..23кГц, которые лежат за пределами слышимой области. Но, тем не менее, уровень их достаточно высок и аналоговым ФНЧ они не ослабляются, т.к. лежат впритык к звуковой полосе.

    Цитата Сообщение от Костя Мусатов Посмотреть сообщение
    Соответственно, можно подобрать порядок полуполосного фильтра, что бы отсечь первый реальный алиас.
    Т.к. полуполосник всегда имеет 6дБ ослабления на частоте Найквиста, то какой порядок не сделай - алиясинг все равно останется, просто будет представлен более узкой полосой. Поэтому, по хорошему, нужно не просто сужать переходную полосу, а сдвигать ее левее, пусть и ценой ухода от полуполосной структуры. Для сегодняшнего уровня элементной базы это ерунда. А с появлением USB транспортов ресемплинг можно переложить на софт, что вообще ничего не стоит.


    Offтопик:
    Цитата Сообщение от tomtit Посмотреть сообщение
    А гадость пьем из экономии .. (с)
    Настоящий инженер экономит инстинктивно, из принципа, даже если незачем.
    Как говаривал великий инженер академик Крылов - Лишняя вычисленная цифра есть ошибка!
    Видимо говаривал не безосновательно. )
    99.99% слушателей (включая меня ) даже не поймет что это гадость, и так нормально играет.

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

    По умолчанию Re: Проектируем цифровой фильтр для ЦАП

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Оказалось данные записи отличаются повышенными уровнями ВЧ, вплоть до частоты Найквиста,
    Покажи! Я такого не встречал

Страница 20 из 22 Первая ... 101819202122 Последняя

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

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

Ваши права

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