ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение
высшего профессионального образования
Московский Технический Университет Связи и Информатики
Кафедра радиотехнических систем
Лабораторная работа № 5 ПК
«Построение и исследование схем дискретной логики, используемых при создании помехоустойчивых кодеков (схемы умножения и деления полиномов, а также генератора псевдослучайных последовательностей)» по дисциплине «Помехоустойчивое кодирование»
Москва 2014
ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение
высшего профессионального образования
Московский Технический Университет Связи и Информатики
Кафедра радиотехнических систем
«Утверждено на Совете факультета радио и телевидения»
Декан А.В. Пестряков
Протокол № 7 от «20» марта 2014 г.
Лабораторная работа № 5 ПК
«Построение и исследование схем дискретной логики, используемых при создании помехоустойчивых кодеков (схемы умножения и деления полиномов, а также генератора псевдослучайных последовательностей)» по дисциплине «Помехоустойчивое кодирование»
«Утверждено на заседании кафедры радиотехнических систем
Зав. кафедрой |
Ю.С Шинаков |
Протокол № 4 |
от «18 » февраля |
2014 г. |
|
Москва 2014
УДК 6820.3.042.5 : 6220.39 План подготовки УМД 2013/2014 уч. года
Лабораторная работа № 5 ПК «Построение и исследование схем дискретной логики,
используемых при создании помехоустойчивых кодеков (схемы умножения и деления полиномов, а также генератора псевдослучайных последовательностей)» по дисциплине «Помехоустойчивое кодирование»
Предлагаемое издание является учебным пособием для лабораторного практикума по курсу «Помехоустойчивое кодирование». Издание содержит описание лабораторной работы и исходные данные для её выполнения. Издание предназначено для студентов радиотехнических и телекоммуникационных специальностей.
Составители: В.Э. Русанов, к.т.н., доцент, Е.М. Лобов, к.т.н.
Рецензент: профессор каф. РТС, д.ф.-м.н., доцент А.А. Локтев
Издание утверждено Советом факультета радио и телевидения. Протокол № 7 от 20 марта 2014 г.
Лабораторная работа № 5 ПК
Построение и исследование схем дискретной логики, используемых при создании помехоустойчивых кодеков (схемы умножения и деления полиномов, а также генератора псевдослучайных последовательностей)
1.Цель работы: изучение принципа построения и работы схем дискретной логики, используемых при создании помехоустойчивых кодеков.
2.Введение
Схемы дискретной логики – простейшие устройства обработки цифровых двоичных сигналов. В лабораторной работе исследуются следующие устройства: 1.Регистр сдвига. Это цепочка элементов задержки (D-триггеров). Элемент задержки имеет информационный вход и выход, а также вход синхронизации. Вход синхронизации на схеме стенда не отображается, но такой вход имеют все устройства схемы. Тактовый импульс одновременно подаётся на все устройства по сигналу пользователя («клику» мыши). При подаче на вход синхронизации входной информационный сигнал (напряжения логического нуля или единицы) переходит на выход и не изменяется, как бы не изменялся входной сигнал (пока не поступит новый синхроимпульс). Таким образом, при серийной подаче синхроимпульсов входная цифровая последовательность (входной цифровой сигнал) будет перемещаться по цепочке регистра подобно «бегущей строке». При этом каждая ячейка регистра задерживает входную цифровую последовательность на 1 такт (период следования тактовых импульсов).
2.Сумматор по модулю два. Его ещё называют «схемой XOR». Сумматор имеет два входа и один выход. Выходной сигнал равен сумме сигналов на входе. Сумма вычисляется по модулю два согласно правилу:
1+1=0; 1+0=1;0+1=1; 0+0=0.
Помимо исследуемых схем для лабораторного стенда (компьютера с программой «Спектр») нужны вспомогательные.
3.Источник цифрового сигнала. Это фактически регистр сдвига, только в него предварительно записаны битовые символы цифрового сигнала. Источник имеет вход для тактовых импульсов (на схеме не индицируется) и выход для выдачи записанной в регистр информационной последовательности. При подаче тактового импульса выдается очередной битовый символ этой последовательности.
4.Индикатор цифровых последовательностей (битовая консоль). Индикатор имеет несколько входов (количество задаётся пользователем). Все биты на входах консоли отображаются на строке дисплея компьютера при подаче каждого тактового импульса.
Все элементы лабораторного стенда – виртуальные, созданные в среде программы «Спектр». Схема стенда строится «перетаскиванием» с помощью мыши по технологии «drag-and-drop» элементов дискретной логики на рабочее поле окна программы. Соединение элементов также осуществляется с помощью мыши. Для этого надо поставить курсор на один из соединяемых элементов и затем, нажав левую кнопку «мыши», переместить его при нажатой левой кнопке на другой элемент из пары соединяемых. Тактовые импульсы на все элементы схемы подаются нажатием кнопки с зелёной стрелкой на панели управления («кликнуть» левой кнопкой мыши, наведя курсор на элемент управления с зелёной стрелкой).
5.Индикатор фотограммы битового потока. Этот индикатор, также как и битовая консоль, выводит в соответствующем окне информационные биты, только не в виде цифр, а в виде яркостных отметок (бит единицы отображается зелёной точкой, бит нуля – незасвеченным элементом экрана). Индикация битовой последовательности осуществляется в виде растра
с |
заданным |
периодом |
развёртки |
(устанавливается |
пользователем). |
Если |
последовательность периодическая и её период совпадает с периодом развёртки, то на экране в окне будут вертикальные полосы
3.Домашняя подготовка к работе
Для подготовки к лабораторной работе надо:
1.Начертить все схемы для выполнения пунктов лабораторной работы.
2.Выполнить расчёты по умножению и делению многочленов (на бумаге либо в электронном виде, например, на флэшке, в файле - заготовке отчёта)
3.Знать ответы на контрольные вопросы
Файл отчёта можно оформить на бумаге либо в электронном виде на «флэшке». Для полготовки отчёта можно воспользоваться прилагаемым к описанию образцом для редактирования.
4.Порядок выполнения работы
4.1 Построение регистра сдвига битовых последовательностей.
Исходные данные для выполнения работы:
-входная последовательность (полином) – составляется из двух первых букв фамилии студента по таблице 1;
-длина регистра – 10 ячеек.
Составить входную битовую последовательность по таблице 1. Запустить программу «Спектр-2с».
Вывести на рабочее поле источник битовой информации - модуль «Генератор полинома и ПСП», и поместить в окно полинома (оно самое большое в длину) входную битовую последовательность. (см. описание программного обеспечения «Сперктр 2с»). В окне настройки поставить галочку напротив надписи «Генерировать нули по окончанию ПСП.полинома». Режим работы : генератор полинома.
Вывести на рабочее поле регистр сдвига с 10 ячейками. Начальные установки ячеек регистра установить нулевыми.
Вывести на рабочее поле модуль битовой консоли. Установить число входов консоли, равное числу ячеек регистра.
Соединить выход источника информации со входом первой, левой ячейки регистра, а входы консоли – с выходами ячеек.
Нажимая кнопку однократного тактового запуска схемы (зелёная треугольная с надписью «1») , наблюдать на экране консоли изменение текущих состояний ячеек регистра сдвига.
Битовая последовательность в регистре должна перемещаться «бегущей строкой». Сохранить закодированную фамилию в битовый файл с помощью модуля
«Сохранение битового потока» (Битовые данные – Преобразователи – «Сохранение битового потока»).
Сохранить файл схемы (*.sa) в каталоге «Мои документы» под своей фамилией (полностью, русским шрифтом), добавив без пробела цифру 1 – номер выполненного пункта (например, иванов1.sa).
4.2. Построение схемы перемножения полиномов-битовых последовательностей.
Исходные данные для выполнения работы:
-входная последовательность, полином a(x) – составляется из 2-х первых букв фамилии студента по таблице 1;
-полином g(x), по которому строится схема перемножителя, берётся из таблицы 2. По полиному g(x) построить на рабочем поле умножитель полиномов c(x)=a(x)
g(x) по схемам в двух вариантах:
а) с сумматорами между ячейками регистра (схема Галуа, рис.4); б) с сумматорами выходных сигналов ячеек регистра (Схема Фибоначчи, рис.5).
В состав схемы: входят источник битовой информации, регистр сдвига, сумматоры по модулю 2 и консоль (индикатор входной, выходной битовой последовательностипроизведения и выходов ячеек регистра, подобно примеру на рис.2). Сравнить выходную битовую последовательность с результатами умножения кодов полиномов «вручную на бумаге».
Сохранить файлы схем (*.sa) в текущем каталоге под своей фамилией (полностью, русским шрифтом), добавив без пробела цифру 2 – номер выполненного пункта и букву русского алфавита «а» либо «б» для каждого из вариантов схем. (например, иванов2a.sa, иванов2b.sa). Команда меню «Файл –> сохранить как».
4.3. Построение схем деления полиномов-битовых последовательностей.
Исходные данные для выполнения работы:
- входная последовательность – полином c(x)+x, где c(x) - полином, полученный в
п.3.2 ;
- полином g(x) по которому строится схема делителя – также берётся из п. 3.2.
На вход делителя подаётся код c(x)+x, вычисленный умножителем, но с инвертированным предпоследним разрядом (чтобы иметь ненулевой остаток). Он задан в соответствующем окне, как показано на рисунке 1, в виде последовательности нулей и единиц. Окно открывается двойным щелчком по иконке «Poly Gen». Другие данные этого окна кроме галочки «генерировать нули» не используются,однако все режимы и установки должны быть как в приведённом примере.
Рис.1. Окно генератора входной цифровой последовательности
По полиному g(x) построить на рабочем поле схемы делителей полиномов [с(x)+x]/g(x) в двух вариантах:
а) с сумматорами между ячейками регистра (подобно примеру на рис.2, рис.6); б) с сумматорами выходных сигналов ячеек регистра (рис.7).
В состав схемы входят источник битовой информации, регистр сдвига, сумматоры по модулю 2 и консоль (индикатор входной последовательности, текущих состояний регистра, частного и остатка). Входы консоли подключаются к выходам всех ячеек регистра. Последний вход подключается к битовому выходу генератора входной последовательности («Poly Gen»).
Рис.2 Схема делителя полиномов с сумматорами между ячейками регистра.
Запускаем схему нажатием треугольной зелёной кнопки с цифрой «1» на верхней панели меню. Остаток деления появляется на выходах ячеек регистра на следующий такт после выхода последнего разряда частного ( оно в первом столбце данных консоли) и поступления с генератора последнего разряда входного сигнала ( он в последнем столбце данных консоли).
Сравнить выходную битовую последовательность-частное и остаток деления с результатами деления кодов полиномов «вручную на бумаге».
Сохранить файлы схем делителей (*.sa) в каталоге «Мои документы» под своей фамилией (полностью, русским шрифтом), добавив без пробела цифру 3 – номер выполненного пункта и букву русского алфавита «а» либо «б» для каждого из вариантов схем. (например, иванов3a.sa, иванов3b.sa).
Команда меню «Файл –> сохранить как».
5. Построение схем генераторов псевдослучайной последовательности.
Исходные данные для выполнения работы:
- полином g(x) по которому строится схема генератора – берётся из таблицы 2. Собрать схему генератора в составе: регистр сдвига, сумматоры по модулю два
(XOR) для обеспечения обратных связей, модуль «фотограмма битового потока», подключённый к выходу генератора.
Схемы генераторов строятся на базе делителей полиномов в двух вариантах: а) с сумматорами между ячейками регистра (подобно примеру на рис.2, рис.6); б) с сумматорами выходных сигналов ячеек регистра (рис.7).
Запустить генератор клавишей «Пуск-пауза F5». Определить период сгенерированной битовой последовательности, подбирая период развёртки (число бит в
строке на экране модуля «фотограмма битового потока»), пока фотограмма не будет иметь вид ряда вертикальных прямых линий.
Сохранить файл схемы (*.sa) в текущемкаталоге под своей фамилией (полностью, русским шрифтом), добавив без пробела цифру 4 – номер выполненного пункта (например, иванов4.sa).
Содержание отчета (см. образец)
1.Наименование и цель работы.
2.Исходные данные для выполнения работы.
3.Результаты выполнения работы
|
|
|
|
|
|
|
Таблица1 |
|
||
|
|
|
|
|
|
|
|
|
|
|
Буква |
Код |
|
Буква |
Код |
|
|
|
|
||
А |
00000 |
|
|
Р |
10000 |
|
|
|
|
|
Б |
00001 |
|
|
С |
10001 |
|
|
|
|
|
В |
00010 |
|
|
Т |
10010 |
|
|
|
|
|
Г |
00011 |
|
|
У |
10011 |
|
|
|
|
|
Д |
00100 |
|
|
Ф |
10100 |
|
|
|
|
|
Е |
00101 |
|
|
Х |
10101 |
|
|
|
|
|
Ж |
00110 |
|
|
Ц |
10110 |
|
|
|
|
|
З |
00111 |
|
|
Ч |
10111 |
|
|
|
|
|
И |
01000 |
|
|
Ш |
11000 |
|
|
|
|
|
Й |
01001 |
|
|
Щ |
11001 |
|
|
|
|
|
К |
01010 |
|
|
Ь |
11100 |
|
|
|
|
|
Л |
01011 |
|
|
Ы |
11011 |
|
|
|
|
|
М |
01100 |
|
|
Ъ |
11010 |
|
|
|
|
|
Н |
01101 |
|
|
Э |
11101 |
|
|
|
|
|
О |
01110 |
|
|
Ю |
11110 |
|
|
|
|
|
П |
01111 |
|
|
Я |
11111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 2 |
|
|
|
|
|
|
|
|
|||
|
|
№ по |
|
Полином g(x) |
|
№ по |
Полином g(x) |
|||
|
|
списку |
|
|
|
|
|
списку |
|
|
|
|
1 |
|
23 |
|
|
|
12 |
57 |
|
|
|
2 |
|
71 |
|
|
|
13 |
45 |
|
|
|
3 |
|
121 |
|
|
14 |
35 |
||
|
|
4 |
|
47 |
|
|
|
15 |
73 |
|
|
|
5 |
|
51 |
|
|
|
16 |
153 |
|
|
|
6 |
|
113 |
|
|
17 |
131 |
||
|
|
7 |
|
63 |
|
|
|
18 |
127 |
|
|
|
8 |
|
27 |
|
|
|
19 |
151 |
|
|
|
9 |
|
53 |
|
|
|
20 |
135 |
|
|
|
10 |
|
125 |
|
|
21 |
115 |
||
|
|
11 |
|
171 |
|
|
22 |
67 |
||
Работа с программным обеспечением «Спектр-2»
Запуск d:\ЛаборРег\spectr2_lab\Spectr2c.exe
На панели иконок выбираем левую(«сборка новой системы для анализа») После нажатия на левую кнопку манипулятора «мышь» (Mouse Left ) открывается окно параметров в котором нужно нажать кнопку «Ok». Открывается окно «Редактор систем». В левой части окна - меню перечня устройств-модулей для сборки системы, в правой – рабочее поле, на котором можно собрать нужную схему.
Справка по поиску и установке нужных устройств
1.Ячейка регистра (D-триггер) Путь поиска в меню (левая часть окна редактора систем): Битовые данные – Биты – Регистр.
Перетаскиваем (путем наведения на иконку регистра курсора mouse-манипулятора
иего перемещения с одновременным нажатием левой кнопки на поле сборки системы (метод «Drag and drop»). После отпускания левой кнопки появится окно с предложением задать исходное состояние ячейки (по умолчании установлена «1»). После задания состояния «нажимаем» кнопку «Ok» в окне.
2.Источник битовой информации. Путь поиска в меню: Вход – Генераторы – Генератор полинома/ПСП
Перетаскиваем (методом «Drag and drop») иконку генератора полинома на рабочее поле. После отпускания левой кнопки появится окно «Генератор полинома и ПСП» с предложением задать исходные данные. Эти данные редактируются в строке ввода, размещённой справа под надписью «Полином HEX-BIN». Режим работы «Генератор полинома» позволяет передавать битовую последовательность строки ввода на выход, начиная со старшего, правого бита. В этом случае на выход генератора будут поступать биты полинома входной последовательности. Если мы работаем с делителем или умножителем , опция «Генерировать циклически» должна быть отключена, а опция «Генерировать нули» - наоборот, помечена галочкой. Тогда по окончании кодовых символов на выход генератора будут поступать нули. Последовательность начнёт посимвольно подаваться на выход генератора, если нажать кнопку на верхней панели «обработка очередного отсчёта F6» в виде зелёной треугольной кнопки с единицей. Кнопка «Запуск/пауза F5» подает входную последовательность на выход непрерывно и циклически. Кнопка «Обработка очередной пачки F7» (треугольник с надписью «N») однократно выдаёт на выход всю строку-полином входных данных. Передаётся строкаполином всегда старшими, правыми разрядами вперёд. При нажатии треугольной зелёной кнопки производится циклическая выдача входной последовательности. При этом опция «Генерировать циклически» устанавливается автоматически и может быть отключена только после снятия соответствующей метки-«галочки» в окне управления генератора.
3.Сумматор по модулю 2 (схема XOR). Путь поиска: Битовые данные – Биты –
XOR.
Перетаскиваем (методом «Drag and drop») иконку сумматора на рабочее поле.
4.Консоль индикации бит на выходах логических устройств. Консоль может индицировать несколько каналов. Все биты каналов за один такт работы цифровых устройств последовательно отображаются на экране консоли в виде строки. Следующий такт отображается поканально на следующей строке и т.д. Путь поиска: Битовые данные – Прочие – Битовая консоль. Перетаскиваем (методом «Drag and drop») иконку битовой консоли на рабочее поле. Окно с экраном консоли Загружается автоматически при запуске программы. Оно спрятано за окном с рабочим полем.
В нижней части экрана можно найти вкладку-иконку для вывода этого окна консоли на передний план.
Внимание. Иконка консоли при большом числе входов (более 5) слишком велика и не помещается в одном квадратике, на которые разбито рабочее поле. При подключении входов консоли, начиная с 5-го, которые выходят за пределы одной ячейки-квадрата, могут возникнуть трудности, если Вы будете наводить курсор на область нижнего квадрата из двух, занимаемых иконкой консоли. А программа осуществляет соединение выходов блоков со входами консоли только при наведении курсора мыши на верхнюю часть иконки консоли, как это показано на рисунке:
Рис 3. При соединении блоков с консолью курсор «мыши» всегда ведётся при нажатой левой кнопке от блока (ячейки регистра) к верхней части значка консоли.
5.Фотограмма битового потока. Это окно яркостной растровой индикации битовой последовательности с заданным периодом развёртки. Если последовательность периодическая и её период совпадает с периодом развёртки, то на экране в окне будут вертикальные полосы, (подобные штрих-коду на покупках в магазине).Путь поиска: Битовые данные – Прочие – Фотограмма бит. потока.
Для установки устройства на рабочее поле перетаскиваем туда его иконку методом
«Drag and drop».
6.Сохранение битового потока Путь поиска в меню: Битовые данные – Преобразователи – Сохранение битового потока).
Для установки устройства на рабочее поле перетаскиваем туда его иконку методом «Drag and drop». При установке запрашивается имя файла.
Сборка схемы
Режим сборки включается при нажатой кнопке-иконке с изображением паяльника. Сборка состоит в соединении входов и выходов устройств методом «Drag and drop». При осуществлении соединения может появляться окно с уточнениями по порядку коммутации (например, номера входов и выходов). Отключение соединений осуществляется по щелчку правой кнопки мыши на том выходе или входе, который нужно отключить. Все выполняемые при этом команды понятны из надписей на «кнопках» в
