Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: "Полигон"

Re: "Полигон" 24 Окт 2011 08:40 #1686

  • yl2gl
  • ( Пользователь )
  • yl2gl аватар
  • Вне сайта
  • Сообщений: 412
  • Репутация: 9
Залил старую прошивку - самоконтроль тире появился вновь. Где-то глюк...
73! Валерий YL2GL
yl2gl.ucoz.net
Администратор запретил публиковать записи.

Re: "Полигон" 25 Окт 2011 16:42 #1687

  • alex_vd
  • ( Посетитель )
  • alex_vd аватар
Смысл фильтрации такой: мы имеем 31 отсчет АЦП и 31 полюс фильтра, попарно перемножаем их и складываем.

Добрый день, Юрий!

Эту часть можно упростить: коэффициенты (полюса) Вашего фильтра симметричны относительно середины. При этом можно уменьшить количество умножений - сумируете первый и последний отсчеты и умножаете на первый коэффициент (полюс) -результат в аккумулятор, далее сумируете второй и предпоследний отсчеты и умножаете на второй коэффициент (полюс)- результат в аккумулятор, и т.д до середины. Средний отсчет(если он есть) умножается на свой коэффициент.

С выходным ШИМом можно так поступить (если освободить один таймер): допустим есть 16 битный результат, который нужно вывести через два 8 битных ШИМ. Записываете старшие 8 бит в первый таймер, младшие - во второй. Выходы первого таймера соединяем с резистором 1к, второго с резистором 256к. Вторые выводы резисторов - вместе и на нагрузочный резистор. (видел такую схему в интернете). При этом можна увеличить частоту ШИМ не уменьшая разрядность.

КИХ фильтр не должен возбуждаться - скорее всего он "перегружается" - переполнение аккумулятора или просто не обнуляете аккумулятор при новом цикле.

С уважением
Александр Вдовенко
Администратор запретил публиковать записи.

Re: "Полигон" 29 Окт 2011 21:47 #1688

  • RX3AEW
  • ( Пользователь )
  • RX3AEW аватар
  • Вне сайта
  • Сообщений: 44
  • Репутация: 0
alex_vd пишет:

Эту часть можно упростить: коэффициенты (полюса) Вашего фильтра симметричны относительно середины. При этом можно уменьшить количество умножений...

Это так, резерв здесь есть хороший.
С выходным ШИМом можно так поступить (если освободить один таймер): допустим есть 16 битный результат, который нужно вывести через два 8 битных ШИМ. Записываете старшие 8 бит в первый таймер, младшие - во второй. Выходы первого таймера соединяем с резистором 1к, второго с резистором 256к. Вторые выводы резисторов - вместе и на нагрузочный резистор. (видел такую схему в интернете). При этом можна увеличить частоту ШИМ не уменьшая разрядность.

Идея отличная. Но таймеры все используются.

КИХ фильтр не должен возбуждаться - скорее всего он "перегружается" - переполнение аккумулятора или просто не обнуляете аккумулятор при новом цикле.

В программе идет проверка на перегрузку. Проверяется входное значение. Дальше все устроено так, что при этом аккумулятор не перегружается.
Когда аккумулятор перегружается, и старший разряд выскакивает за сетку, фильтр начинает создавать почти белый шум из младших разрядов. А в нашем случае вырастает пик на центральной частоте фильтра.
Администратор запретил публиковать записи.
Модераторы: UU7JF, UT5LP