Да, выглядит куда сложнее реализации контура "в лоб". Интересно было бы ещё сравнить шумовые характеристики в целочисленной системе с одинаковой разрядностью. Дело в том, что контур, реализованный "в лоб", автоматом реализует ещё и т.н. noise sharpening. Это подтверждается во-первых спектроанализатором, а во вторых абсолютным отсутствием потерь в таком контуре с бесконечной добротностью (не смотря на присутствие ошибок округления при вычислениях).int IIR_Filtr(int Data) {
int32 temp;
short *COEFF=(short*)IIR16_COEFF; // указатель на коэффициенты
short *D = (short*)DBuffer; // указатель на линию задержки
short *E = (short*)EBuffer;
short Xc, pvalue;
int i;
pvalue = (short)Data;
for(i=0;i<IIR16_NBIQ;i++)
{
Xc = pvalue;
temp = (long)(*COEFF++)*Xc + (long)(*COEFF++)*(*D++) + (long)(*COEFF++)*(*D--) + (long)(*COEFF++)*(*E++) + (long)(*COEFF++)*(*E--);
*D++ = *D;
*E++ = *E;
pvalue = (short)(temp>>*COEFF++);
*D++ = Xc;
*E++ = pvalue;
}
return (int) pvalue;
}
Для начала - мне сложно понять что из себя вообще представляет это преобразование. Какие оно отображает параметры и в каком виде. Об этом нигде не пишут - везде язык математики и преподносится так, будто там всё и так само собою разумеющееся и очевидное. Мол держите инструмент и не важно как он работает - умные дяди за вас всё уже подумали. Просто знайте, что полюса должны быть тут и вот такие, а дальше оно само всё как-то получится...
К примеру, преобразованием Фурье можно разложить изображение на два других - т.н. модуль и аргумент комплексного числа. Ну и что это такое и как с ним работать? Ну модуль, я знаю что такое модуль. И что такое аргумент - тоже знаю. Я даже знаю что они представляют из себя на Декартовой системе координат и как их находить. Но какая мне с этого практическая польза, а? Я исказил изображение и получил какой-то мусор... И тут находятся действительно нормальные люди, которые называют эти вещи амплитудой (магнитудой) и фазой, описывая изображения как спектральную характеристику и положение гармоник в пространстве. И показывают наглядно что с этим можно сделать: http://www.imagemagick.org/Usage/fourier/ - ну гораздо же понятнее. Где подобное по Z-преобразованию? Я не находил...
Буду признателен, однако если там всё описано в таком же стиле как на dsplib - боюсь, моего порога вхождения будет недостаточно...