Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ: (+)

Отправлено SM 29 февраля 2008 г. 11:12
В ответ на: Леонид Иванович: В продолжение о средних чего то не сходится одно с другим отправлено eXeC001er 29 февраля 2008 г. 09:50

Во первых это не скользящее среднее, а БИХ ФНЧ первого порядка, являющийся цифровым аналогом RC-цепи, полученным методом инвариантной импульсной характеристики. К скользящему среднему никакого отношения не имеет, так как скользящее среднее это КИХ-фильтр с ИХ=const, и ничто другое.

Во вторых:

y - (y>>3) это y-1/8*y = 0.875*y

таким образом передаточная хар-ка данного фильтра H(z) = 1/(1-0.875*z^-1)

в общем виде БИХ ФНЧ этого типа для G=1 в нуле таков:

y(n)=A*y(n-1) + (1-A)*x(n), т.е. H(z)=(1-A)/(1-A*Z^-1)

где A находится в интервале 0..1, и чем больше А, тем больше постоянная времени фильтра, есть формула, связывающая тау RC-прототипа и коэффициент A.

в данном случае A=0.875, следовательно для получения G=1 надо входное значение домножить на 0.125, или на столько же домножить выходное, что эквивалентно. В этом Л.И. абсолютно прав, и его алгоритм верен.

Как я заметил, этот фильтр был получен из RC-цепочки методом инвариантной импульсной характеристики. Отсюда следует, что отсчеты импульсной хар-ки полностью повторяют дискретизированную импульсную хар-ку соотв. RC-цепи, однако АЧХ получается в результате бесконечного числа наложений сдвинутых копий кусков АЧХ аналоговой RC-цепи, что приводит к ненулевому коэффициенту передачи фильтра на частоте Найквиста.

Теперь подскажу другой фильтр. Который тоже является БИХ фильтром первого порядка, именуется фильтром Баттерворта, и получается из той же аналоговой RC-цепочки, но другим методом преобразования - билинейным преобразованием.

его H(z) = ( (1-A)/2 + (1-A)/2*Z^-1 ) / (1 - A*Z^-1)

соответственно разностное уравнение:

y(n) = (1-A)/2*(x(n)+x(n-1))+A*y(n-1)

Тут A может может быть уже в диапазоне -1...+1. При этом A=0 соответствует частоте среза фильтра (точка -3дБ) в 0.5 от частоты Найквиста, при стремлении A к -1 частота среза стремится к нулю, при стремлении к +1 - к Найквисту. Заодно видно, что при A=0 фильтр вырождается в обычное скользящее среднее двух отсчетов.

отсюда видно, что единственным отличием является использование в качестве входной выборки скользящего среднего двух соседних выборок, что дает ноль на частоте найквиста, который дает нулевой коэффициент передачи на этой частоте. В результате в частотной области АЧХ такого фильтра ПОЛНОСТЬЮ соответствут АЧХ Баттерворта (RC-цепи), однако импульсная характеристика фильтра уже не повторяет отсчеты ИХ RC-прототипа.

Ну и последнее. Запустите матлаб. И сами изучите свойства обоих реализаций в fvtool.

Для первой:
A=xxxxx;
num=[1-A 0];
den=[1 -A];
fvtool(num,den);

Для второй:
A=xxxxx;
num=[(1-A)/2 (1-A)/2];
den=[1 -A];
fvtool(num,den);


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите двойку на единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru