Автор работы: Пользователь скрыл имя, 04 Октября 2011 в 11:29, курсовая работа
Сигнал поступает в функциональный преобразователь. Функциональный преобразователь смещает график сигнала в диапазон положительных чисел и увеличивает его амплитуду.
Обработанный аналоговый сигнал поступает в АЦП, где преобразовывается в цифровой код. Преобразование проходит в три этапа. Сначала идёт дискретизация сигнала. Затем происходит квантование сигнала. Полученная после этого величина преобразуется из десятичной формы в двоичную.
Функциональная схема 5
Схема в среде Simulink 7
Описание узлов системы 8
Генератор входного сигнала 8
Функциональный преобразователь 9
Аналогово-цифровой преобразователь 10
Кодер/декодер Хэмминга 13
Мультиплексор и демультиплексор. 14
Регистры сдвига 15
Модулятор/демодулятор 18
Генератор шума. 19
Цифро-аналоговый преобразователь 20
Обратный преобразователь 21
Заключение 22
Список используемых источников 23
Приложения
Рис. 6 Амплитудный
спектр сигнала.
На графике амплитудного спектра наглядно видно, что максимальная частота W не превышает 12.
Известно, что W=2*Pi*F, где F-частота в Hz, W- частота в rads/sec. Отсюда несущая частота F=W/2*Pi=12/2*Pi=1.9. Следовательно, частота дискретизации равна 3.8 Hz. Для большей точности возьмем частоту дискретизации равной 10 Hz. То есть Sample time = 1/10=0,1.
Блок Quantizer выполняет квантование сигнала по уровню с заданным шагом квантования. Шаг Quantization interval был ранее посчитан, он равен 0.8.
Блок
Integer to Bit Converter переводит целочисленные
значения поступающего на него сигнала
в последовательность битов. В опциях
блока указываем, что каждое значение
будет представлено 5-ью битами, т.к. разрядность
АЦП равна 4 и первый бит – знаковый.
Блок Rounding Function округляет значения сигнала до ближайшего целого. Он необходим для корректной работы блока Integer to Bit Converter, т.к.
он требует подачи целочисленных значений на вход.
Мультиплексор служит для корректного сопряжения с кодером Хемминга. Так как первый бит знаковый, его необходимо «отсечь». Далее на кодер подаются 4 значащих бита.
Цифро-аналоговый
преобразователь (ЦАП) – устройство для
преобразования цифрового (обычно двоичного)
кода в аналоговый сигнал.
Рис. 7. Цифро-аналоговый
преобразователь в среде Simulink.
Параметры блока Zero-Order-Hold аналогичны параметрам блока в АЦП.
Блок
Bit to Integer Converter переводит последовательность
битов в целочисленные значения.
В опциях блока указываем, что
каждое значение будет представлено
4-мя битами.
Код Хэмминга представляет собой блочный код, который позволяет выявить и исправить ошибочно переданный бит в пределах переданного блока. Кодер Хемминга в Simulink реализуется с помощью блока Hamming Encoder.
Рис.8. Кодер
Хэмминга в среде Simulink.
Кодер Хэмминга работает с определенным числом входящих битов. Количество входных битов высчитывается по формуле K=2M-1-M(К – количество входных бит, М – количество добавляемых кодером бит для формирования избыточности (причем М>=3)). На практике имеем 4 бита данных. Отсюда делаем вывод, что подходящее для нас число входящих в кодер Хэмминга бит равно K=23 – 1 – 3 = 4.
Параметр блока Hamming Encoder “Codeword Length N” равен 7. Это общее число бит выходящих из кодера Хэмминга: 4 информационных и 3 кодовых, добавочных. Параметр “Message Length K” равен gfprimfd(3,'min'), что означает, что к информационным битам добавляется еще 3 кодовых.
Декодер Хэмминга в Simulink реализуется блоком Hamming Decoder.
Рис.9. Декодер Хэмминга в среде Simulink.
Параметры блоков декодера Хэмминга аналогичны параметрам блоков кодера.
Проверим работу кодера/декодера Хэмминга. Для этого один из битов передадим ошибочно, задав его константой. Сигнал не изменился, значит избыточное кодирование восстанавливает данные. Схема и спектрограммы – в приложении.
Мультиплексор/демультиплексор
Демультиплексор служит для «разбиения» кодированного сигнала на 7 параллельных каналов соединенных с регистром сдвига Transmitter параллельного приема и последовательной выдачи кодов.
Входы мультиплексора соединены с регистром сдвига Reciver последовательного приема и параллельной выдачи кодов. Мультиплексор нужен, чтобы «собрать» сигнал снова в один канал.
Рис.10. Демультиплексор.
Рис.11. Мультиплексор.
Регистры сдвига
Для реализации последовательного интерфейса модема нужны регистры сдвига. Разрядность регистров сдвига, определяется количеством триггеров, входящих в их состав. Мы будем использовать семиразрядные регистры сдвига, реализованных на D-триггерах.
Принцип работы регистра Transmitter
Регистр с параллельным приемом и последовательной выдачей кодов Transmitter на входах получает параллельный кодированный сигнал и преобразует его в сигнал последовательный.
Как следует из рисунка, синхроимпульсы поступают на соответствующие входы всех триггеров регистра одновременно и записывают в них то, что имеет место на их информационных входах.
В течение следующих 7 синхроимпульсов производится последовательный поразрядный вывод из регистра записанного числа, после чего регистр оказывается полностью очищенным (на вход R подается сигнал очищения).
Рис.12. Регистр
сдвига Transmitter.
Принцип работы регистра Receiver
Регистр с последовательным приемом и параллельной выдачей кодов Receiver на входах получает последовательный кодированный сигнал и преобразует его в сигнал параллельный.
Рис.13. Регистр
сдвига Receiver.
Как следует из рисунка 12, синхроимпульсы поступают на соответствующие входы всех триггеров регистра одновременно и записывают в них то, что имеет место на их информационных входах. На информационных входах триггеров D2, D3 и т. д. - уровни логического “0”, т.к. информационные входы последующих триггеров соединены с выходами предыдущих триггеров, находящихся в состоянии логического “0”, а на вход “D” первого триггера, по условию примера, подается “0” из внешнего источника информации. При подаче на вход “D” первого триггера “1”, с приходом первого синхроимпульса, в этот триггер запишется “1”, а в остальные триггеры - “0”, т.к. к моменту поступления фронта синхроимпульса на выходе триггера D1 “ещё” присутствовал логический “0”. Таким образом, в триггер D1 записывается та информация (тот бит), которая была на его входе “D” в момент поступления фронта синхроимпульса и т.д.
При поступлении второго синхроимпульса логическая “1” , с выхода первого триггера, запишется во второй триггер, и в результате происходит сдвиг первоначально записанной “1” с триггера D1 в триггер D2, из триггера D2 в триггер D3 и т.д. Таким образом, производится последовательный сдвиг поступающей на вход регистра информации (в последовательном коде) на один разряд вправо в каждом такте синхроимпульсов.
После поступления 7 синхроимпульсов регистр оказывается полностью заполненным разрядами числа. После 7-го синхроимпульса производится запись в Triggered Subsystem. После чего регистр оказывается полностью очищенным (на вход R подается сигнал очищения).
Блок Pulse Generator формирует прямоугольные импульсы по текущему времени с единичной амплитудой и периодом, который рассчитывается по следующей формуле: 1/(8*F), где F – частота дискретизации. Она была вычислена ранее, следовательно, период будет равен 1/(8*10)=1/80 секунды.
Блок Step формирует ступенчатый сигнал с начальным значением 0 и конечным значением 1 на нулевой секунде.
Рис.15. Схема счётчика.
Блок Counter – это счётчик. После поступления на вход счётчика тактового импульса (который воспринимается по заднему фронту) первый триггер изменяет своё состояние на противоположное, то есть единицу. Так как по приходу первого импульса изменилось состояние первого триггера, то этот триггер содержит младший разряд двоичного числа (единицы), поэтому в таблице истинности двоичного асинхронного счетчика его значение помещается на самом правом месте, как это принято при записи любых многоразрядных чисел. Подадим на вход счётчика ещё один тактовый импульс. Значение первого триггера снова изменится на прямо противоположное. На этот раз на выходе первого триггера, а значит и на входе второго триггера сформируется задний фронт. Это означает, что второй триггер тоже изменит своё состояние на противоположное и так далее.
Модулятор/демодулятор
Для передачи по любому каналу связи цифровое сообщение, представляющее собой последовательность символов (чисел), необходимо преобразовать в аналоговый сигнал — изменяющуюся во времени физическую величину (в нашем варианте - частоту). Указанное преобразование осуществляется путем модуляции. Обратный процесс носит название демодуляции.
Сущность процесса модуляции состоит в том, что передаваемое сообщение используется для изменения каких-либо параметров несущего колебания (чаще всего — синусоидального). Это позволяет создать модулированный сигнал.
По заданию необходимо использовать частотную манипуляцию (модуляцию цифрового сигнала), т.е. логической истине будет соответствовать одна частота аналогового сигнала, а логической фальши – другая.
Рис.16 Модулятор.
Блок Zero-Order Hold1 дискретизирует входной сигнал по времени.
Блок FM Modulator Passband реализует частотную модуляцию. Параметр Carrier Frequency – это несущая частота. Она определяется по формуле Fн = 5*(1/Т), где Т – длительность самого короткого импульса.
Рис.17. Осциллограмма сигнала, входящего в модулятор.
На рис.14 видно, что длительность самого короткого импульса приблизительно равна 0.05. Отсюда, несущая частота Fн = 5*1/0.05=100 Hz.
Для обратного преобразования применяем частотную демодуляцию.
Рис.18.
Демодулятор.
Блок FM Demodulator Passband реализует частотную модуляцию. Параметр Carrier Frequency такой же, как и в блоке частотной модуляции, т.е. 100 Hz. Блок Switch выполняет переключение входных сигналов по сигналу управления. Если сигнал управления, подаваемый на средний вход меньше, чем величина порогового значения Threshold, то на выход блока проходит сигнал с первого (верхнего) входа. Если сигнал управления превысит пороговое значение, то на выход блока будет поступать сигнал со второго (нижнего) входа. Threshold – порог управляющего сигнала, его значение (0.6) было подобрано экспериментально.
Для реализации ошибки в канале связи используется блок AWGN Channel. Он добавляет незначительный шум к сигналу.
Рис.19. Генератор
шума.
В этом блоке в параметр SNR записывается отношение сигнал/шум, т.е. S/N=20ln(Nc/Nш), где Nс – мощность сигнала, Nш – мощность шума. Мощность сигнала равна квадрату его амплитуды, отсюда
S/N=20ln(Ас2/ (Ас*0.2)2), где Ас – максимальная амплитуда сигнала.
Ас = 4 (см. осциллограмму входного сигнала в приложении 1), следовательно, этот параметр будет равен 24 dB.
Чтобы оценить полученную ошибку, вычтем из входного сигнала выходной и с помощью блока Mean найдем среднее значение получившихся значений.
Информация о работе Разработка системы сбора, передачи и обработки аналогового сигнала