MSK

Modulace PAM #1 - jednorozměrná
clc
clear all
close all

% parametry pro vykresleni
font_size = 16;
font_size_label = 18;

T_max = 1e-3; % doba trvani simulace [s]
Fs = 50e6; % vzorkovaci frekvence [Hz]
Tpulzu = 10e-6; % doba trvani pulzu [s]
Fzdvih = 1e6; % frekvencni zdvih pro Linearni Frekvencni Modulaci [Hz]

Ts = 10e-6; % doba trvani jednoho symbolu
Tr = 100e-6; % doba trvani jednoho ramce

n_Ts = round(Ts * Fs); % pocet vzorku v jednom datovem intervalu
n_Tr = round(Tr * Fs); % pocet vzorku v jednom ramci 

n_data = round(n_Tr / n_Ts);
bit = randi([0, 1], n_data, 1); % vygenerovani uniformne rozlozenych n-pocet bitu
% bit = [0, 1]
t_axis = 0 : 1/Fs : (Tr - 1/Fs); % casova osa
no_samples = length(t_axis);


q = bit;


%%% FFSK
for ii = 1 : n_data
 dolni_mez = ((ii-1) * n_Ts + 1);
 horni_mez = ii * n_Ts; % n_Ts je pocet vzorku v jednom Ts
 if q(ii) == 0
 A1(dolni_mez : horni_mez) = 1;
 A2(dolni_mez : horni_mez) = 0;
 else
 A1(dolni_mez : horni_mez) = 0;
 A2(dolni_mez : horni_mez) = 1;
 end
end

%% MSK
f1 = 10 * 1/(2*Tpulzu);
f2 = 11 * 1/(2*Tpulzu);
faze = 0;

t = t_axis;
s_msk = A1.*sin(2*pi*t*f1) + A2.*sin(2*pi*t*f2 + faze );

S= 10*log10((abs(fftshift(fft(s_msk)))).^2);% energetické spektrum signálu 
fx = Fs/2 * linspace(-1,1,length(s_msk)); 

figure;
subplot(2,1,1); plot(t,s_msk); title('MSK'); xlabel('t [s]'); ylabel('A [V]');
subplot(2,1,2); plot(fx,S); title('Spektrum');xlabel('f [Hz]'); ylabel('Se [dB]'); 
 ylim([-20 max(S)*1.2 ]); xlim([-3E6 3E6]);

Download 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.