Перейти к содержанию
    

Разработать многоканальную микропроцессорную систему фильтрации входного сигнала. На процессоре AVR

Помогите разработать многоканальную микропроцессорную систему фильтрации входного сигнала. На процессоре AVR

Алгоритм yn=(2xn+(3xn-1+(xn-2+3xn-3/0.5))/0.25)/0.5

Количество каналов 5

Частота дискретизации 0,2 КГц

Разрядность АЦП 9

Максимальный уровень входного сигнала 2 мВ

Разрядность ЦАП 7

Максимальный уровень выходного сигнала 4,5 В.

Надо написать программу на асемблере или C++....либо на чем нибудь другом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я разбираюсь, ЗДЕСЬ курсачи не заказывают. Здесь люди делают сами, а когда натыкаются на им что-то непонятное - просят совета, как решить возникшую проблему. Попросите в другом месте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-во. Это в теме "предлагаю работу". Хотя, если Вы собираетесь работать по этому профилю, то лучше сделайте сами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

yn=(2xn+(3xn-1+(xn-2+3xn-3/0.5))/0.25)/0.5

Ну и еще стоит отметить, что "алгоритм" упрощается до yn=60xn-88.

 

Может быть топикстартер имеет ввиду что n, n-1, n-2, n-3 - это номера отсчётов. Просто неудачно записана формула.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть топикстартер имеет ввиду что n, n-1, n-2, n-3 - это номера отсчётов. Просто неудачно записана формула.

 

 

где Xn, Xn-1, Xn-3 это входные значения АЦП

yn-выходное значение для ЦАП

 

Так можно упростить уравнение:

0,0625уn=0,25Xn+1.5Xn-1+Xn-2+3Xn-3

post-76508-1366133500_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Алгоритм yn=(2xn+(3xn-1+(xn-2+3xn-3/0.5))/0.25)/0.5

...

Разрядность АЦП 9

 

Надо заменить деления на умножения. Получим:

 

yn = 4*xn + 24*xn-1 + 8*xn-2 + 48*xn-3

 

Поскольку данные от АЦП содержат только 9 разрядов, то с умножениями мы вполне укладываемся в разрядную сетку 16-ти бит (84 * 511 = 42924 < 65535).

 

Вот только положительные знаки у всех коэффициентов внушают у меня подозрения. Что это за фильтрация такая, если после нее исходное число там стремительно растет? Скорее всего, топикстартер попутал умножение с делением. Согласно здравому смыслу на константы 0.5 и 0.25 надо умножать, а не делить на них.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...