📄 gmsk_mod.m
字号:
function [gmsk_signal,GMSK_I,GMSK_Q]=GMSK_mod(fb,w,vstup,Bn)
% GMSK - gaussian minimum shift keiyng
% fn - nosna frekvencia
% fb - bitova rychlost v bit/s
% SNR - poner signal-sum
% >> msk(500,3000,30);
M = 100;
tb = 1/fb;
krok = tb/M;
N = size(vstup,1);
for i=1:N;
if vstup(i)==0
r(i)=-1;
else
r(i)=1;
end
end
r1 = r(1:2:N);
r2 = r(2:2:N);
t = -tb:krok:(1-krok)*tb;
for i = 1:2*M
q(i) = 1.0602*quad8('puls',-tb,t(i),[],[],Bn,tb)/tb;
end
for i = 1:N/2
for j = (i-1)*200+1:(i-1)*200+200;
phase1(j) = q(j-(i-1)*200)*r1(i);
phase2(j) = q(j-(i-1)*200)*r2(i);
end
end
% I a Q zlozky
for i = 1:M*N
GMSK_I(i) = cos(phase1(i)*pi-0.5*pi);
end
for i = M*N+1:M*N+M
GMSK_I(i) = 0.;
end
for i = 1:M
GMSK_Q(i) = 0.;
end
for i = M+1:M*N+M
GMSK_Q(i) = sin(phase2(i-100)*pi);
end
% scitanie I a Q - vysledny signal
t = krok*(-M:M*N-1);
gmsk_signal = GMSK_I.*cos(w*t)+GMSK_Q.*sin(w*t);
%s = I+Q;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -