Скачать .docx |
Курсовая работа: Реализация цифрового фильтра нижних частот
Министерство образования и науки РФ
РГРТУ
Пояснительная записка
к курсовому проекту по дисциплине:
"Цифровые устройства и микропроцессоры"
Студент Дмитриев А.Ю.
Группа 415 Специальность 2015
2007
Содержание
1. Постановка задачи (введение)
2. Формализация задачи
3. Разработка и описание общего алгоритма функционирования устройства
4. Обоснование построения аппаратной части устройства
5. Разработка и отладка программы на языке команд микропроцессора
6. Составление и описание электрической принципиальной схемы устройства
7. Расчёт быстродействия устройства
8. Расчёт АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства
Заключение
Список использованных источников
1. Постановка задачи (введение)
Цифровая обработка сигналов , т.е. обработка сигналов с помощью средств электронной вычислительной техники ,стала известна около 35 лет назад. Электронные вычислительные машины тогда были дороги и несовершенны и поэтому их применяли лишь в сложных радиокомплексах , например, при расчете координат и траекторий объектов в радионавигационных системах слежения за космическими объектами , при расчете координат цели в радиолокационных станциях.
В последующие годы благодаря широкому применению транзисторов а затем и развитию микроэлектроники ЭВМ стали совершеннее, дешевле, а главное, компактнее. Появилась возможность использования вычислительной техники в сравнительно простой аппаратуре, например, в специальных радиоприемниках, системах фазовой подстройки частоты, системах телеметрии и т.д. С помощью цифровых устройств можно реализовать очень сложные алгоритмы обработки сигналов, которые трудно, а часто даже невозможно реализовать, используя обычную аналоговую технику. Алгоритм обработки сигналов можно изменять в зависимости от характера входного сигнала. Следовательно, легко построить самонастраивающуюся (адаптивную) систему. Цифровые фильтры могут анализировать параметры сигнала и принимать те или иные решения , например, вырабатывать управляющие команды. С помощью цифровых методов можно реализовать любой алгоритм обработки сигнала , который может быть описан совокупностью арифметических и логических операций. Точность обработки сигнала цифровыми фильтрами определяется точностью выполняемых расчетов. Она может быть несоизмерима выше точности обработки сигнала в аналоговых фильтрах. Одним из источников погрешности аналоговых фильтров является нестабильность их параметров , вызываемая колебаниями температуры , старением , дрейфом нуля , изменением питающих напряжений и т.д. В цифровых фильтрах эти неприятные эффекты отсутствуют. При разработке цифровых фильтров не возникает задача согласования нагрузок. Недостатком цифровых фильтров является их большая сложность по сравнению с аналоговыми , более высокая стоимость и не очень высокое быстродействие. В последние годы в связи с появлением микропроцессоров цифровая обработка сигналов получила еще более широкое распространение. Для цифровых фильтров стало возможным построение разнообразных частотных характеристик, путем их аналитической задачи. При этом реализуемы и фильтры традиционных типов: нижних частот, верхних частот, полосовые и режекторные.
В данном курсовом проекте необходимо реализовать цифровой фильтр нижних частот,основой микропроцессорной системы которого служит микроконтроллерКР1830ВЕ31.
2. Формализация задачи
Минимальная конфигурация МП-системы на основе набора БИС КР1830ВЕ31,КР1821РФ55, КР1821РУ55,совместно с ЦАП AD9708 и вспомогательными элементами определяет функциональную схему фильтра нижних частот, которая представлена на рис. 1.
Рис. 1. Функциональная схема фильтра нижних частот.
Входное напряжение в виде кода поступает в порт РВ БИС РУ 55 с частотой дискретизации . Для формирования импульсов с частотой дискретизации будем использовать внутренний Т/С0 БИС КР1830ВЕ31, который должен работать в непрерывном режиме (без блокировки сигналом ). Поэтому выбираем режим 2 (с перезагрузкой после каждого цикла счета).
Примем частоту задающего кварцевого генератора =12 МГц, тогда частота машинного цикла равна = /12=1 МГц. Частота дискретизации=8,8 кГц, следовательно Т/С0 должен иметь в режиме с перезагрузкой коэффициент пересчета . Так как максимальный коэффициент пересчета 8-разрядного счетчика равен , для обеспечения требуемой частоты дискретизации в Т/С0 должно записываться число
.
Байт должен загружаться при инициализации МП системы.
Необходимость хранения данных определяется видом заданного разностного уравнения. Для каждого цикла вычисления текущих выходных отсчетов требуется использовать выборку входных отсчетов , , и выборку выходных отсчетов , . Также требуется сохранить в памяти два текущих произведения
и .
Следовательно, 7 ячеек ОЗУ БИС РУ 55 при составлении программы определим для хранения данных в текущем цикле обработки входного сигнала (в текущем интервале дискретизации).
После вычисления выходного отсчета и записи его в ОЗУ, перед приемом нового входного отсчета необходимо сдвинуть отсчеты всех выборок в памяти:
n-1-й отсчет на место n-2-го, n-й на место n-1-го. Это требуется для подготовки следующего цикла вычислений.
В результате вычисления разностного уравнения может получится так, что при 8-разрядном формате представления данных может получится результат, выходящий за пределы +1, -1, т.е. возникает переполнение разрядной сетки.
Для исключения переполнения разрядной сетки, введем масштабирование
входных отсчетов, путем умножения на коэффициент масштабирования .
;
;
;
Реальные значения коэффициентов разностного уравнения и коэффициента отличаются от расчетных, в виду ограничения разрядной сетки:
==;
;
Вывод выходного отсчета осуществляется через порт РВ БИС РФ 55.
Согласование кода МК и кода ЦАП необходимо, так как ЦАП преобразует в ток смещенный входной код (положительные числа), а арифметический код МК – дополнительный. Для согласования – вычисленный отсчет перед выводом на ЦАП суммируется с константой .
При сбросе МК в указатель стека загружается адрес SP=70, - во внутренней памяти данных назначается стек (16 ячеек ОЗУ) с начальным адресом 70.
При включении питания в схеме МП – системы вырабатывается импульс сброса RST для МК. По сигналу RST =1 выполняются следующие действия:
1. Программный счетчик и все управляющие регистры МК, кроме PCON, IE, IP – устанавливаются в нулевое состояние;
2. В управляющих регистрах PCON, IE , IP – резервные биты принимают случайные значения, все остальные биты сбрасываются в 0;
3. В указателе стека устанавливается адрес SP=70 (вершина стека);
4. Запрещаются прерывания от всех источников, запрещается работа Т/С, запрещается работа последовательного порта;
5. Выбирается банк 0 РОН (текущий банк регистров);
6. Порты Р0, Р1, Р2, Р3 настраиваются на ввод для приема данных;
В БИС РФ 55 и РУ 55 исходное состояние после включения питания произвольное, так как импульс RST на их входы сброса не поступает.
Поэтому для перехода фильтра в рабочий режим, сначала необходима его настройка (инициализация).
3. Разработка и описание общего алгоритма функционирования устройства
Общий алгоритм функционирования фильтра представлен на рисунке 2.Работа фильтра начинается с подачи питания на дифференцирующую цепь RC, которая формирует импульс сброса RST, устанавливающий МК в исходное состояние и обнуляющий программный счетчик. Следовательно, программа инициализации должна начинаться с нулевого адреса. Программа инициализациивключает в себя настройки аппаратных и программных модулей МК и МП -системы на заданные режимы функционирования и с определенными параметрами:
1. Настройка Т/С0 на частоту дискретизации , в режиме 2
2. Настройка портов: РВ БИС РУ 55-на ввод данных, РВ БИС РФ 55-на вывод данных
3. Запуск Т/С0 для формирования непрерывной последовательности импульсов с частотой
4. Настройка прерываний: разрешаются внутренние прерывания от Т/С0, которые используются для программного формирования импульса запуска внешнего источника входного кода, и внешние прерывания от входа - для запуска выполнения рабочей программы фильтра.
5. Организовать стек.
Программа инициализации завершается остановом МП-системы. Из состояния останова МК выводится внутренним сигналом прерывания от Т/С0. По данному прерыванию выполняется программный модуль формирования импульса запуска внешнего источника данных, после чего МК снова переходит в состояние останова и находится в нем до следующего прерывания по входу сигналом готовности входного кода. То есть выполнение рабочей программы фильтра, по сути, является реакцией на прерывания.
Рис. 2. Общий алгоритм функционирования фильтра.
4. Обоснование построения аппаратной части устройства
Основой аппаратной части устройства является набор БИС КР1830ВЕ31, КР1821РФ55, КР1821РУ55.
1. КР1830ВЕ31- микроконтроллер, выполненный по комплементарной МОП технологии (КМОП);
2. КР1821РФ55- ПЗУ с двумя портами ввода/вывода, работающими в режиме простого обмена;
3. КР1821РУ55- микросхема, в состав которой входят: ОЗУ, таймер, два 8-разрядных (РА и РВ) порта ввода/вывода и один 6-разрядный порт (РС).
Выходной сигнал должен иметь аналоговый вид, для преобразования цифрового кода в аналоговый сигнал, используя ЦАП типа AD9708.Микросхема AD9708 представляет собой 8-разрядный ЦАП, построенный по схеме на транзисторных источниках тока, весовые токи формируются с помощью матрицы R-2R. В качестве опорного источника напряжения может выбираться либо внутренний – с напряжением +1,2 В, либо – внешний.Для обеспечения требуемого размаха напряжения ±5 В, к токовым выходам ЦАП подключаем операционный усилитель.
5. Разработка и отладка программы на языке команд микропроцессора
Рабочая программа фильтра разрабатывается на основе алгоритма функционирования устройства.Для настройки таймера/счетчика Т/С0, в качестве таймера, на работу в непрерывном режиме 2 (без блокировки сигналом и с перезагрузкой после каждого цикла счета) необходимо управляющие биты GATE0=0, C/=0 и код режима 10 записать в состав управляющего слова (константа #02) для регистра TMOD при инициализации – команда MOV 89, #02.
Управляющее слово для регистра TMOD (прямой адрес 89) | |||||||
TMOD.7 | TMOD.6 | TMOD.5 | TMOD.4 | TMOD.3 | TMOD.2 | TMOD.1 | TMOD.0 |
GATE 1 | C/ 1 | M 1.1 | M 0.1 | GATE 0 | C/ 0 | M 1.0 | M 0.0 |
X(0) | X(0) | X(0) | X(0) | 0 | 0 | 1 | 0 |
Для обеспечения требуемой частоты дискретизации , при инициализации, константа #8Е должна быть записана в регистр TH0 – команда MOV 8C, #8Е.Пуск Т/С0 производится путем установке в управляющем регистре TCON битаTR0=1. Команда SETB 8C.
Для настройки порта РВ БИС РУ55 на ввод данных надо в состав регистра управляющего слова записать константу #00.
Управляющее слово для РУС БИС HE 55 (адрес 7000) | |||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
TM2 | TM1 | IE B | IE A | PC2 | PC1 | PB | PA |
x(0) | x(0) | x(0) | x(0) | x(0) | x(0) | 0 | x(0) |
При инициализации – команды MOVA, #00, MOVDPTR, #7000, MOVX @DPTR, A.
А для настройки порта РВ РФ 55 на вывод данных надо в регистр направления передачи порта РВ записать 1. При инициализации – команды MOVA, #01,MOVDPTR, #0803, MOVX @DPTR, A.
Формирование импульса запуска внешнего источника данных выполняется по прерывания от флага TF0, устанавливающегося при переполнении Т/С0. Подпрограмма обработки прерывания от флага TF0 имеет стартовый адрес 000В и содержит команды: CLR 90, SETB 90(сброс и установка бита по линии Р1.0).
Настройка прерываний необходима, так как в результате сброса МК все прерывания запрещены (управляющий регистр IEобнуляется). В первую очередь необходимо разрешить прерывания вообще (бит EA=1), также разрешить прерывания от Т/С0 (бит ET0=1) и по входу (бит EXO=1).
Управляющее слово для регистра IE (прямой адрес А8) | |||||||
IE 7 | IE 6 | IE 5 | IE 4 | IE 3 | IE 2 | IE 1 | IE 0 |
EA | — | — | ES | ET1 | EX1 | ET0 | EX0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
При инициализации – команда MOVA8, #83.
Переопределять приоритеты прерываний не требуется, так как в результате задержки преобразования внешним устройством аналогового сигнала в цифровой код, запросы на прерывания от Т/С0 и по входу по времени не совпадают(в результате сброса МК управляющий регистр IP – обнуляется).
Распределение памяти ОЗУ (КР1830ВЕ31).
70h-7Fh- стек;
30h, 31h, 32h – хранение отсчетов , , ;
40h, 41h – хранение выходных отсчетов , ;
50h, 51h – хранение отсчетов , .
Распределение памяти ПЗУ (КР1821РФ55).
0000h – команда перехода к программе инициализации по сигналу RST
0003h – команда перехода к программе вычисления и выводавыходного отсчета по сигналу на входе ;
000Bh – команда перехода к программе формирования импульса внешнего источника данных по сигналу переполнения от Т/С0;
00A0h … 00СFh – программа инициализации;
00D0h … 00FFh – программа формирования импульса запуска внешнего источникаданных;
0100h … 07FFh – программа вычисления и вывода выходного отсчета на ЦАП.
Текст программы
Программа "Цифровой фильтр (нижних частот)
Автор: Дмитриев Александр Юрьевич
Дата: 12 мая 2007 года
Разностное уравнение:
Определение символических имен операндов
B0: .EQU 90h ;линия для вывода импульса запуска внешнего ;источника данных
PBRU: .EQU 7002h ;порт РВ РУ 55
RGRU: .EQU 7000h ;регистр управляющегослова РУ 55
SRU: .EQU 00h ;управляющее слово длянастройки порта РВ РУ 55
PBRF: .EQU 0801h ;порт РВ РФ 55
RGRF: .EQU 0803h ;регистр направленияпередачи порта РВ РФ 55
SRF: .EQU 01h ;управляющее слово длярегистра направленияпередачи порта РВ РФ 55
TMOD: .EQU 89h ;регистр управления Т/С
STMOD: .EQU 02h ;управляющее слово длянастройки Т/С0
TH0: .EQU 8Ch ;старший байт Т/С0
STH0: .EQU 8Eh ;управляющее слово длязадания частоты переполнения Т/С0
TR0: .EQU 8Ch ;управляющий бит пуска Т/С0
IE: .EQU A8h ;регистр управления прерываниями
SIE: .EQU 83h ;управляющее слово длянастройки прерываний
B: .EQU F0h ;регистр В
k1: .EQU F8h ;коэффициент =0,97
k2: .EQU D6h ;коэффициент =0,8394
Km: .EQU 5Bh ;коэффициент масштабирования
X: .EQU 30h ;ячейка хранения отсчета
X1: .EQU 31h ;ячейка хранения отсчета
X2: .EQU 32h ;ячейка хранения отсчета
Y: .EQU 40h ;ячейка хранения отсчета
Y1: .EQU 41h ;ячейка хранения отсчета
P1: .EQU 50h ;хранение отсчета
P2: .EQU 51h ;хранение отсчета
FILLCHAR 00h ;записать в пропуски между секциями 00
Инициализация по сигналу RST
S0: .SECTION
ORG 0000h ;переход к программе инициализации
LJMP INIT
S1: .SECTION
ORG 00A0h
INIT: MOVTMOD, #STMOD;настройка режима Т/С0
MOVTH0, #STH0 ;задание частоты дискретизации
SETB TR0 ;пуск Т/С0
MOV A, #SRU ;настройка порта
MOV DPTR, #RGRU ;РВ РУ 55
MOVX @DPTR, A ;на ввод данных
MOV A, #SRF ;настройка порта
MOV DPTR, #RGRF ;РВ РФ 55
MOVX @DPTR, A ;на вывод данных
MOV IE, #SIE ;настройка прерываний
STOP: SJMP STOP ;останов МК
Формирование импульса по внутреннему прерыванию от Т/С0
S2: .SECTION
ORG 000Bh
LJMP START ;переход к п/п формирования импульсазапуска внешнего источника данных
S3: .SECTION
ORG 00D0h
START: CLR B0 ;сброс бита В0
SETB B0 ;установка бита В0
RETI ;возврат из п/п обслуживанияпрерывания от Т/С0
Вычисление выходного отсчета по сигналу внешнего прерывания по входу , рабочий цикл фильтра
S4: .SECTION
ORG 0003h
LJMP XYOUT
S5: .SECTION
ORG 0100h
XYOUT: MOV DPTR, #PBRU ;вводданныхчерез
MOVX A, @DPTR ;РВРУ 55
Программный модуль масштабирования:
вычисление произведения =
входной отсчет - в аккумуляторе, масштабированныйотсчет записать в ОЗУ
RLC A ;анализ знака
JC M1 ;переход к программе умножения отрицательного отсчета на
RRC A ;восстановление положительного отсета в аккумуляторе
MOV B, #Km ;вычисление произведения
MUL AB ;
MOV X, B ;запоминание масштабированногоотсчета в памяти
SJMP M2 ;переход к продолжению
M1: RRC A ;восстановление отрицательного отсчета в аккумуляторе
CPL A ;получение положительного
INC A ;отсчета (смена знака)
MOV B, #Km ;вычисление произведе-
MUL AB ;ния и пересылка
MOV A, B ;в аккумулятор
CPL A ;получение отрицательного
INC A ;произведения (смена знака) MOV X, A ;запоминание масштабированного отсчета в памяти программный модуль вычисленияпроизведения
хранится в ячейке ОЗУ с адресом X2
записать в ячейку ОЗУ с адресом P1
M2: MOV A, X2 ;копирование в аккуму-
RLC A ;лятор и анализ знака
JC M3 ;переход к программеумножения отрицательногоотсчета на
RRC A ;восстановление положительного отсчета в аккумуляторе
MOV B, #k1 ;вычисление произведе-
MUL AB ;ния
MOV P1, B ;запоминание в памяти
SJMP M4 ;переход к продолжению
M3: RRC A ;восстановление отрицательного отсчета в аккумуляторе
CPL A ;получение положительного
INC A ;отсчета (смена знака)
MOV B, #k1 ;вычисление произведе-
MUL AB ;ния и пересылка
MOV A, B ;в аккумулятор
CPL A ;получение отрицательного
INC A ;отсчета (смена знака)
MOV P1, A ;запоминание в памяти
программный модуль вычисленияпроизведения
хранится в ячейке ОЗУ с адресом Y1
записать в ячейку ОЗУ с адресом P2
M4: MOV A, Y1 ;копирование в акку-
RLC A ;мулятор и анализ знака
JC M5 ;переход к программе умножения отрицательногоотсчета на
RRC A ;восстановление положительного отсчета в аккумуляторе
MOV B, #k2 ;вычисление произведе-
MUL AB ;ния
MOV P2, B ;запоминание в памяти
SJMP M6 ;переход к продолжению
M5: RRC A ;восстановление отрицательного отсчета в аккумуляторе
CPL A ;получение положительного
INC A ;отсчета (смена знака)
MOV B, #k2 ;вычисление произведе-
MUL AB ;ния и пересылка
MOV A, B ;в аккумулятор
CPL A ;получение отрицательного
INC A ;произведения (смена знака)
MOV P2, A ;запоминание в памяти
программный модуль вычисления выходного
отсчета , слагаемые
хранятся в ячейках ОЗУ, результат записать
в ячейку ОЗУ и вывести на ЦАП
M6: MOV A, X ;вычисление отсчета
ADD A, P1 ;и сохранение в памяти
ADD A, P2 ;
MOV Y, A ;
ADD A, #80h ;получение смещённого
кода для ЦАП
MOV DPTR, #PBRF ;вывод кода Y через порт
MOVX @DPTR, A ;РВ РФ55
программный модуль сдвига отсчетовв памяти, подготовка следующего рабочегоцикла
MOV X2, X1 ;
MOV X1, X ;
MOV Y1, Y ;
RETI ;возврат из подпрограммы
обслуживания прерывания
по входу
END
Исходные определения и ручной расчёт результатов работы программы: "Цифровой фильтр (нижних частот)".
Разностное уравнение имеет вид:
Представим уравнение в виде: , где ,
1)Реализуемый коэффициент масштабирования (число без знака) при 8-разрядном формате беззнаковых коэффициентов:
;,
===
2)Реализуемые коэффициенты разностного уравнения и (числа без знака ) при 8-разрядном формате беззнаковых коэффициентов:
;
;
3) Входной положительный отсчет максимальной амплитуды (немасштабированный отсчет):
4)Масштабированный входной положительный отсчет максимальной амплитуды:
:==
5)Зададим состояние памяти после запоминания масштабированных входных отсчетов максимальной амплитуды и выходных отсчетов максимальной амплитуды:
Адрес ячейкипамяти | Содержимое ячейки памяти |
X | |
X1 | |
X2 | |
Y | Вычисляется программой:= |
Y1 | |
P1 | Вычисляется программой: |
P2 | Вычисляется программой: |
6) Получим произведение
7)Получим модуль произведения положительного отсчета на коэффициент :
==
8)Вычислим выходной отсчет:
=
Для отрицательных отсчетов:
3) Входной отрицательный отсчет максимальной амплитуды (немасштабированный отсчет):
4)Масштабированный входной отрицательный отсчет максимальной амплитуды:
:==
5)Зададим состояние памяти после запоминания масштабированных входных отсчетов максимальной амплитуды и выходных отсчетов максимальной амплитуды:
Адрес ячейкипамяти | Содержимое ячейки памяти |
X | |
X1 | |
X2 | |
Y | Вычисляется программой:= |
Y1 | |
P1 | Вычисляется программой: |
P2 | Вычисляется программой: |
6) Получим произведение
7)Получим модуль произведения отрицательного отсчета на коэффициент :
==
8)Вычислим выходной отсчет:
=
6. Составление и описание электрической принципиальной схемы устройства
Принципиальная схема цифрового фильтра содержит следующие микросхемы:
DD1- микроконтроллер КР1830ВЕ31;
DD2- БИС КР1821РФ55;
DD3- БИС КР1821РУ55;
D1- микросхема К155ЛН1 содержит 6 инверторов;
D2- операционный усилитель К140УД8;
DD4- ЦАП AD9708;
К микроконтроллеру подключается кварцевый резонатор ZQ1 с частотой
12 МГц, для обеспечения работы внутреннего генератора тактовых импульсов.
Обмен сигналами между микросхемами DD1, DD2, DD3 осуществляется по мультиплексированной шине адрес/данные (AD7…AD0). Для адресации микросхемы КР1821РФ55 используются: 3 старших разряда адресной шины (AD8, AD9, AD10) – адресация ПЗУ, А11(Р2.3) – по линии IO/M, выбор порта или памяти, A12(P2.4) – выбор кристалла по линии CS 2.
Для адресации микросхемы КР1821РУ55 используются: линия А14(Р2.6) – для выбора кристалла, А13 (Р2.5) – для выбора, по линии IO/M, порта РВ.
Микросхема КР1821РФ55 соединена с ЦАП портом РВ (РВ7…РВ0).
Для синхронизации передачи данных микросхемы соединены по служебным входам и . Для синхронизации вывода готового кода на ЦАП, необходимо подать сигнал записи () на вывод CLOCK. Но так как запись в регистр защелку осуществляется по положительному фронту управляющего строба, следовательно, перед выводом CLOCK надо поставить инвертор.
Для обеспечения требуемого размаха выходного напряжения ±5 В, используется усилитель с дифференциальным включением выводов на основе ОУ К140УД8.
Расчет дополнительных элементов:
, , , где
амплитуда напряжения на выходе ЦАП, - максимальный ток на выходе, - сопротивление для нагрузки на выходе, - опорный ток, - опорное напряжение, – сопротивление резистора на выводе FSADJ для задания опорного тока.
Принимаем =0,5 В=5 В и =50 Ом, следовательно,
=10 мА, =0,31 мА, = R2=3,9 кОм.
C4=C5=C6=C7=0,1 мкФ, R3=R4==50 Ом.
Так как =0,5 В, следовательно, усилитель должен имеет коэффициент усиления =10. Для усилителя на ОУ с дифференциальным включением выводов
=; R7=R6=150 Ом; R8=R5=10150=1,5 кОм.
7. Расчёт быстродействия устройства
Быстродействие фильтра в рабочем режиме оценивается как время, необходимое для обработки прерывания микропроцессора. Рабочая программа фильтра линейная, поэтому общее число машинных циклов, требуемых для выполнения программы, получили как сумму машинных циклов всех последовательно выполняемых команд, составляющих рабочий цикл процессора.
Количество машинных циклов с момента поступления запроса на прерывание по входу до выхода на метку STOP равно 78. Период дискретизации равен
. Длительность машинного цикла , следовательно
время выполнения программы равно 78=78 мкс, что меньше чем период дискретизации, т.е. условие фильтрации в реальном времени выполняется.
8. Расчёт АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства
Разностное уравнение имеет вид:
В общем виде уравнение проектируемого фильтра можно представить в виде:
Коэффициенты имеют следующие значения:
; ;;;
В z-плоскости свойства цифрового фильтра описывает передаточная функция H(z), которая при однокаскадной структуре и для приведенного выше разностного уравнения имеет вид:
H(z)= ;при ,где Т=()
Из-за ограничения разрядной сетки передаточные функции для реальных и заданных значений коэффициентов будут отличаться.
Передаточная функция для заданных значений коэффициентов:
Передаточная функция для реальных значений коэффициентов будет иметь вид:
Модуль H(f) даст АЧХ, а аргумент ФЧХ. Построим графики АЧХ и ФЧХ для заданных и реальных значений коэффициентов:
Амплитудно-частотные характеристики фильтра
В увеличенном масштабе
Фазо-частотные характеристики фильтра (в градусах)
В увеличенном масштабе
Оценка устойчивости фильтра.
Если все полюса передаточной функции
,
т.е. корни уравнения лежат внутри круга единичного радиуса с центром в точке z=0, то фильтр будет устойчив.
Решая уравнение, получим один полюс =, он меньше единицы, следовательно, фильтр устойчив.
Заключение
В данном курсовом проекте было разработано цифровое устройство. Также была разработана программа, обеспечивающая работу данного устройства как цифрового фильтра нижних частот, определен общий алгоритм функционирования устройства. Устройство имеет высокое быстродействие и в полной мере удовлетворяет требованиям технического задания, получены частотные характеристики проектируемого фильтра. С учетом выводов, сделанных в процессе определения функций устройства и способов их реализации, выбрана необходимая элементная база и составлена электрическая принципиальная схема цифрового фильтра. Аппаратная часть по возможности была минимизирована, а программа оптимизирована, что обеспечивает работу устройства в реальном масштабе времени.
Список использованных источников
1. Цифровые устройства и микропроцессоры: Методические указания к курсовому проекту / Рязан. гос. радиотехн. университет; Сост. Н.И.Сальников. Рязань, 2006.
2. Цифровые устройства: Методические указания к курсовому проекту по дисциплине "Цифровые устройства и микропроцессоры" / Рязан. гос. радиотехн. акад.; Сост. Н.И.Сальников. Рязань, 2002, № 3389.
3. Сальников Н.И. Микроконтроллеры 8051 в устройствах управления радиоэлектронных приборов: Учеб. пособие. Рязан. гос. радиотехн. акад. Рязань, 1998.
4. Соколов Ю.П. Микроконтроллеры семейства МСS-51: архитектура, программирование, отладка: Учеб. пособие. Рязан. гос. радиотехн. акад. Рязань, 2002.
5. Щелкунов НН., Дианов А.П. Микропроцессорные средства и системы. М.: Радио и связь, 1989.
6. Интегральные микросхемы: Микросхемы для аналого-цифрового преобразования и средств мультимедиа. Выпуск 1. М.: ДОДЭКА, 1996.
7. Угрюмов Е.П. Цифровая схемотехника. СПб.: БХВ-Петербург, 2001.
8. Солонина А.И., Улахович ДА., ЯковлевЛ.Н. Алгоритмы и процессоры цифровой обработки сигналов. СП6.: БХВ-Петербург, 2001.