You are on page 1of 24

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).

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ógica siempre 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).

Base banda MSK. . la modulación de la incorporación y los circuitos de demodulación en un solo chip. como se muestra en la Figura 1. 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. una señal) NRZ de datos.Figura 1: 1200 baudios MSK datos de la señal. en el acercamiento directo del VCO es parte de la sección de RF / IF. b) MSK.5 (ver Figura 2). 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. Este enfoque es esencialmente equivalente a la banda MSK. MX-COM dispositivos tales como el MX429 y MX469 son soluciones de un solo chip de banda base para sistemas de MSK. mientras que en banda MSK la tensión a la conversión de frecuencia se realiza en banda base. Sin embargo.

. como se muestra en la Figura 3. es necesario reducir la energía de los lóbulos laterales MSK superior. 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. 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). 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.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. Nótese la ausencia de rebasamiento o de llamada. 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).

o no coherentemente como una señal FSK. El filtrado convierte cada dato modulante que ocupa en banda base un periodo de tiempo (T).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. 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.Figura 3: Gaussiana respuesta impulso filtro para BT y BT = 0. . en una respuesta en la que cada símbolo ocupa varios períodos. Sin embargo.3 = 0. dependiendo del BT (producto ancho de banda – tiempo ) del filtro.

El filtro de pre modulación introduce ISI (interferencia intersímbolos) en la señal transmitida. Esta función está expresada en (1): . pero esta degradación no es grave si el parámetro BT del filtro es mayor a 0. En la práctica. Diagrama de fase para GMSK.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.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. La señal final GMSK se puede representar a través de una expresión matemática. GMSK es muy atractiva por su excelente eficiencia espectral de potencia.

la cual tiene como valores 1 y -1. El índice de modulación h=0. Las dos funciones resultantes I(t) y Q(t) son pasadas a través del modulador I/Q. 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. Figura 5. el cual lleva a la salida la señal m(t) que es escrita como (3) . las señales I y Q banda base pueden ser creadas usando una red de cambio de fase. La fase de la señal modulada está dada por (2): Donde mi es la señal de datos NRZ (Non Return Zero).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).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.

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. Figura 6. 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. El filtro gaussiano se implementa en un circuito digital donde se programa la función de transferencia de este. .3. 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. Medidas de rendimiento del esquema de modulación GMSK. La señal GMSK Modulada m(t) está representada en la Figura 6.Donde fc es la frecuencia de portadora usada.

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 un efecto en la probabilidad de error de bit. Esquema BT contra degradación de la señal. Para un sistema GMSK la BER está representada en (4): (4) Donde α es un valor constante que depende del BT de filtro gaussiano. Para entender mejor este concepto. pero realmente es mayor la ventaja del mejoramiento de la eficiencia espectral que el aumento de la BER.9. Cuando α tiene un valor de 2. se obtiene la figura 7.3.Por el hecho de usar un filtro gaussiano en la señalización GMSK. el valor de α es de 0. BER (Bit Error Rate) en el sistema. Figura 7. y cuando el BT = 0. corresponde a un BT igual a infinito.

3 está representada en la Figura 8. Figura 8.5. que relaciona la probabilidad de error del sistema GMSK para cualquier valor de BT. A continuación se mostrarán en la Figura 9 los espectros resultantes para tres BT en GMSK y para MSK (GMSK con BT = ∞). Se debe tener cuidado al momento de implementar el sistema GMSK por su sensibilidad al ruido. BER para GMSK con BT=0.5 y BT = 0. al realizar la gráfica de la ecuación (5). BT = 0. señal es Del mismo modo. .3. es difícil recuperar la señal transmitida. BT=0. se tiene que la BER para el sistema GMSK con BT = 1.3 la degradación de la bastante. por lo tanto.Se puede notar que para BT inferiores a 0. 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. La principal ventaja de GMSK es la eficiencia espectral mejorada y la amplitud constante.

3. Después de pasar por el . En la medida que el BT disminuye hasta 0. a) GMSK.Figura 9. BT = 0. b) GMSK. BT = 0. d) GMSK BT = ∞ Nota: Todas las formas de onda desplegadas sobre GMSK y MSK tienen la amplitud constante.1.3. Matlab. Se puede apreciar que la modulación GMSK ocupa un menor ancho de banda que las señalizaciones DBPSK y MSK. Comparación de espectros en frecuencia para una señal de datos. En la Figura 6. para luego pasar por el modulador GMSK el cual tiene un producto BT de 0.022. la eficiencia va mejorando. El desarrollo de esta simulación inicia en un generador de pulsos que representa la señal de datos que se va transmitir. BT = 1. este generador posee una amplitud de 1 y un periodo en segundos de 0. aunque hay que tener en cuenta la degradación del Sistema. es posible apreciar el diagrama de la simulación GMSK utilizada para la obtención de datos estadísticos y en el tiempo. Eso dice que su trayectoria de fase en cuadratura nunca deja el círculo unitario. lo que la hace con mayor eficiencia espectral.5 c) GMSK. Posteriormente la señal ingresa a un discretizador con un tiempo de muestreo . GMSK El desarrollo de la simulación de la modulación GMSK es relativamente simple en comparación con las demás modulaciones.

El tiempo utilizado en esta simulación es de 0. 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.modulador la señal entra al canal AWGN donde se le adiciona una proporción de ruido referente a un SNR=40. . 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. 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. allí es recuperada la señal de datos. Seguidamente la señal va hacia el demodulador GMSK el cual posee los mismos parámetros que el modulador.

Figura 13. 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.01s realizando una variación en el SNR y manteniendo los parámetros nombrados anteriormente para observar su comportamiento. Análisis estadístico: relación señal a ruido vs proporción de bits errados GMSK. Muestra la respuesta de la modulación GMSK para un tiempo de muestreo de y un tiempo de simulación de 0. Por otra parte el cuadro 6. Relación señal a ruido vs Proporción de bits errados tiempo de simulación GMSK.1. .Figura 12. Se muestra el gráfico de relación señal ruido contra proporción de bits errados. En la Figura 13.

Es muy similar al cuadro 12. Análisis estadístico: relación señal a ruido vs proporción de bits errados GMSK El cuadro 14.Figura 14. Figura 15.1s y realizando las mismas variaciones en el SNR. Presentando un aumento en el tiempo de simulación de 0. Es similar a la Figura 13.01s a 0. 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. . 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.

Bits errados vs tiempo de simulación GMSK. function varargout = gmsk(varargin) % GMSK M-file for gmsk. El gráfico de la Figura 17. by itself. Modulacion GMSK. .fig % GMSK. se varió el tiempo de simulación y se tomaron datos de la cantidad de bits errados en función del tiempo. Análisis estadístico bits errados vs tiempo de simulación GMSK. creates a new GMSK or raises the existing % singleton*.Figura 16. % % H = GMSK returns the handle to a new GMSK or the handle to % the existing singleton*. Permite observar el comportamiento claramente lineal entre la cantidad de bits errados y el tiempo. Esto se muestra en el cuadro 14. Por último se desarrolló un análisis en el cual se mantuvo constante la relación señal ruido. Figura 17.

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

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

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

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

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

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

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

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

emc. 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. en comparación con el filtro gaussiano y el modulador en cuadratura.uk/reports/linkpcp/appD.pdf http://www.ac. Bibliografía: http://sss-mag.york.com/pdf/gmsk_tut.pdf . en cambio. en la recepción los elementos usados en DBPSK corresponden a un demodulador BPSK con la mejora del detector de producto. porque para la transmisión de DBPSK requiere de un sistema fácil de implementar.Realizar un esquema DBPSK es más simple que hacer un esquema GMSK. Además.