MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Обработка сигналов и изображений\Communications Toolbox

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

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

Решение указанной проблемы достигается путем использования модуляции, сущность которой заключается в следующем. Формируется некоторое колебание (чаще всего гармоническое), называемое несущим колебанием или просто несущей, и какой-либо из параметров этого колебания изменяется во времени пропорционально исходному сигналу. Исходный сигнал называют модулирующим, а результирующее колебание с изменяющимися во времени параметрами — модулированным сигналом. Обратный процесс — выделение модулирующего сигнала из модулированного колебания — называется демодуляцией.

У гармонического несущего колебания s(t) = A cos(w 0t + j 0) есть три параметра: амплитуда A, частота w 0 и начальная фаза j 0. Каждый из них можно связать с модулирующим сигналом, получив таким образом три основных вида аналоговой модуляции: амплитудную, частотную и фазовую. Частотная и фазовая модуляция очень тесно взаимосвязаны, поскольку обе они влияют на аргумент функции cos. Поэтому эти два вида модуляции имеют общее название — угловая модуляция. Используется также квадратурная модуляция, при которой одновременно изменяются амплитуда и фаза сигнала.

Амплитудная модуляция

При амплитудной модуляции (АМ) в соответствии с модулирующим сигналом изменяется амплитуда несущего колебания:

sAM(t) = (A0 + ksM(t)) cos(w 0t + j 0).

Постоянная составляющая A0 добавляется к модулирующему сигналу для того, чтобы обеспечить неотрицательность амплитуды. Множитель k — коэффициент пропорциональности между модулирующим сигналом и вариациями амплитуды. Таким образом, огибающая АМ-сигнала имеет вид

A(t) = A0 + ksM(t).

При амплитудной модуляции спектр огибающей сдвигается в область несущей частоты ± w 0, “раздваиваясь” и уменьшаясь в два раза по уровню:

.

По этой причине ширина спектра АМ-сигнала оказывается в два раза больше, чем у модулирующего сигнала.

В общем случае спектр АМ-сигнала содержит несущую частоту (уровень которой определяется постоянной составляющей огибающей), а также верхнюю и нижнюю боковые полосы.

Пример

Для примеров реализации АМ и ее рассматриваемых далее разновидностей будем использовать модулирующий сигнал длительностью 2 с, мгновенная частота которого линейно изменяется от нуля до 1 кГц (ЛЧМ-сигнал). Такой сигнал генерируется функцией chirp пакета Signal Processing:

>> Fs = 8e3; % частота дискретизации
>> T = 2; % длительность сигнала
>> t = 0:1/Fs:T; % вектор значений времени
>> f0 = 0; % начальнаЯ частота
>> f1 = 1e3; % конечнаЯ частота
>> s_M=chirp(t, f0, T, f1); % ЛЧМ-сигнал

Построим график начального фрагмента этого сигнала (при попытке изобразить весь сигнал точки на графике просто сольются — в сигнале содержится слишком много колебаний). Мгновенная частота такого сигнала меняется достаточно медленно, что позволяет хорошо отслеживать эти изменения на спектрограмме (для построения спектрограммы используется функция specgram пакета Signal Processing):

>> plot(t(1:2000), s_M(1:2000))
>> figure
>> specgram(s_M, [], Fs)

Амплитудная модуляция осуществляется функциями amod (формируется вещественный выходной сигнал) и amodce (формируется комплексная огибающая) пакета Communications при указании в них параметра типа модуляции 'amdsb-tc'. Необязательный параметр offset — постоянная составляющая, добавляемая к модулирующему сигналу перед умножением его на несущее колебание. По умолчанию значение этого параметра равно –min(min(x)), то есть выбирается минимально возможная одинаковая для всех каналов постоянная составляющая, обеспечивающая однополярность амплитудного множителя.

Реализуем амплитудную модуляцию для сформированного ранее модулирующего ЛЧМ-сигнала. Значение несущей частоты выберем равным 2 кГц. Построим график начального фрагмента полученного АМ-сигнала и спектрограмму этого сигнала:

>> Fc = 2e3; % несущаЯ частота
>> s_AM = amod(s_M, Fc, Fs, 'amdsb-tc');
>> figure
>> plot(t(1:2000), s_AM(1:2000))
>> figure
>> specgram(s_AM, 256, Fs)

На спектрограмме хорошо видны несущее колебание (горизонтальная линия) и две боковые полосы (наклонные линии, отслеживающие медленно меняющуюся мгновенную частоту модулирующего ЛЧМ-сигнала).

АМ с подавленной несущей

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

sAM-ПН(t) = ksM(t) cos(w 0t + j 0).

Если модулирующий сигнал является знакопеременным, множитель перед функцией cos может становиться отрицательным (это называется перемодуляцией). В моменты смены знака модулирующего сигнала фаза АМ-сигнала с подавленной несущей претерпевает скачки на 180° .

Ширина спектра АМ-сигнала с подавленной несущей, как и в случае обычной АМ, в два раза больше, чем у модулирующего сигнала.

Несущая частота будет действительно подавлена только в том случае, если модулирующий сигнал не имеет постоянной составляющей. Тогда спектр АМ-сигнала с подавленной несущей будет содержать только верхнюю и нижнюю боковые полосы.

Пример

АМ с подавленной несущей осуществляется функциями amod (формируется вещественный выходной сигнал) и amodce (формируется комплексная огибающая) пакета Communications при указании в них параметра типа модуляции 'amdsb-sc'. Фактически АМ с подавленной несущей соответствует обычной АМ при значении параметра offset, равном нулю.

Реализуем АМ с подавленной несущей для сформированного ранее модулирующего ЛЧМ-сигнала. Построим график начального фрагмента полученного сигнала и спектрограмму этого сигнала:

>> s_AM_SC = amod(s_M, Fc, Fs, 'amdsb-sc');
>> figure
>> plot(t(1:2000), s_AM_SC(1:2000))
>> figure
>> specgram(s_AM_SC, 256, Fs)

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

Однополосная модуляция

Рассмотренная в предыдущем разделе двухполосная АМ с подавленной несущей имеет преимущества перед обычной АМ только в энергетическом плане — за счет устранения несущего колебания. Ширина спектра при этом по-прежнему вдвое больше, чем у модулирующего сигнала. Однако спектры двух боковых полос АМ-сигнала являются зеркальным отражением друг друга, то есть они несут одну и ту же информацию. Поэтому одну из боковых полос можно удалить. Получающаяся модуляция называется однополосной (английский термин — Single Side Band, SSB).

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

Рис. 1. Однополосная модуляция: а — спектр модулирующего сигнала, б — спектр однополосного сигнала с верхней боковой полосой, в — то же с нижней боковой полосой

По сути дела при однополосной модуляции происходит просто сдвиг спектра сигнала в окрестности частоты несущего колебания. В отличие от АМ, каждая “половинка” спектра смещается в своем направлении: область положительных частот — к +w 0, а область отрицательных частот — к –w 0. При формировании сигнала с нижней боковой полосой спектр модулирующего сигнала инвертируется (зеркально переворачивается вдоль оси частот).

Очевидно, что ширина спектра однополосного сигнала равна ширине спектра модулирующего сигнала. Таким образом, спектр однополосного сигнала оказывается в два раза уже, чем при обычной АМ.

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

Итак, прежде всего мы формируем из модулирующего сигнала аналитический сигнал, имеющий односторонний спектр. Умножение этого сигнала на exp(–jw 0t) сдвигает его односторонний спектр на w 0 вправо (вверх по частоте), формируя односторонний спектр однополосного сигнала с верхней боковой полосой. Наконец, чтобы перейти от аналитического сигнала обратно к вещественному, нужно взять вещественную часть. Формирование сигнала с нижней боковой полосой описывается аналогично, только умножать аналитический сигнал нужно на exp(jw 0t) (тогда его спектр сдвинется влево, в область отрицательных частот, и займет положение нижней боковой полосы). Запишем все сказанное математически:

sSSB(t) = Re((x(t) + jx^ (t)) exp(m jw 0t)) = x(t) cos w 0t ±  x^ (t) sin w 0t.

Знак “плюс” в окончательной формуле соответствует выделению верхней боковой полосы, “минус” — нижней.

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

Пример

АМ с подавленной несущей осуществляется функциями amod (формируется вещественный выходной сигнал) и amodce (формируется комплексная огибающая) пакета Communications при указании в них параметра типа модуляции 'amssb'. По умолчанию используется формирование сигнала с помощью преобразования Гильберта, выполняемого в частотной области. Имеются варианты синтаксиса, позволяющие реализовать формирование однополосного сигнала с использованием фильтра Гильберта во временной области, но из-за того, что разработчики пакета забыли компенсировать вносимую фильтром задержку, получить удовлетворительные результаты в этом случае не удается.

По умолчанию функции amod и amodce формируют сигнал с нижней боковой полосой. Для функции amodce формирование сигнала с верхней боковой полосой не предусмотрено. Согласно документации пакета Communications, функция amod должна давать сигнал с верхней боковой полосой при указании режима модуляции 'amssb/up'. Однако из-за ошибки в программном коде функция оказывается обрабатывать такое значение параметра. Чтобы обойти эту проблему, можно задать отрицательное значение несущей частоты. Согласно приведенной выше формуле, это приведет к смене формируемой боковой полосы.

Реализуем однополосную модуляцию для сформированного ранее модулирующего ЛЧМ-сигнала. Создадим однополосные сигналы с нижней и верхней боковой полосой и построим их спектрограммы:

>> s_SSB_LOW = amod(s_M, Fc, Fs, 'amssb');
>> s_SSB_HI = amod(s_M, -Fc, Fs, 'amssb');
>> figure
>> specgram(s_SSB_LOW, [], Fs)
>> figure
>> specgram(s_SSB_HI, [], Fs)

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

Квадратурная модуляция

Сигнал с квадратурной модуляцией (КАМ) представляет собой сумму двух несущих колебаний одной и той же частоты, сдвинутых по фазе друг относительно друга на 90° , каждая из которых модулирована по амплитуде своим модулирующим сигналом:

sКАМ(t) = a(t) cos(w 0t) + b(t) sin(w 0t).

Косинусная составляющая называется синфазной, синусная — квадратурной.

Сигнал с КАМ можно представить в следующем виде:

.

Таким образом, у КАМ-сигнала зависят от времени и амплитуда, и начальная фаза.

Спектр КАМ-сигнала можно записать следующим образом:

.

Аналогично тому, что происходит при амплитудной модуляции, спектры модулирующих сигналов “раздваиваются” и “переезжают” в окрестности несущей частоты ± w 0. Если спектры модулирующих сигналов a(t) и b(t) занимают одну и ту же полосу частот (как обычно и бывает), то они будут перекрываться и после сдвига в область несущей частоты. Однако при этом спектр, соответствующий синусной несущей, дополнительно умножается на ± j. Именно это дает возможность разделить квадратурные составляющие при приеме сигнала.

Пример

АМ с подавленной несущей осуществляется функциями amod (формируется вещественный выходной сигнал) и amodce (формируется комплексная огибающая) пакета Communications при указании в них параметра типа модуляции 'qam'. Модулирующий сигнал x должен быть матрицей с четным числом столбцов, при этом столбцы с нечетными номерами служат синфазными модулирующими сигналами, а столбцы с четными номерами — квадратурными модулирующими сигналами.

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

>> Fs = 16e3; % частота дискретизации
>> T = 2; % длительность сигнала
>> t = 0:1/Fs:T; % вектор значений времени
>> F_a = 200; % частота синфазного модулирующего сигнала
>> F_b = 500; % частота квадратурного модулирующего сигнала
>> s_M_a = cos(2*pi*F_a*t); % синфазный модулирующий сигнал
>> s_M_b = cos(2*pi*F_b*t); % квадратурный модулирующий сигнал
>> s_M = [s_M_a' s_M_b']; % двухканальный модулирующий сигнал
>> Fc = 2e3; % несущаЯ частота
>> s_QAM = amod(s_M, Fc, Fs, 'qam'); % КАМ-сигнал
>> figure
>> subplot(1, 2, 1)
>> plot(t(1:200), s_QAM(1:200)) % график сигнала
>> hold on
>> A_m = abs(s_M_a + i*s_M_b); % огибающая
>> plot(t(1:200), A_m(1:200), 'r-') % график верхней огибающей
>> plot(t(1:200), -A_m(1:200), 'r-') % график нижней огибающей
% >> ylim([-1.1 1.1])
>> hold off
>> N = floor(length(t)/2);
>> f = (0:N)/length(t) * Fs; % вектор значений частот для графиков
>> spec_QAM = fft(s_QAM); % расчет спектра
>> subplot(1, 2, 2)
>> plot(f, abs(spec_QAM(1:N+1))) % график спектра

График КАМ-сигнала (слева) показывает, что огибающая действительно представляет собой корень из суммы квадратов модулирующих сигналов. На графике спектра (справа) видно, что в спектре действительно содержатся боковые частоты от обоих модулирующих сигналов, имеющие частоты 2000 ±  200 Гц и 2000 ±  500 Гц.

Демодуляция сигналов с амплитудной модуляцией

Демодуляция сигналов с аналоговой модуляцией производится функциями ademod (вещественный входной сигнал) и ademodce (входной сигнал — комплексная огибающая) пакета Communications.

Демодуляция сигналов со всеми разновидностями амплитудной модуляции и с квадратурной модуляцией выполняется указанными функциями одинаково — путем умножения модулированного сигнала на гармоническое несущее колебание (в случае квадратурной модуляции — на два несущих колебания, сдвинутых по фазе друг относительно друга на 90° ). Результат такого умножения содержит две составляющих — низкочастотную, пропорциональную модулирующему сигналу, и высокочастотную, представляющую собой модулированный сигнал с удвоенной частотой несущего колебания. Затем полезная составляющая выделяется с помощью фильтра нижних частот (функция ademod пакета Communications по умолчанию использует фильтр Баттерворта 5-го порядка с частотой среза, равной несущей частоте модулированного сигнала).

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

Если мгновенная частота сигнала не меняется во времени (то есть в случае АМ и АМ с подавленной несущей) возможна реализация автоматической подстройки начальной фазы с помощью петли ФАПЧ. Этот режим демодуляции реализуется функциями ademod и ademodce при указании видов модуляции 'amdsb-tc/costas' и 'amdsb-sc/costas'. При однополосной и квадратурной модуляции мгновенная частота не является постоянной и фазовая автоподстройка невоможна.

Угловая модуляция

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

sУМ(t) = A0 cos(w 0t + j (t)).

Различие между фазовой и частотной модуляцией заключается лишь в том, как именно начальная фаза j (t) связана с модулирующим сигналом.

При фазовой модуляции (ФМ) начальная фаза колебания прямо пропорциональна модулирующему сигналу:

j (t) = ksM(t).

Сам сигнал с фазовой модуляцией, таким образом, имеет вид

sФМ(t) = A0 cos(w 0t + ksM(t)).

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

.

При частотной модуляции (ЧМ) мгновенная частота связана с модулирующим сигналом линейным соотношением:

w (t) = w 0 + ksM(t).

Сам сигнал с частотной модуляцией записывается так:

.

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

Параметр

ФМ

ЧМ

Начальная фаза

j (t) = ksM(t)

Полная фаза

Y (t) = w 0t + ksM(t)

Мгновенная частота

w (t) = w 0 + ksM(t)

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

s(t) = A0 cos(w 0t + b  sin(W t)).

Параметр b называется индексом угловой модуляции. Мгновенная частота такого сигнала меняется по закону

w (t) = w 0 + b W  cos(W t).

Максимальное отклонение мгновенной частоты от значения w 0 называется девиацией частоты и обозначается D w :

D w  = b w , .

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

.

Здесь Jk(b ) — функция Бесселя порядка k от аргумента b . Таким образом, спектр сигнала с угловой модуляцией содержит бесконечное количество составляющих. Однако при фиксированной величине аргумента значения функций Бесселя с ростом порядка убывают по абсолютной величине. Если b  >> 1 (при этом D w  >> W и угловую модуляцию называют широкополосной), то можно пренебречь составляющими с номерами |k| > b . Эффективная ширина спектра сигнала с широкополосной угловой модуляцией, таким образом, равна 2b W  = D w , то есть равна удвоенной девиации частоты.

Если b  << 1 (при этом D w  << W и угловую модуляцию называют узкополосной), то можно приближенно считать, что в спектре сигнала с угловой модуляцией присутствуют только компоненты с k = –1, 0 и 1. Эффективная ширина спектра сигнала с узкополосной угловой модуляцией, таким образом, равна 2W , то есть удвоенной частоте модулирующего сигнала.

Пример

Угловая модуляция осуществляется функциями amod (формируется вещественный выходной сигнал) и amodce (формируется комплексная огибающая) пакета Communications при указании в них параметра типа модуляции 'pm' (фазовая модуляция) или 'fm' (частотная модуляция). Сигнал с ФМ формируется согласно приведенной выше формуле, для формирования сигнала с ЧМ вектор модулирующего сигнала приближенно интегрируется с помощью функции cumsum (фактически это соответствует численному интегрированию методом прямоугольников). Необязательный параметр deviation соответствует коэффициенту k в приведенных выше формулах — на него умножается модулирующий сигнал перед выполнением собственно модуляции.

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

>> Fs = 8e3; % частота дискретизации
>> T = 2; % длительность сигнала
>> t = 0:1/Fs:T; % вектор значений времени
>> F = 100; % частота модулирующего сигнала
>> s_M = cos(2*pi*F*t); % гармонический модулирующий сигнал
>> Fc = 2e3; % несущаЯ частота
>> s_PM_1 = amod(s_M, Fc, Fs, 'pm', 0.1); % узкополосный сигнал
>> s_PM_2 = amod(s_M, Fc, Fs, 'pm', 10); % широкополосный сигнал
>> figure
>> subplot(1, 2, 1)
>> plot(t(1:200), s_PM_1(1:200))
>> ylim([-1.1 1.1])
>> title('\beta=0.1')
>> subplot(1, 2, 2)
>> plot(t(1:200), s_PM_2(1:200))
>> ylim([-1.1 1.1])
>> title('\beta=10')

Как видите, на графике узкополосного УМ-сигнала (b  = 0,1, слева) отклонения начальной фазы визуально не заметны, а на графике широкополосного сигнала (b  = 10, справа) они хорошо видны. Неравномерность амплитуды возникает из-за дискретного характера расчета — дискретные значения времени попадают не во все максимумы сигнала.

Теперь строим графики спектров:

>> N = floor(length(t)/2);
>> f = (0:N)/length(t) * Fs; % вектор значений частот длЯ графиков
>> spec_PM_1 = fft(s_PM_1); % расчет спектров
>> spec_PM_2 = fft(s_PM_2);
>> figure
>> subplot(1, 2, 1)
>> plot(f, abs(spec_PM_1(1:N+1)))
>> title('\beta=0.1')
>> subplot(1, 2, 2)
>> plot(f, abs(spec_PM_2(1:N+1)))
>> title('\beta=10')

Графики показывают, что спектр узкополосного сигнала (слева) действительно можно считать содержащим лишь три составляющих. В широкополосном случае (справа) ширина спектра примерно равна удвоенной девиации частоты, то есть 2b F = 2 x 10 x 100 Гц = 2 кГц.

Демодуляция сигналов с угловой модуляцией

Демодуляция сигналов с угловой модуляцией производится функциями ademod (вещественный входной сигнал) и ademodce (входной сигнал — комплексная огибающая) пакета Communications при указании параметра режима модуляции 'pm' (ФМ) или 'fm' (ЧМ).

Для демодуляции в обоих случаях используется петля ФАПЧ, состоящая из перемножителя (используемого в качестве фазового детектора), фильтра нижних частот и генератора, управляемого напряжением (ГУН) (английский термин — voltage-controlled oscillator, VCO). Необязательный параметр vcoconst — число, задающее коэффициент преобразования ГУН в Гц/В. Получаемый на выходе петли ФАПЧ сигнал пропорционален отклонению мгновенной частоты модулированного сигнала от несущей частоты, поэтому при демодуляции ФМ этот сигнал необходимо дополнительно проинтегрировать, чтобы получить начальную фазу сигнала. Интегрирование выполняется приближенно, путем последовательного сложения элементов вектора.


Поиск по сайту:

Система Orphus

Яндекс.Метрика