GMSK

29
RESUMEN: GMSK (Gaussian Minimum Shift Keying) es un esquema de modulación digital usado frecuentemente en los sistemas de comunicaciones vía radio; sin embargo, existe interdependencia en el aprovechamiento de su beneficio (eficiencia espectral, baja tasa de error de bit, baja interferencia intersímbolos, etc.); es decir, la optimización de un parámetro acarrea problemas en otro; por ejemplo, el esquema GMSK logra reducir el ancho de banda al introducirle un filtro gaussiano a un modulador MSK (Minimum Shift keying) a cambio de incrementar la interferencia intersímbolos en el sistema. Palabras clave: eficiencia spectral, modulación GMSK, probabilidad de error. ABSTRACT: (Gaussian Minimum Shift Keying) modulation scheme is commonly used in digital radio communications systems, but there is interdependence in the use of your benefit (spectral efficiency, low bit error rate, low intersymbol interference, etc. .), i.e. a parameter optimization problem leads to another, eg, GMSK scheme manages to reduce the bandwidth to introduce a Gaussian filter to a modulator MSK (Minimum shift keying) in exchange for increasing intersymbol interference in the system. Keywords: spectral efficiency, GMSK modulation, probability of error. Introducción: El surgimiento de nuevas técnicas de modulación digital ha sido importante porque han evolucionado los sistemas de comunicaciones electrónicas a más servicios y mejor calidad de los mismos. Uno de los esquemas utilizados actualmente en comunicaciones inalámbricas es GMSK debido a la facilidad que este ofrece en cuanto a su transmisión y recepción, eficiencia espectral y probabilidad de error. El estudio de dicho esquema de modulación MSK mejorado se

Transcript of GMSK

Page 1: GMSK

RESUMEN:GMSK (Gaussian Minimum Shift Keying) es un esquema de modulación digital usado frecuentemente en los sistemas de comunicaciones vía radio; sin embargo, existe interdependencia en el aprovechamiento de su beneficio (eficiencia espectral, baja tasa de error de bit, baja interferencia intersímbolos, etc.); es decir, la optimización de un parámetro acarrea problemas en otro; por ejemplo, el esquema GMSK logra reducir el ancho de banda al introducirle un filtro gaussiano a un modulador MSK (Minimum Shift keying) a cambio de incrementar la interferencia intersímbolos en el sistema. Palabras clave: eficiencia spectral, modulación GMSK, probabilidad de error.

ABSTRACT: (Gaussian Minimum Shift Keying) modulation scheme is commonly used in digital radio communications systems, but there is interdependence in the use of your benefit (spectral efficiency, low bit error rate, low intersymbol interference, etc. .), i.e. a parameter optimization problem leads to another, eg, GMSK scheme manages to reduce the bandwidth to introduce a Gaussian filter to a modulator MSK (Minimum shift keying) in exchange for increasing intersymbol interference in the system. Keywords: spectral efficiency, GMSK modulation, probability of error.

Introducción:El surgimiento de nuevas técnicas de modulación digital ha sido importante porque han evolucionado los sistemas de comunicaciones electrónicas a más servicios y mejor calidad de los mismos. Uno de los esquemas utilizados actualmente en comunicaciones inalámbricas es GMSK debido a la facilidad que este ofrece en cuanto a su transmisión y recepción, eficiencia espectral y probabilidad de error. El estudio de dicho esquema de modulación MSK mejorado se remonta a los años noventa cuando se buscaban mejores soluciones de acceso inalámbrico y apareciendo tecnologías como DECT (Digital Enhanced Cordless Telecommunications), GSM (Global System for Mobile communication), PCS (Sistema de Comunicaciones Personales), etc., que investigaban sobre esquemas de modulación y codificación más eficientes; por ejemplo: en los años 1980–1989 nace el equipo de trabajo europeo “Group Special Mobile”, que tuvo como objetivo estandarizar una norma digital única para Europa e introdujo el esquema GMSK; más tarde, en 1995 comienza a operar en América PCS 1900, y así, nuevas tecnologías y estándares abren el horizonte de esquemas de modulación digital mejorados que ofrecen mayor eficiencia espectral, baja tasa de error de bit e interferencia intersímbolo controlada; se puede obtener mayor información en Lathi (1998) y Sklark (1993).

Page 2: GMSK

GMSK es un esquema de modulación derivado de MSK, el cual consiste en una modulación FSK (Frequency Shift Keying) modificado; tiene la particularidad de que la señal modulada no contiene discontinuidades en la fase, y la frecuencia cambia en el cruce por cero cuando cambian los datos de entrada (Stremler, 1989).

A continuación veremos los aspectos más destacados de las técnicas de modulación GMSK, que son la representación de la señal en el dominio del tiempo, circuitos moduladores y demoduladores, ancho de banda y probabilidad de error. En la técnica mencionada, se desempeño frente al ruido, y la eficiencia espectral frente a la limitación de ancho de banda y del espacio libre.

Marco teórico Antes de discutir en detalle GMSK es necesario revisar MSK, de la cual se deriva GMSK. MSK es un fase continua en el esquema de modulación de la portadora modulada no contiene discontinuidades de fase y cambios de frecuencia se producen en los cruces portador cero. MSK es única debido a la relación entre el frecuencia de un cero lógico y uno: la diferencia entre la frecuencia de un cero lógico y una lógicasiempre es igual a la mitad la tasa de datos. En otras palabras, el índice de modulación es de 0,5 por MSK, y se define como:

Por ejemplo, un poco 1200 por segunda banda de la señal MSK de datos podría estar compuesto por 1200 Hz y 1800 frecuencias de una lógica de uno y cero, respectivamente (ver Figura 1).

Page 3: GMSK

Figura 1: 1200 baudios MSK datos de la señal, una señal) NRZ de datos, b) MSK.

Base banda MSK, como se muestra en la Figura 1, es un medio sólido de la transmisión de datos en los sistemas inalámbricos en la velocidad de datos es relativamente bajo en comparación con el BW del canal. MX-COM dispositivos tales como el MX429 y MX469 son soluciones de un solo chip de banda base para sistemas de MSK, la modulación de la incorporación y los circuitos de demodulación en un solo chip.

Un método alternativo  para la generación de  modulación  MSK puede realizarse por inyección directa de datos NRZ en un modulador de frecuencia con la que su índice de modulación programada para 0.5 (ver Figura 2). Este enfoque es esencialmente equivalente a la banda MSK. Sin embargo, en el acercamiento directo del VCO es parte de la sección de RF / IF, mientras que en banda MSK la tensión a la conversión de frecuencia se realiza en banda base.

Page 4: GMSK

Figura 2: Direct MSK modulation

El problema fundamental con MSK es que el espectro no es lo suficientemente compacto como para darse cuenta de las velocidades de datos acercarse a la RF canal BW. Un gráfico del espectro de MSK revela lóbulos laterales se extiende por encima de la velocidad de datos Para los sistemas inalámbricos de transmisión de datos que requieren un uso más eficiente de la RF canal de BW, es necesario reducir la energía de los lóbulos laterales MSK superior. Anteriormente se dijo que un medio directo de la reducción de esta energía es filtrado paso bajo el flujo de datos antes de presentar a la modulador (pre-modulación de filtrado). El filtro de paso bajo antes de la modulación debe tener una estrecha BW con una fuerte frecuencia de corte y muy poco en exceso su respuesta al impulso. Aquí es donde el filtro gaussiano característica entra en juego tiene una respuesta al impulso se caracteriza por una clásica distribución de Gauss (campana curva en forma), como se muestra en la Figura 3. Nótese la ausencia de rebasamiento o de llamada.

Page 5: GMSK

Figura 3: Gaussiana respuesta impulso filtro para BT y BT = 0,3 = 0.5

GMSK es un esquema de modulación no lineal de fase continua que se basa en el filtrado de la modulación MSK por medio de un filtro gaussiano para evitar los cambios abruptos de la fase que se presenta en la modulación MSK. El filtrado convierte cada dato modulante que ocupa en banda base un periodo de tiempo (T), en una respuesta en la que cada símbolo ocupa varios períodos, dependiendo del BT (producto ancho de banda – tiempo) del filtro. Sin embargo, dado que esta conformación de pulsos no cambia el modelo de la trayectoria de la fase GMSK se puede detectar coherentemente como una señal MSK, o no coherentemente como una señal FSK.

Page 6: GMSK

En la Figura 4 se ilustra cómo la fase se suaviza debido a la introducción del filtro gaussiano donde se pasa una secuencia de datos de 0 1 0 0 por el modulador.

Figura 4. Diagrama de fase para GMSK.

En la práctica, GMSK es muy atractiva por su excelente eficiencia espectral de potencia. El filtro de pre modulación introduce ISI (interferencia intersímbolos) en la señal transmitida, pero esta degradación no es grave si el parámetro BT del filtro es mayor a 0,3 porque en la medida en que se extienda el bit a varios periodos se tiene una mayor probabilidad de error al poder detectar el dato en la recepción.

La señal final GMSK se puede representar a través de una expresión matemática. Esta función está expresada en (1):

Page 7: GMSK

Donde Eb es la energía de señal por bit y Zo es una constante de fase aleatoria que puede ser asumida como cero (Zo = 0).

La fase de la señal modulada está dada por (2):

Donde mi es la señal de datos NRZ (Non Return Zero), la cual tiene como valores 1 y -1. El índice de modulación h=0.5 resulta en el máximo cambio de fase de π/2 radianes por cada intervalo de datos.

Si se usa un modulador en cuadratura I y Q como el de la Figura 5, las señales I y Q banda base pueden ser creadas usando una red de cambio de fase.

Figura 5. Diagrama de bloques del modulador I y Q

Esta red debe mantener una relación de 90 grados entre las señales I y Q para todas las frecuencias en la banda de interés. Las dos funciones resultantes I(t) y Q(t) son pasadas a través del modulador I/Q, el cual lleva a la salida la señal m(t) que es escrita como (3)

Page 8: GMSK

Donde fc es la frecuencia de portadora usada. La señal GMSK Modulada m(t) está representada en la Figura 6.

Figura 6. Salida de la señal modulada GMSK

Una de las dificultades que presenta esta modulación es la complejidad de realizar tal esquema de modulación. El filtro gaussiano se implementa en un circuito digital donde se programa la función de transferencia de este. Además, realizar y sincronizar un esquema en cuadratura no es tarea fácil. Actualmente la modulación GMSK es usada en técnicas de transmisión de datos como GPRS (General Packet Radio Service), que es un subsistema introducido en las normas de los protocolos GSM. GPRS ha introducido la conmutación de paquetes de datos dentro de las redes GSM y se destaca que GSM usa un BT de 0,3.

Medidas de rendimiento del esquema de modulación GMSK.

Page 9: GMSK

Por el hecho de usar un filtro gaussiano en la señalización GMSK, se obtiene un efecto en la probabilidad de error de bit, BER (Bit Error Rate) en el sistema, pero realmente es mayor la ventaja del mejoramiento de la eficiencia espectral que el aumento de la BER.Para un sistema GMSK la BER está representada en (4):

(4)Donde α es un valor constante que depende del BT de filtro gaussiano. Cuando α tiene un valor de 2, corresponde a un BT igual a infinito, y cuando el BT = 0,3, el valor de α es de 0,9. Para entender mejor este concepto, se tiene que la degradación del sistema debido al filtro gaussiano está dado por (5):

(5)Al elaborar una gráfica del BT del filtro contra la degradación de la señal, se obtiene la figura 7.

Figura 7. Esquema BT contra degradación de la señal.

Page 10: GMSK

Se puede notar que para BT inferiores a 0,3 la degradación de la señal es bastante, por lo tanto, es difícil recuperar la señal transmitida.

Del mismo modo, al realizar la gráfica de la ecuación (5), que relaciona la probabilidad de error del sistema GMSK para cualquier valor de BT, se tiene que la BER para el sistema GMSK con BT = 1, BT = 0,5 y BT = 0,3 está representada en la Figura 8.

Figura 8. BER para GMSK con BT=0.3, BT=0.5, BT=1

En la Figura 8 se puede ver que la probabilidad de error para el sistema GMSK es más crítico en cuanto BT disminuye. Se debe tener cuidado al momento de implementar el sistema GMSK por su sensibilidad al ruido.

La principal ventaja de GMSK es la eficiencia espectral mejorada y la amplitud constante. A continuación se mostrarán en la Figura 9 los espectros resultantes para tres BT en GMSK y para MSK (GMSK con BT = ∞).

Page 11: GMSK

Figura 9. Comparación de espectros en frecuencia para una señal de datos. a)GMSK, BT = 0,3. b) GMSK, BT = 0,5 c) GMSK, BT = 1. d) GMSK BT = ∞

Nota:Todas las formas de onda desplegadas sobre GMSK y MSK tienen la amplitud constante. Eso dice que su trayectoria de fase en cuadratura nunca deja el círculo unitario. Se puede apreciar que la modulación GMSK ocupa un menor ancho de banda que las señalizaciones DBPSK y MSK, lo que la hace con mayor eficiencia espectral. En la medida que el BT disminuye hasta 0, la eficiencia va mejorando, aunque hay que tener en cuenta la degradación del Sistema.

Matlab.

GMSKEl desarrollo de la simulación de la modulación GMSK es relativamente simple en comparación con las demás modulaciones. En la Figura 6.1. es posible apreciar el diagrama de la simulación GMSK utilizada para la obtención de datos estadísticos y en el tiempo. El desarrollo de esta simulación inicia en un generador de pulsos que representa la señal de datos que se va transmitir, este generador posee una amplitud de 1 y un periodo en segundos de 0.022. Posteriormente la señal ingresa

a un discretizador con un tiempo de muestreo , para luego pasar por el modulador GMSK el cual tiene un producto BT de 0.3. Después de pasar por el

Page 12: GMSK

modulador la señal entra al canal AWGN donde se le adiciona una proporción de ruido referente a un SNR=40. Seguidamente la señal va hacia el demodulador GMSK el cual posee los mismos parámetros que el modulador, allí es recuperada la señal de datos, esta es llevada a un osciloscopio y a un elemento de cálculo de tasa de errores para realizar una comparación gráfica y numérica entre la entrada y la salida. El tiempo utilizado en esta simulación es de 0; 1s

Figura 10: Diagrama de la simulación GMSK para extracción de datos

Figura 11: Señal de entrada y salida en el dominio del tiempo GMSK.

En esta modulación se manejó una relación señal ruido SNR = 60 y se notó la presencia de un leve retraso entre la onda de salida y entrada.

Page 13: GMSK

Figura 12. Análisis estadístico: relación señal a ruido vs proporción de bits errados GMSK.

Por otra parte el cuadro 6.1. Muestra la respuesta de la modulación GMSK para un

tiempo de muestreo de y un tiempo de simulación de 0;01s realizando una variación en el SNR y manteniendo los parámetros nombrados anteriormente para observar su comportamiento.

Figura 13. Relación señal a ruido vs Proporción de bits errados tiempo de simulación GMSK.

En la Figura 13. Se muestra el gráfico de relación señal ruido contra proporción de bits errados. Se puede observar que la proporción de bits errados es constante ya que el error esta dado en su mayor parte por un desfase entre la onda de entrada y salida.

Page 14: GMSK

Figura 14. Análisis estadístico: relación señal a ruido vs proporción de bits errados GMSK

El cuadro 14. Es muy similar al cuadro 12. Presentando un aumento en el tiempo de simulación de 0;01s a 0;1s y realizando las mismas variaciones en el SNR.

Figura 15. Relación señal a ruido vs proporción de bits errados tiempo de simulación GMSK.

A su vez la gráfica de la Figura 15. Es similar a la Figura 13. La diferencia entre estas dos gráficas está relacionada con la cantidad de bits transmitidos que lógicamente a mayor cantidad de tiempo mayo cantidad de bits transmitidos.

Page 15: GMSK

Figura 16. Análisis estadístico bits errados vs tiempo de simulación GMSK.

Por último se desarrolló un análisis en el cual se mantuvo constante la relación señal ruido, se varió el tiempo de simulación y se tomaron datos de la cantidad de bits errados en función del tiempo. Esto se muestra en el cuadro 14.

Figura 17. Bits errados vs tiempo de simulación GMSK.

El gráfico de la Figura 17. Permite observar el comportamiento claramente lineal entre la cantidad de bits errados y el tiempo.

Modulacion GMSK.

function varargout = gmsk(varargin)% GMSK M-file for gmsk.fig% GMSK, by itself, creates a new GMSK or raises the existing% singleton*.%% H = GMSK returns the handle to a new GMSK or the handle to% the existing singleton*.

Page 16: GMSK

%% GMSK('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in GMSK.M with the given input arguments.%% GMSK('Property','Value',...) creates a new GMSK or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before gmsk_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to gmsk_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help gmsk % Last Modified by GUIDE v2.5 28-Sep-2011 16:50:28 % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @gmsk_OpeningFcn, ... 'gui_OutputFcn', @gmsk_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT % --- Executes just before gmsk is made visible.function gmsk_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to gmsk (see VARARGIN)handles.ejex=0:pi/360:2*pi;% Choose default command line output for gmskhandles.output = hObject; % Update handles structureguidata(hObject, handles); % UIWAIT makes gmsk wait for user response (see UIRESUME)

Page 17: GMSK

% uiwait(handles.figure1); % --- Outputs from this function are returned to the command line.function varargout = gmsk_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structurevarargout{1} = handles.output; function b1_Callback(hObject, eventdata, handles)% hObject handle to b1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of b1 as text% str2double(get(hObject,'String')) returns contents of b1 as a double % --- Executes during object creation, after setting all properties.function b1_CreateFcn(hObject, eventdata, handles)% hObject handle to b1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function b2_Callback(hObject, eventdata, handles)% hObject handle to b2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of b2 as text% str2double(get(hObject,'String')) returns contents of b2 as a double % --- Executes during object creation, after setting all properties.function b2_CreateFcn(hObject, eventdata, handles)% hObject handle to b2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called

Page 18: GMSK

% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function b3_Callback(hObject, eventdata, handles)% hObject handle to b3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of b3 as text% str2double(get(hObject,'String')) returns contents of b3 as a double % --- Executes during object creation, after setting all properties.function b3_CreateFcn(hObject, eventdata, handles)% hObject handle to b3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function b4_Callback(hObject, eventdata, handles)% hObject handle to b4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of b4 as text% str2double(get(hObject,'String')) returns contents of b4 as a double % --- Executes during object creation, after setting all properties.function b4_CreateFcn(hObject, eventdata, handles)% hObject handle to b4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

Page 19: GMSK

end function b5_Callback(hObject, eventdata, handles)% hObject handle to b5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of b5 as text% str2double(get(hObject,'String')) returns contents of b5 as a double % --- Executes during object creation, after setting all properties.function b5_CreateFcn(hObject, eventdata, handles)% hObject handle to b5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function b6_Callback(hObject, eventdata, handles)% hObject handle to b6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of b6 as text% str2double(get(hObject,'String')) returns contents of b6 as a double % --- Executes during object creation, after setting all properties.function b6_CreateFcn(hObject, eventdata, handles)% hObject handle to b6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function b7_Callback(hObject, eventdata, handles)

Page 20: GMSK

% hObject handle to b7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of b7 as text% str2double(get(hObject,'String')) returns contents of b7 as a double % --- Executes during object creation, after setting all properties.function b7_CreateFcn(hObject, eventdata, handles)% hObject handle to b7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function b8_Callback(hObject, eventdata, handles)% hObject handle to b8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of b8 as text% str2double(get(hObject,'String')) returns contents of b8 as a double % --- Executes during object creation, after setting all properties.function b8_CreateFcn(hObject, eventdata, handles)% hObject handle to b8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end % --- Executes on button press in mostrar.function mostrar_Callback(hObject, eventdata, handles)% hObject handle to mostrar (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)frecuencia=str2double(get(handles.frecuencia,'String'));amplitud=str2double(get(handles.amplitud,'String'));

Page 21: GMSK

y1=amplitud*sin((frecuencia*2*pi*handles.ejex));%señal senoidal axes(handles.axes1); plot(handles.ejex,y1,'r') axis([0 1 -amplitud amplitud]); title('Señal moduladora');grid on xlabel('Modulada') ylabel('Amplitud (V)') % --- Executes on button press in generar.function generar_Callback(hObject, eventdata, handles)% hObject handle to generar (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)frecuencia=str2double(get(handles.frecuencia,'String'));amplitud=str2double(get(handles.amplitud,'String')); b1=str2double(get(handles.b1,'String'));b2=str2double(get(handles.b2,'String'));b3=str2double(get(handles.b3,'String'));b4=str2double(get(handles.b4,'String'));b5=str2double(get(handles.b5,'String'));b6=str2double(get(handles.b6,'String'));b7=str2double(get(handles.b7,'String'));b8=str2double(get(handles.b8,'String'));g=[b1 b2 b3 b4 b5 b6 b7 b8 ];t=0:2*pi/99:2*pi;cp=[];sp=[];%cp1=[];sp1=[];mod=[];mod1=[];bit=[];%bit1=[]; for n=1:2:7; if g(n)==0 & g(n+1)==1; die=sqrt(2)/2*ones(1,100); die1=-sqrt(2)/2*ones(1,100); se=[zeros(1,50) ones(1,50)]; elseif g(n)==0 & g(n+1)==0; die=-sqrt(2)/2*ones(1,100); die1=-sqrt(2)/2*ones(1,100); se=[zeros(1,50) zeros(1,50)]; elseif g(n)==1 & g(n+1)==0; die=-sqrt(2)/2*ones(1,100); die1=sqrt(2)/2*ones(1,100); se=[ones(1,50) zeros(1,50)]; elseif g(n)==1 & g(n+1)==1; die=sqrt(2)/2*ones(1,100); die1=sqrt(2)/2*ones(1,100); se=[ones(1,50) ones(1,50)]; end c=cos(t); s=sin(t); cp=[cp die]; %amplitud de coseno sp=[sp die1]; %amplitud de seno mod=[mod c]; %Q mod1=[mod1 s]; %I bit=[bit se];end % subplot(4,2,5); axes(handles.axes2);

Page 22: GMSK

plot(bit,'LineWidth',1.2);grid on; title('Señal Binaria') axis([0 50*length(g) 0 1.5]); % --- Executes on button press in modulacion.function modulacion_Callback(hObject, eventdata, handles)% hObject handle to modulacion (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)frecuencia=str2double(get(handles.frecuencia,'String'));amplitud=str2double(get(handles.amplitud,'String'));b1=str2double(get(handles.b1,'String'));b2=str2double(get(handles.b2,'String'));b3=str2double(get(handles.b3,'String'));b4=str2double(get(handles.b4,'String'));b5=str2double(get(handles.b5,'String'));b6=str2double(get(handles.b6,'String'));b7=str2double(get(handles.b7,'String'));b8=str2double(get(handles.b8,'String'));g=[b1 b2 b3 b4 b5 b6 b7 b8 ];N=8;%ipBin = rand(1,N) > 0.3; % binary 0's and 1's fs = 200;T = 1;BT=0.3; ts = [0:1/fs:T]; % generting the sampling instantsts = ts(1:end-1);tsR = kron(ones(1,N),ts); ip = 2*g-1; % converting 0's to -1, 1's to 1 % generating two frequencies corresponding to 0 and 1% 0 --> fc - 1/4T% 1 --> fc + 1/4Tfm = ip/(4*T); fmR = kron(fm,ones(1,fs)); % repeating % genertaing the phasetheta = pi/2*filter([0 1],[1 -1],ip);thetaR = kron(theta,ones(1,fs)); % repeating xt = amplitud*cos(2*pi*(frecuencia+fmR).*tsR + thetaR );% plotting %subplot(3,1,2), plot(xt);%axis([0 N*fs -1 1]);grid on % plotting %subplot(3,1,2), plot(xt);%axis([0 N*fs -1 1]);grid on axes(handles.axes3);

Page 23: GMSK

plot(xt,'LineWidth',1.2);grid on; title('Señal Binaria') axis([0 N*fs -amplitud amplitud]); function amplitud_Callback(hObject, eventdata, handles)% hObject handle to amplitud (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of amplitud as text% str2double(get(hObject,'String')) returns contents of amplitud as a double % --- Executes during object creation, after setting all properties.function amplitud_CreateFcn(hObject, eventdata, handles)% hObject handle to amplitud (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function frecuencia_Callback(hObject, eventdata, handles)% hObject handle to frecuencia (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of frecuencia as text% str2double(get(hObject,'String')) returns contents of frecuencia as a double % --- Executes during object creation, after setting all properties.function frecuencia_CreateFcn(hObject, eventdata, handles)% hObject handle to frecuencia (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end

Conclusiones:

Page 24: GMSK

Realizar un esquema DBPSK es más simple que hacer un esquema GMSK, porque para la transmisión de DBPSK requiere de un sistema fácil de implementar, en comparación con el filtro gaussiano y el modulador en cuadratura. Además, en la recepción los elementos usados en DBPSK corresponden a un demodulador BPSK con la mejora del detector de producto; en cambio, el receptor GMSK usa un circuito complejo de implementar para poder detectar las señales de fase y cuadratura, y también poder compensar la ISI introducida por el modulador en la transmisión.

Bibliografía:http://sss-mag.com/pdf/gmsk_tut.pdf http://www.emc.york.ac.uk/reports/linkpcp/appD.pdf