Está en la página 1de 10

Informe Práctica 5: Modulación digital M-FSK

Jaime Gabriel Ordoñez Baraja, Marco Alfonso Vinueza Bustamante


Ingeniería Eléctrica y Electrónica, Escuela Politécnica Nacional
Quito, Ecuador
Laboratorio de Comunicación Digital
jaime.ordonez@epn.edu.ec , marco.vinueza01@epn.edu.ec

Resumen — Lo que se busca en el siguiente informe es dar a Mediante el uso del Código 1 se obtiene el resultado expuesto
conocer las practicas de modulación en M-FSK con los en la Fig. 3 con los datos expuestos en la Fig. 2.
diferentes estados que puede tomar M, por ello se quiere
implementar mediante Matlab un código que muestre esto y con
una aplicación de manera física con los diferentes componentes
que ayudaran a lograr el resultado esperado.

Keywords—FSK, modulación, espectro.

I. INTRODUCCIÓN
La modulación por desplazamiento de frecuencia (FSK) es
una de las formas más simples de modulación digital, con la
frecuencia de la señal transmitida en una señal de reloj
Fig. 2 Datos ingresados script FSK.
indicando un símbolo, generalmente representando uno o dos
bits [1].
Esta se caracteriza por no ser utilizada en radio digital por su
excesivo ancho de banda, su transmisión de datos a baja
velocidad sobre las líneas telefónicas, consta de dos tipos de
modulación, la coherente y la no coherente [1].

Fig. 3 Espectro señal binaria


Se evidencia que se tiene un espectro de frecuencias my
amplia dado que se trata de una señal digital que de manera
Fig. 1 Sistema de modulación por desplazamiento de frecuencia teórica posee un espectro infinito.
(FSK) Por otra parte, se tiene que el espectro de la señal modulada
que en la Fig. 4 se muestra, se tiene un espectro limitado,
La modulación FSK de cuatro estados se utiliza en el estándar donde se tiene 5 picos de frecuencia que corresponden a las
celular GSM 2G, un estándar más antiguo que todavía cuenta frecuencias de las diferentes frecuencias usadas para la
con un amplio respaldo en las radios móviles modernas y que modulación y la portadora. Sin embargo, como se muestra en
a veces es el único método de modulación admitido por la la Fig. 5 estos valores no coinciden exactamente con los
infraestructura en algunas áreas donde actualizar valores deseados. Esto se debe a la frecuencia de muestreo
instalaciones antiguas no es económicamente viable [1]. que se calcula de manera indirecta.
II. DESARROLLO DE CONTENIDOS

6.1 Analizar los resultados obtenidos durante la práctica,


así como las dificultades encontradas durante su
implementación.

FSK sin uso de funcion


Fig. 6 Señales en dominio del tiempo.

Fig. 4 Espectro señal modulada.

Fig. 7 Verificación de duración en el dominio del tiempo.

FSK con uso de función


Mediante el uso del Código 2 se obtiene los espectros de las
señales M-FSK de orden 2, 4, 8 y 16. Como se muestra en la
Fig. 8, Fig. 9, Fig. 10 y ¡Error! No se encuentra el origen
de la referencia. se tienen M picos de frecuencia las cuales
son simétricas alrededor de la frecuencia 0 Hz.

Fig. 5 Picos del espectro de la señal modulada.

Por otra parte, se tiene en el dominio del tiempo la señal


codificada junto a la señal binaria y su respectiva asignación Fig. 8 Espectro 2-FSK
de frecuencias, como se muestra en la Fig. 6 se trata de una
señal FSK no coherente dado que existen desfases al
momento del cambio de frecuencia. Adicionalmente, dado
que se usa una señal critica se tienen las cuatro frecuencias de
la modulación una detrás de la otra.

Por otra parte, dado que se usa 32 bits a una velocidad de


1000 bps, se tiene que el tiempo coincide como se muestra en
la Fig. 7.
Fig. 9 Espectro 4-FSK
Fig. 12 Implementación del circuito FSK.

Fig. 10 Espectro 8-FSK

Fig. 13 Verificación multiplexación de señales a diferentes


frecuencias.

Por otra parte, se verifica las frecuencias de las señales y su


cambio en el dominio del tiempo, se tiene dos frecuencias una
para 0 lógico y otra para 1 lógico como se muestra en la Fig.
14 y Fig. 15.

Fig. 11 Espectro 16-FSK

Circuito FSK
Se implementa el circuito planteado en la hoja guía como se
muestra en la Fig. 12, adicionalmente se verifica la
multiplexación de frecuencias como se expone en la Fig. 13
donde se muestraque cuando no se transmite una señal a una
frecuencia la otra lo hace.

Fig. 14 Frecuencia en 0 lógico.


𝐸𝑏
𝑃𝐵 = 𝑄 (√ )
𝑁𝑜
Donde:
• 𝑃𝐵 es la probabilidad de error de bit.
• Q(x) es la función Q, que es la integral de la función
de densidad de probabilidad normal estándar desde
x hasta infinito.
• Eb es la energía por bit.
• No es la densidad espectral de potencia del ruido.[3]

Fig. 15 Frecuencia en 1 lógico.

Finalmente, se verifica que existe una transición cuando se


cambia de 0 lógico a 1 lógico, esto se puede capturar
mediante el uso de un single shot y confirgurando el trigger
en cierto nivel. Como se muestra en la Fig. 16 se observa
claramente el cambio entre las dos frecuencias establecidas.

Fig. 17 Tasas de error para los sistemas de modulación FSK


Con el uso del Código 3 se obtiene la gráfica del error en
función de la relación Eb/N0 como se muestra en la

Fig. 16 Cambio de frecuencias en la transición.

6.2 Consultar las expresiones matemáticas de Probabilidad


de error de las modulaciones 4-FSK, 8-FSK y 16-FSK y
codificar un script que permita observar las gráficas de
probabilidad de error vs Eb/N0 de las modulaciones
mencionadas, generar un vector para Eb/N0 en el rango de
0 a 40 dB.
Las expresiones que se utilizan en FSK pueden ser para
coherentes y no coherentes.[2] Fig. 18 Tasas de error FSK en Matlab.
La probabilidad de error para FSK no coherente es:

1 𝐸𝑏 6.3 Consultar tres aplicaciones de la modulación M-FSK en


𝑃𝐵 = 𝑄 (− ) los sistemas de comunicaciones inalámbricos e indicar
2 2𝑁𝑜
alcances máximos y tasas de transmisión utilizadas.
La probabilidad de error para FSK coherentes es:
La modulación M-FSK (Frequency Shift Keying) se utiliza III. CONCLUSIONES Y RECOMENDACIONES
en sistemas de comunicaciones inalámbricos para transmitir
información mediante la variación de la frecuencia de la Conclusiones
portadora. Marco Vinueza
• La implementación del circuito modulador FSK
Telemetría presenta una compuerta NOT, la cual se puede
La telemetría es un sistema de comunicación automatizado reemplazar con otra salida de Arduino, en la cual la
(por cable o inalámbrico) que permite recopilar datos desde señal de datos se entregue negada.
ubicaciones remotas. Se encarga de recopilar, procesar la
• La modulación FSK presenta un desfase en el
información y enviarla al sistema de seguimiento. Los
cambio de frecuencia debido a que son dos señales
equipos de telemetría constan de uno o más sensores que
independientes que complementan diferentes ciclos
miden cantidades físicas o químicas específicas. Luego
en el mismo tiempo.
convierten esta información en señales analógicas o
• La implementación de la FFT en el script de la
inalámbricas para su transmisión y procesamiento.
modulación FSK se debe realizar de manera
organizada, mediante el planteo de una frecuencia
Alcance máximo: El alcance puede variar, pero en
de muestreo dado que este factor no permite una
aplicaciones de telemetría de corto alcance, como los
correcta obtención de los datos del espectro.
sistemas de monitoreo industrial, este puede variar desde
unos pocos cientos de metros hasta kilómetros.
Gabriel Ordoñez
Velocidad de transmisión: la velocidad de bits de un sistema
de telemetría suele ser baja y puede variar desde unos pocos
bits por segundo (bps) hasta unos pocos kilobits por segundo • La oscilación que se genera en la señal puede
(kbps), según la aplicación.[4] depender muchas de las veces del transistor por lo
que se necesita verificar que los elementos estén
Domotica y sistemas de control remoto funcionando de la manera adecuada.
La domótica es la capacidad de controlar de forma inteligente • Con el generador de señales se debe verificar que
todos los aspectos relacionados con la seguridad, salud y ambos estén teniendo una amplitud similar ya que si
confort de tu vivienda o edificio. Utilizando un conjunto de no se lo hace de esa manera pueden ocurrir
tecnologías, se automatizan, monitorean, administran y problemas al obtener la señal resultante.
optimizan varios sistemas.
Recomendaciones
Alcance máximo: el alcance típico puede alcanzar varios Marco Vinueza
cientos de metros, dependiendo de las condiciones • Utilizar funciones creadas por usuarios en FSK dado
ambientales. que la propuesta por Matlab no permite observar la
señal en el dominio del tiempo.
Velocidad de transmisión: En los sistemas de control remoto • Mejorar el marco teórico acerca de FSK brindado en
y domótica, la velocidad de transmisión de datos suele ser la hoja guía.
moderada, desde unos pocos kilobits por segundo (kbps)
hasta varias decenas de kbps.[5] Gabriel Ordoñez
• Al momento de realizar la implementación del
Sistemas de Identificación por Radiofrecuencia (RFID) circuito se puede hacer un ligero cambio en el
La identificación por radiofrecuencia, o RFID, es una forma circuito integrado LM339 por el LM741 para que la
de comunicación inalámbrica que utiliza comunicación señal pueda ser amplificada y ser visualizada de
electromagnética o electrostática en la porción de mejor manera.
radiofrecuencia del espectro electromagnético para • Realizar las conexiones correctas al momento de
identificar de forma única un objeto, animal o ser humano. implementar el circuito de manera correcta ya que
por el tiempo de laboratorio muchas de las veces no
Alcance máximo: El alcance varía según la frecuencia de llega a funcionar el circuito.
funcionamiento y el tipo de sistema RFID (por ejemplo,
RFID de corto alcance o RFID de largo alcance). Puede variar IV. REFERENCIAS
desde unos pocos centímetros hasta varios metros.
[1] Miguelsc, «FSK (Frequency Shift Keying)»,
Velocidad de transmisión: En los sistemas RFID, la Modulaciones Digitales (ASK, PSK, FSK). Accedido:
velocidad de transmisión es relativamente baja porque la 13 de enero de 2024. [En línea]. Disponible en:
principal prioridad es la identificación. Las velocidades https://medium.com/modulaciones-digitales-ask-psk-
pueden ser de varios kilobits por segundo (kbps).[6] fsk/fsk-frequency-shift-keying-e64a849dfd42
[2] «2.6: Modulación por desplazamiento de frecuencia,
FSK», LibreTexts Español. Accedido: 12 de enero de
2024. [En línea]. Disponible en:
https://espanol.libretexts.org/Ingenieria/Dise%C3%B1o
_de_microondas_y_RF_I_-
_Sistemas_de_radio_(Steer)/02%3A_Modulaci%C3%
B3n/2.06%3A_Modulaci%C3%B3n_por_desplazamien
to_de_frecuencia%2C_FSK
[3] «T1416.pdf». Accedido: 13 de enero de 2024. [En línea].
Disponible en:
https://bibdigital.epn.edu.ec/bitstream/15000/9241/3/T1
416.pdf
[4] Sitrack, «Qué es la telemetría y sus aplicaciones».
Accedido: 14 de enero de 2024. [En línea]. Disponible
en: https://landing.sitrack.com/telemetria-y-sus-
aplicaciones
[5] «Sistemas domóticos existentes, tipos y estándares»,
Domótica Sistemas. Accedido: 14 de enero de 2024. [En
línea]. Disponible en:
https://domoticasistemas.com/tienda/tutoriales/1_sistem
as-existentes-tipos-y-estandares.html
[6] «¿Qué es RFID o identificación por radiofrecuencia? -
Definición en Computer Weekly», ComputerWeekly.es.
Accedido: 14 de enero de 2024. [En línea]. Disponible
en:
https://www.computerweekly.com/es/definicion/RFID-
o-identificacion-por-radiofrecuencia
Anexos

Código 1

%% Codificador FSK
% Autor: Marco Vinueza
clc, clear all, close all;
%% Se inicializan los datos a usar
bin = '00011011000110110001101100011011'
%11111111111111111111111111111111
%00011011000110110001101100011011
portadora = input("Ingrese la frecuencia de la portadora (Hz): ");
dif = input("Ingrese la diferencia entre frecuencias (Hz): ");
vtx = input("Ingrese la VTX (bps): ");
%% Se almacenan los valores arreglos decimales y char
bindec = [];
bintograph =[];
modulada =[];
t= [];
%% Se toman los valores binarios en pares
for i=1:length(bin)/2
bindec(i)=bin2dec(bin(((2*i)-1):(2*i)));
end

%% Se genera la señal senoidal y su vector de tiempo


tsimbolo = 2/vtx;
tbit=1/vtx;
subplot(3,1,1);
hold on;
for i=1:length(bindec)-1
switch bindec(i)
case 0
delta = dif;
case 1
delta = 2*dif;
case 2
delta = -dif;
case 3
delta = -2*dif;
end
taux = linspace(tsimbolo*(i-1),tsimbolo*i,100);
f = [cos((2*pi*(portadora + delta))*taux)];
f(end) = [];
modulada = [modulada f];
t = [t taux];
t(end) = [];
end
i = i+1;
taux = linspace(tsimbolo*(i-1),tsimbolo*i,20);
f = [cos((2*pi*(portadora + delta))*taux)];
modulada = [modulada f];
t = [t taux];
%% Se grafica la senal modulada
plot(t,modulada);
title("Senal codificada FSK"), xlabel("Tiempo"), ylabel("Amplitud")
%% Se grafica la senal binaria
subplot(3,1,2);
for i=1:length(bin)
bintograph(i)=str2double(bin(i));
end
stairs(bintograph);
title("Senal binaria"), xlabel("Muestra"), ylabel("Amplitud"), ylim([-1 2]);
%% Se grafica la asignacion de frecuencias
subplot(3,1,3);
stem([portadora-2*dif portadora-dif portadora portadora+dif ...
portadora+2*dif], [1 1 1 1 1]);
title("Asignacion de frecuencias"), xlabel("Frecuencia"), ylim([0 2]), ...
xlim([0 2*portadora])
text(portadora-2*dif,0.5,'11');
text(portadora-dif,0.5,'10');
text(portadora,0.5,'Portadora');
text(portadora+dif,0.5,'00');
text(portadora+2*dif,0.5,'01');
%% Espectro de la senal modulada
L = length(modulada);
Fs = L/(length(bin)/vtx);
figure
pwelch(modulada,L,L/2,L,Fs);
% Y = fft(modulada);
% P2 = abs(Y/L);
% P1 = P2(1:L/2+1);
% P1(2:end-1) = 2*P1(2:end-1);
% f = Fs*(0:(L/2))/L;
% figure
% subplot(2,1,1)
% plot(f,P1)
% title("Espectro en frecuencia modulada")
% xlabel("f (Hz)")
% ylabel("|P1(f)|")
%
bintofourieraux = [];
bintofourier = [];
for i=1:length(bin)
for j=1:20
bintofourieraux(j) = bintograph(i);
end
bintofourier = [bintofourier bintofourieraux];
end
%
L = length(bintofourier);
Fs = L/(length(bin)/vtx);
figure
pwelch(bintofourier,L,L/2,L,Fs);
% Y = fft(bintofourier);
% P2 = abs(Y/L);
% P1 = P2(1:L/2+1);
% P1(2:end-1) = 2*P1(2:end-1);
% f = Fs*(0:(L/2))/L;
% subplot (2,1,2)
% plot(f,P1)
% title("Espectro en frecuencia binaria")
% xlabel("f (Hz)")
% ylabel("|P1(f)|")
%
Código 2

clc, close all, clear all;


%% Modulaciones M-FSK
% 2-FSK
M = 2; % Orden de la modulación
df = 2*M; % Frequency separation (Hz)
nsamp = 2*M; % Numero de muestras por simbolo
Fs = 2*M^2; % Frecuencia de muestreo (Hz)
simbolos = randi([0 M-1],1000,1); % Generación de simbolos
modulacion = fskmod(simbolos,M,df,nsamp,Fs); % Modulación M-FSK
scope1 = spectrumAnalyzer("SampleRate",Fs);
scope1(modulacion);
% 4-FSK
M = 4; % Orden de la modulación
df = 2*M; % Frequency separation (Hz)
nsamp = 2*M; % Numero de muestras por simbolo
Fs = 2*M^2; % Frecuencia de muestreo (Hz)
simbolos = randi([0 M-1],1000,1); % Generación de simbolos
modulacion = fskmod(simbolos,M,df,nsamp,Fs); % Modulación M-FSK
scope2 = spectrumAnalyzer("SampleRate",Fs);
scope2(modulacion);
% 8-FSK
M = 8; % Orden de la modulación
df = 2*M; % Frequency separation (Hz)
nsamp = 2*M; % Numero de muestras por simbolo
Fs = 2*M^2; % Frecuencia de muestreo (Hz)
simbolos = randi([0 M-1],1000,1); % Generación de simbolos
modulacion = fskmod(simbolos,M,df,nsamp,Fs); % Modulación M-FSK
scope3 = spectrumAnalyzer("SampleRate",Fs);
scope3(modulacion);
% 16-FSK
M = 16; % Orden de la modulación
df = 2*M; % Frequency separation (Hz)
nsamp = 2*M; % Numero de muestras por simbolo
Fs = 2*M^2; % Frecuencia de muestreo (Hz)
simbolos = randi([0 M-1],1000,1); % Generación de simbolos
modulacion = fskmod(simbolos,M,df,nsamp,Fs); % Modulación M-FSK
scope4 = spectrumAnalyzer("SampleRate",Fs);
scope4(modulacion);

Código 3

%Autor: Marco Vinueza


clc,clear all, close all;

%Script para la probabilidad de error FSK

EB_N0 = linspace(0,40,100);
EB_N0_lineal = 10.^(EB_N0/10);
%4-FSK
Prob4 = (1/4)*erfc(sqrt(EB_N0_lineal/4));
%8-FSK
Prob8 = (1/8)*erfc(sqrt(EB_N0_lineal/8));
%16-FSK
Prob16 = (1/16)*erfc(sqrt(EB_N0_lineal/16));

%% Grafica
hold on
plot(EB_N0,Prob4);
plot(EB_N0,Prob8);
plot(EB_N0,Prob16);
grid minor;
hold off
xlabel('Eb/No [dB]');
ylabel('Probabilidad de error (Ps)');
legend('4-FSK','8-FSK','16-FSK');
title ("Probabilidad de error vs EB/N0")

También podría gustarte