2. Анализ, формализация и декомпозиция задачи

Формализация задачи при выполнении всех этапов проектирования предполагает представление выполнения функций фильтра на языке логических и математических связей, в виде логических, математических моделей и т.п. Задачей формализации является согласование структурное, логическое, алгоритмическое, электрическое всех аппаратных и программных модулей устройства, обеспечивающее разработку работоспособной электрической схемы (аппаратная часть) и работоспособной программы фильтра, согласованной с аппаратной частью [2].

2.1. Распределение портов и организация взаимодействия с внешними устройствами

В техническом задании на курсовой проект заданы базовый микроконтроллер, АЦП и формат входных и выходных сигналов. Микроконтроллер КР1830ВЕ51 представлен на рис. 1.

рис. 1[3]*

Для ввода и вывода данных будем использовать два двунаправленных порта: P2 – для ввода данных, P0 – для вывода. Необходимо организовать взаимодействие микроконтроллера и внешнего устройства таким образом, что бы готовые данные поступали с заданной частотой дискретизации. Нулевой бит порта P3 (P3.0) будем использовать в качестве линии запуска внешнего устройства. По этой линии на вывод внешнего устройства будет поступать импульс нулевого или высокого (в зависимости от внешнего устройства) уровня. Примем в программе импульс запуска - низкого уровня. Сигнал о готовности входного отсчета будет поступать на вывод P3.2 микроконтроллера. В программе будем считать, что данные готовы, если данный бит равен 0. Примем, что входное внешнее устройство имеет третье состояние выходных портов, тогда для того, что бы входные отсчеты поступили на порт микроконтроллера будем подавать импульс низкого уровня на соответствующий вход внешнего устройства. Выделим для этого линию P3.1. Запуск внешнего устройства целесообразно делать в начале программы, что позволит сэкономить время необходимое для ожидания готовности отсчета. Другими словами внешнее устройство параллельно с выполнением программы подготовит входные отсчеты еще до момента требующего их ввода. Или же, в случае если внешнее устройство не успеет подготовить отсчеты к тому времени, когда в программе предусмотрен их ввод; мы сэкономим время равное времени выполнения программы до этого момента.

В отличие от ввода отсчетов, их вывод осуществляется сразу «по готовности». Заданный в теоретическом задании ЦАП работает в состоянии постоянной готовности. И что бы ЦАП не считывала «неправильные» данные с выходного порта (это связано с тем, что выходной отсчет приходит неравномерно на каждый бит порта), будем формировать импульс считывания поданный на соответствующий вход ЦАП. Выделим для этого линию P1.0.

Для промежуточного хранения данных в микроконтроллере предусмотрено 4 регистровых банка RB0…RB3 по восемь регистров в каждом (R0…R7) (рис. 2).

рис. 2[3]

Регистровые банки переключаются полем RS слова состояния программы PWS. [3]

Выберем для основной программы 1 регистровый банк (RB1). Для рабочей программы определим третий регистровый банк (RB3).

 

2.2 Выбор режима таймера-счетчика

Для настройки таймера счетчика T/C0 необходимо определить интервал дескретизации:

TД=1/FД=400мкс

и количество машинных циклов, укладывающихся на интервале дискретизации:

N= TД/TМЦ=400.

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

Запишем в память микроконтроллера число -400(10)=FE70(16)

Time0L <= 70h -Младший байт числа -400 в ДК

Time0H <= FEh -Старший байт числа -400 в ДК

 

2.3 Масштабирование коэффициентов и упрощение разностного уравнения

Для проектирования фильтра в ТЗ дано его разностное уравнение и соответствующие коэффициенты. Так как ячейка памяти может содержать 8ми разрядно двоичное число, причем старший разряд – знаковый, то необходимо провести округление коэффициентов фильтра до семи разрядов.

При помощи программы Matlab выберем способ округления. Для этого построим АЧХ фильтров при различном округлении (рис. 3) и сравним с АЧХ заданного фильтра. На основе сравнения выберем тот способ, который лучше удовлетворяет ТЗ и виду фильтра (ВЧ).

Возьмем способ округления – отбрасыванием дробной части ( зеленый график) (рис. 4).

рис. 3

рис. 4

 


Исходные коэффициенты (Dec) Исходные коэффициенты (Bin) Округленные коэффициенты* (Dec) Округленные коэффициенты* (Bin) (ПК) Округленные коэффициенты (Hex)
B1 0.023815103093366 0,00000110 3 00000011 03
B2 0.014780763864104 0,00000011 1 00000001 01
B3 -0.067269084707391 -0,00010001 -8 10001000 88
B4 0.054715869201380 0,00001110 7 00000111 07
B5 0.089243271343775 0,00010110 11 00001011 0B
B6 -0.295613381939767 -0,01001011 -37 10100101 A5
B7 0.394551759773816 0,01100101 50 00110010 32
B8 -0.295613381939767 -0,01001011 -37 10100101 A5
B9 0.089243271343775 0,00010110 11 00001011 0B
B10 0.054715869201380 0,00001110 7 00000111 07
B11 -0.067269084707391 -0,00010001 -8 00001000 88
B12 0.014780763864104 0,00000011 1 00000001 01
B13 0.023815103093366 0,00000110 3 00000011 03

Сумма модулей исходных коэффициентов:

1.48542670807338

Сумма модулей коэффициентов числителя:

1.43750000000000

В ТЗ дано следующее разностное уравнение:


,М=12

Т.к. заданные коэффициенты симметричны, то разностное уравнение можно преобразовать к следующему виду:


Такое преобразование разностного уравнения позволит сократить программу вычисления отсчета на 7 циклов.

Необходимо учесть, что в некоторых случая сумма двух отсчетов может переполнить 8ми разрядную сетку. Поэтому примем, что входные отсчеты по модулю меньше 0.5(10). Тогда сумма этих отсчетов не будет приводить к переполнению разрядной сетки.


Информация о работе «Цифровой фильтр высокой частоты»
Раздел: Коммуникации и связь
Количество знаков с пробелами: 33021
Количество таблиц: 5
Количество изображений: 9

Похожие работы

Скачать
25073
5
6

... ; MOV X1, X ; MOV Y1, Y ; RETI ;возврат из подпрограммы обслуживания прерывания по входу END Исходные определения и ручной расчёт результатов работы программы: "Цифровой фильтр (нижних частот)". Разностное уравнение имеет вид: Представим уравнение в виде:  , где  , 1)Реализуемый коэффициент масштабирования (число без знака) при 8-разрядном формате беззнаковых коэффициентов:  ;, ...

Скачать
20489
1
3

... , b2i , a2i определяют характеристики фильтра. При значениях коэффициентов фильтр имеет АЧХ фильтра верхних частот b 20 = 1;b 21 = 0;b 22 = 1.1; a 21 = 0.999;a 22 = 0.000 Разностное уравнение задает во временной области порядок получения выходной последовательности отсчетов из входной. В z-плоскости свойства цифрового фильтра описывает передаточная функция H(z), которая при двухкаскадной ...

Скачать
12072
0
12

... (активные компоненты), но в них нет катушек индуктивности. В дальнейшем активные фильтры почти полностью заменили пассивные. Сейчас пассивные фильтры применяются только на высоких частотах (выше 1МГц), за пределами частотного диапазона большинства ОУ широкого применения. Сейчас во многих случаях аналоговые фильтры заменяются цифровыми. Работа цифровых фильтров обеспечивается, в основном ...

Скачать
25583
3
10

... звеньев первого и второго порядка представлена на следующем рисунке: 3. Методы расчета БИХ-фильтров и вид целевой функции Расчет БИХ-фильтров можно вести в частотной и временной областях. При расчете в частотной области используется синтез по аналоговому и цифровому прототипам. Численные методы расчета разработаны для применения в частотной и временной областях. ...

0 комментариев


Наверх