Modulación y demodulación QAM, QPSK Y
8-PSK
Jhon Henry Rios Ramirez - Sebastian Gomez Coca
Universidad Autónoma de Manizales
Manizales, Colombia
jhonhriosr@[Link]
sebastiangomecoca@[Link]
II. DESARROLLO
I. MARCO TEÓRICO
A. Quadrature Amplitude
Modulation(QAM)
Consiste en modular por desplazamiento en
amplitud (ASK) de forma independiente,
dos señales portadoras que tienen la misma
frecuencia pero que están desfasadas entre sí
90º. La señal modulada QAM es el resultado
de sumar ambas señales ASK. Estas pueden
operar por el mismo canal sin interferencia
mutua porque sus portadoras al tener tal
desfase, se dice que están en cuadratura.
Estas dos ondas generalmente son señales
sinusoidales en la cuál una onda es la
portadora y la otra es la señal de datos.
fig1. Codigo de línea de entrada en el tiempo
B. Quadrature Phase Shift Keying
(QPSK)
Un símbolo QPSK no representa 0 o 1,
representa 00, 01, 10 u 11. Este rendimiento
de dos bits por símbolo es posible porque las
variaciones portadoras no están limitadas a
dos estados. En ASK, por ejemplo, la amplitud
portadora es la opción de amplitud A (que
representa un 1) o la opción de amplitud B (que
representa un 0). En QPSK, la portadora varía
en términos de fase, no de frecuencia, y hay
cuatro posibles cambios de fase.
C. 8 -PSK
Son 8 posibles estados de fase en lugar de los
2 y 4 asociados con BPSK, QPSK.
fig2. Codigo de linea en frecuencia
Se realiza la modulación QAM con la función:
- Grafica de constelación QPSK
- qammod()
y se muestra la gráfica de costelacion
Modulación QPSK:
Codigo Utilizado:
clear all; close all;
f=100;
T=1/f;
fs=f*100;
t=0:(1/fs):7*T;
t=t(1:length(t)-1);
L_t=length(t);
L_b=L_t/7;
%[1 0 1 1 0 0 1 1 0 0 ]
p_RZ = [ones(1,L_b) zeros(1,L_b) ones(1,L_b) ones(1,L_b) zeros(1,L_b) zeros(1,L_b)
ones(1,L_b) ones(1,L_b) zeros(1,L_b) ones(1,L_b) ];
figure(1);
subplot(1,1,1); plot(p_RZ); axis([0 1000 -0.5 1.5]); grid on; ylabel('RZ Code');
title('Time Domain');
%QAM
M = 16;
y = qammod(p_RZ,M);
scatterplot(y)
%PSK
BREVclc;
clear all;
f=1000000;
b=[1 0 0 1 0 1 1 0 1 0 1 0]
len=length(b);
time= 0:0.1:len;
t=0:1/999:1;
qcar=[];icar=[]; %initialize in-phase and quadrature carriers
ic=[];qc=[]; %initialize in-phase and quadrature components;
for n=1:2:len
if b(n)==0 & b(n+1)==0;
temp=-1/sqrt(2)*ones(1,1000);
temp1=-1/sqrt(2)*ones(1,1000);
elseif b(n)==0 & b(n+1)==1;
temp=-1/sqrt(2)*ones(1,1000);
temp1=1/sqrt(2)*ones(1,1000);
elseif b(n)==1 & b(n+1)==0;
temp=1/sqrt(2)*ones(1,1000);
temp1=-1/sqrt(2)*ones(1,1000);
elseif b(n)==1 & b(n+1)==1;
temp=1/sqrt(2)*ones(1,1000);
temp1=1/sqrt(2)*ones(1,1000);
end
i=cos(2*pi*f*t);
q=sin(2*pi*f*t);
ic=[ic temp];
qc=[qc temp1];
icar=[icar i];
qcar=[qcar q];
end
qpsk=ic.*icar+qc.*qcar
plot(qpsk)