gmsk_mod.m
来自「MSK的调制解调程序」· M 代码 · 共 57 行
M
57 行
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 + =
减小字号Ctrl + -
显示快捷键?