Modulacja MSK (Minimum Shift Keying) zalicza się do grupy cyfrowych modulacji z kluczowaniem częstotliwości. Jej cechą szczególną jest brak skoków fazy w zmodulowanym sygnale. Osiąga się to poprzez odpowiedni dobór fazy początkowej każdego fragmentu nośnej o długości trwania równej okresowi modulacji T. Faza początkowa jest zawsze równa fazie końcowej poprzedniego okresu. Pozytywnym skutkiem braku skoków fazy jest znaczne ograniczenie pasma częstotliwości zajmowanego przez sygnał. W porównaniu z modulacjami fazowymi (BPSK, QPSK) transmisja MSK potrzebuje znacznie węższego pasma kanału transmisyjnego.
W modulacji MSK używa się dwóch częstotliwości nośnych (dla bitu 0 i 1). Jeżeli oznaczymy częstotliwość kluczowania jako f (przy czym f = 1/T), to częstotliwości nośne wynoszą: f0 = 3/4 f oraz f1 = 5/4 f. Są więc one rozmieszczone symetrycznie wokół częstotliwości kluczowania z odstępem między nimi równym f/2. W ten sposób w czasie przesyłania 1 bitu danych zostają wyemitowane 3 ćwiartki okresu sinusoidy o częstotliwości f0, albo 5 ćwiartek sinusoidy o częstotliwości f1. Zatem faza początkowa ulega zmianie o ± ćwiartkę okresu, a więc ±π/2. Występujące w sygnale początkowe wartości fazy są wielokrotnościami π/2 (90°).
Ponieważ modulator MSK pracuje z dwiema częstotliwościami, musi posiadać dwie tablice nośnej, każda z nich zawiera 1 okres fali nośnej, f0 i f1. Ile próbek sygnału powinno przypadać na jeden okres modulacji T? Liczba ta musi dzielić się bez reszty przez 3 i przez 5 (w jednym okresie modulacji mieści się odpowiednio 3 lub 5 ćwiartek okresu jednej z fal nośnych), musi być zatem wielokrotnością 15. Jeżeli przyjmiemy N = 15, to tablica niższej częstotliwości będzie sobie liczyła 20 próbek (15 to 3/4 okresu), tablica wyższej częstotliwości będzie sobie liczyła 12 próbek (15 to 5/4 okresu). Oczywiście długości obu tablic muszą być podzielne przez 4, aby dało się sięgnąć do początku każdej ćwiartki okresu. Liczby 12 i 20 spełniają ten warunek.
Ponieważ początkowa faza okresu modulacji jest taka sama jak faza końcowa poprzedniego okresu, należy w modulatorze przechowywać jej wartość pomiędzy emisją kolejnych okresów. Jako fazę początkową dla pierwszego okresu można przyjąć dowolną wielokrotność 90°, np. 0°. W każdym okresie modulacji modulator wybiera jedną z fal nośnych, na podstawie bitu informacj modulującej. Następnie przelicza fazę początkową na numer próbki w wybranej tablicy. Poczynając od wyliczonej próbki, modulator emituje na wyjście N próbek, w przypadku dojścia do końca tablicy przechodząc na jej początek. Następnie oblicza się fazę końcową. W przypadku emisji niższej częstotliwości odejmuje się π/2 od fazy początkowej. W przypadku emisji wyższej częstotliwości dodaje się π/2. Obliczoną fazę końcową zapamiętuje się do wykorzystania jako faza początkowa następnego okresu. W przypadku, kiedy faza końcowa osiąga 2π lub −2π, należy ją rzecz jasna zredukować do 0.
Podobnie jak demodulatory kluczowanych modulacji fazowych, demodulator MSK pracuje na zasadzie liczenia korelacji odebranego fragmentu sygnału z zestawem sygnałów wzorcowych. Dla modulacji MSK zestaw taki liczy sobie 8 sygnałów (2 częstotliwości nośne × 4 możliwe fazy początkowe). Ponieważ jednak te 8 sygnałów tworzy 4 pary sygnałów wzajemnie przeciwnych (pomnożonych przez -1), do policzenia pozostają 4 korelacje z sygnałami wzorcowymi opisanymi następującymi wzorami:
Ćwiczenie polega na zdekodowaniu wiadomości zawartej w pliku podanym przez prowadzącego. Plik zawiera zapisane w formacie tekstowtym kolejne próbki sygnału zmodulowanego w modulacji MSK z nałożonym szumem. Poziom szumu jest tak dobrany, że umożliwia prawidłową demodulację (przy dobrym zaprojektowaniu odbiornika). Każda próbka (liczba) umieszczona jest w oddzielnej linii pliku.
W każdym zestawie testowym zakodowano wiadomość liczącą sobie 8 znaków 8-bitowych w kodzie ASCII. Łącznie więc każda wiadomość zawiera 64 bity. W wiadomościach użyto wyłącznie dużych i małych liter alfabetu angielskiego oraz cyfr. Z tego względu pierwszy, najstarszy bit każdego bajtu jest równy 0. Wiadomości zostały wygenerowane z różną ilością próbek na okres N. Zgodnie z tym, co napisałem powyżej, każda ilość próbek na okres jest wielokrotnością 15. Każdy z zestawów danych może mieć inną fazę początkową (oczywiście zawsze jest to wielokrotność π/2), oraz inne przyporządkowanie częstotliwości nośnych (niższa dla „0”, wyższa dla „1” lub odwrotnie). Rozwiązując zadanie należy określić trzy powyższe parametry modulacji.