Недавно начал работать над программированием DSP и столкнулся с рядом трудностей, появились вопросы, на которые не смог найти/понять ответа.

Основная трудность - то, что в институте, в программе подготовки инженера-конструктора РЭА не было ЦОС.

Самому с 0 приходится изучать весь этот огромный раздел, в частности цифровые фильтры/преобразования фурье и все связанное с этим, перерывая десятки сложных книг и сотни форумных сообщений.
Имеется вроде бы простое задание - сделать детектор DTMF сигналов + еще 1 частоты (итого 9 частот) на 30 каналов процессоре TMS320С672x (плавающая запятая, мощный достаточно, должен легко справиться).
Сначала хотел сделать это набором фильтров (это ведь называется банк фильтров?) фильтруя сигнал ЦФ/подсчитывая длительность сигнала, если его амплитуда после фильтрации имеет достаточный уровень. Выходило... не очень. В процессе изучения информации наткнулся на алгоритм герцеля, начал его изучать. Возник ряд вопросов.
1) Имеются требования, чтобы детектирование соответствовало ОСТ 45.54-95 - программа должна точно детектировать сигнал выше -20дб, и отклонением частоты менее 1.8% и не реагировать на сигнал слабее -37дб и с отклонением частоты более 3%. Ну и куча других параметров.
Из описания алгоритма не ясно, что будет, если мне надо определить, например, 697Гц и я подам, например, на 40 мс частоту 709 гц при уровне -19дб и суммарном уровне помех -40дб. Он ее должен различить, согласно госту.

Хочется узнать, если кто-то делал декодирование DTMF, или разбирается в этом хорошо, если сделаю по стандартному алгоритму (Например, реализации той же TI), то насколько соответствовать госту будет?
2) Насколько хорош вообще данный алгоритм? Есть альтернативы? Вопрос больше в плане точности детектирования, детектирование на фоне речи/музыки, хотя, конечно, какой-то жутко точный алгоритм, для реализации которого нужно будет по DSP на канал тоже практически непригоден. Как я понял, это самое оптимальное решение, к которому пришли за годы?
3) Встречаются разные варианты, различные модифицированные алгоритмы Герцеля, немного разные коэффициенты. Какой из выложенных в свободном доступе алгоритмов вы считаете наилучшим?
4) Хочу не просто программировать то, что придумали другие, а, самому разбираться в этом, а с опытом и придумывать свое. Со временем, конечно, разберусь в любом случае, но, если посоветуете хорошую литературу, это будет проще и приятнее.

Какую литературу посоветуете почитать, где подробно и, желательно, доступно описаны преобразования фурье, свертки и все с этим связанное? В методах проектирования ЦФ, аппроксимациях, Z преобразованиях я уже в общих чертах разобрался, а вот фурье пока неясен. В литературе ЦОС преобразования фурье чаще всего все даются либо в виде конечных формул, с комментариями типа "это сложно, детально разбирать не будем, но надо делать так", либо так, будто читатель разбуженный в полвторого ночи с ходу скажет в чем преобразование фурье заключается. Что-то типа "Дальнейшие действия исключительно просты, если помнить определение преобразования Фурье и формулу комплексного умножения" с последующими гигантскими формулами с одними "отсюда видно" и "это очень просто".
Буду благодарен любым ответам.