1. Частотна маніпуляція
2. Амплітудна маніпуляція
3. Фазова маніпуляція
Короткі теоретичні відомості та методичні вказівки
17.1. Частотна маніпуляція
При частотній маніпуляції (ЧМн; англійський термін - frequency shift keying, FSK) кожному можливому значенню переданого символу зіставляється своя частота. Протягом кожного символьного інтервалу передається гармонійне коливання з частотою, що відповідає поточному символу.
В якості прикладу сформуємо 2-позиційний (бінарний) ЧМн-сигнал, у якому можливим значенням символів 0 і 1 відповідають частоти 1000 і 1400 Гц. Символьна швидкість дорівнює 400 символів в секунду, а частота дискретизації - 8 кГц.
function Example17_1
bits = [0 1 0 0 1 randint(1, 95)]; % цифрове повідомлення
N = length(bits); % довжина повідомлення
Fd = 400; % символьна швидкість
FsFd = 20; % відношення Fs/Fd
Fs = Fd * FsFd; % частота дискретизації
f = [1000 1400]; % частоти маніпуляції
t = (0:FsFd-1)/Fs; % дискретний час для однієї посилки
s0 = cos(2*pi*t'*f); % стовпці - відліки посилок 0 і 1
s_fsk = s0(:, bits+1); % кожен стовпець - один символ
s_fsk = s_fsk(:); % «розтягуємо» сигнал в один стовпець
td = (0:N*FsFd-1)/FsFd; % час графіка - в символах
Ng = 5; % кількість символів, що виводяться на графік
plot(td(1:Ng*FsFd+1), s_fsk(1:Ng*FsFd+1))
xlabel('Symbols')
ylabel('s_{FSK}')
ylim([-1.1 1.1]) % на екрані частотно-маніпульований сигнал
Оскільки ми формували кожну посилку незалежно, сформований сигнал містить скачки - це добре видно на графіку. Відомо, що чим більш гладким є сигнал, тим швидше зменшується його спектр. Тому можна спробувати зробити спектр ЧМн-сигналу компактніше, змінивши спосіб формування так, щоб усунути скачки.
Такий спосіб формування сигналу називається частотною маніпуляцією з безперервною фазової функцією (continuous phase frequency shift keying, CPFSK). При цьому формується лінійно змінюється повна фаза коливання, а передані символи керують швидкістю його зміни. (Можна сказати і так: символи, що передаються, перемикають значення миттєвої частоти; ця частота інтегрується, даючи безперервну фазову функцію; косинус такої повної фази теж буде неперервною функцією.) Сформуємо зазначеним способом ЧМн-сигнал з тими ж параметрами, що і в попередньому прикладі:
figure
pps = 2*pi*f/Fs; % зсув фази на один відлік
s1 = repmat(pps, FsFd, 1); % стовпчики - зрушення для 0 і 1
d_cpfsk = s1(:, bits+1); % кожен стовпець - один символ
d_cpfsk = d_cpfsk(:); % «розтягуємо»в один стовпець
phi_cpfsk = cumsum(d_cpfsk); % інтегруємо фазові зрушення
s_cpfsk = cos(phi_cpfsk); % ЧМн-сигнал
plot(td(1:Ng*FsFd+1), s_cpfsk(1:Ng*FsFd+1))
xlabel('Symbols')
ylabel('s_{CPFSK}')
ylim([-1.1 1.1]) % ЧМн-сигнал з безперервною фазової функцією.
Далі порівнюються спектри потужності при двох варіантах формування ЧМн-сигналу:
figure
periodogram(s_fsk, [], [], Fs)
ylim([-100 0])
figure
periodogram(s_cpfsk, [], [], Fs)
ylim([-100 0]) % Спектри потужності ЧМн-сигналу при наявності (зверху) і відсутності (знизу) розривів у фазової функції.
Порівняння верхнього та нижнього графіків показує, що при наявності стрибків фази в спектрі присутні яскраво виражені піки на частотах, кратних символьній швидкості 400 Гц. У сигналу з безперервною фазової функцією такі піки відсутні, і спектр в цілому вийшов більш компактним.
17.2. Амплітудна маніпуляція
Амплітудна маніпуляція (АМн; англійський термін - amplitude shift keying, ASK), при якій стрибкоподібно змінюється амплітуда несучого коливання, є окремим випадком квадратурної маніпуляції. Тому тут ми тільки побудуємо в якості прикладу графік АМн-сигналу:
function Example17_2
sy = [1 3 2 4 1]; % символи що передаються
Fd = 1; % символьна швидкість
Fc = 4; % несуча частота
FsFd = 40; % відношення Fs/Fd
Fs = Fd * FsFd; % частота дискретизації
t = (0:length(sy)*FsFd-1)/Fs; % дискретний час
s_ask =sy(floor(Fd*t)+1) .* cos(2*pi*Fc*t);
plot(t, s_ask) % на екрані сигнал з амплітудною маніпуляцією
17.3. Фазова маніпуляція
Фазова маніпуляція (ФМн; англійський термін - phase shift keying, PSK), при якій стрибкоподібно змінюється фаза несучого коливання, теж є окремим випадком квадратурної маніпуляції.
На практиці фазова маніпуляція використовується при невеликому числі можливих значень початкової фази - як правило, 2, 4 або 8. Побудуємо графік сигналу з 4-позиційної фазової маніпуляцією:
function Example17_3
sy = [0 2 1 3 0]; % символи що передаються
Fd = 1; % символьна швидкість
Fc = 4; % несуча частота
FsFd = 40; % відношення Fs/Fd
Fs = Fd * FsFd; % частота дискретизації
t = (0:length(sy)*FsFd-1)/Fs; % дискретний час
s_psk = cos(2*pi*Fc*t+pi/2*sy(floor(Fd*t)+1));
plot(t, s_psk)
xlabel('Symbols')
ylabel('s_{PSK}')
ylim([-1.1 1.1])
На екрані сигнал з 4-позиційною фазовою маніпуляцією.
Питання для самоперевірки
1. Що таке частотна маніпуляція?
2. Що таке амплітудна маніпуляція?
3. Що таке фазова маніпуляція?