Как рассчитывается символьная скорость. А.Б.Сергиенко "Цифровая модуляция"


Очерк А.Б.Сергиенко "Цифровая модуляция"

В настоящее время все большая часть информации, передаваемой по разнообразным каналам связи, существует в цифровом виде. Это означает, что передаче подлежит не непрерывный (аналоговый) модулирующий сигнал, а последовательность целых чисел n 0 , n 1 , n 2 , …, которые могут принимать значения из некоторого фиксированного конечного множества. Эти числа, называемые символами (symbol), поступают от источника информации с периодом T , а частота, соответствующая этому периоду, называется символьной скоростью (symbol rate): f T = 1/T .

Замечание. Часто используемым на практике вариантом является двоичная (binary) последовательность символов, когда каждое из чисел n i может принимать одно из двух значений - 0 или 1.

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

Типичный подход при осуществлении передачи дискретной последовательности символов состоит в следующем. Каждому из возможных значений символа сопоставляется некоторый набор параметров несущего колебания. Эти параметры поддерживаются постоянными в течение интервала T , то есть до прихода следующего символа. Фактически это означает преобразование последовательности чисел {n k } в ступенчатый сигнал s n (t ) с использованием кусочно-постоянной интерполяции:

s n (t ) = f (n k ), kT <= t < (k + 1)T .

Здесь f - некоторая функция преобразования. Полученный сигнал s n (t ) далее используется в качестве модулирующего сигнала обычным способом.

Такой способ модуляции, когда параметры несущего колебания меняются скачкообразно, называется манипуляцией (keying). В зависимости от того, какие именно параметры изменяются, различают (АМн), (ФМн), (ЧМн) и (КАМн) манипуляцию.

Как будет показано далее, амплитудная манипуляция (АМн; английский термин - amplitude shift keying, ASK), при которой скачкообразно меняется амплитуда несущего колебания, является частным случаем квадратурной манипуляции (см. далее). Поэтому здесь мы только построим в качестве примера график АМн-сигнала и скажем несколько слов о демодуляции сигналов данного типа.

Демодуляция АМн-сигнала может выполняться теми же методами, что и в случае квадратурной манипуляции (путем умножения на несущее колебание). Однако наличие всего лишь двух возможных значений начальной фазы несущей, отличающихся друг от друга на 180° , делает возможной реализацию автоматической подстройки начальной фазы с помощью петли ФАПЧ. Этот режим демодуляции реализуется функциями ddemod и ddemodce при указании вида манипуляции "ask/costas".

Амплитудная манипуляция осуществляется функциями dmod (формируется вещественный выходной сигнал) и dmodce (формируется комплексная огибающая) пакета Communications при указании в них параметра типа модуляции "ask". Следующий за ним параметр M указывает количество используемых уровней манипуляции. Символы, подлежащие передаче, должны принимать целочисленные значения, лежащие в диапазоне 0…M–1. Символу 0 соответствует значение амплитуды, равное –1, а символу M–1 - значение амплитуды, равное 1. Остальные уровни равномерно распределены между этими значениями. Таким образом, строго говоря, в данном случае может меняться не только амплитуда, но и фаза несущего колебания (отрицательные амплитудные множители соответствуют изменению фазы на 180° ).

В качестве примера построим график сигнала, содержащего все возможные символы при 8-позиционной АМн:

M = 8; % количество уровней манипулЯции

Fd = 1; % символьнаЯ скорость

Fc = 4; % несущаЯ частота

FsFd = 40; % отношение Fs/Fd

% формируем АМн-сигнал

Dmod(sy, Fc, Fd, Fs, "ask", M);

На графике хорошо виден бросок фазы в середине сигнала. Кроме того, можно заметить, что фазы посылок в первой и второй половинах сигнала, имеющих одинаковые амплитуды, отличаются на 180° .

Фазовая манипуляция (ФМн; английский термин - phase shift keying, PSK), при которой скачкообразно меняется фаза несущего колебания, тоже является частным случаем квадратурной манипуляции (см. далее).

На практике фазовая манипуляция используется при небольшом числе возможных значений начальной фазы - как правило, 2, 4 или 8. Кроме того, при приеме сигнала сложно измерить абсолютное значение начальной фазы; значительно проще определить относительный фазовый сдвиг между двумя соседними символами. Поэтому обычно используется фазоразностная манипуляция (синонимы - дифференциальная фазовая манипуляция, относительная фазовая манипуляция; английский термин - differential phase shift keying, DPSK).

Демодуляция фазовой манипуляции может выполняться тем же методом, что и в случае квадратурной манипуляции (путем умножения на несущее колебание). Применительно к ФМн данный метод демодуляции часто называется корреляционным .

Фазовая манипуляция осуществляется функциями dmod (формируется вещественный выходной сигнал) и dmodce (формируется комплексная огибающая) пакета Communications при указании в них параметра типа модуляции "psk". Следующий за ним параметр M указывает количество используемых градаций начальной фазы. Символы, подлежащие передаче, должны принимать целочисленные значения, лежащие в диапазоне 0…M–1. Символу k соответствует значение начальной фазы, равное 2p k /M радиан, или 360k /M градусов.

В качестве примера построим график сигнала, содержащего все возможные символы при 4-позиционной ФМн:

M = 4; % количество позиций манипулЯции

sy = 0:M-1; % передаваемые символы

Fd = 1; % символьнаЯ скорость

Fc = 4; % несущаЯ частота

FsFd = 40; % отношение Fs/Fd

Fs = Fd * FsFd; % частота дискретизации

% формируем ФМн-сигнал

Dmod(sy, Fc, Fd, Fs, "psk", M);

На графике видны скачки фазы на 90° , происходящие при переходе от одного символа к другому.

При частотной манипуляции (ЧМн; английский термин - frequency shift keying, FSK) каждому возможному значению передаваемого символа сопоставляется своя частота. В течение каждого символьного интервала передается гармоническое колебание с частотой, соответствующей текущему символу. При этом возможны различные варианты, различающиеся выбором начальной фазы отдельных синусоидальных посылок.

Первый способ - когда все посылки, соответствующие одному закону передаваемого символа, имеют одинаковую начальную фазу, то есть являются идентичными. При этом можно заранее сформировать наборы отсчетов для всех возможных дискретных символов. Тогда осуществление частотной манипуляции сводится к последовательной передаче заранее рассчитанных последовательностей отсчетов, соответствующих поступающим символам. Однако если используемые частоты манипуляции не кратны символьной скорости, сформированный таким образом ЧМн-сигнал будет содержать разрывы (скачки) на стыках символов. Вследствие этого спектр сигнала будет иметь всплески на частотах, кратных символьной скорости.

Второй способ - непрерывная генерация колебаний всех необходимых частот и осуществление переключения между этими сигналами в соответствии с поступающими символами. Данный метод также не гарантирует отсутствие скачков на стыках символов, но вследствие того, что начальные фазы посылок меняются от символа к символу, скачки возникают не на всех стыках, и их величина оказывается различной. В результате возникающие из-за скачков всплески спектра в данном случае выражены слабее. Именно этот вариант формирования ЧМн-сигнала используется в функциях dmod и dmodce пакета Communications.

Наконец, третий способ - когда поступающие для передачи символы управляют скоростью линейного нарастания текущей фазы, а частотно-манипулированный сигнал формируется путем вычисления косинуса этой текущей фазы. При этом фазовая функция, а значит, и сам ЧМн-сигнал оказываются непрерывными (не имеющими скачков). Данный способ сложнее в реализации, но он дает наиболее компактный спектр сигнала. ЧМн-сигнал, полученный таким образом, называется частотно-манипулированным сигналом с непрерывной фазовой функцией (continuous phase frequency shift keying - CPFSK).

Частотная манипуляция осуществляется функциями dmod (формируется вещественный выходной сигнал) и dmodce (формируется комплексная огибающая) пакета Communications при указании в них параметра типа модуляции "fsk". Следующие за ним параметры M и tone указывают соответственно количество используемых частот манипуляции и расстояние между соседними частотами (по умолчанию значение параметра tone равно символьной скорости Fd). Символы, подлежащие передаче, должны принимать целочисленные значения, лежащие в диапазоне 0…M–1. Символу k соответствует смещение частоты (относительно несущей частоты Fc), равное tone*(1–M+2*k)/2.

В качестве примера сформируем 2-позиционный (бинарный) ЧМн-сигнал, в котором возможным значениям символов 0 и 1 соответствуют частоты 800 и 1600 Гц. Символьная скорость будет равна 400 символам в секунду, а частота дискретизации - 16 кГц:

bits = ; % цифровое сообщение

N = length(bits); % длина сообщениЯ

Fd = 400; % символьнаЯ скорость

FsFd = 40; % отношение Fs/Fd

Fs = Fd * FsFd; % частота дискретизации

f0 = 800; % частота манипулЯции длЯ символа "0"

f1 = 1600; % частоты манипулЯции длЯ символа "1"

Fc = (f0 + f1)/2; % несущаЯ частота

% формируем ЧМн-сигнал

Dmod(bits, Fc, Fd, Fs, "fsk", 2, tone);

td = t * Fd; % времЯ длЯ графика – в символах

xlabel("Symbols")

ylabel("s_{FSK}")

ylim([-1.1 1.1])

На графике хорошо заметно двукратное изменение частоты сигнала при смене значения передаваемого бита. В данном примере на длительности символа укладывается два периода колебания при передаче нулевого бита и четыре периода - при передаче единичного бита.

Демодуляция ЧМн-сигнала

Прием ЧМн-сигнала, как правило, осуществляется корреляционным методом. При этом корреляционный прием может быть когерентным или некогерентным . Когерентный метод может использоваться, если известны начальные фазы посылок. Сущность его состоит в вычислении взаимной корреляции между принимаемым сигналом и колебаниями-образцами (опорными сигналами), представляющими собой гармонические колебания с используемыми для манипуляции частотами. Взаимная корреляция сигнала с k -м опорным сигналом для n -го по времени символа рассчитывается следующим образом:

.

Здесь s (t ) - ЧМн-сигнал, w k - частота манипуляции, соответствующая символу, равному k , j 0k - начальная фаза посылки, T - длительность передачи символа. Использованные пределы интегрирования задают обработку n -го (по счету) символа.

После расчета взаимных корреляций z k (n ) для всех k они сравниваются друг с другом в поисках максимального значения. Значение k , соответствующее максимальному z k (n ), принимается в качестве демодулированного символа.

Замечание. При цифровой реализации демодуляции ЧМн-сигнала вместо интегрирования , разумеется, используется суммирование дискретных отсчетов подынтегрального выражения.

Если начальные фазы передаваемых посылок неизвестны (на практике так чаще всего и бывает), приходится использовать некогерентный (или квадратурный ) корреляционный прием. В этом случае опорными сигналами служат не вещественные гармонические колебания, а комплексные экспоненты, а у результата интегрирования вычисляется модуль:

.

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

Когерентный вариант демодуляции используется функциями ddemod и ddemodce по умолчанию. Для использования некогерентного варианта необходимо при вызове этих функций указать метод манипуляции в виде "fsk/noncoherence".

В качестве примера оценим помехоустойчивость частотной манипуляции при когерентной и некогерентной демодуляции, смоделировав случайный информационный сигнал, сформировав соответствующий ЧМн-сигнал, добавив к нему шум и осуществив когерентную и некогерентную демодуляцию зашумленного сигнала. Повторив эту процедуру при различных отношениях сигнал/шум, получим графики помехоустойчивости. Параметры ЧМн-сигнала выберем соответствующими нижнему частотному каналу Рекомендации ITU-T V.21 (этот протокол используется модемами в качестве “наименьшего общего знаменателя” на самом раннем этапе вхождения в связь): символьная скорость 300 символов/с, манипуляция двоичная, символу “0” соответствует частота манипуляции 1180 Гц, символу “1” - 980 Гц. Частоту дискретизации (напомним, что при использовании функций пакета Communications она должна быть кратна символьной скорости) выберем равной 9600 Гц. Вот соответствующий код:

N = 10000; % число передаваемых бит

x = randint(N, 1); % цифровое сообщение

M = 2; % двоичнаЯ манипулЯциЯ

Fd = 300; % символьнаЯ скорость

Fs = 9600; % частота дискретизации

f0 = 1180; % частота “нуля”

f1 = 980; % частота “единицы”

Fc = (f0 + f1) / 2; % среднЯЯ частота

tone = f1 – f0; % разнос частот

s = dmod(x, Fc, Fd, Fs, "fsk", M, tone); % манипулированный сигнал

snr = -10:10; % вектор отношений С/Ш (в децибелах)

for k = 1:length(snr)

sn = awgn(s, snr(k), "measured"); % добавлЯем шум

% когерентнаЯ демодулЯциЯ

y_c = ddemod(sn, Fc, Fd, Fs, "fsk", M, tone);

% некогерентнаЯ демодулЯциЯ

y_nc = ddemod(sn, Fc, Fd, Fs, "fsk/noncoherence", M, tone);

% расчет вероЯтностей ошибок

Symerr(x, y_c);

Symerr(x, y_nc);

% вывод графика

semilogy(snr, er_c, snr, er_nc)

Приведенный график показывает зависимость вероятности ошибки от отношения сигнал/шум (в децибелах). Синяя кривая соответствует когерентной демодуляции, зеленая - некогерентной. Видно, что проигрыш некогерентного варианта когерентному составляет от 1 до 3 дБ.

Замечание. При моделировании демодуляции сигнала с отношением сигнал/шум, равным 2 дБ и более, ошибок приема не возникло. Поэтому при выводе графика вероятности ошибок с использованием логарифмического масштаба по вертикали эти точки оказались отброшенными.

Из графика также видно, что помехоустойчивость данного вида манипуляции очень высока - даже при равенстве средних мощностей сигнала и шума (отношение сигнал/шум 0 дБ) вероятность ошибки составляет примерно 2*10 –4 для когерентного варианта и примерно 1,5*10 –3 - для некогерентного. Платой за это в данном случае является крайне низкая скорость передачи данных - всего лишь 300 бит/с.

Минимальная частотная манипуляция

Для повышения помехоустойчивости ЧМн желательно, чтобы посылки, соответствующие разным символам, были некоррелированы , то есть имели нулевую взаимную корреляцию. Считая начальные фазы посылок нулевыми, ЧМн-сигналы для символов 0 и 1 можно записать так:

s 0 (t ) = A cos w 0 t , 0 <= t <= T ,

s 1 (t ) = A cos w 1 t , 0 <= t <= T .

Их взаимная корреляция при нулевом сдвиге по времени равна

Если (w 1 + w 0)T >> 1, то первое слагаемое значительно меньше второго и им можно пренебречь:

.

Это значение равно нулю при (w 1 – w 0)T = p n , где n - целое число, не равное нулю. Таким образом, минимальное значение расстояния между соседними частотами манипуляции, при котором посылки, соответствующие разным символам, оказываются некоррелированными, составляет половину символьной скорости:

где f T - символьная скорость.

Двухпозиционная (двоичная) ЧМн, частоты которой выбраны согласно приведенной формуле, получила название минимальной частотной манипуляции (МЧМн, английский термин - minimum shift keying, MSK). Функции пакета Communications реализуют данный вариант частотной манипуляции при указании параметра метода манипуляции в виде "msk". Как и при ЧМн общего вида, в данном случае возможны когерентная и некогерентная ("msk/noncoherence") демодуляция.

При квадратурной манипуляции (КАМн; английский термин - quadrature amplitude shift keying, QASK) каждому из возможных значений дискретного символа C k ставится в соответствие пара величин - амплитуды синфазной и квадратурной составляющих либо, что эквивалентно, амплитуда и начальная фаза несущего колебания:

C k ® (a k , b k ), s (t ) = a k cos w 0 t + b k sin w 0 t , kT ? t < (k + 1)T

C k ® (A k , j k ), s (t ) = A k cos(w 0 t + j k ), kT ? t < (k + 1)T .

Параметры аналогового колебания, сопоставленные дискретному символу C k , удобно представлять в виде комплексного числа в алгебраической (a k + jb k ) или экспоненциальной (A k exp(jj k )) форме. Совокупность этих комплексных чисел для всех возможных значений дискретного символа называется сигнальным созвездием (constellation).

Замечание. Иногда, особенно в старых публикациях, используется также термин "пространственная диаграмма" (space diagram).

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

, kT ? t < (k + 1)T .

На практике используются созвездия, содержащие от четырех до нескольких тысяч точек. Ниже показаны некоторые созвездия, используемые модемами, предназначенными для передачи данных по телефонным линиям.


Слева показано 16-точечное созвездие, используемое в протоколе V.32 при передаче данных со скоростью 9600 бит/с. Созвездие в центре имеет 128 точек, оно соответствует протоколу V.32bis и скорости передачи данных 14 400 бит/с. Наконец, созвездие, показанное справа, содержит 640 точек, оно используется модемами, работающими согласно протоколу V.34 при скорости передачи данных 28 800 бит/с.

График сигнала с квадратурной манипуляцией оказывается не очень наглядным из-за смешанного (амплитудно-фазового) характера модуляции. Изменения амплитуды и фазы при переходе от символа к символу могут быть небольшими и плохо заметными на графике.

Построим тем не менее график сигнала, сформированного с использованием 16-точечного “квадратного” созвездия, показанного на приведенном рисунке слева. Такое созвездие можно реализовать, указав при вызове функций dmod и dmodce метод манипуляции "qask" и число точек M=16. Однако в данном случае нет возможности указать, как именно точки “квадратного” созвездия должны соответствовать передаваемым символам. Поэтому мы воспользуемся самым гибким режимом квадратурной манипуляции, позволяющим задавать произвольное созвездие и реализуемым при указании метода манипуляции "qask/arb" (от “arbitrary” - произвольный).

Параметры сигнала возьмем соответствующими модемному протоколу V.32 - несущая частота 1800 Гц, символьная скорость 2400 символов/с. Частоту дискретизации (напомним, что при использовании функций пакета Communications она должны быть кратна символьной скорости) примем равной 19200 Гц.

Ниже приведен код, формирующий квадратурно-манипулированный сигнал, содержащий 1000 символов.

N = 1000; % число символов

Fc = 1800; % несущаЯ частота

% карта созвездиЯ

Dmod(x, Fc, Fd, Fs, "qask/arb", map_i, map_q);

plot(t(1:250), s_qask16(1:250))

Как уже говорилось, параметры сформированного сигнала (структура созвездия, значения символьной скорости и несущей частоты) соответствуют модему, передающему данные с скоростью 9600 бит/с в соответствии с Рекомендацией ITU-T V.32. Прослушаем сигнал, используя для этого функцию soundsc, чтобы не заботиться о приведении сигнала к диапазону уровней –1…1:

soundsc(repmat(s_qask16, 10, 1), Fs)

Замечание. Функция repmat использована здесь, чтобы повторить сформированный сигнал десять раз - иначе звук окажется слишком коротким.

Если вы когда-нибудь слышали шуршащий звук модема, то должны заметить, что в сформированном нами сигнале что-то не так. Действительно, на практике при осуществлении квадратурной манипуляции выполняется еще одна операция, которую мы пока пропустили. Речь о ней пойдет далее, в разделе “Формирование спектра”.

При квадратурной манипуляции могут меняться и амплитуда , и начальная фаза несущего колебания, поэтому амплитудная и фазовая манипуляция являются частными случаями квадратурной - нужно лишь использовать соответствующие созвездия. Выведем графики созвездий, соответствующих 8-позиционной амплитудной (слева) и фазовой (справа) манипуляции, с помощью функции modmap:

subplot(1, 2, 1)

modmap("ask", 8)

subplot(1, 2, 2)

modmap("psk", 8)

Демодуляция КАМн-сигнала

Демодулируется сигнал с квадратурной манипуляцией так же, как и в случае аналоговой квадратурной модуляции - сигнал умножается на два несущих колебания, сдвинутых по фазе друг относительно друга на 90° , а результаты умножения пропускаются через ФНЧ. На выходе этих ФНЧ будут получены аналоговые сигналы синфазной и квадратурной составляющих. Далее эти сигналы дискретизируются с частотой, равной символьной скорости. Пары отсчетов синфазной и квадратурной составляющих образуют комплексное число, и ближайшая к этому числу точка используемого созвездия (а точнее - соответствующий этой точке информационный символ) выдается в качестве выходного результата.

Перечисленные действия реализуются функциями демодуляции ddemod и ddemodce пакета Communications. По умолчанию низкочастотная фильтрация осуществляется путем интегрирования сигнала (то есть суммирования его отсчетов) в течение символьного такта.

Реализуем демодуляцию сформированного в Примере 1 сигнала s_qask16. Приведенный ниже код реализует собственно демодуляцию и сравнение полученных символов с исходными (то есть с вектором x из Примера 1. Используется также много других переменных из Примера 1):

% демодулЯциЯ

z = ddemod(s_qask16, Fc, Fd, Fs, "qask/arb", map_i, map_q);

Как видите, сигнал принят без ошибок. Теперь построим график расположения принятых точек на комплексной плоскости (такой график называется диаграммой рассеяния - scatter plot). Для этого нужно получить от функции ddemod аналоговый демодулированный сигнал без осуществления его дискретизации по времени и поиска ближайших точек использованного созвездия. Такой режим реализуется при использовании ключа /nomap, добавляемого к параметру, указывающему режим манипуляции. Само построение диаграммы рассеяния производится с помощью функции scatterplot.

% аналоговаЯ демодулЯциЯ без дискретизации результата

y = ddemod(s_qask16, Fc, Fd, Fs, "qask/arb/nomap", map_i, map_q);

% вывод диаграммы рассеЯниЯ

scatterplot(y, Fs/Fd)

Полученный график выглядит крайне плохо - даже удивительно, что демодуляция прошла без ошибок. Дело в том, что при столь низком значении несущей частоты (а она в нашем примере меньше символьной скорости!) используемый по умолчанию способ фильтрации не обеспечивает хорошего подавления зеркального канала, то есть составляющих сигнала с частотами, расположенными в окрестности удвоенной частоты несущего колебания (такие частоты появляются после умножения сигнала на опорные колебания с несущей частотой). Таким образом, при приеме сигнала следует применять более тщательным образом выбранный фильтр. Однако мы рассмотрим эту проблему в комплексе с использованием фильтра для формирования спектра передаваемого сигнала.

Формирование спектра

Если параметры модуляции аналогового сигнала поддерживаются постоянными в течение символьного такта и в начале нового такта изменяются скачкообразно, это приводит к появлению скачков и в сформированном сигнале. Как известно из теории преобразования Фурье, спектр сигнала, содержащего скачки, затухает с ростом частоты медленно - пропорционально 1/w . Чтобы сделать спектр более компактным, необходимо обеспечить гладкость сигнала (то есть непрерывность сигнала и, возможно, некоторого количества его производных), а это, в свою очередь, означает гладкость модулирующей функции. Следовательно, вместо скачкообразного изменения параметров модуляции необходимо выполнить интерполяцию между точками созвездия, соответствующими последовательным символам.

Согласно теореме Котельникова, мы можем соединить отсчеты, следующие с символьной скоростью F d , плавной функцией, занимающей полосу частот от нуля до F d /2. В этом случае квадратурно-манипулированный сигнал будет занимать полосу частот шириной F d . Однако медленное затухание функций sin(x )/x , составляющих базис Котельникова, делает неудобной интерполяцию на их основе. Наибольшее распространение при интерполяции отсчетов для цифровой модуляции получил SQRT-вариант фильтра с косинусоидальным сглаживанием АЧХ (square root raised-cosine filter; расчет таких фильтров может быть выполнен с помощью функции rcosine пакета Communications, а интерполяция сигнала с помощью такого фильтра осуществляется функцией rcosflt этого же пакета).

Фильтр, используемый для интерполяции, определяет форму спектра КАМн-сигнала, поэтому его называют формирующим фильтром (shaping filter), а сам процесс интерполяции - формированием спектра (spectral shaping).

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

Повторим формирование 16-позиционного квадратурно-манипулированного сигнала (см. Пример 1), используя на сей раз формирующий фильтр с косинусоидальным сглаживанием АЧХ. Функции dmod и dmodce пакета Communications в настоящее время не поддерживают использование формирующих фильтров, поэтому формирование сигнала придется осуществить в три этапа. Сначала мы отобразим передаваемые символы в точки, выбранные из используемого созвездия, с помощью функции modmap. Затем осуществим интерполяцию полученного сигнала с помощью фильтра с косинусоидальным сглаживанием, использовав для этого функцию rcosflt. Наконец, осуществим аналоговую квадратурную модуляцию с помощью функции amod.

N = 1000; % число символов

M = 16; % число позиций манипулЯции

x = randint(N, 1, M); % случайные целые числа 0…15

Fd = 2400; % символьнаЯ скорость

Fc = 1800; % несущаЯ частота

Fs = 19200; % частота дискретизации

% карта созвездиЯ

map_i = [-1, -3, -1, -3, 1, 1, 3, 3, -1, -1, -3, -3, 1, 3, 1, 3];

map_q = [-1, -1, -3, -3, -1, -3, -1, -3, 1, 3, 1, 3, 1, 1, 3, 3];

% отображаем символы в точки созвездиЯ

C = modmap(x, 1, 1, "qask/arb", map_i, map_q);

% интерполЯциЯ

s = rcosflt(C, Fd, Fs, "sqrt");

% аналоговаЯ модулЯциЯ

Amod(s, Fc, Fs, "qam");

plot(t(1:250), s_qask16s(1:250))

Прослушаем и этот сигнал, снова используя функцию soundsc:

soundsc(repmat(s_qask16s, 10, 1), Fs)

Не правда ли, звук стал значительно больше похож на тот, что производится модемом - все дело именно в формировании спектра.

Сравним спектры мощности сигналов s_qask16 и s_qask16s, чтобы наглядно показать влияние формирующего фильтра. Для оценки СПМ используется функция pwelch пакета Signal Processing, реализующая метод усредненных модифицированных периодограмм Уэлча:

Pwelch(s_qask16, , , , Fs);

P2 = pwelch(s_qask16s, , , , Fs);

psdplot(, f, "Hz")

Из графиков видно, что при использовании формирующего фильтра (зеленый график) спектр сигнала оказывается значительно компактнее, чем в случае, когда формирование спектра не производится (синий график).

При приеме такого сигнала в качестве ФНЧ необходимо использовать такой же фильтр, как для формирования спектра. Последовательное использование двух SQRT-фильтров с косинусоидальным сглаживанием дает результирующую импульсную характеристику, соответствующую обычному фильтру с косинусоидальным сглаживанием, равную нулю в точках, сдвинутых на целое число символов относительно пика. Это позволяет при правильном выборе моментов взятия отсчетов устранить помехи от соседних символов (так называемую межсимвольную интерференцию , МСИ; английский термин - intersymbol interference, ISI).

Функции ddemod и ddemodce позволяют пользователю задавать используемый при демодуляции фильтр (для этого в конце списка параметров нужно дополнительно указать два вектора - коэффициенты числителя и знаменателя функции передачи фильтра), однако после фильтрации все равно используется интегрирование в течение символьного такта. Нам это не подходит, поэтому придется реализовать необходимую последовательность действий вручную.

Но прежде чем осуществить собственно демодуляцию, построим глазковую диаграмму (eye diagram) для данного сигнала. Глазковая диаграмма представляет собой “осциллограмму” аналогового демодулированного сигнала, построенную при длительности “прямого хода развертки”, равной одному символьному такту, и бесконечном “времени послесвечения экрана”. В точках оптимальной дискретизации линии на такой диаграмме образуют узкие пучки, свободное пространство между которыми по форме напоминает раскрытый глаз. В данном случае видно, что выбирать элементы из вектора y нужно начиная с первого (без дополнительного сдвига). Поскольку сигнал является комплексным, приведены отдельные графики для его вещественной и мнимой частей.

% расчет фильтра

b = rcosine(Fd, Fs, "sqrt");

% аналоговаЯ демодулЯциЯ

% глазковаЯ даиграмма

eyediagram(y, Fs/Fd)

% диаграмма рассеЯниЯ

scatterplot(y, Fs/Fd)

На рисунке справа приведена диаграмма рассеяния, полученная при приеме данного сигнала. Благодаря использованию согласованных друг с другом фильтров на передающей и приемной сторонах разброс точек оказывается значительно меньше, чем на рисунке, показанном в Примере 2.

Замечание. Дополнительный сдвиг отсчетов в данном примере не понадобился по следующей причине. Использованный при приеме и передаче сигнала фильтр вносит задержку, равную трем символам (это значение принято в функциях rcosine и rcosflt по умолчанию). После осуществления модуляции и демодуляции суммарная задержка оказывается равной шести символам, так что отсчеты сигнала нужно брать с шагом Fs/Fd, начиная с первого.

Теперь реализуем собственно демодуляцию сигнала s_qask16s:

% расчет фильтра

b = rcosine(Fd, Fs, "sqrt");

% аналоговаЯ демодулЯциЯ

y = ademod(s_qask16s, Fc, Fs, "qam", b, 1);

% дискретизациЯ и поиск ближайших точек созвездиЯ

z = demodmap(y, Fd, Fs, "qask/arb", map_i, map_q);

% удалЯем лишние символы в начале и в конце сигнала

% сравнение переданных и принЯтых символов

Как видите, сигнал и в этом случае принят без ошибок.

При прохождении сигнала через канал связи, обладающий частотной дисперсией , то есть вносящий разную групповую задержку на разных частотах, символы оказываются “размазанными” во времени и “наползают” друг на друга. В этом случае устранить межсимвольную интерференцию полностью не удается. Чтобы минимизировать ее, используют адаптивные фильтры , параметры которых автоматически подстраиваются под характеристики обрабатываемого сигнала. В последнюю (2.1) версию пакета Filter Design добавлены несколько функций, реализующих ряд распространенных алгоритмов адаптивной фильтрации. Кроме того, блоки, реализующие эти же адаптивные алгоритмы, имеются в наборе блоков Communications Blockset, предназначенном для моделирования систем связи с помощью Simulink


Таблица спутниковых транспондеров

- данная таблица, предназначена для настройки спутникового ресивера, или иного приемного устройства (например, DVB карта компьютера), на прием сигнала с того или иного спутника.

Разбираться в таблице транспондеров, мы будем на примере, одного из спутников. А так же, мы узнаем, какие еще параметры и термины встречаются при настройке спутникового приёма.

Полное определение такого термина как транспондер, довольно сложно понять новичку в спутниковом телевещании, поэтому рассмотрим самое простое определение данного параметра.

Спутниковый транспондер

- включает в себя несколько значений, такие как: Частота, Вид поляризации, Символьная скорость (SR - Symbol Rate) - или кодовая скорость; Коррекция ошибок (FEC - Forvard Error Correction), Вид кодировки (если сигнал, закодирован).

Что такое Частота и Вид поляризации , я уже пояснял на предыдущих страницах. Так что здесь, думаю повторятся не имеет смысла.

Символьная скорость

(SR - Symbol Rate), еще может встретиться как "кодовая скорость", "скорость потока" - этот параметр указывает на плотность потока информации в спутниковом сигнале. Давайте как всегда, значение этого термина, разберем на простом примере.

Представим себе обычный школьный класс. Идет урок. Учитель, спокойным размеренным голосом ведет какой либо предмет. То есть поток информации сравнительно не большой, и все ученики успевают все усваивать. Но вот, урок закончился, и после перемены, начался другой. На этом уроке, предмет ведет уже другой преподаватель, который "тараторит" как пишущая машинка (наверно и Вы не раз наблюдали такую ситуацию). Так вот, поток информации, который преподаватель передает своим ученикам, уже достаточно плотный, и не всякий сидящий в этом классе школьник, способен принять и усвоить такую скорость информации.

В нашем случае, спутник, в своем транспондере, так же может передавать информацию с разной скоростью, а значит и ее количество тоже будет разное

Давайте за пример, возьмем некоторые транспондеры, спутника Express AM2 80,0°E , так как, на момент создания этой страницы, на этом спутнике присутствовали все описанные выше диапазоны, и виды поляризации, а так же, разная символьная скорость.

За сравнение, возьмем два транспондера, с разной символьной скоростью, в таблице я их пометил, синим и зеленым цветом.

Транспондер под №1 , где передается всего один телеканал ГТРК Бурятия , имеет символьную скорость 4275 Кб/с (килобит в секунду).

Теперь, возьмем транспондер под №5 . Его символьная скорость, уже намного выше, и составляет 27500 Кб/с. Вследствие этого, с этого транспондера, транслируется уже не один, а несколько телеканалов (ТВ Центр, 7TV, TV 21, ТВ Центр Мир, ТВ Центр Сибирь, ТВ Центр Урал).

Получается, что чем больше будет символьная скорость, тем больше информации можно передавать с этого транспондера.

Чтобы принимать высокий символьный поток, надо так же, чтобы ваш спутниковый ресивер поддерживал такую скорость, иначе он (как в примере с учениками) просто-напросто не сможет переработать (усвоить), такой большой поток данных. Хотя сейчас, практически все современные ресиверы поддерживают такую скорость, и этот вопрос, уже не столь актуальный.

Коррекция ошибок, FEC - Forvard Error Correction (может встретиться как Viterbi Rate) - Может принимать значения: 1/2, 3/4, 5/6 ... и так далее.

Понятие этого термина, будет достаточно сложным для новичка. Поэтому чтобы не забивать Вам голову, и без того большим количеством информации, данный параметр, мы рассматривать не будем. Он нам понадобится во время настройки спутникового приемника. Мы просто выставим его из таблицы в нужное место. Об этом я расскажу в разделе "Установка и настройка спутниковой антенны ". Кстати, некоторые ресиверы не требуют ввода этого параметра, и выставляют его автоматически.

Вид кодировки - этот параметр относится только к спутниковым ресиверам. Кодирование, как правило, используется для просмотра платных телепрограмм.

Если Вы собираетесь принимать сигнал с этого транспондера, то надо чтобы ваш приемник поддерживал такую кодировку (мог расшифровывать полученные данные). Это становится возможным при наличии, в самом приемнике, модуля условного доступа CAM -модуля (C onditional A ccess M odule), со слотом для карты. Есть и другой способ. Регистрируешь через Интернет свой приемник, покупаешь карточку нужного Вам пакета платных каналов, и так же, через Интернет регистрируешь ее на этот приемник, ну и как говорится, наслаждаешься просмотром платного пакета программ.

Вот некоторые виды кодировок - кодировка DRE Crypt (ДРЕ Крипт), кодировка Irdeto (Ирдето), кодировка BISS (ВИСС), кодировка Viaccess (Виасесс)...

Если в таблице спутниковых транспондеров, в столбце вида кодировки, стоит Free to Air (или FTA ) - то это открытый транспондер (без кодирования сигнала) т. е. бесплатный. Такие транспондеры, как правило, открываются любыми спутниковыми приемниками, и не важно, есть ли у него модуль условного доступа, или нет.

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

Столь пристальное внимание фазовой модуляции мы уделили потому, что именно она используется в протоколе IEEE 802.11 для кодирования данных. При передаче данных на скорости 1 Мбит/с используется двоичная относительная фазовая модуляция (DBPSK). При этом сам информационный единичный бит передается 11-чиповой последовательностью Баркера, а нулевой бит - инверсной последовательностью Баркера. Соответственно, сама относительная фазовая модуляция применяется именно к отдельным чипам последовательности.

Учитывая, что ширина спектра прямоугольного импульса обратно пропорциональна его длительности, а точнее, 2/T (см. рис 4) нетрудно посчитать, что при информационной скорости 1 Мбит/с скорость следования отдельных чипов последовательности Баркера составит 11 Мчип/с, а ширина спектра такого сигнала - 22 МГц, так как длительность одного чипа составляет 1/11 мкс.

Как уже отмечалось, информационная скорость 1 Мбит/с является обязательной в стандарте IEEE 802.11 (basic access rate), но опционально возможна передача и на скорости 2 Мбит/с (enhanced access rate). Для передачи данных на такой скорости также используется относительная фазовая модуляция, но уже квадратурная (DQPSK). Это позволяет в два раза повысить информационную скорость передачи. При этом ширина самого спектра остается прежней, то есть 22 МГц.

В дополнении к стандарту IEEE 802.11, то есть в стандарте 802.11b, кроме скоростей 1 и 2 Мбит/с обязательными являются также скорости 5,5 и 11 Мбит/с. Для работы на таких скоростях используется уже несколько иной способ уширения спектра.

Кодирование CCK

В настоящей версии стандарта IEEE 802.11b используется несколько способов кодирования с использованием комплементарных кодов (Complementary Code Keying, CCK). Их рассмотрение достаточно сложно с математической точки зрения, поэтому мы лишь поверхностно коснемся этой темы.

Если говорить в общих чертах, то использование CCK-кодов позволяет кодировать 8 бит на один символ при скорости 11 Мбит/с и 4 бита на символ при скорости 5,5 Мбит/с. При этом сами кодовые последовательности являются 8-чиповыми и при скорости передачи 11 Мбит/с кодирование 8 бит на символ соответствует символьной скорости 1,385 мегасимволов в секунду (11/8 = 1,385). Аналогичная символьная скорость используется и при скорости передачи 5,5 бит/с, так как при такой скорости в одном символе кодируется только 4 бита.

Особый интерес представляют сами CCK-последовательности. Прежде всего определим, что следует называть CСK-последовательностью. Для двух ССК-последовательностей равной длины сумма их автокорреляционных функций для любого циклического сдвига, отличного от нуля, всегда равна нулю.

Исходя из того, что автокорреляционная функция определяется как сумма попарных произведений последовательности при ее циклическом сдвиге, обозначим через ai элементы первой последовательности, а через b i - элементы второй. Тогда автокорреляционная функция для первой последовательности длиной n для циклического сдвига на j элементов запишется как:

Аналогично, для второй последовательности автокорреляционная функция примет вид:

При этом две последовательности будут называться комплементарными, если

Аналогично тому, как были рассмотрены комплементарные двоичные последовательности, элементы которых принимали только значения +1 и –1 можно определить комплементарные последовательности на множестве комплексных чисел или многофазовые последовательности Polyphase Codes.

Таблица 5

Сдвиг Первая последовательность c(j) Вторая последовательность d(j) c(j)+d(j)
0 -1 -1 -1 1 1 1 -1 1 8 -1 -1 -1 1 -1 -1 1 -1 8 16
1 1 -1 -1 -1 1 1 1 -1 0 -1 -1 -1 -1 1 -1 -1 1 0 0
2 -1 1 -1 -1 -1 1 1 1 0 1 -1 -1 -1 -1 1 -1 -1 0 0
3 1 -1 1 -1 -1 -1 1 1 -4 -1 1 -1 -1 -1 -1 1 -1 4 0
4 1 1 -1 1 -1 -1 -1 1 0 -1 -1 1 -1 -1 -1 -1 1 0 0
5 1 1 1 -1 1 -1 -1 -1 -4 1 -1 -1 1 -1 -1 -1 -1 4 0
6 -1 1 1 1 -1 1 -1 -1 0 -1 1 -1 -1 1 -1 -1 -1 0 0
7 -1 -1 1 1 1 -1 1 -1 0 -1 -1 1 -1 -1 1 -1 -1 0 0

В стандарте IEEE 802.11b речь идет как раз о таких комплексных комплементарных последовательностях, содержащих элементы с четырьмя различными фазами, то есть о комплементарных последовательностях, определенных на множестве комплексных элементов {1, -1, j, -j}. Сами комплементарные последовательности, как и прежде, используются для уширения спектра сигнала (DSSS) и являются 8-чиповыми. Скорость передачи при этом составляет 11 Мчип/с, что дает скорость 1,375 мегасимволов в секунду. При этом ширина спектра сигнала, как и при использовании последовательностей Баркера, составляет 22 МГц, что позволяет использовать в частотном диапазоне от 2,4 до 2,4835 ГГц три неперекрывающиеся частотные полосы.

Сами комплементарные 8-чиповые комплексные последовательности образуются по следующей формуле:

Значения фаз определяются последовательностью входных битов, причем значение выбирается по первому дибиту, - по второму, - по третьему и - по четвертому. Таким образом, для однозначного определения СCК-последовательности требуется 8 бит входных данных. Обратим внимание, что фаза , а соответственно и член , присутствуют во всех членах последовательности. Фактически это означает сдвиг по фазе всех членов последовательности на один и тот же угол, то есть поворот вектора, задающего последовательность, или символа, определяемого последовательностью. По этой причине первый дибит данных - как для скорости передачи 5,5 Мбит/с, так и для скорости 11 Мбит/с - задает сдвиг целого символа по фазе по отношению к фазе предыдущего переданного символа.

Скорость 5,5 Мбит/с

Для скорости 5,5 Мбит/с в одном символе кодируется 4 бита, то есть два дибита (d0 – d3). Первый дибит определяет фазовый сдвиг четных и нечетных символов в соответствии с Таблицей 6

Таблица 6.

.

Следующий дибит, то есть биты d2, d3, определяет остальные фазы CCK-последовательности по формулам:

Рассмотрим, к примеру, последовательность данных 11011000. Разбивая ее на пару четырехбитовых символов 1101 и 1000, первый из которых нечетный, а второй - четный, получим, что для нечетного символа , , и . Тогда комплексная CCK-последовательность примет вид: {-j, -1, -j, 1, j, 1, -j, 1}.

Аналогично для второго символа , , , , а CCK-последовательность имеет вид: {1, –j, 1, j, 1, –j, –1, –j}. Как нетрудно заметить, обе последовательности сдвинуты друг относительно друга на 90°, точнее, вторая последовательность, соответствующая четному символу, сдвинута относительно первой последовательности на

Скорость 11 Мбит/с

При скорости 11 Мбит/с в одном символе кодируется одновременно 8 бит данных. При этом первый дибит последовательности данных, как и прежде, задает сдвиг фазы при относительной фазовой модуляции целого символа в зависимости от того, четный он или нечетный, точно так же, как и для скорости 5,5 Мбит/с. Остальные три дибита 8-битовой последовательности данных определяют фазы , причем значение выбирается по второму дибиту, - по третьему и - по четвертому. Значение сдвига фаз определяется по Таблице 7

Таблица 7.Значение сдвига фаз

.

Если, к примеру, на вход поступает последовательность 8 бит данных 00111011 и символ является четным, то, пользуясь таблицами, найдем:

Тогда сама CCK-последовательность примет вид: {j, j, -j, j, -1, -1, -1, 1}.

С помощью описанных выше алгоритмов кодирования можно представить схему CCK-модулятора

.

Как уже отмечалось, для задания CCK-последовательности используются только 6 бит данных (второй, третий и четвертый дибиты). Первый дибит определяет сдвиг по фазе всего символа и используется в относительной фазовой модуляции. Шесть бит данных могут иметь 64 различные комбинации (26 = 64). Поэтому говорят, что в протоколе IEEE 802.11b при кодировании каждого символа используется одна из 64 возможных восьмиразрядных CCK-последовательностей. Последовательности, формируемые в CCK-модуляторе, в дальнейшем поступают на I- и Q-каналы QPSK-модулятора.

В заключение обзора различных методов модуляции на физическом уровне, принятых в стандарте IEEE 802.11b, можно составить итоговую таблицу

Таблица 8

Скорость передачи, Мбит/с Кодовая последовательность Тип модуляции Символьная скорость, мегасимволов в секунду Количество бит на символ
1 11-чиповая (Баркера) DBPSK 1 1
2 11-чиповая (Баркера) DQPSK 1 2
5,5 8-чиповая (СCK) DQPSK 1,375 4
11 8-чиповая (CCK) DQPSK 1,375 8
.

MAC-уровень

На МАС-уровне определяются базовые структуры архитектуры сети и перечень услуг, предоставляемых этим уровнем. Стандартом определяются два основных типа архитектуры сетей: Ad Нос и Infrastructure Mode.

В режиме Ad Hoc

Рис. 14. Режим взаимодействия Ad Hoc

. , который называют также IBSS (Independent Basic Service Set) или режим Peer to Peer (точка-точка), станции непосредственно взаимодействуют друг с другом. Для этого режима требуется минимум оборудования - каждая станция должна быть оснащена беспроводным адаптером. При такой конфигурации не требуется создания какой-либо сетевой инфраструктуры. Основным недостатком режима Ad Hoc является ограниченный диапазон действия, или радиус, возможной сети, а также возможность подключения к внешней сети (например, к Интернету).

В режиме Infrastructure Mode


Рис. 15. Режим взаимодействия Infrastucture Mode

. станции взаимодействуют друг с другом не напрямую, а через точку доступа (Access Point), которая выполняет в беспроводной сети роль своеобразного концентратора (аналогично тому, как это происходит в традиционных кабельных сетях). Рассматривают два режима взаимодействия с точками доступа: BSS (Basic Service Set) и ESS (Extended Service Set). В режиме BSS все станции связы-ваются между собой только через точку доступа, которая может выполнять также функцию моста с внешней сетью. В рас-ширенном режиме - ESS существует ин-фраструктура нескольких сетей BSS, при-чем сами точки доступа взаимодействуют друг с другом, что позволяет передавать трафик от одной BSS к другой. Сами точки доступа соединяются между собой либо с помощью сегментов кабельной сети, либо с помощью радиомостов.

Для доступа к среде передачи данных в беспроводных сетях стандарта IEEE 802.11b используется метод коллективного доступа с обнаружением несущей и избежанием коллизий (Carrier Sense Multiple Access / Collision Avoidance, CSMA/CA). Собственно, метод даже по названию напоминает технологию коллективного доступа, используемую в сетях Ethernet. Действительно, в сетях Ethernet используется метод коллективного доступа с опознанием несущей и обнаружением коллизий (carrier-sense-multiply-access with collision detection, CSMA/CD). Единственное отличие заключено во второй части метода - вместо обнаружения коллизий используется технология избежания коллизий.

Перед тем как послать данные в «эфир», станция сначала посылает специальное сообщение, называемое RTS (Ready To Send), которое трактуется как готовность данного узла к отправке данных. Данное RTS-сообщение содержит информацию о продолжительности предстоящей передачи и адресате и доступно всем узлам в сети. Это позволяет другим узлам задержать передачу на время, равное объявленной длительности сообщения. Приемная станция, получив сигнал RTS, отвечает посылкой сигнала CTS (Clear To Send), соответствующего готовности станции к приему информации. После этого передающая станция посылает пакет данных, а приемная станция должна передать кадр ACK, подтверждающий безошибочный прием. Если АСК не получен, попытка передачи пакета данных будет повторена. Таким образом, с использованием такого четырехэтапного протокола передачи данных (4-Way Handshake) реализуется регламентирование коллективного доступа с минимизацией вероятности возникновения коллизий

Каждый пакет данных

Рис. 17. Структура пакета данных

снабжается контрольной суммой CRC, что гарантирует обнаружение битых кадров при приеме. Пакетная фрагментация, определяемая в стандарте, предусматривает разбивку большого пакета данных на малые порции. Такой подход позволяет снизить вероятность повторной передачи кадра данных, поскольку с увеличением размера кадра возрастает и вероятность ошибки при его передаче. Если же переданный кадр оказался битым, то в случае малого размера кадра передающей станции придется повторить только малый фрагмент сообщения.

Спецификация пакетирования данных, предусмотренная стандартом, предписывает разбивку данных на пакеты, снабженные контрольной и адресной информацией длиной в 30 байт, блока данных длиной до 2048 байт и 4-байтного CRC-блока. Стандарт рекомендует использовать пакеты длиной 1500 или 2048 байт.







2024 © gtavrl.ru.