Documentos de Académico
Documentos de Profesional
Documentos de Cultura
I. INTRODUCCIÓN
La modulación ASK (Amplitude Shift Key) corresponde a
una modulación de tipo digital en el cual se varía la amplitud
de la portadora en función de los datos digitales [1].
Figura 4 Secuencia critica del 4-ASK Figura 6 Secuencia critica del 8-ASK
8-ASK
Codigo de Matlab
Codigo 1
clear all, close all, clc;
%Modulacion M-ASK
%Autor: Marco Vinueza
%Ingreso de los datos
orden = 8;
secuencia =
'00000101001110010111000001010011';
amplitud = 1;
frecuencia = 1000;
t = linspace (0,64/frecuencia,32*16);
portadora = amplitud *
cos(2*pi*frecuencia*t);
ASK=[];
%Se parte las amplitudes en 2^M segmentos ap = portadora(j*var-
segmentosAmplitud = h)*segmentosAmplitud(ASK(j)+1);
linspace(0,amplitud,2^orden); codificada = [codificada ap];
%Se realiza un switch dependiendo del orden end
del modulador end
switch orden subplot(3,1,1)
case 2 stairs(binario), ylim([0,1.1]),
ASK = decod_bin(1,secuencia); title("Secuencia binaria") ,...
xlabel("Bits"), ylabel("Valor
graficar(segmentosAmplitud,ASK,portadora,t,s lógico");
ecuencia,frecuencia); subplot(3,1,2)
case 4 stairs(ASK), title("Valores decimales
ASK = decod_bin(2,secuencia); codificados") ,...
xlabel("Valores decimales"),
graficar(segmentosAmplitud,ASK,portadora,t,s ylabel("Amplitud");
ecuencia,frecuencia); subplot(3,1,3)
case 8
secuencia = [secuencia '0']; plot(tiempo,codificada),title("Codificación
t = linspace M-ASK") ,...
(0,64*frecuencia,32*11); xlabel("Tiempo (s)"),
portadora = amplitud * ylabel("Amplitud (V)");
cos(2*pi*frecuencia*t); figure
ASK = decod_bin(3,secuencia); y = fft(codificada);
n = length(codificada);
graficar(segmentosAmplitud,ASK,portadora,t,s f = (0:n-
ecuencia,frecuencia); 1)*(((32*16)/(64/frecuencia))/n);
end power = abs(y).^2/n;
plot(f,power), title("Espectro en
Código 2 frecuencia de la señal")
function [ASK,secuencia] = decod_bin xlabel('Frecuencia')
(orden,secuencia) ylabel('Potencia')
ASK = []; end
for i=1:length(secuencia) / orden
palabra = ''; Codigo para el Arduino Uno
for j=(orden-1):-1:0 #define frecuencia 1000
palabra = [palabra unsigned int máximo = 0;
secuencia(orden*i - j)]; unsigned int conv = 0;
end void setup ()
ASK = [ASK bin2dec(palabra)]; {
end Serial. begin(9600);
end DDRB = 0B00000110;
TCCR1A = 0B10110000;
Código 3 TCCR1B = 0B00010001;
function maximo = 16e6/(2*frecuencia);
graficar(segmentosAmplitud,ASK,portadora,tie ICR1 = maximo;
mpo,secuencia,frecuencia) OCR1A = maximo >> 1;
codificada = []; OCR1B = maximo >> 1;
binario = []; TIMSK1 = 0B00100000;
for i=1:length(secuencia) sei();
binario(i)= }
str2double(secuencia(i)); void loop()
end {
var= length(portadora)/length(ASK); }
for j=1:length(ASK) ISR(TIMER1_CAPT_vect)
for h=var-1:-1:0 {
conv = analogRead(A0);
conv = map(conv, 0, 1023, 0, maximo);
OCR1A = conv;
OCR1B = conv;
}
𝑀−1 3 𝐸𝑏
𝑃𝑠 = 2 𝑄 (√ ) (1)
𝑀 (𝑀 ⋅ 1)(2𝑀 − 1) 𝑁0
Figura 11 Circuito implementado con Arduino
Donde M corresponde al número de niveles de amplitud de la
modulación.
De lo cual se tiene:
2-ASK
%Script para la probabilidad de error ASK
𝐸𝑏
𝑃𝑠 = 𝑄 (√ ) (2)
𝑁0 EB_N0 = linspace(0,60,61);
EB_N0_lineal = 10.^(EB_N0/10);
4-ASK %2-ASK
Prob2 = qfunc(sqrt(EB_N0_lineal));
%4-ASK
3 2 𝐸𝑏 Prob4 =
𝑃𝑠 = 𝑄 (√ ) (3)
2 7 𝑁0 (3/2)*qfunc(sqrt((2/7)*EB_N0_lineal));
%8-ASK
Prob8 =
8-ASK
(7/4)*qfunc(sqrt((1/35)*EB_N0_lineal));
%2-ASK
7 1 𝐸𝑏 Prob16 =
𝑃𝑠 = 𝑄 (√ ) (4) (15/8)*qfunc(sqrt((1/155)*EB_N0_lineal));
4 35 𝑁0
16-ASK %% Grafica
hold on
15 1 𝐸𝑏 plot(EB_N0,Prob2);
𝑃𝑠 = 𝑄 (√ ) (5) plot(EB_N0,Prob4);
8 155 𝑁0
plot(EB_N0,Prob8);
plot(EB_N0,Prob16);
Con los modelos matemáticos expuestos anteriormente, se grid minor;
plantea un script que permita graficar la probabilida de error hold off
de las diferentes modulaciones ASK, con lo cual se tiene el xlabel('Eb/No [dB]');
Código 1, con el cual se tiene los resultados de la Fig. 1. ylabel('Probabilidad de error (Ps)');
legend('2-ASK','4-ASK','8-ASK','16-ASK');
Se evidencia que conforme aumentan los niveles de amplitud
de la modulación ASK la probabilidad de error tambien
aumenta, esto se debe a la tolerancia del nivel de amplitud 5.3. Consultar el fundionamiento de la modulacion On-Off
que se vuelve menor conforme se aumentan los niveles. Keying (OOK) y su uso en sistemas de comunicación óptica.
Entrada digital:
La información digital transmitida se representa como bits ya
sean estos 0 o 1.