Моделирование аналого-цифрового преобразования

Процесс построения простой модели аналого-цифрового преобразователя (АЦП) и исследование, связанных с ним эффектов. Состав и краткое описание модели, ее компоновка, процесс построения в программе Simulink. Сведения о входящих в неё функциональных блоках.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 15.03.2011
Размер файла 139,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Моделирование аналого-цифрового преобразования

Среди большого числа пакетов прикладных программ система МАТЛАБ (The Math Works Inc.) занимает особое место. Первоначально ориентированная на исследовательские проекты, система в последние годы стала рабочим инструментом не только учёных, но также инженеров-разработчиков и студентов. В сообществе радиоинженеров, управленцев, физиков и связистов МАТЛАБ получил необычайное распространение и по сути стал средством междисциплинарного и международного общения. Особенно широко, эффектно и эффективно система МАТЛАБ применяется в области обработки сигналов, которая по необходимости затрагивает информатику и связь, управление, радиолокацию и радионавигацию, радиовещание и телевидение, медицинское приборостроение и измерительную технику, автомобильную и бытовую электронику и многое другое. Не случайно в широком спектре вопросов, затронутых системой МАТЛАБ, приложениям, упомянутым выше, уделено особое внимание. В действительности, система МАТЛАБ -- это огромный мир средств и возможностей решения разнообразных задач в различных областях человеческой деятельности. Построенная по единым принципам для разных предметных областей, МАТЛАБ одновременно является и операционной средой, и языком программирования. Для упрощения, прежде всего, технических решений в системе разработаны и продолжают развиваться: предметно ориентированный инструментарий -- TOOLBOXES -- пакеты прикладных программ; SIMULINK -- система для имитационного моделирования проектов, представленных в виде композиции функциональных блоков, источников сигналов, приёмников и измерительных средств; МАТЛАБ EXTANTIONS -- набор программных средств, позволяющий упростить и ускорить реализацию разработок, выполненных с использованием МАТЛАБ (это компилятор, библиотека функций на языке С и С++ и др.); GUI -- графический интерфейс пользователя -- средство, позволяющее в предметной области для наиболее часто встречающихся задач одного плана (расчёт фильтров, спектральный анализ, вейвлет-анализ и др.) создать инструмент анализа, расчёта, проектирования, максимально приближенный к практическим потребностям инженера и требующий для освоения минимальных интеллектуальных и временных затрат.

По системе МАТЛАБ написано много книг (см. www.mathworks.com и библиографию к заметке), только на русском языке -- около 10. Упомянутые издания можно разделить на несколько групп: книги, посвящённые собственно системе МАТЛАБ или отдельным её частям; книги, посвящённые организации и проведению учебного процесса по различным аспектам системы; книги прикладного или теоретического характера в конкретных предметных областях, использующие МАТЛАБ как инструмент для решения примеров и задач и средство организации иллюстраций. К сожалению, русскоязычной литературы по МАТЛАБ явно недостаточно, и видимо этим объясняется вялое использование системы в инженерной среде и учебном процессе.

Целью акции “МАТЛАБ для DSP” является привлечение внимания к обсуждаемой системе широкой инженерной общественности. Для этого предполагается в 2000 году в журналах “Chip News” и “Цифровая обработка сигналов” опубликовать 10-12 статей, объединённых едиными методическими принципами под общей редакцией. Статьи будут носить учебный характер, но построены на примерах решения важных технических задач, что позволит совместить обучение с инженерной практикой и, таким образом, на наш взгляд, существенно повысить интерес к публикациям. В качестве предметной области, для которой строятся содержательные примеры, использованы приложения, имеющие дело с обработкой сигналов.

А в качестве предмета обучения выбраны два типа инструментов: МАТЛАБ-SIMULINK и GRAPHICAL USER INTERFACE (GUI). Первый обеспечивает имитационное моделирование сложных систем в разнообразных режимах, а второй -- графический интерфейс пользователя -- предназначен для решения задач анализа и синтеза расчёта разнообразных объектов в режиме, максимально удобном и наглядном для пользователя. Во многих (хотя далеко не во всех) случаях именно с помощью этого инструментария инженер либо студент может решить часто встречающиеся задачи с минимальными затратами времени и сил на обучение и прийти к цели кротчайшим путём. Именно это обстоятельство способно увлечь, сформировать неформальный интерес и в последующем побудить читателя к основательному знакомству с МАТЛАБ.

Завершая предисловие к нашему учебно-инженерному проекту “МАТЛАБ для DSP”, следует отметить несколько важных обстоятельств: Применение МАТЛАБ позволяет использовать для решения задач самые последние достижения науки, так как система является плодом сотрудничества мирового сообщества учёных, его лучших представителей. Разговор на языке МАТЛАБ в среде МАТЛАБ -- это способ международного и междисциплинарного общения учёных и инженеров.

Работа в системе МАТЛАБ доставляет результат и удовольствие каждому, независимо от глубины профессиональной подготовки. Этот факт напоминает горные лыжи, когда истинное наслаждение от катания, воздуха, снега и гор получает и “чайник”, и мастер спорта. И последнее. МАТЛАБ -- эффективное средство решения подчас весьма сложных задач, а, следовательно, это экономия времени и денег.

Введение

В рамках проекта “MATLAB для DSP” настоящая статья -- первая публикация по наиболее простым и удобным средствам имитационного моделирования, которые предоставляет пакет MATLAB. Речь идёт о составной части этого пакета -- программе Simulink. Несмотря на то, что Simulink'у посвящены обстоятельные разделы в книге по MATLAB [1] и даже отдельная монография [2], представляется полезным на конкретных примерах показать, как возможности Simulink могут быть использованы в задачах построения систем для цифровой обработки сигналов и учебном процессе. Здесь мы следуем известной рекомендации Ньютона: примеры часто бывают поучительнее методов. Читатель, будь то преподаватель, инженер или студент, имеет возможность без труда повторить наши примеры, что побудит использовать MATLAB в практической деятельности.

Каждый, кто занимается цифровой обработкой сигналов, знает, как важно построить математическую модель проектируемого устройства, реализовать её в виде программы и затем провести на этой модели испытания в условиях, “приближающихся к боевым”.

Simulink является мощным средством решения таких задач для разных предметных областей и, может быть, в первую очередь, для задач в области цифровой обработки сигналов. Использование Simulink во многих случаях исключает утомительные и трудоёмкие этапы составления и отладки программ, позволяя сосредоточить основные усилия непосредственно на решении “своих” предметно-ориентированных задач. Инженеру или студенту нужно освоить правила использования готовых функциональных блоков, из которых, как из конструктора, составляется модель проектируемого устройства, а также, и это следует особо подчеркнуть, “испытательный стенд”, то есть вся необходимая инфраструктура, включающая источники сигналов, измерительные приборы и средства наблюдения за процессами и характеристиками процессов. При этом гарантируется высокое качество “строительного материала”, в создании которого использованы опыт и знания ведущих специалистов. Итак, Simulink -- это интерактивная графическая программа, управляемая мышью, которая позволяет моделировать динамические системы на уровне структурных и функциональных схем. Библиотеки Simulink содержат большое количество разнообразных функциональных блоков, которые отображаются на экране в виде пиктограмм.

Построение модели сводится к перемещению с помощью мыши необходимых блоков из библиотек Simulink в окно создаваемой модели и соединению этих блоков между собой. Работая с программой Simulink, можно создавать модели линейных и нелинейных, аналоговых, дискретных и смешанных (аналогово-дискретных) цепей и систем, изменять параметры блоков непосредственно во время процесса моделирования и сразу же наблюдать реакцию моделируемой системы. Всё это делает работу с Simulink одинаково привлекательной как для начинающих пользователей, так и для опытных специалистов. В пакет MATLAB 5.3 входит подробное описание программы Simulink, которое содержится в файле sl_using.pdf. Отметим также вышедшие недавно книги [1,2], содержащие основные сведения о Simulink и примеры моделей динамических систем.

В настоящей статье описывается процесс построения простой модели аналого-цифрового преобразователя (АЦП), а также рассматриваются эффекты, связанные с аналого-цифровым преобразованием. В первой части приводятся состав и краткое описание модели, процесс её построения, а также процедура компоновки модели. Во второй части, которая будет опубликована в “Chip News” № 3, будут приведены процесс построения модели, необходимые сведения о входящих в неё функциональных блоках и результаты моделирования, а также дополнительные возможности по использованию модели.

цифровой преобразователь модель блок

Описание моделируемой системы

Для того, чтобы продемонстрировать, насколько просто и удобно строить модели устройств и создавать “измерительные стенды” в Simulink, смоделируем простейший АЦП, функциональная схема которого показана на рис. 1. Наша цель -- изучить эффекты аналого-цифрового преобразования. Исходный сигнал с генераторов, расположенных в левой части рисунка, поступает на вход АЦП, моделируемого с помощью последовательно соединённых блоков Zero-Order Hold и Quantizer (на рисунке модель заключена в контур). Осциллографы позволяют наблюдать за исходным сигналом и результатом его преобразования (Scope1), а также за поведением ошибки квантования (Scope).

Рис. 1. Моделирование аналогово-цифрового преобразования сигналов

Блок вычисления гистограмм (Histogram) предназначен для вычисления, а блок графического отображения (User-defined Frame Scope) -- для построения гистограммы (в нашем случае, ошибки квантования). В рассматриваемой модели блок Histogram формирует векторный выходной сигнал, содержащий число значений входного сигнала, попадающих в заданные интервалы (иногда их называют бины), а блок Userdefined Frame Scope строит график, на котором по оси ординат отложены значения этого сигнала, а по оси абцисс -- номера интервалов, называемых интервалами группировки. Вычисление и отображение дисперсии ошибки выполняется соответственно блоками Variance и Display. Как видно из рисунка, в зависимости от положения переключателя Manual Switch, на входы Rst блоков Variance и Histogram поступают постоянные сигналы, равные либо нулю, либо единице. При поступлении на эти входы ненулевого (в данном случае, равного единице) сигнала, накопленная в блоках информация стирается, и происходит обнуление выходов.

Кроме моделирования во временной области, можно вычислять и графически отображать оценки спектральной плотности мощности (СПМ) исходного и преобразованного сигналов и ошибки квантования. Это выполняется с помощью блоков Buffered FFT Frame Scope и Buffered FFT Frame Scope1, которые вычисляют квадрат амплитуды преобразования Фурье входных данных, накопленных в буфере каждого из блоков, а затем выводят результаты в виде графиков. Каждый раз после заполнения буфера, вычисления и графического отображения результата происходит очистка буфера, и процесс повторяется. Блоки Gain-Gain2 играют роль масштабирующих множителей (усилителей, аттенюаторов). Таким образом, при моделировании можно наблюдать изменяющуюся СПМ, соответствующую разным выборкам сигналов, взвешенных прямоугольным временным окном. Размер окна совпадает с размером буфера.

Компоновка модели

Перед построением модели необходимо предварительно загрузить систему MATLAB и запустить Simulink. Запуск выполняется из командного окна MATLAB, для чего необходимо подвести курсор мыши к кнопке запуска этой программы, находящейся в верхней части окна, и щёлкнуть левой клавишей мыши либо набрать в командном окне следующую команду simulink, как показано на рис. 2.

Рис. 2. Командное окно MATLAB и запуск Simulink

В том и другом случае откроется окно Simulink Library Browser (система просмотра библиотек Simulink), изображённое на рис. 3. В верхней части этого окна две крайние левые кнопки служат, соответственно, для создания новой и открытия существующей модели. После нажатия левой кнопки на экране появится окно для построения новой модели. Процесс построения модели АЦП, как впрочем, и любой другой модели Simulink, включает её компоновку и задание необходимых параметров. Компоновка заключается в выборе из библиотек Simulink необходимых блоков, их размещение в открывшемся окне и соединение между собой.

Рис. 3. Система просмотра библиотек Simulink Library Browser

Поиск и перемещение блоков

Процедура поиска и перемещения блоков из библиотек Simulink в окно модели во многом напоминает операции копирования и перемещения файлов в среде Windows. В частности, технология работы с Simulink Library Browser (рис. 3) аналогична работе с Проводником Windows. Поместим в окно модели блоки источников сигналов Signal Generator (генератор синусоидальных, прямоугольных, пилообразных и случайных сигналов) и Band-Limited White Noise (генератор шума в заданной полосе частот), находящиеся по адресу Simu-link\Sources, для чего откроем библиотеку Simulink в окне Simulink Library Browser и находящуюся в ней библиотеку Sources. В результате, окно Simulink Library Browser примет вид, аналогичный показанному на рис. 4 (там также указаны блоки, которые следует переместить в окно модели). Для перемещения курсор мыши устанавливается на нужный блок. Затем, нажав левую клавишу мыши, блок перемещает его в окно модели. Отметим, что, кроме непосредственного просмотра содержимого библиотек, любой блок может быть найден по имени (если оно известно), введённому в текстовое поле, расположенное в правой верхней части Simulink Library Browser (рис. 4).

Рис. 4. Библиотека Sources

Кроме источников сигналов нам потребуются следующие блоки, которые также следует поместить в окно модели:

блок выборки и хранения Simulink\Discrete\Zero-Order Hold (то есть блок Zero-Order Hold, находящийся в библиотеке Simulink\Discrete) -- осуществляет выборку мгновенного значения входного сигнала в заданный момент времени и фиксацию его на выходе вплоть до следующего момента выборки;

квантователь Simulink\Nonlinear\Quantizer -- выполняет квантование входного сигнала по уровню;

сумматор Simulink\Math\Sum (пиктограмма имеет вид кружка со знаками арифметических операций “+” и/или “-”) -- выполняет суммирование входных дискретных сигналов с учётом указанных знаков;

коэффициент умножения Simulink\Math\Gain -- выполняет умножение входного сигнала на заданную величину;

константа Simulink\Sources\Constant -- генерирует постоянную величину;

ручной переключатель Simulink\Nonlinear\Manual Switch -- изменяет своё состояние двойным щелчком левой клавишей мыши;

мультиплексор Simulink\Signals & Systems\Mux -- позволяет передавать указанное количество входных сигналов по одной линии, подключённой к выходу блока;

осциллограф Simulink\Sinks\Scope -- отображает в виде графика входной сигнал;

цифровой индикатор Simulink\Sinks\Display -- отображает численное значение текущего отсчёта входного сигнала;

блок вычисления дисперсии DSP Blockset\Math Functions\Statistics\Variance -- вычисляет дисперсию входного сигнала;

блок вычисления гистограмм DSP Blockset\Math Functions\Statistics\Histogram -- вычисляет гистограмму для заданного диапазона значений входного сигнала;

блок графического отображения DSP Blockset\DSP Sinks\User-Defined Frame Scope -- позволяет строить графики входных данных, не ограничивая пользователя только временными или частотными зависимостями;

блок буферизации и вычисления квадрата преобразования Фурье DSP Blockset\DSP Sinks\Buffered FFT Frame Scope -- накапливает в буфере отсчёты входного сигнала, после заполнения буфера вычисляет квадрат преобразования Фурье.

Соединение и дублирование блоков

Для объединения блоков в систему необходимо соединить их входные и выходные порты, которые на пиктограммах блоков отмечены значком “>”. В качестве примера на рис. 5 показаны порты блока Gain (коэффициент усиления). Для того, чтобы соединить два блока между собой, надо подвести курсор мыши к порту одного из соединяемых блоков (при этом курсор примет форму крестика, как показано на рис. 6а), нажать левую клавишу мыши и, удерживая её в нажатом положении, переместить курсор к порту другого блока (курсор примет вид двойного крестика, что отражено на рис. 6б), после чего отпустить удерживаемую клавишу.

Рис. 5. Входные и выходные порты

Рис. 6. Соединение блоков:

а) в этом положении курсора нажать левую клавишу мыши

б) в этом положении курсора отпустить нажатую клавишу

Из рис. 1 видно, что для построения модели требуется по два блока Zero-Order Hold, Scope, Mux, Constant, Buffered FFT Frame Scope, Sum и три блока Gain. Конечно, можно многократно повторять процедуру перемещения одного и того же блока из библиотеки в окно создаваемой модели, однако Simulink позволяет создавать копии (дубликаты) блоков из имеющихся в окне модели. Для создания копии блока надо установить курсор на требуемый блок в окне модели, нажать на клавиатуре клавишу “Ctrl” и затем левую клавишу мыши. В результате, слева от курсора появится знак “+” (рис. 7а). Затем, удерживая клавиши в нажатом положении, переместить в нужное место курсор и отпустить нажатые клавиши. При построении модели, как видно из рис. 1, требуется не только соединять блоки между собой, но и делать ответвления от существующих соединительных линий. Например, линия, соединяющая блоки Quantizer и сумматор, имеет ответвление к блоку Gain1. Проведение линии, соединяющей входной порт какого-либо блока с существующей линией, выполняется аналогично дублированию блоков, то есть при нажатой клавише “Ctrl”. Разница лишь в том, что в этом случае курсор мыши устанавливается на линию, от которой проводится ответвление, и перемещается к входному порту соединяемого блока, или наоборот (от входного порта к линии).

Рис. 7. Дублирование блоков:

а) начальное положение курсора и результат нажатия левой клавиши мыши и "CTRL" на клавиатуре;

б) результат перемещения курсора при удерживаемых клавишах

Список литературы:

1. Дьяконов В.П., Абраменкова И.В. Matlab 5.0/5.3. Система символьной математики. -- М.: “Нолидж”. -- 1999. -- 633 с.

2. Гультяев А.К. Имитационное моделирование в среде Windows. -- СПб.: КОРОНА принт. -- 1999. -- 288 с.

3. Потемкин В.Г. Система MATLAB. Справ. пособие. -- Диалог-МИФИ. -- 1997. -- 350 с.

4. Потемкин В.Г. MATLAB 5 для студентов. -- Диалог-МИФИ. -- 1998. -- 314 с.

Размещено на Allbest.ru


Подобные документы

  • Создание рабочего модуля аналого-цифрового преобразователя с минимальным количеством микросхем на основе микроконтроллера ATmega8L. Описание блок-схемы АЦП. Схема запуска преобразования. Программа микроконтроллера в среде программирования CodeVision.

    курсовая работа [1,2 M], добавлен 04.10.2013

  • Структурная схема микроконтроллера, процесс разработки принципиальной схемы и программного обеспечения. Конфигурирование регистров аналого-цифрового преобразователя. Код программы на языке Assembler, конфигурирование регистров внешних прерываний.

    курсовая работа [267,5 K], добавлен 08.06.2019

  • Архитектура микроконтроллеров AVR и PIC. Описание и структура регистров из области ввода/вывода. Внутренняя и внешняя память SRAM микроконтроллеров AVR. Особенности аналого-цифрового преобразования. Переключение в режим параллельного программирования.

    лекция [755,2 K], добавлен 28.05.2010

  • Исследование метода математического моделирования чрезвычайной ситуации. Модели макрокинетики трансформации веществ и потоков энергии. Имитационное моделирование. Процесс построения математической модели. Структура моделирования происшествий в техносфере.

    реферат [240,5 K], добавлен 05.03.2017

  • Построение структурной модели в программе RMSRoxar, исследование интерфейса и меню, назначение закладок. Гидродинамическое моделирование и построение соответствующей модели. Особенности построения моделей на разных стадиях изученности месторождения.

    отчет по практике [5,6 M], добавлен 18.12.2014

  • Понятие, последовательность построения и схемная реализация цифрового автомата. Описание форм представления функций алгебры логики. Принципы минимизации функций выходов и переходов автомата, их перевода в базис. Сведенья о программе Electronics Workbench.

    курсовая работа [2,0 M], добавлен 27.10.2010

  • Изучение принципа работы цифрового автомата для сложения двоичных чисел, представленных в форме с фиксированной запятой, на базисе алгебры Буля. Правила построения операционных и функциональных схем отдельных устройств, логических систем и функций.

    курсовая работа [1,2 M], добавлен 24.01.2014

  • Сущность понятия "имитационное моделирование". Подклассы систем, ориентированных на системное и логическое моделирование. Способы построения моделирующего алгоритма. Имитационные модели производственных процессов. Структура обобщенной имитационной модели.

    реферат [453,5 K], добавлен 26.10.2010

  • Программный комплекс MATLAB как мощное средство для высокоточного цифрового моделирования системы автоматического управления. Основные особенности построения временных характеристик с помощью пакета Control System и моделирования в системе Simulink.

    контрольная работа [2,3 M], добавлен 14.11.2012

  • Основные понятия теории моделирования. Виды и принципы моделирования. Создание и проведение исследований одной из моделей систем массового обслуживания (СМО) – модели D/D/2 в среде SimEvents, являющейся одним из компонентов системы MATLab+SimuLink.

    реферат [1,2 M], добавлен 02.05.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.