ЭУМК по дисциплине "Проектирование проблемно-ориентированных вычислительных средств" › Практика › Лабораторная работа "ГЕНЕРАТОР СИНУСОИДАЛЬНЫХ СИГНАЛОВ НА ОСНОВЕ НЕУСТОЙЧИВОГО ЗВЕНА ВТОРОГО ПОРЯДКА"

# Электронный учебно-методический
комплекс по дисциплине
"Проектирование проблемно-ориентированных вычислительных средств"

для специальности

1-40 02 02 «Электронные вычислительные средства»

Оглавление | Программа | Теория | Практика | Контроль знаний | Об авторах

ЛАБОРАТОРНАЯ РАБОТА № 4.
ГЕНЕРАТОР СИНУСОИДАЛЬНЫХ СИГНАЛОВ НА ОСНОВЕ НЕУСТОЙЧИВОГО ЗВЕНА ВТОРОГО ПОРЯДКА.

ЦЕЛЬ РАБОТЫ: Разработка алгоритма и программы генератора синусоидальных сигналов заданной частоты на основе неустойчивого звена 2-го порядка на ассемблере процессора TMS320VC5402 и отладка программы на лабораторном макете TMS320VC5402 DSP Starter Kit.

4.1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
4.1.1. Генератор синусоидальных колебаний на основе неустойчивого звена 2-го порядка

За основу при построении генератора синусоидальных колебаний взято простейшее рекурсивное звено 2-го порядка – цифровой резонатор (колебательное звено), передаточная функция которого имеет вид

######

Условием устойчивости такого звена является выполнение соотношений |b1|< 2; b2< 0; |b2|< 1. Резонансные свойства цифрового резонатора характеризуются полосой пропускания (по уровню 0,707 от максимального)

######

и добротностью Q = ω0/2Dω, где ω0 – резонансная частота:

######

Видно, что при b2 = –1 звено становится неустойчивым:

######

и начинают генерироваться колебания при получении начального возбуждения.
Разностное уравнениеy(kT) = yT (k) = xT (k) + b1yT (k – 1) + b2yT (k – 2) приxT(k) = 0, b2 = –1 принимает вид

| yT (k) = b1yT (k – 1) – yT (k – 2) . | (4.1)

Структурная схема полученного генератора синусоидальных сигналов показана на рис. 4.1.

######

###### Рисунок 4.1 – Структурная схема генератора синусоидальных колебаний

Для работы генератора необходимо сформировать начальное возбуждение, т. е. задать значения yT(k – 2)иyT(k – 1) (рис. 4.2).

######

###### Рисунок 4.2 – Формирование начальных условий

Из рисунка видно, что можно ввести любые два соседних отсчета. Для удобства примем yT(k – 2) = 0, тогда

######

Пример 1. Простой генератор синусоидальных колебаний с частотой f0 = 1700 Гц; fД = 27,3 кГц. Произведем следующие действия:
а) расчет коэффициента b1:

######

######

б) вычисление отсчетов начального возбуждения:

######

######

в) представление дробных чисел в формате целых чисел:

######

######

Пример 2. Частотно-манипулированный генератор на основе неустойчивого звена 2-го порядка. Генератор формирует сигналы с частотой 1300 и 2100 Гц в зависимости от задающего сигнала. Задающий сигнал может быть представлен последовательностью как однополярных, так и биполярных импульсов. Произведем следующие действия:
а) расчет коэффициентов b1:

######

частота генератора 1300 Гц:

######

частота генератора 2100 Гц:

######

б) вычисление отсчетов начального возбуждения:

######

частота генератора 1300 Гц:

######

частота генератора 2100 Гц:

######

в) представление дробных чисел в формате целых чисел:

######

######

######

######

4.1.2. Замечания по программированию генератора

При программировании генератора синусоидальных сигналов необходимо учесть следующие замечания:

- поскольку в уравнении (4.1) коэффициент b1> 1, то прямое программирование данного уравнения невозможно;
- для физической реализации уравнения (4.1) его необходимо преобразовать к следующему виду:yT (k) = (b1/2)·yT (k – 1) – yT (k – 2) + (b1/2)·yT (k – 1);
- после вычисления очередного значения yT (k) необходимо сдвинуть предысторию фильтра yT (k – 1) -> yT (k – 2), yT (k) -> yT (k – 1);
- для выполнения первой операции сдвига можно использовать команду задержки DELAY, а второй сдвиг выполнить простой записью нового значения yT (k) в ячейку для yT (k – 1);
- все вычисления должны выполняться при включенном бите OVM;
- если амплитуда полученного сигнала затухает, необходимо увеличить целочисленное представление коэффициента b1/2 на одну-две единицы.

4.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1. Изучить теоретические сведения по теме лабораторной работы (подразд. 4.1).
2. Получить у преподавателя задание для выполнения практической части работы.
3. Согласно заданию рассчитать значения всех переменных, необходимых для работы программы.
4. Разработать алгоритм работы программы.
5. Написать, оттранслировать, отладить и выполнить программу.
6. Продемонстрировать результат трансляции и работы программы преподавателю.
7. Оформить и защитить отчет по лабораторной работе.

4.3. СОДЕРЖАНИЕ ОТЧЕТА

1. Цель работы и исходные данные.
2. Используемые аналитические формулы и выполненные расчеты.
3. Алгоритм работы программы.
4. Листинг программы с комментариями.
5. Результат работы программы.
6. Выводы по работе.

4.4. КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Прямая адресация данных.
2. Косвенная адресация данных.
3. Режим расширения знака.
4. Режим коррекции переполнения.
5. Команды занесения данных в регистры.
6. Команды загрузки данных в аккумулятор.
7. Команды сложения с аккумулятором.
8. Команды вычитания из аккумулятора.
9. Команды умножения.
10. Команды умножения со сложением и вычитанием.
11. Правила умножения целых и дробных чисел.
12. Бит управления умножением дробных чисел.
13. Режим насыщения аккумулятора.
14. Команда задержки данных.
15. Команды сдвигов данных.
16. Команды сохранения данных.
17. Команды организации циклов.

Оглавление | Программа | Теория| Практика | Контроль знаний | Об авторах
© БГУИР , 2012