Як здійснюється модуляція




Як здійснюється модуляція



Вступ

Передача інформації в сучасному світі нас оточує всюди: мобільний зв'язок, інтернет, управління повітряним рухом та багато іншого. Як правило, як "переносник" інформації виступає високочастотне коливання: 2.4 ГГц і 5 ГГц для Wi-Fi, 2.6 ГГц та інші для 4G, 1030 МГц і 1090 МГц для обміну даними з повітряними суднами і т.д. Ці коливання (частоти) називаються несучими. Як, використовуючи частоту, що несе, закодувати дані? Як передати чи отримати “0” чи “1”? На ці запитання ми й намагатимемося відповісти.

Процес зміни одного або декількох параметрів несучого сигналу, що модулюється, за допомогою модулюючого сигналу називається модуляцією.

У рамках даної лекції ми розглянемо такі види модуляції:

  • ASK (Amplitude Shift Keying) – амплітудна маніпуляція
  • BPSK, QPSK (Binary Phase Shift Keying, Quadrature Phase Shift Keying) - фазова маніпуляція
  • QASK (Quadrature Amplitude-Shift Keying) – квадратурна маніпуляція
  • FSK (Frequency Shift Keying), MSK (Minimum Shift Keying) – частотна маніпуляція

Амплітудна маніпуляція (ASK)

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

Розглянемо приклад. Створимо сигнал fc , який представлятиме з себе несучу частотою 500 Гц, додамо в неї трохи шуму і промодулюємо кодовою послідовністю (повідомленням), заданою в масиві code . Логічному "нулю" буде відповідати амплітуда 0.1, логічної "одиниці" - 1:

clear, clc, close all fs = 10000; ts = -0.1: 1/fs: 0.1-1/fs; N = length (ts); %% несуча частота fc = cos (2 * pi * 500 * ts); fc = awgn (fc, 30); %% модулюючий сигнал % довжина одного біта у відліках n_for_bit = 200; % кодована послідовність code = [1 0.1 0.1 1 1 0.1 1 0.1 1 1]; % формуємо модулюючий сигнал fm = zeros (1, N); for i = 1: length (code) for j = n_for_bit * (i-1) + 1: n_for_bit * fm (j) = code (i); end end %% амплітудна модуляція x = fc.*fm; plot(ts,x,'LineWidth',0.5), grid on, hold on plot(ts,fm,'LineWidth',2), grid on title ('ASK модуляція') xlabel('Час'), ylabel(' Амплітуда') legend()

Результат виконання скрипту показаний нижче:

З малюнка видно, що амплітуда несучого (модульованого) сигналу – синій графік – повторює форму модулюючого сигналу – помаранчевий графік.

Тепер давайте зробимо таку річ: на комплексній площині відзначимо точки, що відповідають значенням, які набуває наш закодований сигнал. У Matlab це можна зробити за допомогою функції scatterplot , вказавши як вхідні параметри аналітичний сигнал (ми його отримаємо за допомогою перетворення Гільберта), кількість відліків на біт (у нас за це відповідає змінна n_for_bit ) і зсув від початку сигналу, з яким зчитуватимуться біти (ми хочемо зчитувати біти в їх середині, тому зміщення задамо n_for_bit/2):

%% сигнальне сузір'я scatterplot(hilbert(x),n_for_bit,round(n_for_bit/2)), grid on

Сигнальне сузір'я ASK-модульованого сигналу

Т.к. уявна частина дорівнює нулю, ми бачимо два скупчення точок уздовж дійсної осі: одне навколо значення 0.1, друге - навколо 1. Цей графік називається сигнальне сузір'я. Він найчастіше використовується при аналізі параметрів модульованих сигналів, т.к.показує розподіл миттєвого значення сигналу комплексної площині в останній момент його зчитування.

Отже, модульований сигнал є спробуємо його назад демодулювати. Наше завдання зводиться до знаходження огинаючої, а як ми з'ясували на минулій лекції, це легко зробити за допомогою перетворення Гільберта. Потім створимо щось на кшталт цифрового компаратора, за допомогою якого зашумлену огинаючу перетворимо на прямокутний цифровий сигнал. Доповнимо наш код:

%% амплітудна демодуляція % перетворення Гільберта h = hilbert (x); figure subplot(2,1,1) plot(ts,x,'LineWidth',0.5), grid on, hold on plot(ts,abs(h),'LineWidth',2), grid on title ('ASK демодуляція ') xlabel('Час'), ylabel('Амплітуда') legend() % компаратор dem = zeros(1,length(h)); for i=1:length(h) if abs(h(i))>=0.5 dem(i) = 1; else dem(i) = 0; end end subplot(2,1,2) plot(ts,dem,'LineWidth',2), grid on title ('Код демодульованого сигналу') xlabel('Час'), ylabel('Амплітуда')

Демодуляція ASK-модульованого сигналу

Як бачимо, демодульований сигнал повторює бітову послідовність, яку ми закодували спочатку в масиві code, а значить, ми все зробили правильно.

Ще одним типом амплітудної маніпуляції є OOKOn-Off Keying. Основна відмінність від ASK - логічний "нуль" кодується амплітудою, що дорівнює нулю, "одиниці" відповідає номінальне значення амплітуди сигналу. Якщо в лістингу "ASK-маніпуляція, частина 1" в масиві code замість всіх значень 0.1 запишемо 0, то отримаємо OOK-маніпуляцію.

Фазова маніпуляція (PSK)

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

Почнемо з найпростішого виду – BPSK – коли у нас всього два значення фази – і .

Створимо скрипт, що реалізує фазову маніпуляцію зашумленої несучої частоти fc, що дорівнює 250 Гц. Кодову послідовність за аналогією з першим прикладом будемо задавати в масиві code. Перескок фази здійснюватиметься множенням синусоїдального сигналу на +1 або -1:

clear, clc, close all fs = 10000; ts = 0: 1/fs: 0.2-1/fs; N = length (ts); %% несуча частота fc = cos (2 * pi * 250 * ts); fc = awgn (fc, 30); %% модулюючий сигнал % довжина одного біта у відліках n_for_bit = 200; % кодована послідовність code = [1 -1 -1 1 1 -1 1 -1 1 1]; % формуємо модулюючий сигнал fm = zeros (1, N); for i = 1: length (code) for j = n_for_bit * (i-1) + 1: n_for_bit * fm (j) = code (i); end end %% фазова маніпуляція (BPSK) x = fc.*fm; plot(ts,x,'LineWidth',0.5), grid on, hold on plot(ts,fm,'LineWidth',2), grid on title ('BPSK модуляція') xlabel('Час'), ylabel(' Амплітуда') legend()

Дивимося, що вийшло:

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

Тепер доповнимо код за аналогією з попереднім прикладом і побудуємо сигнальне сузір'я:

%% сигнальне сузір'я scatterplot(hilbert(x),n_for_bit,round(n_for_bit/2)), grid on

Сигнальне сузір'я BPSK-сигналу:

Сигнальне сузір'я BPSK-сигналу

Ми маємо два скупчення точок: навколо (-1,0) та (1,0). Ці точки якраз відповідають повороту вектора одиничної довжини і навколо початку координат. Отже, модуляція працює коректно.

Тепер наше завдання – демодулювати згенерований сигнал. Для цього помножимо його на несучу частоту fc, а потім застосуємо до отриманого сигналу ФНЧ зі смугою пропускання 100 Гц, згенерований за допомогою filterDesigner:

%% BPSK демодуляція % множимо сигнал на несучу y = x.*fc; % застосовуємо ФНЧ, щоб прибрати несучу fltr = bpsk_fir; z = filter(fltr.Numerator,1,y); figure; subplot(2,1,1) plot(ts,y), grid on title('Модульований сигнал, помножений на несучу') xlabel('Час'), ylabel('Амплітуда') subplot(2,1,2) plot (ts,z), grid on title('Той самий сигнал, що пройшов через ФНЧ') xlabel('Час'), ylabel('Амплітуда')

Обробка BPSK-модульованого сигналу

На верхньому графіці спостерігаємо синусоїди з частотою 2*fc, що мають різні постійні складові залежно від значення фази модульованого сигналу. Для того, щоб отримати огинаючу, ми скористалися ФНЧ і отримали нижній графік. Тепер, щоб перетворити цей сигнал на цифровий код, розробимо найпростіший цифровий компаратор з пороговим значенням 0.1 та побудуємо результуючі графіки:

% компаратор dem = zeros (1, length (z)); for i=1:length(z) іf z(i)>=0.1 dem(i) = 1; else dem(i) = 0; end end figure plot(ts,x,'LineWidth',0.5), grid on, hold on plot(ts,dem,'LineWidth',2), grid on xlabel('Час'), ylabel('Амплітуда') title ('BPSK демодуляція') legend()

Демодулований сигнал на фоні модульованого сигналу представлений нижче:

Демодуляція BPSK-модульованого сигналу

Як бачимо, він повторює форму модулюючого сигналу, заданого на початку лістингу, але має тимчасову затримку, що виникає в КІХ-ФНЧ.

У розглянутому прикладі модульований сигнал міг набувати двох значень фази: і , а значить в один момент часу (такт) можна закодувати тільки один біт інформації - "0" або "1". Якщо додати ще дві зміни фази ( і ), а потім повернути отриману діаграму проти годинникової стрілки, вийде QPSK-маніпуляція, або квадратурна фазова маніпуляція У цьому випадку ми за один такт зможемо передавати одразу два біти інформації! Подивимося, як буде виглядати сигнальне сузір'я. Розробимо скрипт, який формує масив випадкових даних data, які потім перетворимо на масив значень PSK-сигналу за допомогою функції pskmod, як другий параметр якої буде порядок модуляції (для QPSK це M = 4). Як третій параметр цієї функції необхідно задати зміщення нульового значення фази, у нашому випадку, як було сказано вище, це (тоді, в ідеальному випадку, у кожному квадранті комплексної площини буде по одній точці сузір'я). Далі додамо трохи шуму в цей сигнал, щоб імітувати реальні умови передачі даних та побудуємо сигнальне сузір'я:

clear, clc, close all M = 4; data = randi([0 M-1],1000,1); txSig = pskmod(data, M, pi/M); rxSig = awgn(txSig,20); scatterplot(rxSig), grid on

Сигнальне сузір'я сигналу з QPSK

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

Це означає, що при тій самій символьній швидкості сигнал з QPSK передає в 2 рази більше інформації, ніж сигнал з BPSK.

Якщо присвоїти M = 8 і прибрати з рядка 5 параметр pi/M, отримаємо 8-PSK-маніпуляцію. Сигнальне сузір'я набуде вигляду:

Сигнальне сузір'я сигналу з 8-PSK

Тут ми можемо передавати за один такт одразу 3 біти.Однак, зі збільшенням порядку модуляції M точки сузір'я розташовуються все ближче і ближче один одному, що може призвести до помилок декодування такого сигналу, якщо він сильно зашумлений. Можете погратися зі значеннями M та параметром snr функції awgn , щоб переконатися у цьому прикладі.

Квадратурна маніпуляція (QASK)

QASK (приватний випадок QAM Quadrature Amplitude Modulation) - це вид маніпуляції, при якій стрибкоподібно змінюється як амплітуда, так і фаза несучого сигналу, що дозволяє за один такт (відлік) передати ще більше інформації, ніж у розглянутих раніше видах маніпуляції. Можна сказати, що QASK – це комбінація ASK та PSK.

За традицією, одразу почнемо з прикладу. Створимо несучу із частотою 1кГцКрім того, створимо масив даних data , який буде містити випадкові числа. Задамо порядок модуляції M = 16, це означає, що за один такт передаватимемо число від 0 до 15, або 4 біти. Один елемент - один такт передачі, кількість елементів - 50. Потім створимо масив відліків QASK на базі цих даних за допомогою функції qammod і побудуємо сузір'я сигналу з отриманого набору даних.

clear, clc, close all fs = 10000; ts = 0: 1/fs: 0.2-1/fs; N = length (ts); %% несуча частота fc = 1000; %% модуляція M = 16; % порядок QASK модуляції Nd = 50; % Розмір даних bit_size = N / Nd; % кількість відліків на біт data = randi ([0 M-1], Nd, 1); % випадкові дані % формуємо масив комплексних чисел qdata = qammod (data, M); % сигнальне сузір'я sc = scatterplot (q data); grid on obj = findobj (sc. Children (1). Children, 'type', 'line'); set(obj, 'MarkerSize', 20)

Результат показаний нижче:

Сигнальне сузір'я сигналу із 16-QASK

Це сузір'я складається з 16 груп точок, а отже, сформований сигнал приймає всі можливі значення для QASK-маніпуляції 16 порядку.

Тепер "помістимо" ці дані на частоту, що несе. Розтягнемо масив даних до того ж кількості відліків, що й у сигналі несучої частоти (кожен біт повторимо bit_size разів) і отримаємо масив qmod. Поелементно помножимо дійсні частини даного масиву на косинус із частотою fc, а уявні - на синус тієї ж частоти. Підсумуємо отримані сигнали ( i і q відповідно), в результаті чого отримаємо модульований сигнал y готовий для передачі. Додамо до нього шум для імітації електромагнітних перешкод та побудуємо графіки.

qmod = repelem (qdata, bit_size). % розмножуємо масив даних до кількості відрахунків несучої % формуємо синусний і косинусний сигнали i = real(qmod).*cos(2*pi*fc*ts); q = imag(qmod).*sin(2*pi*fc*ts); % підсумовуємо i та q, отримуємо сигнал, готовий до передачі y = i+q; % додаємо шум y = awgn(y,20); figure subplot(3,1,1) plot(real(qmod)), grid on title('Дійсна частина сигналу') xlabel('Час'), ylabel('Real') subplot(3,1,2) plot( imag(qmod)), grid on title('Уявна частина сигналу') xlabel('Час'), ylabel('Imag') subplot(3,1,3) plot(y), grid on title('Модульований сигнал') xlabel('Час'), ylabel('Амплітуда')

Дійсна та уявна частини сигналу, а також сам сигнал y можна побачити на малюнку нижче:

Синфазна, квадратурна складові та QASK-модульований сигнал

Видно, що у процесі передачі змінюється як амплітуда, і фаза несучої.

Тепер вирішимо обернену задачу: демодулюємо сигнал на нижньому графіку.Для цього назад виділимо з нього синфазну io і квадратурну qo складові множенням на косинус і синус несучої частоти відповідно.

%% Демодуляція io = 2*y.*cos(2*pi*fc*ts); qo = 2*y.*sin(2*pi*fc*ts); fltr = qam_fir; round(conv(fltr.Numerator,qo)); plot(2,1,1); ), grid on title('Квадратурна складова демодульованого сигналу після ФНЧ')

Синфазна та квадратурна складові демодульованого QASK-сигналу

Слід звернути увагу, що при виділенні синфазної та квадратурної складової ми також зробили множення на два (і отримали при цьому правильні амплітуди). косинус отримуємо сигнал:

При множенні на синус:

Після застосування ФНЧ косинусоїдальні та синусоїдальні складові йдуть, залишається тільки постійна складова:

Тому, щоб компенсувати амплітуду демодулированного сигналу, в рядках 49 і 50 ми зробили множення на 2.

Далі перетворимо iof і qof в один комплексний сигнал of , який проредимо, взявши з нього відліки, розташовані в серединах тимчасових відрізків, що відповідають бітам даних.

%% Порівняння результатів % формуємо комплексний сигнал після фільтра of = complex(iof,qof); % зчитуємо з масиву значення з кроком, % рівним періоду проходження даних % і з урахуванням затримки КІХ-фільтрів fir_delay = round(length(fltr.Numerator)/2); of_dec = of(fir_delay+round(bit_size/2) : bit_size : length(of)-fir_delay); % Порівнюємо результати y = qamdemod(of_dec, M); figure plot(data,'b-'), grid on, hold on plot(y,'x','LineWidth',2) title('Порівняння закодованих (переданих) та декодованих (прийнятих) даних') xlabel('Номер відліку'), ylabel('Значення') legend()

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

Порівняння даних до QASK-модуляції та після демодуляції

Як бачимо, два графіки повністю збігаються, а це говорить про те, що реалізований алгоритм працює коректно.

Частотна маніпуляція (FSK)

Якщо у всіх попередніх розглянутих нами видах маніпуляції частота несучої була постійна, то у випадку FSK це не так. FSK — це маніпуляція, коли в залежності від закодованого повідомлення стрибкоподібно змінюється частота несучого сигналу.

Цей вид маніпуляції вважається найбільш стійким до перешкод, т.к. перешкоди найчастіше впливають на амплітуду, а чи не на несучу частоту. Частота логічного "0" та логічної "1" обчислюються за формулами:

  • - Несуча частота
  • - Коефіцієнт модуляції
  • — період повідомлення, що передається

При маніпуляції називається Minimum Shift Keying (MSK) - Маніпуляція з мінімальним зрушенням частоти.

І знову, наприклад. Розробимо скрипт, який формує FSK-модульований сигнал. Несучу частоту виберемо 500 Гц, Індекс модуляції , період проходження бітів даних 10 мкс.На основі цього розрахуємо значення двох частот: f0 і f1 кодують логічний "0" і "1" відповідно.

clear, clc, close all fs = 10000; ts = 0: 1/fs: 0.1-1/fs; N = length (ts); %% параметри несучої fc = 500; % несуча частота h = 4; % Індекс модуляції T = 10e-3; % тривалість біта f0 = fc + h / (2 * T); % Частота балка. "0" f1 = fc-h / (2 * T); % Частота балка. "1"

Далі сформуємо модульуючий сигнал за аналогією з тим, як ми це робили в прикладах з BPSK та ASK:

%% модулюючий сигнал % довжина одного біта у відліках n_for_bit = T * fs; % кодована послідовність code = [1 0 0 1 1 0 1 0 1 1]; % формуємо модулюючий сигнал fm = zeros (1, N); for i = 1: length (code) for j = n_for_bit * (i-1) + 1: n_for_bit * fm (j) = code (i); end end

Тепер створимо два сигнали: x0 із частотою f0 і x1 із частотою f1 . На базі цих сигналів та модулюючого сигналу fm сформуємо модульований сигнал x та побудуємо графіки.

%% Частотна маніпуляція x0 = cos(2*pi*f0*ts); x1 = cos(2*pi*f1*ts); x = zeros (1, N); for i = 1:N if fm(i) == 0 x(i) = x0(i); else x(i) = x1(i); end end plot(ts,x,'LineWidth',0.5), grid on, hold on plot(ts,fm,'LineWidth',2), grid on title ('FSK-модуляція') xlabel('Час'), ylabel('Амплітуда') legend()

Результат виконання цього скрипту:

З малюнка видно, що в залежності від значення сигналу, що модулює, змінюється частота несучої - це те, що нам потрібно. Модулювати навчилися – тепер спробуємо це демодулювати. Для цього помножимо наш сигнал на косінусоїди з частотами f0 і f1 :

%% FSK-демодуляція % множимо сигнал на несучу y0 = x.*x0; y1 = x. * x1; figure; subplot(2,1,1) plot(ts,y0), grid on title('Модульований сигнал, помножений на f0') xlabel('Час'), ylabel('Амплітуда') subplot(2,1,2) plot (ts,y1), grid on title('Модульований сигнал, помножений на f1') xlabel('Час'), ylabel('Амплітуда')

Сигнали y0 та y1 показані нижче:

Результати виконання лістингу "FSK-маніпуляція, частина 4"

Тепер знайдемо різницю цих сигналів і пропустимо її через ФНЧ:

y = y1 - y0; % застосовуємо ФНЧ, щоб залишити постійну складову fltr = fsk_fir; z = filter(fltr.Numerator,1,y); figure subplot(2,1,1) plot(ts,y), grid on title('Сигнал y=y0-y1') xlabel('Час'), ylabel('Амплітуда') subplot(2,1,2) plot(ts,z), grid on title('Цей же сигнал після ФНЧ') xlabel('Час'), ylabel('Амплітуда')

Результат показаний нижче:

Результати виконання лістингу "FSK-маніпуляція, частина 5"

До фіналу залишилося зовсім небагато - перетворити нижній графік на цифровий сигнал. Для цього, як і у випадку з BPSK, скористаємося цифровим компаратором та побудуємо результуючий графік:

% компаратор dem = zeros (1, length (z)); for i=1:length(z) іf z(i)>=0.1 dem(i) = 1; else dem(i) = 0; end end figure plot(ts,x,'LineWidth',0.5), grid on, hold on plot(ts,dem,'LineWidth',2), grid on xlabel('Час'), ylabel('Амплітуда') title ('FSK-демодуляція') legend()

Результат демодуляції показаний нижче:

Як бачимо, помаранчевий графік має ту саму форму, що й на початковому малюнку, але з вже звичною нам тимчасовою затримкою, що виникає у цифровому КІХ-фільтрі.

Вступ

Для початку розберемося, навіщо взагалі потрібна модуляція і що вона є.

Навіщо потрібна модуляція?

В рамках одного пристрою для передачі інформації використовуються низькочастотні коливання, передача яких на відстань понад кілька метрів вкрай скрутна, через їхнє швидке послаблення. Але нам все одно хочеться передавати сигнали великі відстані, ось тут на допомогу приходить модуляція.

У чому суть модуляції?

Візьмемо високочастотне коливання. Саме собою воно не несе жодної інформації. Його ми будемо використовувати як основний компонент переданого сигналу. Частоту цього коливання називають несучою. Для того, щоб почати передавати корисну інформацію, нам потрібно якимось чином видозмінити частоту, що несе так, щоб вона повторювала закономірності сигналу, який ми хочемо передати. Іншими словами, нам потрібно зробити так, щоб вона несла інформацію про наш корисний сигнал. Це видозміна називається модуляцією. Модуляція здійснюється за допомогою модулятора відправника, а за допомогою демодулятора на стороні одержувача високочастотний сигнал перетворюється назад в низькочастотний. Вони зібрані в один пристрій під назвою модем, який вийшов завдяки злиттю слів Модулятор та ДЕМодулятор. Існують різні принципи модуляції, деякі з яких розглянемо нижче. Найдавнішим методом модуляції можна назвати переривання несучої частоти, яке використовувалося в телеграфах. Цей метод, звичайно, не можна назвати повною мірою модуляцією, але про нього не можна не згадати в даній темі.

Види модуляції

Тепер розглянемо формальні визначення.

Визначення:
Модуляцією називається процес зміни одного або декількох параметрів високочастотного коливання за законом низькочастотного інформаційного сигналу.
Визначення:
Модулюючий сигнал - сигнал, що зберігає інформацію, що передається.
Визначення:
Несучий сигнал - Сигнал, що виконує роль переносника інформації.
Визначення:
Модульований сигнал - сигнал, що отримується після посадки модулюючого сигналу на сигнал, що несе.

Залежно від типу несучого сигналу використовуються різні види модуляції. Нижче наведено таблицю відповідності типу сигналу виду модуляції.

Несучий сигнал
Фіксований рівень Гармонійний сигнал Імпульси
Пряма модуляція Аналогова модуляція Імпульсна модуляція
Цифрова модуляція

Пряма модуляція

Це найпростіший вид модуляції, у якому передача тієї чи іншої сигналу відбувається шляхом зміни напруги.

Задамо нормальну напругу [math]U_H[/math] , тоді при зменшенні нормального рівня напруги на [math]\Delta U_M[/math] передається двійковий 0, а при збільшенні на ту саму величину двійкова 1.
Для кодування кількох однакових значень поспіль задамо проміжок часу [math]\Delta t[/math] , протягом якого передається одна цифра.

Аналогова модуляція

Залежно від того, який параметр несучого коливання змінюється, розрізняють 3 основні види аналогових модуляцій:

Аналогова модуляція
Амплітудна Фазова Частотна
Змінюється амплітуда імпульсів Змінюється фаза коливання Змінюється частота коливання
Зі збільшенням амплітуди модулюючого сигналу збільшується амплітуда несучого сигналу Зі збільшенням амплітуди модулюючого сигналу збільшується зсув щодо такту часу Зі збільшенням амплітуди модулюючого сигналу збільшується частота коливання, що несе

Цифрова модуляція (маніпуляція)

Цей вид модуляції, який використовується для передачі даних в комп'ютерних мережах.

Визначення:
Цифровою модуляцією називається процес перетворення бітів у відповідні аналогові сигнали.

Цифрову модуляцію прийнято називати маніпуляцією, тому часто може траплятися саме цей термін.
Носієм так само, як і у випадку аналогової модуляції, є коливання.

Основні методи цифрової модуляції

  • Амплітудна
  • Частотна
  • Фазова
  • Квадратурна амплітудна (амплітудно-фазова)
Цифрова модуляція
Амплітудна (ASK - Amplitude Shift Keying) Частотна (FSK - Frequency Shift Keying) Фазова (PSK - Phase Shift Keying) Квадратурна амплітудна (QAM - Quadrature Amplitude Modulation)
Змінюється амплітуда імпульсів Змінюється частота імпульсів Змінюється фаза коливання Змінюється одночасно і амплітуда, і фаза
Для передачі 1 використовується велика амплітуда, передачі 0 - мала, іноді нулю відповідає відсутність коливання. Для передачі 1 використовується висока частота коливань, передачі 0 - низька. Для передачі 1 використовується зсув фази [math]\pi /2[/math] . Для передачі 1 використовується велика амплітуда і зсув фази [math]\pi /2[/math] .

Багатопозиційні методи

Для різних видів маніпуляції існують методи, що дозволяють передавати не тільки 0 і 1 в рамках одного сигналу, такі методи отримали багатопозиційні назву. Суть цих методів у тому, що один елемент лінійного сигналу несе інформацію про більшу кількість бітів, ніж у звичайних двопозиційних методах. Працює дуже просто. Наприклад, багатопозиційної амплітудної маніпуляції зададимо не 2 амплітуди, які кодуватимуть 0 або 1, а 4, які відповідатимуть 00, 01, 10, 11 у міру збільшення амплітуди. Для багатопозиційної частотної маніпуляції використовується більше частот, а багатопозиційної фазової маніпуляції, відповідно, більше зрушень.Так, це дійсно дозволяє підвищити питому швидкість передачі, але при цьому починають виникати помилки, пов'язані з похибкою передачі.

Розглянемо найпоширеніші методи:

BPSK, QPSK, 8-PSK

Фазові маніпуляції
BPSK QPSK 8-PSK
Binary Phase Shift Keying є звичайною бінарною фазовою маніпуляцією, яку ми розглядали вище в рамках основних методів, що дозволяє закодувати 1 біт інформації за сигнал. Чи не є багатопозиційним методом. Quadrature Phase Shift Keying перекладається як квадратурна фазова маніпуляція і є поділом на 4 фази, які дозволяють закодувати 2 біти за сигнал. 8 Phase Shift Keying є поділом на 8 фаз, які дозволяють закодувати 3 біти за сигнал.

QAM-16, QAM-64

З простою квадратурною амплітудною маніпуляцією ми вже знайомі, тепер подивимося на 2 багатопозиційні варіації. Нагадаю, що це комбінація амплітудної та фазової маніпуляцій. QAM-16 використовує 16 комбінацій амплітудних та фазових зрушень, які дозволяють передавати 4 біти інформації за 1 сигнал, а за допомогою QAM-64, який використовує 64 комбінації, можна передати цілих 6 біт за сигнал. Кожна комбінація задається кутом, який відповідає фазі та відстанню від початку координат, що показує величину амплітуди. Нижче показано симуляцію принципу роботи квадратурної амплітудної маніпуляції на прикладі QAM-16 і розташування точок QAM-16 і QAM-64 відповідно.

Імпульсна модуляція

Імпульсна модуляція ділиться на 4 основні види:

  • Амплітудно-імпульсна
  • Широтно-імпульсна
  • Частотно-імпульсна
  • Фазово-імпульсна
Імпульсна модуляція
Амплітудо-імпульсна Широтно-імпульсна Частотно-імпульсна Фазово-імпульсна
Змінюється амплітуда імпульсів Змінюється тривалість (ширина) імпульсів Змінюється частота імпульсів Змінюється зсув імпульсів щодо тактових моментів часу
Зі збільшенням напруги модулюючого сигналу збільшується амплітуда несучого сигналу Зі збільшенням напруги модулюючого сигналу збільшується тривалість імпульсів Зі збільшенням напруги модулюючого сигналу збільшується частота імпульсів Зі збільшенням напруги модулюючого сигналу збільшується зсув щодо такту часу

Мультиплексування

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

Частотне ущільнення FDM

Частотне ущільнення використовує передачу смуги пропускання, щоб спільно використовувати канал. Спектр ділиться на діапазони частот, кожен користувач отримує володіння деякою смугою, де він може послати свій сигнал. Наочним прикладом частотного ущільнення служить AM-радіомовлення. Його виділений спектр становить приблизно 1 МГц приблизно від 500 до 1500 кГц. Інші частоти виділені іншим логічним каналам (станціям), кожна станція діє в частині спектру, з міжканальним поділом, досить великим, щоб запобігти перешкодам.

На малюнку наведено приклад поєднання трьох телефонних ліній в одну. Можна помітити, що кожній лінії виділяється смуга 4000 Гц, хоча вона займає приблизно 3100 Гц. Надлишок 900 Гц називається захисною смугою. Вона зберігає канали добре відокремленими один від одного.

Мультиплексування з ортогональним частотним поділом OFDM

При надсиланні цифрових даних можна ефективно розділити діапазон, не використовуючи захисні лінії. В OFDM смуга каналу розділена на багато піднесучих, які незалежно передають дані (наприклад, з квадратурною амплітудною модуляцією). Піднесущі щільно упаковані разом у частотній області, але через те, що характеристика кожної піднесучої розроблена так, щоб у центрі суміжних піднесучих це був нуль, кожна з них може бути обрана у своїй центральній частоті без перешкод від сусідніх.

Мультиплексування з розподілом часу TDM

Альтернатива частотному ущільненню FDM - тимчасове ущільнення TDM. У цьому методі кожен користувач отримує всю смугу, але на невеликий відрізок часу. Щоб усе працювало, потоки мають бути синхронізовані за часом. Щоб компенсувати невеликі відхилення синхронізації, між блоками є невеликий проміжок часу, який називається захисним інтервалом.

Мультиплексування зі статистичним тимчасовим поділом STDM

Метод аналогічний попередньому, лише окремі потоки надходять у мультиплексний потік не за фіксованим розпорядком, а згідно зі статистикою їх запитів.

Кодовий розділення каналів CDM

У кодовому розділенні каналів, на відміну FDM і TDM, кожному вузла виділяється весь спектр частот і весь час. CDM використовує спеціальні коди для ідентифікації з'єднань. При такому способі поділу середовища канали трафіку створюються за допомогою застосування широкосмугового кодо-модульованого радіосигналу - шумоподібного сигналу, що передається до загального для інших аналогічних передавачів канал в єдиному широкому частотному діапазоні.Ефір в даному частотному діапазоні в результаті роботи декількох передавачів стає ще більш шумоподібним. призначена даному приймачеві.

Схожі статті

  • Що таке модуляція під час передачі даних
  • Як здійснюється мастило провідних мостів
  • Як здійснюється процес розмноження папоротей
  • У якому разі відбір здійснюється з неоднорідної генеральної сукупності коли її
  • На якому етапі діагностики здійснюється виявлення відхилень у розвитку без точної їхньої
  • Недавні статті

  • Як бродить зернова брага
  • Що робити якщо не засмагаєш на сонці чому засмага погано лягає на шкіру або перестає прилипати
  • Як швидко зняти гель лак без апарату
  • Як робиться Каті голови
  • Яка гребінець краще для об'єму
  • Чим роблять м'яку покрівлю
  • Чи можна залишати крем для обличчя на ніч
  • Де знаходиться датчик селектора
  • географія нашої діяльності
    вулиця Драгоманова, 27
    вул. Курчатова 1Б
    вул. Міцкевича 130
    вул. Лабунського, 1
    вул. Макарова-Пржевальського
    вул. Толстого 10
    вул. Грушевського 28
    вул. Перший промінь (Черняхівського)
    напишіть нам

    сообщение успешно отправлено
    x