Цитата(SasaVitebsk @ Sep 20 2009, 23:33)

Эээээ...
Результат обсуждения меня не порадовал.Я вам давал не теорию и не практику, а методику. Вы должны проследить и... сделать любой. А соответственно найти ошибки в моём. Я ведь на бумаге всё это писал. Тем не менее там всё правильно...
Если Вы восприняли мой пост как критику в адрес своей методики, то спешу заверить, что это совершенно не так. Дело было поздно ночью, когда легко проглядеть ньюанс, подобный потерянному здесь... Тот случай - когда вроде все правильно, но не работает. Поэтому, собственно, вопрос и последовал...
Цитата(SasaVitebsk @ Sep 20 2009, 23:33)

2) Если бы я, для того чтобы проверить работу фильтра каждый раз ваял такую схему ...
Нет конечно, респект и уважуха, но вы же всётаки прграммисты. У них подход попроще ....
Я написал для себя приложение в билдере по принципу ГКЧ ...
Ну, имхо, модель простейшая и ваяется быстро, при определенных навыках - copy/paste

Когда под рукой нет необходимого инструментария для работы с цифровыми фильтрами - так тоже неплохо - плюс время выполнения в железе оценить можно, и подумать сколько звеньев поставить получится...
Цитата(SasaVitebsk @ Sep 20 2009, 23:33)

Когда прочитал вашу бучу, то проанализировал...
Подымать бучу и в мыслях не было, уж извините если так получилось..
Цитата(SasaVitebsk @ Sep 20 2009, 23:33)

Скажем так... была неточность, но не в фильтре. Можно было и так как я выложил, но нужна небольшая коррекция. Вопрос какая?
Неточность легко ищется незамыленным глазом: читаем хелп:
Цитата
y(n)=( a0*x(n)+a1*x(n-1)+a2*x(n-2) ) – ( b1*y(n-1) + b2*y(n-2) )
И ключевая Ваша фраза:
Цитата
Я упрощу выражение и вместо X(i-1) буду писать X1 и так далее....
следование которой и привело к неточности: X(n-4) стал Х4, а Xn -> X0 (и т.д.). А привязка коэфф. не изменилась. В то время как X4 (если его номер рассматривать как порядковый номер следования отсчета во времени) на самом деле Xn. Иными словами перепутались коэффициенты с отсчетами. То же самое и с Yi. при этом следует еще учесть, что выход - это Y4. Тогда код фильтра будет такой:
Код
X4=X3;
X3=X2;
X2=X1;
X1=X0;
X0=(int)ADCW;
Y0=Y1;
Y1=Y2;
Y2=Y3;
Y3=Y4;
Temp = (X4+X0+Y1-Y0)>>1;
Temp -= X2+Y3;
Temp >>= 1;
Temp -= Y0;
Temp >>= 2;
Temp +=((Y3-Y2)<<1)+Y1;
Y4=Temp;
PORTD= (unsigned char) ((Y4+512)>>2);
Т.е. видно, что крайние Xi и Yi поменялись местами соответственно (X4<->X0,Y4<->Y0 и т.д.).
Цитата(SasaVitebsk @ Sep 20 2009, 23:33)

Затестите на своей чудо машинке...
Затестил. работает. Только хочу заметить, что АЧХ фильтра не такая как на картинке - если верить модели, работает это скорее как ФВЧ, где - то от 400 Гц - далее подъем и спад до 3кГц почти не заметен...
А что касается первоначального фильтра - тоже работает, после исправлений - там частота резонанса около 1336,9 Гц... Откуда так точно? Все просто, иногда (не всегда) после снятия сигналов, фильтр звенит на этой частоте. Звон правда достаточно малый - амплитуда около 0,02В (одна градация ЦАПа). Спад АЧХ возле этой частоты заметен на глаз, что называтся... Вот как то так...
Еще раз спасибо Вам, что потратили свое время на очевидные объяснения..
Любой, заслуживающий внимания, опыт приобретается себе в убыток...