Читайте также: |
|
Набрать схему дифференциального квадратурного фазового манипулятора (рис. 15).
На рисунке представлена схема виртуального прибора, построенного по принципу дифференциальной квадратурной фазовой манипуляции со сдвигом π/4. Подразумевая, что читатель знаком с основными идеями этого метода, перейдем непосредственно к описанию работы виртуального прибора.
Конечным продуктом схемы является сигнал, модулированный по принципы DQPSK, представленный массивом точек (отсчетов). Этот массив получается в результате циклического выполнения операций, заключенных в модуль 1. Сейчас количество циклов (и значит точек дискретизации) равно 1000 (число, подведенное к входу N цикла (1)).
Далее необходимо выбрать шаг дискретизации. Это можно сделать путем деления инкремента i цикла (1) на число, например 100. Тогда шаг дискретизации будет 0,01 и количество шагов 1000. Значит i изменяется в пределах . Эти параметры можно изменить для конкретной задачи.
Рис. 15. Блок – схема модулятора DQPSK
Далее переходим к синтезу сигнала. Здесь использован блок формул (из вкладки Структуры), позволяющий использовать любое математическое выражение (синтаксис языка С)(2). Написав выражение s=cos(w0*t+PHIk); и проставив соответствующие входы и выходы, мы можем подвести переменную i, деленную на 100 к входу t (время) и добавить блок ввода частоты w0, соединив его с соответствующим входом на формульном узле. С выхода s через индексирующий ту
нель подадим сигнал узловой блок. На второй вход узлового блока подадим переменную времени. Выходной кластер значений узлового блока подадим на XY-график. Теперь приступим к созданию самого важного блока, отвечающего за создание переменной фазы.
Данная система должна получать информационный символ, преобразовывать его двоичную последовательность и только после этого модулировать несущий сигнал определенным образом. Добавим на лицевую панель блок ввода символьных констант (тип string), поместим его в тело цикла (1) и далее преобразуем его в байтовый массив, в котором 1 символу будет соответствовать 1 элемент массива в десятичной системе счисления. Чтобы не усложнять систему дополнительными циклами для преобразования и последовательной записи каждого символа, реализуем блок, позволяющий выбрать 1 из символов для преобразования и передачи (3). Итак, выбрав 1 элемент массива (1 символ), номер которого мы также вводим на лицевой панели, преобразуем его сначала в двоичную (Булевскую) логику, а затем в ее
численный эквивалент (0 или 1). Таким образом, у нас получился одномерный массив, состоящий из символов 1 и 0, который представляет собой передаваемый символ в двоичной кодировке. Теперь необходимо создать блок, выдающий массив фазовых сдвигов в соответствии с алгоритмом модуляции DQPSK.
Поскольку для создания такого алгоритма нам необходимо работать не только с текущими значениями, но и предыдущими, нам понадобится создать линию задержки. Для этого мы будем использовать цикл For Loop, такой же, как и (1). Здесь есть особенность: выходной массив переменной фазы должен совпадать по размеру с массивом модулирующей последовательности. Для этого мы ставим блок, измеряющий длину массива, и подаем результат с его выхода на вход N цикла (4).
Саму модулирующую последовательность подаем через обратно индексирующий туннель (как бы разворачиваем ее из массива) и начинаем оперировать с ней, а точнее, с ее текущим значением. Поскольку для алгоритма имеет значение не только настоящий и предыдущие биты, но и их четность/нечетность, в этом цикле организован алгоритм различения четных и нечетных битов, пришедших через туннель (5). Принцип его работы в следующем. Инкремент цикла складывается и нечетным числом (целым, больше 1), затем результат делится на 2. Потом от результата деления отнимается целая часть, и разность сравнивается с нулем: если =0, то на входе четный бит,
если ≠0, то на входе нечетный бит (значения инкремента изменяются от 0 до N-1). Таким образом, если на входе нечетный бит, то результат сравнения равен 0 («ложь»), если четный, что 1 («правда»). Воспользуемся этим для дальнейшей обработки входного массива данных.
Создадим в цикле (4) условный цикл (case structure)(6), для работы которого руководящим сигналом будет результат сравнения с нулем. И так, в результате сравнения может быть 2 ситуации: в текущем цикле обрабатывается четный или нечетный бит, а точнее, если «правда», то обрабатываем четный бит, если «ложь», то нечетный. Добавим блок задержки значения на цикл (7) и подадим прямое и задержанное значения в условный цикл и будем анализировать их возможные комбинации. В соответствии с алгоритмом кодирования, в каждой из ситуаций цикла 6 возможны 4 комбинации параметров Xk и Yk. для каждой из них составим свой условный цикл (8) и условие запуска цикла (9). Схема построена таким образом, что 2 цикла одновременно не могут «сработать», т.е. операции в результате «правды»
у двух разных циклов не смогут сработать одновременно, а в случае «лжи» у каждого цикла на выходе 0. В таком случае мы просто суммируем выходные значения условных циклов и каждый раз получаем 0+0+0+Δφk= Δφk, которое и отправляется на выход условного цикла (6). То же самое происходит когда цикл (6) работает по схеме «ложь» на входе и мы так или иначе получаем значение Δφk, удовлетворяющее текущим Xk и Yk. Далее мы снова используем задержку значения и суммируем текущее значение Δφk с Δφk-1, после чего получаем текущее значение φk, выводим его из цикла (4) через индексирующий туннель и получаем массив φk, равный по длине двоичному массиву данных (в нашем случае 8 значений).
Получив массив фаз φk нам необходимо промодулировать им несущее колебание. Вспомним, что инкремент цикла (1) изменяется в пределах , и воспользуемся этим для отбора значений фазы из массива фаз. Будем брать целую часть от инкремента и «выбирать» из массива фаз значение, соответствующее по номеру целой части инкремента. Таким образом, при данных значениях каждое новое значение фазы будет через 100 отсчетов.
Важные замечания по работе схемы:
схема полностью дискретна, т.е. связана только с машинными циклами, а не с временем или частотой, в схеме идет работа с масси
вами данных, а не с текущими значениями, что бывает очень удобно при мониторинге, отладке или модернизации.
Зарисовать осциллограмму в контрольных точках модулятора
Содержание отчета
Функциональная схема экспериментальной установки; диаграммы в контрольных точках, полученные при выполнении лабораторного задания; анализ полученных результатов.
Контрольные вопросы и задания
Литература
объектами: учеб. пособие для вузов. – М.: Радио и связь,
2002. – 440 с.
Дата добавления: 2015-07-20; просмотров: 72 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Теоретическая часть | | | Теоретическая часть |