Итак, "наш ответ Ч-лену" или снова фазолинейный
активный кроссовер с плоской суммарной АЧХ...Почему обязательно цифровой фильтр? Просто потому,
что считаю развитие современной цифровой техники
достаточным для того, чтобы забыть об активных
аналоговых фильтрах на ОУ, как о тупиковой ветви.
Цифровой КИХ-фильтр - это почти панацея.
А можно подробнее (и без фанатизма)? Пожалуйста.
Замечание о КИХ-фильтрах: для них нет аналогового
аналога (ну и выразился, даже стыдно). БИХ-фильтр
по сути цифровой аналог ОУ, охваченного ОС, потому
синтез БИХ-фильтра нам более-менее понятен,- все
наши знания по активным фильтрам применяются здесь
в полном объеме.
КИХ-фильтры - это тот "другой путь" (о необходимости
котогого так долго твегдили большевики

), который
пока не всем понятен. Понятие "порядок фильтра"
здесь отсутствует, так как все свойства определяются
исключительно ядром свертки, а это буквально N чисел
в любом формате представления (например 32-битные с
плавающей запятой). Для программирования на ПК удобно
выбирать N как 2^n+1, но это вовсе не обязательно.
Важно только, чтобы N было нечетным, иначе невозможно
получить фазолинейный фильтр.
А что дает КИХ-фильтр? А в нем нет ОС, он может
быть абсолютно фазолинейным, он может иметь ОЧЕНЬ
БОЛЬШУЮ крутизну затухания при ОЧЕНЬ МАЛОЙ неравно-
мерности АЧХ (хотя и ценой задержки сигнала и
БОЛЬШИХ вычислительных затрат). В том документе,
на который указал Игорь, все это очень красиво
и лаконично изложено.
К чему это все сказано? К реальному цифровому
фазолинейному кроссоверу, котрый сделать самому
программно на ПК. Даже знаю как: создать output
плагин к WinAMP, который сам инициализирует Direct
Sound для вывода 6 каналов, выделяет первичный
звуковой буфер (область, откуда данные будут
отправлены прямо в ЦАПы), и в РЕАЛЬНОМ ВРЕМЕНИ
РАЗДЕЛЯЕТ ПОТОК СТЕРЕО ДАННЫХ НА ТРИ ПОЛОСЫ И
ВЫВОДИТ ИХ ЧЕРЕЗ ШЕСТИКАНАЛЬНЫЙ ЦАП: можно хоть
компакт-диски проигрывать, хоть эм-эр-зе файлы.
Точные требования к такой системе не будут
экстремальными, скорее всего процессор с частотой
1 ГГц будет справляться "без шуму и пыли", а
шестиканальные AC'97 кодеки есть даже на недорогих
материнских платах. У меня на EPoX EP-8RDA3I
установлен кодек Realtek ALC655.
А если "ближе к телу"? Программа-прототип
выполняет разделение 4-секундного фрагмента
белого шума (44100 Гц, 16 бит, моно) на две полосы
за 0.14 сек на ПК с процессором Pentium III 575 МГц,
используя ядро свертки в 65 значений (частота
раздела по уровню -6 дБ примерно 3053 Гц). Конечно
для частоты раздела 310 Гц размер ядра будет 641
значение и время выполнения в 10 раз возрастет.
На AthlonXP 1800+ @ 1920 МГц (именно под эту
систему все и затеялось) пока не измерял, но и так
по вычислительным затратам картина ясна.
Если бы мог, то прицепил бы картинку с частотными
характеристиками полос (на белом шуме, усредненные
по времени).
Прошу всех высказываться...