You are on page 1of 24

RESUMEN: GMSK (Gaussian Minimum Shift Keying) es un esquema de modulacin digital usado frecuentemente en los sistemas de comunicaciones va radio;

sin embargo, existe interdependencia en el aprovechamiento de su beneficio (eficiencia espectral, baja tasa de error de bit, baja interferencia intersmbolos, etc.); es decir, la optimizacin de un parmetro 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 intersmbolos en el sistema. Palabras clave: eficiencia spectral, modulacin 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. Introduccin: El surgimiento de nuevas tcnicas de modulacin digital ha sido importante porque han evolucionado los sistemas de comunicaciones electrnicas a ms servicios y mejor calidad de los mismos. Uno de los esquemas utilizados actualmente en comunicaciones inalmbricas es GMSK debido a la facilidad que este ofrece en cuanto a su transmisin y recepcin, eficiencia espectral y probabilidad de error. El estudio de dicho esquema de modulacin MSK mejorado se remonta a los aos noventa cuando se buscaban mejores soluciones de acceso inalmbrico y apareciendo tecnologas como DECT (Digital Enhanced Cordless Telecommunications), GSM (Global System for Mobile communication), PCS (Sistema de Comunicaciones Personales), etc., que investigaban sobre esquemas de modulacin y codificacin ms eficientes; por ejemplo: en los aos 19801989 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; ms tarde, en 1995 comienza a operar en Amrica PCS 1900, y as, nuevas tecnologas y estndares abren el horizonte de esquemas de modulacin digital mejorados que ofrecen mayor eficiencia espectral, baja tasa de error de bit e interferencia intersmbolo controlada; se puede obtener mayor informacin en Lathi (1998) y Sklark (1993).

GMSK es un esquema de modulacin derivado de MSK, el cual consiste en una modulacin FSK (Frequency Shift Keying) modificado; tiene la particularidad de que la seal 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 continuacin veremos los aspectos ms destacados de las tcnicas de modulacin GMSK, que son la representacin de la seal en el dominio del tiempo, circuitos moduladores y demoduladores, ancho de banda y probabilidad de error. En la tcnica mencionada, se desempeo frente al ruido, y la eficiencia espectral frente a la limitacin de ancho de banda y del espacio libre. Marco terico 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 modulacin 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 relacin entre el frecuencia de un cero lgico y uno: la diferencia entre la frecuencia de un cero lgico y una lgica siempre es igual a la mitad la tasa de datos. En otras palabras, el ndice de modulacin es de 0,5 por MSK, y se define como:

Por ejemplo, un poco 1200 por segunda banda de la seal MSK de datos podra estar compuesto por 1200 Hz y 1800 frecuencias de una lgica de uno y cero, respectivamente (ver Figura 1).

Figura 1: 1200 baudios MSK datos de la seal, una seal) NRZ de datos, b) MSK. Base banda MSK, como se muestra en la Figura 1, es un medio slido de la transmisin de datos en los sistemas inalmbricos en la velocidad de datos es relativamente bajo en comparacin 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 modulacin de la incorporacin y los circuitos de demodulacin en un solo chip. Un mtodo alternativo para la generacin de modulacin MSK puede realizarse por inyeccin directa de datos NRZ en un modulador de frecuencia con la que su ndice de modulacin 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 seccin de RF / IF, mientras que en banda MSK la tensin a la conversin de frecuencia se realiza en banda base.

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 grfico del espectro de MSK revela lbulos laterales se extiende por encima de la velocidad de datos Para los sistemas inalmbricos de transmisin de datos que requieren un uso ms eficiente de la RF canal de BW, es necesario reducir la energa de los lbulos laterales MSK superior. Anteriormente se dijo que un medio directo de la reduccin de esta energa es filtrado paso bajo el flujo de datos antes de presentar a la modulador (pre-modulacin de filtrado). El filtro de paso bajo antes de la modulacin 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 caracterstica entra en juego tiene una respuesta al impulso se caracteriza por una clsica distribucin de Gauss (campana curva en forma), como se muestra en la Figura 3. Ntese la ausencia de rebasamiento o de llamada.

Figura 3: Gaussiana respuesta impulso filtro para BT y BT = 0,3 = 0.5 GMSK es un esquema de modulacin no lineal de fase continua que se basa en el filtrado de la modulacin MSK por medio de un filtro gaussiano para evitar los cambios abruptos de la fase que se presenta en la modulacin MSK. El filtrado convierte cada dato modulante que ocupa en banda base un periodo de tiempo (T), en una respuesta en la que cada smbolo ocupa varios perodos, dependiendo del BT (producto ancho de banda tiempo ) del filtro. Sin embargo, dado que esta conformacin de pulsos no cambia el modelo de la trayectoria de la fase GMSK se puede detectar coherentemente como una seal MSK, o no coherentemente como una seal FSK.

En la Figura 4 se ilustra cmo la fase se suaviza debido a la introduccin 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 prctica, GMSK es muy atractiva por su excelente eficiencia espectral de potencia. El filtro de pre modulacin introduce ISI (interferencia intersmbolos) en la seal transmitida, pero esta degradacin no es grave si el parmetro 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 recepcin. La seal final GMSK se puede representar a travs de una expresin matemtica. Esta funcin est expresada en (1):

Donde Eb es la energa de seal por bit y Zo es una constante de fase aleatoria que puede ser asumida como cero (Zo = 0).

La fase de la seal modulada est dada por (2):

Donde mi es la seal de datos NRZ (Non Return Zero), la cual tiene como valores 1 y -1. El ndice de modulacin h=0.5 resulta en el mximo 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 seales 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 relacin de 90 grados entre las seales I y Q para todas las frecuencias en la banda de inters. Las dos funciones resultantes I(t) y Q(t) son pasadas a travs del modulador I/Q, el cual lleva a la salida la seal m(t) que es escrita como (3)

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

Figura 6. Salida de la seal modulada GMSK

Una de las dificultades que presenta esta modulacin es la complejidad de realizar tal esquema de modulacin. El filtro gaussiano se implementa en un circuito digital donde se programa la funcin de transferencia de este. Adems, realizar y sincronizar un esquema en cuadratura no es tarea fcil. Actualmente la modulacin GMSK es usada en tcnicas de transmisin de datos como GPRS (General Packet Radio Service), que es un subsistema introducido en las normas de los protocolos GSM. GPRS ha introducido la conmutacin 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 modulacin GMSK.

Por el hecho de usar un filtro gaussiano en la sealizacin 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 degradacin del sistema debido al filtro gaussiano est dado por (5):

(5) Al elaborar una grfica del BT del filtro contra la degradacin de la seal, se obtiene la figura 7.

Figura 7. Esquema BT contra degradacin de la seal.

Se puede notar que para BT inferiores a 0,3 la degradacin de la bastante, por lo tanto, es difcil recuperar la seal transmitida.

seal es

Del mismo modo, al realizar la grfica de la ecuacin (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 ms crtico 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 continuacin se mostrarn en la Figura 9 los espectros resultantes para tres BT en GMSK y para MSK (GMSK con BT = ).

Figura 9. Comparacin de espectros en frecuencia para una seal 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 crculo unitario. Se puede apreciar que la modulacin GMSK ocupa un menor ancho de banda que las sealizaciones 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 degradacin del Sistema. Matlab. GMSK El desarrollo de la simulacin de la modulacin GMSK es relativamente simple en comparacin con las dems modulaciones. En la Figura 6.1. es posible apreciar el diagrama de la simulacin GMSK utilizada para la obtencin de datos estadsticos y en el tiempo. El desarrollo de esta simulacin inicia en un generador de pulsos que representa la seal de datos que se va transmitir, este generador posee una amplitud de 1 y un periodo en segundos de 0.022. Posteriormente la seal 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. Despus de pasar por el

modulador la seal entra al canal AWGN donde se le adiciona una proporcin de ruido referente a un SNR=40. Seguidamente la seal va hacia el demodulador GMSK el cual posee los mismos parmetros que el modulador, all es recuperada la seal de datos, esta es llevada a un osciloscopio y a un elemento de clculo de tasa de errores para realizar una comparacin grfica y numrica entre la entrada y la salida. El tiempo utilizado en esta simulacin es de 0; 1s

Figura 10: Diagrama de la simulacin GMSK para extraccin de datos

Figura 11: Seal de entrada y salida en el dominio del tiempo GMSK. En esta modulacin se manej una relacin seal ruido SNR = 60 y se not la presencia de un leve retraso entre la onda de salida y entrada.

Figura 12. Anlisis estadstico: relacin seal a ruido vs proporcin de bits errados GMSK.

Por otra parte el cuadro 6.1. Muestra la respuesta de la modulacin GMSK para un tiempo de muestreo de y un tiempo de simulacin de 0;01s realizando una variacin en el SNR y manteniendo los parmetros nombrados anteriormente para observar su comportamiento.

Figura 13. Relacin seal a ruido vs Proporcin de bits errados tiempo de simulacin GMSK. En la Figura 13. Se muestra el grfico de relacin seal ruido contra proporcin de bits errados. Se puede observar que la proporcin 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.

Figura 14. Anlisis estadstico: relacin seal a ruido vs proporcin de bits errados GMSK El cuadro 14. Es muy similar al cuadro 12. Presentando un aumento en el tiempo de simulacin de 0;01s a 0;1s y realizando las mismas variaciones en el SNR.

Figura 15. Relacin seal a ruido vs proporcin de bits errados tiempo de simulacin GMSK. A su vez la grfica de la Figura 15. Es similar a la Figura 13. La diferencia entre estas dos grficas est relacionada con la cantidad de bits transmitidos que lgicamente a mayor cantidad de tiempo mayo cantidad de bits transmitidos.

Figura 16. Anlisis estadstico bits errados vs tiempo de simulacin GMSK. Por ltimo se desarroll un anlisis en el cual se mantuvo constante la relacin seal ruido, se vari el tiempo de simulacin y se tomaron datos de la cantidad de bits errados en funcin del tiempo. Esto se muestra en el cuadro 14.

Figura 17. Bits errados vs tiempo de simulacin GMSK. El grfico 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*.

% % 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 EDIT gui_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 gmsk handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes gmsk wait for user response (see UIRESUME)

% 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 structure varargout{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

% 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');

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)

% 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,'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'));

y1=amplitud*sin((frecuencia*2*pi*handles.ejex));%seal senoidal axes(handles.axes1); plot(handles.ejex,y1,'r') axis([0 1 -amplitud amplitud]); title('Seal 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]; sp=[sp die1]; mod=[mod c]; mod1=[mod1 s]; bit=[bit se]; % subplot(4,2,5); axes(handles.axes2);

%amplitud de coseno %amplitud de seno %Q %I

end

plot(bit,'LineWidth',1.2);grid on; title('Seal 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 instants ts = 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/4T fm = ip/(4*T); fmR = kron(fm,ones(1,fs)); % repeating % genertaing the phase theta = 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);

plot(xt,'LineWidth',1.2);grid on; title('Seal 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:

Realizar un esquema DBPSK es ms simple que hacer un esquema GMSK, porque para la transmisin de DBPSK requiere de un sistema fcil de implementar, en comparacin con el filtro gaussiano y el modulador en cuadratura. Adems, en la recepcin 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 seales de fase y cuadratura, y tambin poder compensar la ISI introducida por el modulador en la transmisin.

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

You might also like