Цитата(Russky @ Nov 18 2014, 14:57)

Похоже, что написать фильтр N порядка будет проще чем реализовать разбиение на биквады.

Ну смотрите сами - нахождение обственных чисел (это единственное, что там сложно) по сложности пропорционально N^3, памяти потребуется N^2. N - длина полинома числителя или знаменателя. Потом группируем нули и полюса в комплексно сопряженные пары - это сортировка по реальной части и поиск близких реальных и мнимых частей. Потом нужно будет проверить, все ли нули и полюса находятся внутри единичного круга (это скорее всего так, так как в результате синтеза получен стабильный, минимально-фазовый фильтр). Потом группируем нули и полюса в пары. Начинаем с полюса, наиболее близкого к единичной окружности - выбираем для него самый близкий ноль, чтобы минимизировать коэффициент передачи секции. Дальше - следующий полюс и ноль и т.п.
Все это, разумеется, сложнее реализовать, чем просто фильтрацию. Если фильтр целочисленный, то потребуется проверить общий коэфициент передачи на переполнение, а также проверить коэффициент передачи в отвод внутренней линии задержки и выбрать общий коэффициент передачи секции, чтобы избежать переполнения.
Вощем, я бы подумал перед тем как делать такое автоматически. Легко можно получить переполнение внутри секций или нестабильный фильтр из-за погрешностей вычислений.