- •Содержание
- •Лекционный курс модуль Вводный
- •1. Цели и задачи курса
- •2. Микропроцессор и микропроцессорная система
- •3. Основные понятия и определения
- •4. Характеристики микропроцессоров
- •5. Классификация микропроцессоров
- •6. Эволюция микропроцессоров
- •Модуль I. Организация микропроцессорной системы
- •1. Основные типы архитектур микропроцессорных систем. Фон-неймановская (принстонская) и гарвардская архитектуры. Организация пространств памяти и ввода-вывода.
- •5. Прямой доступ к памяти. Организация прямого доступа к памяти. Контроллер пдп.
- •6. Память микропроцессорной системы. Функции памяти. Архитектура и иерархия памяти. Организация кэш-памяти. Виртуальная память.
- •Увеличение разрядности основной памяти
- •Память с расслоением
- •Использование специфических свойств динамических зупв
- •Страничная организация памяти
- •Сегментация памяти
- •Модуль II. Универсальные микропроцессоры
- •1. Определение понятия «архитектура». Архитектура системы команд. Классификация процессоров cisc и risc. Определение понятия "архитектура"
- •Архитектура системы команд. Классификация процессоров (cisc и risc)
- •2. Методы адресации и типы данных. Типы команд. Команды управления потоком команд. Методы адресации
- •Типы команд
- •Команды управления потоком команд
- •3. Конвейеризация и параллелизм. Конвейерная организация обработки данных. Простейшая организация конвейера и оценка его производительности.
- •Простейшая организация конвейера и оценка его производительности
- •Конфликты по данным, остановы конвейера и реализация механизма обходов
- •Классификация конфликтов по данным
- •Конфликты по данным, приводящие к приостановке конвейера
- •Методика планирования компилятора для устранения конфликтов по данным
- •Сокращение потерь на выполнение команд перехода и минимизация конфликтов по управлению
- •Снижение потерь на выполнение команд условного перехода
- •5. Проблемы реализации точного прерывания в конвейере. Обработка многотактных операций и механизмы обходов в длинных конвейерах Проблемы реализации точного прерывания в конвейере
- •Обработка многотактных операций и механизмы обходов в длинных конвейерах
- •Конфликты и ускоренные пересылки в длинных конвейерах
- •Поддержка точных прерываний в длинных конвейерах
- •Параллелизм уровня команд: зависимости и конфликты по данным
- •Параллелизм уровня цикла: концепции и методы
- •Основы планирования загрузки конвейера и разворачивание циклов
- •7. Зависимости. Классификация зависимостей и их применение. Устранение зависимостей по данным и механизмы динамического планирования. Зависимости. Их классификация и применение.
- •Устранение зависимостей по данным и механизмы динамического планирования Основная идея динамической оптимизации
- •Динамическая оптимизация с централизованной схемой обнаружения конфликтов
- •Другой подход к динамическому планированию - алгоритм Томасуло
- •Дальнейшее уменьшение приостановок по управлению: буфера целевых адресов переходов
- •9. Одновременная выдача нескольких команд для выполнения и динамическое планирование.
- •10. Архитектура машин с длинным командным словом (vliw). Средства поддержки большой степени распараллеливания.
- •Средства поддержки большой степени распараллеливания
- •Обнаружение и устранение зависимостей
- •Программная конвейеризация: символическое разворачивание циклов
- •Трассировочное планирование
- •Аппаратные средства поддержки большой степени распараллеливания
- •Условные команды
- •Выполнение по предположению (speculation)
- •11. Архитектура epic.
- •Модуль III. Микроконтроллеры и специализированные микропроцессоры
- •2. Специализированные микропроцессоры. Цифровые процессоры обработки сигналов.
- •Модуль Заключительный Перспективы развития микропроцессорной техники.
- •Лабораторный курс
- •7 Семестр. Лабораторная работа 1.
- •Лабораторная работа 2.
- •Лабораторная работа 3.
- •Лабораторная работа 4.
- •8 Семестр. Лабораторная работа 1.
- •1. Общие сведения
- •2. Настройка и запуск Code Composer Studio (simulation)
- •3. Особенности проектирования в иср Code Composer Studio
- •4. Реализация проекта в иср Code Composer Studio
- •5. Тестирование проекта в иср Code Composer Studio
- •6. Аппаратная реализация проекта в иср Code Composer Studio
- •Лабораторная работа 2.
- •1. Подключение файлов ввода/вывода с помощью точек зондирования
- •2. Работа с файлами по средствам функций языка с
- •3. Работа с dsp/bios для генерации звукового сигнала платой dsk5510
- •Лабораторная работа 3.
- •1 Цифровая фильтрация
- •2. Реализация ких фильтра на симуляторе dsk5510
- •3. Реализация ких фильтра на dsk5510 для фильтрации звукового сигнала в реальном времени.
- •Лабораторная работа 4.
- •1. Фильтры с бесконечной импульсной характеристикой – бих
- •2. Реализация бих фильтра на симуляторе dsk5510
- •Фильтр низкой частоты с нормальной частотой среза 0.1
- •Фильтр низкой частоты с нормальной частотой среза 0.2
- •Полосовой фильтр с нормальной частотой среза 0.165 – 0.33
- •3. Реализация бих фильтра на dsk5510 для фильтрации звукового сигнала в реальном времени.
- •Фильтр низкой частоты с нормальной частотой среза 0.1
- •Фильтр низкой частоты с нормальной частотой среза 0.2
- •Полосовой фильтр с нормальной частотой среза 0.165 – 0.33
- •Оценка работы студентов. Рейтинговая система.
- •1. Общие положения
- •2. Организация рейтингового контроля успеваемости студентов дневной формы обучения
- •3. Выставление оценок по рейтинговой системе
- •4. Организация рейтингового контроля успеваемости студентов заочной формы обучения
- •Учебно-методические материалы Основная литература
- •Дополнительная литература
Фильтр низкой частоты с нормальной частотой среза 0.1
Импульсная характеристика, построенная по средствам MATLAB 7.0, приведена на рисунке 2.1, АЧХ и ФЧХ фильтра на рисунке 2.2.
Рисунок 2.1 – Импульсная характеристика.
Рисунок 2.2 – АЧХ и ФЧХ для частоты дискретизации 44 кГц.
В файле «filter.h» пара коэффициентов для этого фильтра закомментирована, поэтому необходимо скопировать в буфер обмена и вставить эти коэффициенты в соответствующие массивы coeffBuff_b и coeffBuff_a. Для построения импульсной характеристики необходимо закомментировать участок кода в файле «main.c» отвечающий за считывание данных из файла «coldplay_in.wav», и раскомментировать участок кода, который отвечает за формирование единичного импульса.
После этого нужно перекомпилировать проект, запустить его на выполнение и построить график по данным, содержащимся в выходном буфере (out_buf). Все действия аналогичны тем, что были в работе №3, при тестирование КИХ фильтра. Импульсная характеристика приведена на рисунке 2.3.
Рисунок 2.3 – Импульсная характеристика.
После построения импульсной характеристики необходимо внести изменения в исходный код, для того, чтобы произвести фильтрацию звукового файла «coldplay_in.wav». Осциллограмма фильтрованного и исходного сигнала представлена на рисунке 2.4.
Рисунок 2.4 – Построение осциллограммы входного и выходного файла.
По завершении работы программы необходимо воспроизвести выходной звуковой файл «coldplay_out.wav» и при помощи программы «TES2» просмотреть спектр звукового сигнал, предварительно соединив надлежащим образом линейные входы и выходы компьютера между собой. Спектрограмма исходного сигнала представлена рисунке 2.5, а результат фильтрации на рисунке 2.6.
Рисунок 2.5 – Спектр исходного сигнала.
Рисунок 2.6 – Спектр отфильтрованного сигнала.
При воспроизведении выходного файла, отчетливо слышен посторонний звук, а в конце файла «писк». А из спектрограммы, очевидно, что на расчетной частоте среза нет очевидного спада сигнала. Если построить спектрограмму концовки файла «coldplay_out.wav», то она будет аналогична представленной на рисунке 2.7.
Рисунок 2.6 – Шум после фильтрации.
Появление шума на частоте 1 кГц при частоте дискретизации 8 кГц, вызвано нестабильной работой фильтра, в таком случае говорят, что фильтр неустойчив. Аналогичная картина будет наблюдаться и при фильтрации в реальном времени рисунок 3.1, однако, частота шума станет равной 22 кГц, т. к. частота дискретизации равна 44 кГц.
Причиной неустойчивой работы фильтра явилась квантование коэффициентов, т. к. теоретическая импульсная характеристика (рисунок 2.1) является правильной, а следовательно и рассчитанные коэффициенты правлильны. Неустойчивую работу фильтра можно наблюдать на рисунок 2.3, т. к. эта импульсная характеристика очень сильно отличается от идеальной. Если построить импульсную характеристику аналогичную рисунку 2.3 только для 1000 отсчетов, то она будет такой как показано на рисунке 2.7.
Рисунок 2.7 – Импульсная характеристика неустойчивого фильтра.
Видно, что спустя определенное время после появления единичного импульса, фильтр начинает самопроизвольно «колебаться».
Избежать подобных проблем можно подбором большего коэффициента квантования (число на которое домножаются коэффициенты, и на которое делится конечная сумма после операций умножения с накоплением), это приведет к уменьшению потерь при вычислениях. Кроме того не следует квантовать какой либо один тип коэффициентов, например тип В, а другой не квантовать, это также приведет к неустойчивой работе фильтра, не зависимо от величины коэффициента.