Страница 7 из 22 Первая ... 5678917 ... Последняя
Показано с 121 по 140 из 436

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

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

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

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

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

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

    Здорово!
    Но в теории я ещё не подковался, читаем. Но зато сразу посмотреть всё можно. Бетта - ширина окна?

  3. #122
    Новичок
    Регистрация
    28.05.2005
    Адрес
    Ростов - н/Д
    Возраст
    52
    Сообщений
    46

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

    Бетта - ширина окна?
    Можно и так сказать. Это актуально только для окна Кайзера, где этот параметр меняется.

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

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

    Я понял вы в флоате считаете, а как бы посмотреть целочисленное окруление коэфф.? Что получится если умножитель 18х18 или 36х36? Ведь ДСП с плав. точкой много дороже...
    Я читал статью матлаб для дсп, может туда с расчётами перейдём?

  5. #124
    Новичок
    Регистрация
    28.05.2005
    Адрес
    Ростов - н/Д
    Возраст
    52
    Сообщений
    46

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

    Доброе время суток!
    Я понял вы в флоате считаете
    Если точнее, 80-битный long double.
    а как бы посмотреть целочисленное окруление коэфф?
    Была у меня мысль сделать подобное. А потом задумался: а что именно считать? И на каких сигналах? Поясню: БПФ в этом случае применять бессмыслено, нужно производить свёртку с наборами синусоид, то есть делать примитивное преобразование Фурье, что называется, "в лоб". Это жутко замедлит процесс. А второе - на каких именно синусоидах это делать - 0 дБ, -20 дБ? Ведь от этого будет зависеть конечный результат. (Например, первоначальном варианте свёртка с wav-фаилом была сделана в 32-битном флоате, от её результов хотелось плакать. Потом переделал в 80 бит.)
    В общем притормозил я реализацию этой фичи до тех пор пока не пойму (или кто-нибудь не обьяснит мне), чего я, собственно говоря, хочу. Помогайте, коллеги...

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

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

    Вчера подсунул коэф. (21 коэф.) из вашей проги в другую демку - IIR tool - результаты несовпадают. Там конечно всего 1+10 коэф. (если я правильно понял действительная половина импульсной характеристики - потом симитрируется). Т.е. АЧХ подобна - но не "конгруэнтна" (сферляндии начитался )...

  7. #126
    Завсегдатай Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    52
    Сообщений
    1,375

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

    Цитата Сообщение от aal
    Вчера подсунул коэф. (21 коэф.) из вашей проги в другую демку - IIR tool - результаты несовпадают. Там конечно всего 1+10 коэф. (если я правильно понял действительная половина импульсной характеристики - потом симитрируется). Т.е. АЧХ подобна - но не "конгруэнтна" (сферляндии начитался )...
    Если я правильно понял по названию, программа для Infinite impulse response, хотя, конечно может быть она моделирует Finite impulse?

  8. #127
    Завсегдатай Аватар для yan
    Регистрация
    21.12.2004
    Адрес
    Чебоксары
    Возраст
    47
    Сообщений
    1,266

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

    программа для Infinite impulse response, хотя, конечно может быть она моделирует Finite impulse?
    IIR - более общий случай. IIR при деноминаторе, равном [1], вырождается в FIR.

  9. #128
    Happy little boozer Аватар для Viking
    Регистрация
    11.10.2004
    Адрес
    Украина, г.Хмельницкий
    Возраст
    46
    Сообщений
    1,079

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

    FIR это фильтры НЕРЕКУРСИВНЫЕ. Т.е. без обратных связей. IIR РЕКУРСИВНЫЕ.

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

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

    Так по У коэф. равны 0. - Вот и FIR...

  11. #130
    Happy little boozer Аватар для Viking
    Регистрация
    11.10.2004
    Адрес
    Украина, г.Хмельницкий
    Возраст
    46
    Сообщений
    1,079

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

    Цитата Сообщение от aal
    Так по У коэф. равны 0. - Вот и FIR...

    Offтопик:
    Я для менее просвещенных писал. А то прочитает кто-то незнающий ОЦОС эту ветку и не будет знать что такое FIR и IIR. А так увидит мой пост и сразу у него наступит самай!

  12. #131
    Завсегдатай Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    52
    Сообщений
    1,375

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

    Вот еще одна программка для FIR,
    реализовано несколько методик дизайна фильтра
    http://www.iowegian.com/download/scfir37a.zip
    для перевода в полный режим можно поправить один байт

    Для тех кто не в курсе есть интересный ресурс:
    http://dspguru.com/info/faqs/multrate/interp.htm, ну и вообще интересный сайт.

  13. #132
    Завсегдатай Аватар для Andrey Orloff
    Регистрация
    22.08.2005
    Адрес
    Irkutsk
    Возраст
    59
    Сообщений
    1,881

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

    Может я и ляпну не впопад... ну а что, в качестве "этакого ЦФ" сплайны (линейные, или даже кубические) никто не хочет попробовать? Конечно, есть некий гемор с расчетом и подбором коэфициентов, но ежели усе правильно и математически точно пересчитать под реальные RC-цепочки (да хоть LC-фильтр) - тогда и идеальных интергаторов не понадобится ... в году так 88-ом прошлого века делал я под чутким руководством старших товарищей цифровой формирователь синуса на основе квадратичных сплайнов, так очень неплохо получилось тогда, правда давно это было, может быть кто нибудь еще этим или похожими вещами заморачивался??? По сравнению с обычной фильтрацией (ФНЧ) после ЦАП выигрыш в качестве сигнала тогда был приличный - тока надо было делать двойной активный интергатор на ОУ, наиболее приближенный к идеальному (т.е. резисторы в ООС отсутствовали, как класс). Еще были тогда мысли и потуги прикрутить енто дело к CD-формату, даже на филипс пытались выйти с предложением (авторские свидетельства до сих пор пылятся где то , но похоже проблема повышения качества конечного сигнала никого из производителей никогда не волновала, да и сейчас дела обстоят не лучшим образом...интересно еще то, что последующий формат SACD (работа на приращениях) примерно оттуда и вытекает своими корнями
    С уважением,
    Андрей.

  14. #133
    Новичок
    Регистрация
    28.05.2005
    Адрес
    Ростов - н/Д
    Возраст
    52
    Сообщений
    46

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

    Доброе время суток!
    Цитата Сообщение от Andrey Orloff
    в году так 88-ом прошлого века делал я под чутким руководством старших товарищей цифровой формирователь синуса на основе квадратичных сплайнов, так очень неплохо получилось тогда
    Не могли бы Вы рассказать подробнее? Думаю, не я один с удовольствием почитаю.

  15. #134
    Частый гость
    Регистрация
    17.11.2004
    Сообщений
    342

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

    Цитата Сообщение от Vitёk
    Можно и так сказать. Это актуально только для окна Кайзера, где этот параметр меняется.
    Кстати, о птичках...
    Думаю,что трехуровневый обсчет в SM5842 связан с разрядностью аккамулятора-24-х битная точность вычислений +8 защитных бит-соответственно при числе умножений с накоплением больше 256 мы можем огрести переполнение

  16. #135
    Завсегдатай Аватар для Andrey Orloff
    Регистрация
    22.08.2005
    Адрес
    Irkutsk
    Возраст
    59
    Сообщений
    1,881

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

    Поподробнее попробую, хотя предупрежу сразу - я не математик.Но указанный подход демонстрирует применение известных математических методов интерполяции применительно ко гладким функциям, а интерполяция сплайнами - это такой метод, который и дает в результате гладкую функцию. Если быть точным, то мы использовали так называемые локальные В-сплайны, которые для своих вычислений не требуют большого количества отсчетов ( помоему 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

  17. #136
    Новичок
    Регистрация
    28.05.2005
    Адрес
    Ростов - н/Д
    Возраст
    52
    Сообщений
    46

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

    Доброе время суток!
    Цитата Сообщение от Gav
    Думаю,что трехуровневый обсчет в SM5842 связан с разрядностью аккамулятора-24-х битная точность вычислений +8 защитных бит-соответственно при числе умножений с накоплением больше 256 мы можем огрести переполнение
    Процесс 8-кратного оверсемплинга разбит на три части не по этому. Если бы дело было в ошибках округления - гораздо проще добавить ещё два разряда к аккумулятору. Причин две, обе связаны с оптимизацией вычислений:
    1. если делать в одной ступени не 2-, а 4-кратный оверсемплинг, количество операций умножения с накоплением (МАС) возрастает не в 2, а в 4 раза (я об этом говорил раньше)
    2. в случае, если полоса прпускания фильтра равна 0.500 от половины частоты Котельникова, то количество МАС можно уменьшить в 4 (!) раза - это связано с тем, половина отсчётов равна нулю, и половина коэффициентов фильтров тоже равна нулю. При 4-кратной передискретизации выигрыш не столь очиден.
    Упомянутые хитрости приводят к существенному сокращению вычислений, а за ним уменьшаются и потребляемый ток, и излучение в эфир. Буржуи, они хитрые...
    Andrey Orloff: За ссылки спасибо. Информация требует времени на то, что бы перевариться.

  18. #137
    Завсегдатай Аватар для Инквизитор
    Регистрация
    18.06.2004
    Адрес
    Сколково
    Сообщений
    1,991

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

    Andrey Orloff, к сожалению метод сплайн-интерполяции тоже не лишен недостатков. Обсчет полинома требует значительно больших вычислительных ресурсов, чем FIR фильтрация.

  19. #138
    Завсегдатай Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    52
    Сообщений
    1,375

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

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

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

  20. #139
    Завсегдатай Аватар для pokos
    Регистрация
    18.08.2005
    Сообщений
    1,357

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

    Цитата Сообщение от Andrey Orloff
    Поподробнее попробую, хотя предупрежу сразу - я не математик.
    Из последующего это заметно.
    Цифровые фильтры позволяют снизить требования к ФНЧ, но тащат с собой кучу проблем во временной области и в итоге страдает импульсная характеристика всего тракта.
    Неверно, мягко говоря.
    НО! пропустив этот ступенчатый сигнал через специальный фильт (например, идеальный интегратор или реальный интегратор, RC-цепочку или LC-фильтр) мы на выходе фильтра и получим искомый входной сигнал,
    Это, извините, глупость. Если Вам лень читать теорию, почитайте, хотя бы, то, что тут писали выше.

  21. #140
    Частый гость
    Регистрация
    17.11.2004
    Сообщений
    342

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

    Цитата Сообщение от pokos
    Из последующего это заметно.

    Неверно, мягко говоря.

    Это, извините, глупость. Если Вам лень читать теорию, почитайте, хотя бы, то, что тут писали выше.
    Я в институте писал курсовую по численным методам-у меня тема была интерполяция сплайном четвертого порядка-считать там сильно меньше получалось,чем при реализации ЦФ

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

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

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

Ваши права

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