Моделирование телекоммуникационных процессов в среде MathCAD. Практикум
.pdf
Рисунок 1.13 – Вид панели «Символьные»
На панели «Модификаторы» (рисунок 1.14) [1] располагаются ключевые слова, позволяющие расширить возможности символьных операций, предусмотренных панелью «Символы».
Рисунок 1.14 – Вид панели «Модификатор»
Контрольные вопросы
1.Какая панель системы MathCAD позволяет выводить греческие буквы?
2.Перечислите основные элементы системы MathCAD.
3.В каких системах координат возможно построение графиков в системе
MathCAD?
4.В каком случае в системе MathCAD используются знаки: =; =; :=?
11
2 Основные правила задания функции в среде MathCAD
Функция есть правило, согласно которому проводятся некоторые вычисления с ее аргументами и вырабатывается ее числовое значение.
Функции в MathCAD записываются в обычной для математика форме: x, … – список переменных;
f(x, …) – функция, где f – имя функции.
Вся запись в среде MathCAD ведется сверху вниз, слева направо. То есть вначале задаются все аргументы и переменные функции, далее сама функция, и, если есть необходимость, строится график.
Рассмотрим пример задания функции: ( ) = sin = sin 2 (рисунок
2.1)
Рисунок 2.1– Задание синусоидальной функции ( )
Для того чтобы задать функцию и в дальнейшем изобразить график функции ( ) = sin = sin 2 , необходимо задать диапазон изменения аргумента функции , с заданным шагом. В данном примере диапазон составляет от 0 до 3T, где Т – период синусоидального колебания. 100Т определяет количество точек на периоде синусоидального колебания при построении графика.
Контрольные вопросы
1.Что означает запись в системе MathCAD 1000Т ?
2.Задайте в системе MathCAD график функции ( ) = .
3.Какая панель позволит изобразить график заданной функции?
4.Что и каким образом должно быть указано при построении графиков в системе MathCAD?
12
3 Практикум в среде MathCad
3.1 Сложение синусоидальных сигналов со сдвигом фаз
Цель: исследование влияния разности фаз на результирующий сигнал.
Задание по теме:
1. Построить на оси времени график трех периодов синусоидальной функ-
ции ( ) = sin 2 .
2. Построить на той же плоскости графики функций: 1( ) = sin(2 + )
и 2( ) = ( ) + 1( ).
3. Изменяя сдвиг фаз в диапазоне = 0...2 с шагом 4 , исследовать поведе-
ние функции S2(t) при изменении сдвига фаз от 0 до и от до 2 . 4. Сделать выводы.
Пример сложения синусоиды с нулевой фазой и синусоиды с фазой 4 показан на рисунке 3.1
Рисунок 3.1 – Cложение синусоидальных колебаний с разными фазами
Контрольные вопросы
1.Изобразить графики двух синусоидальных сигналов: 1( ) = sin 2 и2( ) = sin 4 . Пояснить отличия в графиках.
13
2. |
Изобразить |
графики |
двух синусоидальных сигналов: 1( ) = |
||||||||||
|
A |
sin |
2 |
и 2( ) = A |
|
sin |
2 |
. Пояснить отличия в графиках. |
|
||||
|
|
2 |
|
|
|||||||||
|
1 |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
1( ) = |
|||||
3. |
Изобразить |
графики |
двух синусоидальных сигналов: |
||||||||||
|
A |
sin |
2 |
+ и 2( ) = A |
sin |
2 |
+ . Фазы первой и второй функций |
||||||
|
|
|
|||||||||||
|
1 |
|
|
|
|
|
1 |
|
|
|
|
||
отличаются на 90 градусов.
14
3.2 Спектр последовательности прямоугольных импульсов. Построение амплитудного спектра
Цель: сложение гармоник для получения периодической последовательности прямоугольных импульсов, анализ влияния различных характеристик сигналов на их спектры.
Теоретические сведения
Любой несинусоидальный периодический сигнал можно представить в виде суммы простых синусоидальных колебаний, каждое из которых имеет свою амплитуду, частоту и начальную фазу. Эти колебания называют гармониками, и их совокупность является спектром исходного несинусоидального сигнала. Разложение исходного сигнала на гармоники задает преобразование Фурье.
Для периодической последовательности прямоугольных импульсов гармоника задается выражением:
( , ) = 2 sin( )cos(2 ),
где n – номер гармоники;
T – период последовательности прямоугольных импульсов;
N – скважность – это отношение периода сигнала к длительности импульса.
= |
|
, – длительность прямоугольного импульса. |
|
|
|||
|
|
||
|
|
|
Ширина спектра сигнала – часть спектра, которую необходимо передавать по системе электросвязи для уверенного восстановления сигнала на приеме (часть, в которой сосредоточен максимум энергии сигнала) [4].
Задание по теме:
1. Используя выражение для разложения последовательности прямоуголь-
ных импульсов в ряд Фурье на гармонические составляющие ( , ) =
2 sin( )cos(2 ):
1.1Построить в одной системе координат графики первых трех гармоник
S(t,1), S(t,2), S(t,3) и их суммы Sum(t).
Исходные данные: N=2; T=0,1; t=0,T/1000..2T
1.2Используя программу суммирования произвольного числа гармоник –
Sum(t,k), где k – число суммируемых гармоник, построить графики последовательностей, полученных при суммировании произвольного числа гармоник k. Взять k равным 5,10, 100 гармоник (на разных графиках). Сделать выводы.
Программа суммирования k гармоник:
15
2. Построить амплитудный спектр последовательности прямоугольных импульсов в виде вертикальных отрезков, установленных в точках, равных частоте гармоники (n/T). Высота отрезка равна амплитуде соответствующей гармонике
Sp(n)= 2 sin ( ).
2.1Построить графики спектров (в разных системах координат) при постоянной длительности импульсов =0.1 и разной скважности N = 2,4,10 (T= N). Сделать выводы.
2.2Построить графики спектров (в разных системах координат) последовательности прямоугольных импульсов при одинаковой скважности (N=4) и раз-
ной длительности импульсов = 0.1, 0.2, 1. Сделать выводы.
Контрольные вопросы
1.Что собой представляет спектр периодического сигнала?
2.Что такое скважность (N)?
3.Что такое гармоника сигнала?
4.Что изменится при суммировании разного числа гармоник последовательности прямоугольных импульсов (5,10,20)?
16
3.3 Помехоустойчивое кодирование. Моделирование работы кодера циклического кода и декодера с обнаружением ошибок в среде MathCAD
Цель: изучение принципов построения корректирующих кодов; получение практического навыка моделирования кодеров и декодеров циклических кодов в системе MathCAD.
Теоретические сведения
В процессе преобразования сообщения в электрический сигнал каждый символ сообщения кодируется – ему ставится в соответствие двоичное число – КК. При этом, как правило, используется равномерный код – все кодовые комбинации имеют одинаковую длину (n). Тогда число разных кодовых комбинаций – N = 2n.
Если все возможные комбинации (N) используются для передачи (являются разрешенными), то такой код называется простым.
Для простого кода одна КК отличается от другой минимум одним разрядом. Такой код не может обнаруживать ошибки.
Число разрядов, на которое различаются две комбинации, называется расстоянием Хэмминга. Минимальное расстояние Хэмминга называют кодовое рас-
стояние – d0 .
Для того чтобы код мог обнаружить ошибки в КК, все множество возможных КК делится на два подмножества: КК, разрешенные для передачи и запрещенные для передачи.
Все разрешенные КК удовлетворяют какому-то правилу.
Если при передаче из-за ошибок КК переходит в запрещенную, ошибка будет обнаружена.
Количество обнаруживаемых и исправляемых ошибок зависит от d0 .
d0 = tобн + 1 → |
tобн = d0 – 1 |
d0 = 2 tисп + 1
Широкое распространение на практике получили циклические коды. Разрешенные комбинации такого кода делятся без остатка на некоторый вы-
бранный полином, называемый производящим (образующим).
Ненулевой остаток от такого деления указывает на то, что КК является запрещенной, значит, она с ошибками.
Остаток от деления КК на производящий полином называют синдромом. Возможны два способа построения циклического кодера. Для проектирова-
ния в системе MathCAD рассмотрим принцип построения экономичного кодера для кода (9,5) с производящим полиномом ( ) = 4 + 3 + 2 + + 1. В этом
случае схема кодера будет иметь вид, изображенный на рисунке 3.3:
17
Рисунок 3.3 – Схема кодера для полинома ( ) = 4 + 3 + 2 + + 1
В данном кодере проверочные разряды будут сформированы за k тактов, где k – число информационных разрядов. Число проверочных разрядов равно наибольшей степени производящего полинома (r). Следовательно, в регистре кодера должно быть r ячеек. Ячейки регистра формирователя проверочных разрядов обозначим R0…R3.
Для работы кодера необходимо задать информационные разряды, поступающие на вход кодера в виде матрицы столбца
Вначале обнулим содержимое всех ячеек кодера. Для этого достаточно записать ноль в старшую ячейку (в данном случае, R3). А также обнулить результат сложения информационного разряда с содержимым ячейки R0.
Оператор stack (k,R) – приписывает к информационным разрядам, сформированные кодером проверочные разряды.
Алгоритм работы кодера представим на рисунке (3.4):
18
Рисунок 3.4 – Алгоритм работы кодера
Программа работы кодера, в данном случае, имеет вид:
Задание по теме:
1.Составить алгоритм работы экономичного кодера для вашего варианта P(x).
2.Написать программу работы экономичного кодера (MathCAD). Производя-
щий полином и информационные разряды, поступающие на вход кодера, взять
19
для своего варианта из лабораторной работы «Циклические коды». Сравнить кодовую комбинацию на выходе кодера с кодовой комбинацией, полученной
входе выполнения лабораторной работы.
3.Написать программу работы устройства вычисления синдрома в декодере с обнаружением ошибок (MathCAD).
Программа работы устройства вычисления синдрома в декодере с обнаружением ошибок будет отличаться от программы работы кодера следующим: на вход декодера надо подавать кодовую комбинацию, сформированную кодером (n=k+r) (кодовую комбинацию необходимо задать в виде матрицы столбца длиной n элементов); на выход декодера надо вывести синдром, сформированный в ячейках регистра R0 …R3. Проанализировать синдром.
4.В кодовую комбинацию, полученную на выходе кодера, в один из информационных разрядов внести одиночную ошибку, используя вектор ошибки E. Вектор ошибки задать в виде матрицы столбца размером n. Единица в век-
торе ошибки стоит на месте одного из информационных разрядов. С помощью программы вычислить синдром. Проанализировать полученный синдром.
Пример программы устройства по вычислению синдрома в декодере с обнаружением ошибок приведен в приложении А.
Контрольные вопросы
1.Что необходимо знать для построения кодера циклического кода?
2.Чем определяется количество разрядов в разрешенной кодовой комбинации циклического кода?
3.Какие разряды можно выделить в разрешенной кодовой комбинации циклического кода?
4.Что такое синдром? Где и когда он формируется?
5.Что означает запись stack(k,R)?
20
