Aqui estoy en Lastres. Me vine porque mañana tengo concierto, pero el viernes me teneis en Gijón de nuevo, jejeje.
Definitivamente necesito unas vacaciones urgentes. Estoy tranquilamente viendo Desaparecida en el sofá cuando veo en el movil 6 llamadas perdidas de un nº raro. Era una compañera de clase que me quería avisar de algo, algo importante. La práctica de datos que teníamos que entregar (supuestamente teniamos de plazo hasta mañana) tenía de fecha límite hoy a las 00:00 por decisión del profe o vayan a saber ustedes por qué. No se puede vivir así por dios. Yo que tenía mi 80% de práctica realizada tuve que salir echando leches a encender el portatil y a enchapuzar el final como buenamente pude, así que no me extrañaría nada que las gráficas estuviesen con la leyenda errónea o sin xlabels….. cuando por fin la acabé me pongo a entrar en uniovi y el servidor decidió caerse en el momento más apropiado, así que nada, a esperar que al señor le de por reiniciarse y dejar acceder al correo. Finalmente la pude entregar, pero eso sí, a las 00:05, espero que me la coja igualmente porque si no me va a dar algo.

%GENERACION DE LA SEÑAL
% CONFIGURACION DE PARAMETROS
Fd=300; % Fd simbolo/seg
Fc=10*Fd;
Fs=50*Fc;
M=256; % SIMBOLOS FUENTE DE M=256 CARACTERES
t_final=10;
%Total=10;
%t=[0:1/fd:Total]=10; %10 SEG DE TRANSMISION
SNR=-30:10:30; %SNR EN dB
% SEÑAL A TRANSMITIR
t=0:1/Fd:t_final;
analog=(10/5.8425)*(5*sin(2*pi*t)+2*cos(2*pi*2*t)+cos(2*pi*3*t)+1.4644);
% CONVERSION A/D %CUANTIFICACION Y CODIFICACION DE LA SEÑAL ANALOGICA
a=20/255; % la señal va de 10 a -10 xese motivo ponemos 20.ESCALON DE CUANTIFICACION
particion=[-10+a/2:a:10-a/2]; %escalones de cuantificacion
codebook=[0:1:255]; %tiene q tener 256 valores
[indice,signal]=quantiz(analog,particion,codebook); %INDICARLE, CUANTIFICADA LA SEÑAL Y DIGITAL
% MODULACION DE LOS SIMBOLOS DIGITALES
[modsignal,t1]=dmod(signal,Fc,Fd,Fs,’qask’,M); %SIGNAL VECTOR CON NUESTRAS MUESTRAS CODIFICADAS, FREC DE LA PORTADORA
[modsignal2,t1]=dmod(signal,Fc,Fd,Fs,’psk’,M); %EN EL VECTOR MODSIGNAL ESTARA LA SEÑAL MODULADA
indice=1;
%for i=1:10
for i=-30:10:30
% RUIDO EN LA TRANSMISION
noisy=awgn(modsignal,i,’measured’); %SEÑAL CON RUIDO NOISY
noisy2=awgn(modsignal2,i,’measured’);
% DEMODULACION DE LA SEÑAL CON RUIDO
newsignal=ddemod(noisy,Fc,Fd,Fs,’QASK’,M);
newsignal2=ddemod(noisy2,Fc,Fd,Fs,’PSK’,M);
% DECODIFICACION FUENTE D/A
particion2=[-10:a:10];
newanalog=particion2(newsignal+1);
newanalog2=particion2(newsignal2+1); %SEÑAL Q NOS LLEGAN
[num,rate(indice)]=biterr(signal,newsignal);
[num,rate2(indice)]=biterr(signal,newsignal2);
[smum,srate(indice)]=symerr(signal,newsignal);
[smum,srate2(indice)]=symerr(signal,newsignal2);
distor(indice)=sum((analog-newanalog).^2)/length(analog);
distor2(indice)=sum((analog-newanalog2).^2)/length(analog);
indice=indice+1;
end
% REPRESENTACION DE RESULTADOS
figure(1) % SEÑAL ORIGINAL SEÑAL RECIBIDA
plot(SNR,distor,SNR,distor2,’g');
xlabel(‘SNR’);
ylabel(‘Distorsion’);
legend(‘QASK’,'PSK’);
title(‘Variacion de la distorsion para distintos valores de SNR’);
figure(2) % SEÑAL ORIGINAL SEÑAL RECIBIDA
plot(SNR,rate,SNR,rate2,’r');
xlabel(‘SNR’);
ylabel(‘BER’);
legend(‘QASK’,'PSK’);
title(‘Variacion del BER para distintos valores de SNR’);
figure(3) % SEÑAL ORIGINAL SEÑAL RECIBIDA
plot(SNR,srate,SNR,srate2,’y');
xlabel(‘BER’);
ylabel(‘SER’);
legend(‘QASK’,'PSK’);
title(‘Variacion del SER para distintos valores de SNR’);
Pues ya que tuve que trabajar tanto, os voy a dejar el código matlab de la práctica para que veais lo que “mola” la asignatura de Fundamentos de Transmisión de Datos.


Comentarios Recientes