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

📄 ph_g.m

📁 GSM全速率语音突发的的发送端总程序
💻 M
字号:
function [G_FUN, Q_FUN] = ph_g
%
% PH_G:     This function calculates the frequency and phase functions
%           required for the GMSK modulation. The functions are 
%           generated according to the GSM 05.05 recommendations
%
% SYNTAX:   [g_fun, q_fun] = ph_g(Tb,osr,BT)
%
% INPUT:    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:   g_fun, q_fun   Vectors contaning frequency and phase 
%                          function outputs when evaluated at osr*tb
%
% SUB_FUNC: None
%
% WARNINGS: Modulation length of 3 is assumed !
%
% TEST(S):  Tested through function gsmk_mod.m
%
% AUTHOR:   Jan H. Mikkelsen / Arne Norre Ekstr鴐
% EMAIL:    hmi@kom.auc.dk / aneks@kom.auc.dk
%
% $Id: ph_g.m,v 1.6 1998/02/12 10:50:54 aneks Exp $

% SIMULATION SAMPLE FREQUENCY
%
Tb = 6/(1625*1000);
OSR = 4
BT = 0.3
Ts = Tb/OSR;

% PREPARING VECTORS FOR DATA PROCESSING
%
PTV = -2*Tb:Ts:2*Tb;
RTV = -Tb/2:Ts:Tb/2-Ts;

% GENERATE GAUSSIAN SHAPED PULSE
%
sigma = sqrt(log(2))/(2*pi*BT);
gauss = (1/(sqrt(2*pi)*sigma*Tb))*exp(-PTV.^2/(2*sigma^2*Tb^2)); 

% GENERATE RECTANGULAR PULSE
%
rect = 1/(2*Tb)*ones(size(RTV));

% CALCULATE RESULTING FREQUENCY PULSE
%
G_TEMP = conv(gauss,rect);

% TRUNCATING THE FUNCTION TO 3xTb
%
G = G_TEMP(OSR+1:4*OSR); 

% TRUNCATION IMPLIES THAT INTEGRATING THE FREQUENCY PULSE
% FUNCTION WILL NOT EQUAL 0.5, HENCE THE RE-NORMALIZATION
%
G_FUN = (G-G(1))./(2*sum(G-G(1)));

% CALCULATE RESULTING PHASE PULSE
%
Q_FUN = cumsum(G_FUN);

⌨️ 快捷键说明

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