помогите разобраться с цифровым (программным) фильтром |
Ответить |
Автор | |
Действительный член Присоединился: 24 Декабрь 2004 Online Status: Offline Публикации: 321 |
Опубликовано: 29 Июнь 2006 07:35 |
Здравствуйте товарищи. есть пролема на выходе АЦП получаем значение и оно прыгает, я так понимаю из-за погрешности АЦП, последний разряд переменной WORD, изменяется в ределах 5-8 занчений. В итоге получается картина с шумами, в среднем длителность этих скачков как раз и равна времени преобразования АЦП, мне надо это значение отфильтровать программным фильтром, я сделал это при помощи Z1:=k*Y1n+(1-k)*Y1n_1;, предварительно значения Y1n и Y1n_1 усреднил по 10. почему то не очень хорошо фильтруется такой формулой, может есть более эффективный способ, посоветуйте, спасибо
|
|
Новичок Присоединился: 04 Ноябрь 2005 Категория: Kazakhstan Online Status: Offline Публикации: 16 |
|
Из библиотеки Ultralogik16: Для устранения помехи, имеющей нормальное распределение, в качестве фильтра можно применить блок "непрерывное среднее", который вычисляет среднее арифметическое выборки. Чем больше размер выборки, тем меньше влияние помехи. Однако следует иметь ввиду, что с увеличением размера выборки (N) увеличивается время установления выходного значения. Поэтому для быстропеременных процессов не следует делать размер выборки слишком большим
Ak'=Ak-1' - Ak-1'/N + Ak/N Ak - текущее выходное значение АЦП Ak' - текущее среднее из N отсчетов Ak-1' - среднее из N отсчетов, посчитанное по предыдущему значению АЦП : Ak-1'=Ak-2' - Ak-2'/N + Ak-1/N N -количество отсчетов для усреднения |
|
Действительный член Присоединился: 24 Декабрь 2004 Online Status: Offline Публикации: 321 |
|
спасибо, попробую, а так как мы делали тоже получалось нормально Z1:=k*Y1n+(1-k)*Y1n_1;, и еще так Xi:=Xi_1 + k*(Ui-Xi_1); а результат один и тот же причем если в эти фильтры подавать данные предварительно усредненные как среднее арифметическое то получается еще лучше, но долго
|
|
Новичок Присоединился: 07 Июнь 2004 Online Status: Offline Публикации: 26 |
|
Вообще-то дело здесь не в погрешности, у вас спектр входного сигнала превышает полосу пропускания АЦП. Если скорость АЦП нет возможности поднять, Вам придется пользоваться средним за 40-60-100... измерений, в зависимости от требуемой точности. Или значением скользящего среднего, вроде тех что Вы описали. Или построить настоящий цифровой фильтр. |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |