⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gmsk_modmy.m

📁 GSM全速率语音突发的的发送端总程序
💻 M
字号:
function  gmsk_modmy
%
% gmsk_mod:   This function accepts a GSM burst bit sequence and
%             performs a GMSK modulation of the sequence. The
%             modulation is according to the GSM 05.05 recommendations
%
% SYNTAX:     [i,q] = gmsk_mod(burst,Tb,osr,BT)
%
% INPUT:      burst   A differential encoded bit sequence (-1,+1)
%             Tb      Bit duration (GSM: Tb = 3.692e-6 Sec.)
%             osr     Simulation oversample ratio. osr determines the
%                     number of simulation steps per information bit
%             BT      The bandwidth/bit duration product (GSM: BT = 0.3)
%
% OUTPUT:     i,q     In-phase (i) and quadrature-phase (q) baseband
%                     representation of the GMSK modulated input burst 
%                     sequence
%
% SUB_FUNC:   ph_g.m  This sub-function is required in generating the
%                     frequency and phase pulse functions.
%
% WARNINGS:   Sub-function ph_g.m assumes a 3xTb frequency pulse 
%             truncation time
%
% TEST(S):    Function tested using the following relations
%             
%             i)
%
%             I^2 + Q^2 = Cos(a)^2 + Sin(a)^2 = 1
%
%             ii)
%
%             When the input consists of all 1's the resulting baseband
% 	      outputs the function should return a sinusoidal signal of
%             frequency rb/4, i.e. a signal having a periode time of 
%             approximately 4*Tb = 4*3.692e-6 s = 1.48e-5 s for GSM
%
% AUTHOR:   Jan H. Mikkelsen / Arne Norre Ekstr鴐
% EMAIL:    hmi@kom.auc.dk / aneks@kom.auc.dk
%
% $Id: gmsk_mod.m,v 1.5 1998/02/12 10:50:10 aneks Exp $

% ACCUIRE GMSK FREQUENCY PULSE AND PHASE FUNCTION

BURST = [0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0];
DIFF_ENC = diff_enc(BURST);
[g,q] = ph_g;
% g=[0    0.0072    0.0231    0.0484    0.0764    0.0950    0.0950    0.0764    0.0484    0.0231    0.0072         0];
% q=[0    0.0072    0.0302    0.0786    0.1550    0.2500    0.3450    0.4214    0.4698    0.4928    0.5000    0.5000];
q0=q;
% PREPARE VECTOR FOR DATA PROCESSING
%
BURST = DIFF_ENC;
bits = length(BURST);
OSR = 4;
f_res = zeros(1,(bits+2)*OSR);

% GENERATE RESULTING FREQUENCY PULSE SEQUENCE
%
% for n = 1:bits,
%   f_res((n-1)*OSR+1:(n+2)*OSR) = f_res((n-1)*OSR+1:(n+2)*OSR) + BURST(n).*g;
% end
f_res(1:OSR)=BURST(1).*g(1:OSR);
f_res(OSR+1:2*OSR)=BURST(2).*g(1:OSR)+BURST(1).*g(OSR+1:2*OSR);
for  n=3:bits
    f_res((n-1)*OSR+1:n*OSR)=BURST(n).*g(1:OSR)+BURST(n-1).*g(OSR+1:2*OSR)+BURST(n-2).*g(2*OSR+1:3*OSR);
end
f_res(bits*OSR+1:(bits+1)*OSR)=BURST(bits).*g(OSR+1:2*OSR)+BURST(bits-1).*g(2*OSR+1:3*OSR);
f_res((bits+1)*OSR+1:(bits+2)*OSR)=BURST(bits).*g(2*OSR+1:3*OSR);
% CALCULATE RESULTING PHASE FUNCTION
%
theta0 = cumsum(f_res);

theta = pi*theta0
% PREPARE DATA FOR OUTPUT
%
I0 = cos(theta);
Q0 = sin(theta);

QI = [0 32767 -804 32757 -3212 32609 -7962 31785 -15446 28898 -22594 23731 -27466 17869 -28898 15446 -27466 17869 -22005 24279 -12539 30273 0 32767 12539 30273 23170 23170 30273 12539 32767 0 30273 -12539 24279 -22005 17869 -27466 15446 -28898 17869 -27466 24279 -22005 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 24279 22005 17869 27466 15446 28898 17869 27466 24279 22005 30273 12539 32767 0 30273 -12539 24279 -22005 17869 -27466 15446 -28898 17869 -27466 24279 -22005 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -24279 -22005 -17869 -27466 -15446 -28898 -17869 -27466 -24279 -22005 -30273 -12539 -32767 0 -30273 12539 -24279 22005 -17869 27466 -15446 28898 -17869 27466 -24279 22005 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 24279 22005 17869 27245 15446 28898 17869 27245 24279 22005 30273 12539 32767 0 30273 -12539 24279 -22005 17869 -27466 15446 -28898 17869 -27466 24279 -22005 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 24279 22005 18204 27245 15446 28898 18204 27245 24279 22005 30273 12539 32767 0 30273 -12539 24279 -22005 17869 -27466 15446 -28898 17869 -27466 24279 -22005 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -24279 -22005 -18204 -27245 -15446 -28898 -18204 -27245 -24279 -22005 -30273 -12539 -32767 0 -30273 12539 -24279 22005 -17869 27466 -15446 28898 -17869 27466 -24279 22005 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 24279 22005 18204 27245 15446 28898 18204 27245 24279 22005 30273 12539 32767 0 30273 -12539 23170 -23170 12539 -30273 0 -32767 -12539 -30273 -23170 -23170 -30273 -12539 -32767 0 -30273 12539 -23170 23170 -12539 30273 0 32767 12539 30273 23170 23170 30273 12539 32767 0 30273 -12539 23170 -23170 12539 -30273 0 -32767 -12539 -30273 -23170 -23170 -30273 -12539 -32767 0 -30273 12539 -23170 23170 -12539 30273 0 32767 12539 30273 23170 23170 30273 12539 32767 0 30273 -12539 23170 -23170 12539 -30273 0 -32767 -12539 -30273 -23170 -23170 -30273 -12539 -32767 0 -30273 12539 -23170 23170 -12539 30273 0 32767 12539 30273 23170 23170 30273 12539 32767 0 30273 -12539 23170 -23170 12539 -30273 0 -32767 -12539 -30273 -23170 -23170 -30273 -12539 -32767 0 -30273 12539 -23170 23170 -12539 30273 0 32767 12539 30273 23170 23170 30273 12539 32767 0 30273 -12539 23170 -23170 12539 -30273 0 -32767 -12539 -30273 -23170 -23170 -30273 -12539 -32767 0 -30273 12539 -23170 23170 -12539 30273 0 32767 12539 30273 23170 23170 30273 12539 32767 0 30273 -12539 23170 -23170 12539 -30273 0 -32767 -12539 -30273 -23170 -23170 -30273 -12539 -32767 0 -30273 12539 -23170 23170 -12539 30273 0 32767 12539 30273 22005 24279 27466 17869 28898 15446 27466 17869 22005 24279 12539 30273 0 32767 -12539 30273 -22005 24279 -27466 17869 -28898 15446 -27466 17869 -23170 23170 -17869 27466 -15446 28898 -17869 27466 -24279 22005 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 24279 22005 17869 27466 15446 28898 17869 27466 24279 22005 30273 12539 32767 0 30273 -12539 23170 -23170 12539 -30273 0 -32767 -12539 -30273 -23170 -23170 -30273 -12539 -32767 0 -30273 12539 -24279 22005 -17869 27466 -15446 28898 -17869 27466 -24279 22005 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -24279 -22005 -17869 -27466 -15446 -28898 -17869 -27466 -24279 -22005 -30273 -12539 -32767 0 -30273 12539 -23170 23170 -12539 30273 0 32767 12539 30273 23170 23170 30273 12539 32767 0 30273 -12539 24279 -22005 17869 -27466 15446 -28898 17869 -27466 24279 -22005 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -24279 -22005 -18204 -27245 -15446 -28898 -18204 -27245 -24279 -22005 -30273 -12539 -32767 0 -30273 12539 -24279 22005 -17869 27466 -15446 28898 -17869 27466 -24279 22005 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 24279 22005 18204 27245 15446 28898 18204 27245 24279 22005 30273 12539 32767 0 30273 -12539 24279 -22005 17869 -27466 15446 -28898 17869 -27466 24279 -22005 30273 -12539 32767 0 30273 12539 23170 23170 12539 30273 0 32767 -12539 30273 -23170 23170 -30273 12539 -32767 0 -30273 -12539 -23170 -23170 -12539 -30273 0 -32767 12539 -30273 23170 -23170 30273 -12539 32767 0 30273 12539 24279 22005 18204 27245 15446 28898 18204 27245 24279 22005 30273 12539 32767 0 30273 -12539 23731 -22594 15446 -28898 7962 -31785 3212 -32609 804 -32757 0 -32767 0 -32767]

QI1 = QI/32768

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -