% DEMO_OFDM_IFFT
%
% COMUNICACIONES DIGITALES
% Tema 4
% Ejemplo de la relación entre una señal senoidal/cosenoidal y la FFT
% Curso 2017-2018

%   Copyright (c) 2016 G.T.A.S. (Grupo Tratamiento Avanzado de Señal)
%                 DICOM Universidad de Cantabria

%% Parámetros (el usuario debe modificar estos parámetros)
N = 64;   % Número de subportadoras (tamaño FFT)

k = 4;     % Índice de la Subportadora (0<=k<N). Su frecuencia discreta es 2*pi*k/N, es decir, posee k periodos en N muestras
s_k = 2*exp(1i*pi/2);   % Amplitud y fase de la subporetadora k-ésima


%% Construcción de la señal en el dominio del tiempo

n=0:N-1;    % vector de índices temporales
x = s_k*exp(1i*2*pi*n*k/N);

subplot(411);plot(n,real(x),'-ro');legend('real(x[n])');xlabel('n');title(sprintf('Señal generada en el dominio del tiempo (k=%i)',k));grid
subplot(412);plot(n,imag(x),'-bo');legend('imag(x[n])');xlabel('n');grid

% pause
%% Construcción de la señal mediante IFFT (partiendo del dominio de la frecuencia

X = zeros(1,N);     % Vector de ceros en el dominio de la frecuencia
X(k+1) = s_k;       % La frecuencia (subportadora) k-ésima  toma (se modula por) el valor s_k

% El alumno puede añadir otros términos modificando y descomentando alguna de las siguienes lineas
% X(2)=+1+1i;       % Subportadora 2 con amplitud sqrt(2) y fase 45º
% X(9)=-1+2*1i;    % Subportadora 32

x2 = N*ifft(X,N);   % Calculamos la IFFT para obtener la secuencia temporal x2 con FFT X

subplot(413);plot(n,real(x2),'r-o');legend('real(x[n])');xlabel('n');title('Señal generada mediante IFFT');grid
subplot(414);plot(n,imag(x2),'b-o');legend('imag(x[n])');xlabel('n');grid


