Documente Academic
Documente Profesional
Documente Cultură
II. OBJETIVO Familiarizar al estudiante con los principios de modulacin de desplazamiento de frecuencia, amplitud y fase; tambin como su caracterstica espectral. III. EQUIPAMIENTO REQUERIDO Y ACCESORIOS: Un mdulo o Kit modulador ASK/FSK/PSK Un demodulador Fsk Una fuente de alimentacin 15 V. 3 A Un generador de funciones 0 a 200 Khz. Un osciloscopio Un analizador de espectro
IV.PROCEDIMIENTO 1. 2. 3. 4. Conectar el equipamiento como se muestra en la figura 1 Alimentar con una seal de onda cuadrada con fm = 10 Khz. Y Am = 4 Vpp en el modulador FSK va la entrada del amplificador. Conectar la fuente de alimentacin , ajustada a +15 VDc y -15 VDc Para determinar la caracterstica Dinmica de la seal FSK.- Visualizar en el ORC las siguientes seales:
Sm(t): seal moduladora de onda cuadrada, unipolar en la salida de la entrada del amplificador. Sfsk(t): seal FSK modulada en la salida del modulador de frecuencia.
5. 6. 7.
Bosquejar los resultados de la seal FSK a la salida del modulador de frecuencia. Alimentar la seal moduladora en el modulador FSK va filtro pasabajo (soft Keying). Para esto tienes que cambiar el plug puente. Repetir la medida y bosqueja los resultados, interpretar tus descubrimientos Sm(t): seal moduladora de onda cuadrada, unipolar en la salida del paso bajo Sfsk(t): seal FSK modulada en la salida del modulador de frecuencia.
8. 9.
Espectro FSK: Registrar el espectro de la seal FSK afinado con el filtro. Para ello tienes que integrar el analizador de espectro y el contador de frecuencia en la experiencia. Medir primero las dos frecuencias de portadora discreta f1 y f2, usando el contador de frecuencia (SYNC socket). Para esto selecciona una seal moduladora de onda cuadrada Sm(t) con baja frecuencia, por ejemplo fm= 0.1 Hz.
10. Con valores como f1=100 Khz. Y f2= 140 Khz. las desviaciones sern insignificantes.
Seleccionar en el Analizador estos valores: V1 = 2 V2 = 2, 5, 10. Fr / Khz : 200 ; SPAN/ Khz : MAX. ;
b/hz : 100
11. Ahora modula el VCO con una onda cuadrada de Fm = 5 Khz, solamente la entrada del amplificador ( no el LP para soft Keying). 12. Completar la tabla 7.3.1 y dibujar el espectro S / V vs. F / Khz.
Tabla 7.3.1
DEMODULACIN FSK 1. Alimentar con una seal cuadrada con /Tp = 50% , Am = 4 Vpp y Fm = 1 Khz en la entrada del amplificador del modulador ASK/FSK/PSK , mostrar la grafica en la salida bipolar del demodulador. 2. De manera conjunta mostrar la seal modulada Sm (t) y la seal remodulada Sd(t) en el diagrama 73.4. 3. Mostrar la seal modulada Sm(t) y la seal de control del VCO del demodulador FSK ( a la salida del filtro en lazo cerrado), dibuje o capture imagen de ambas seales en el diagrama 7.3.5, explique los resultados de esta prctica.
PROCEDIMIENTO
1. 2. 3.
Instalar el equipamiento como se muestra en la figura2. Alimentar una seal de onda cuadrada con fm = 10 Khz. Y Am = 2 Vpp en el modulador FSK va la entrada del amplificador. Caracterstica Dinmica de la seal ASK.- Visualizar en el ORC las siguientes seales: Sm(t): seal moduladora de onda cuadrada, unipolar en la salida de la entrada del amplificador. SAsk(t): seal ASK modulada en la salida del modulador de amplitud.
4. 5. 6.
Bosquejar los resultados de la seal ASK a la salida del modulador de frecuencia. Alimentar la seal moduladora en el modulador ASK va filtro pasa bajo. Para esto tienes que cambiar el plug puente. Repetir la medida y bosquejar los resultados, interpretar tus descubrimientos Sm(t): seal moduladora de onda cuadrada, unipolar en la salida del paso bajo SAsk(t): seal ASK modulada en la salida del modulador de amplitud.
7.
Espectro ASK: Registrar el espectro de la seal ASK afinado sin el filtro. Para ello chequea que la frecuencia de salida VCO en la salida FSK este sin modulacin.
El valor deseado es F VCO = 100 Khz. puede desviarse debido a los efectos de temperatura y la antigedad del equipo.
8. 9.
Alimentar con una seal de onda cuadrada de fm = 10 Khz directamente en el modulador ASK sin que est conectado a la entrada del amplificador y el LP entre ellos. Incrementar la amplitud Am de la seal de onda cuadrada a aprox. 5 V. Seleccionar en el Analizador estos valores: V1 = 2 V2 = 5, 10. Fr / Khz : 200 ; SPAN/ Khz : MAX. ; b/hz : 500
; T/ s : 40
10. Completar la tabla 7.2.1 y dibujar o capturar la imagen del espectro observado con el analizador. Ingrese la curva envolvente dentro del espectro de las bandas laterales. Con que regularidad esta curva es continua. 11. Ahora usar nuevamente la entrada del amplificador. Verificar la relacin marca espacio en la salida del amplificador de entrada, que efectos espera en el espectro si la relacin marca espacio de la seal modulada no es exactamente /Tp = 5/10?. Usar la tabla 7.2.2 y capturar la imagen obtenida en el analizador.
12. Repetir la toma del espectro usando el filtro. Alimente la seal moduladora a travs del filtro pasa bajo del modulador ASK, capturar la imagen y observar los cambios.
13. Ahora usar nuevamente la entrada del amplificador. Verificar la relacin marca espacio en la salida del amplificador de entrada, que efectos espera en el espectro si la relacin marca espacio de la seal modulada no es exactamente /Tp = 5/10? Usar la tabla 7.2.2y diagrama 7.2.4. 14. Repetir la toma del espectro usando el filtro. Alimente la seal moduladora a travs del filtro pasa bajo del modulador ASK, usar la tabla 7.2.3 y capturar la imagen obtenida en el osciloscopio.
DEMODULACIN 1. La seal ASK tiene una curva envolvente que varia con el tiempo, consecuentemente este puede ser demodulado usando un demodulador envolvente. Instalar el demodulador ASK/PSK ver Fig. 2, alimente la entrada del amplificador en el modulador ASK/FSK/PSK, con una seal cuadrada con /Tp = 50%, Am=4Vpp y Fm = 100 Hz. Visualizar la seal a la salida bipolar del demodulador ASK. Dibujar o capturar la imagen de la seal moduladora Sm(t) y la seal demodulada Sd(t) conjuntamente. Incrementar la frecuencia de la seal moduladora a fm = 10 Khz. Dibujar o capturar la imagen de la seal moduladora Sm (t) y la seal de salida del rectificador sncrono.
2.
3. 4.
5.
V. SIMULACIN SIMULACION PARA ASK: Usar Matlab para determinar las seales ASK , FSK Recomendacin: puede usar las funciones modulacin del Mathlab, les pongo unos ejemplos t=0.5e-3/40:0.5e-3/40:4e-3; t1=0.5e-3/40:0.5e-3/40:0.5e-3; s1=sin(2*pi*4e3*t1); s2=[s1 s1 s1 s1 s1 s1 s1 s1]; for i=1:length(x); s(i*40-39:i*40)=x(i)*s1 d(i*40-39:i*40)=x(i)*ones(1,40) end figure(1) subplot(3,1,1) plot(t,d,0,-0.1,0,1.1) grid title('modulacion por conmutacion de Amplitud(ASK)') subplot(3,1,2) plot(t,s2) grid title('seal portadora') subplot(3,1,3) plot(t,s) grid title('seal modulada') h=0:10^3/40:319*(10^3/40) figure(2) W=fft(d);
Cn=fftshift(W); magCn=abs(Cn); subplot(2,1,1) plot(h,magCn); grid; title('espectro de la seal de entrada ASK'); xlabel('Hertz----------->'); ylabel('Magnitud del espectro');
5
W=fft(s); Cn=fftshift(W); magCn=abs(Cn); subplot(2,1,2) plot(h,magCn); grid; title('espectro de la seal de entrada ASK') xlabel('Hertz----------->'); ylabel('Magnitud del espectro'); Despus ir ala ventana de comandos y darle un valor al vector x en este caso le daremos >> x = [1 0 1 0 1 0 1 0] Luego declaramos la funcin >> ASK(x) Y obtendremos las graficas
espectro de la seal de entrada ASK Magnitud del espectro 200 150 100 50 0
1000
2000
7000
8000
80 60 40 20 0
1000
2000
6000
7000
8000
modulacion por conmutacion de Amplitud(ASK) 2 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 x 10 seal portadora 1 0 -1 0 0.5 1 1.5 2 2.5 3 3.5 x 10 seal modulada 1 0 -1 0 0.5 1 1.5 2 2.5 3 3.5 x 10 4
-3
4
-3
4
-3
SIMULACIN DE FSK: Recomendacin: puede usar las funciones modulacin del Mathlab, les pongo unos ejemplos function modulacion_FSK=FSK(x) t=0.5e-3/40:0.5e-3/40:4e-3; t1=0.5e-3/40:0.5e-3/40:0.5e-3; s1=sin(2*pi*4e3*t1); s2=sin(2*pi*(4e3-2e3).*t1); %para el bit 0 s3=sin(2*pi*(4e3+2e3).*t1); %para el bit 1 s4=[s1 s1 s1 s1 s1 s1 s1 s1]; for i=1:length(x); if (x(i)==1) s(i*40-39:i*40)=s3 elseif (x(i)==0) s(i*40-39:i*40)=s2 end d(i*40-39:i*40)=x(i)*ones(1,40) end figure(1) subplot(3,1,1) plot(t,d,0,-0.1,0,1.1) grid title('modulacion por conmutacion de frecuencia(FSK)')
subplot(3,1,2) plot(t,s4) grid title('seal portadora') subplot(3,1,3) plot(t,s) grid title('seal modulada') h=0:10^3/40:319*(10^3/40) figure(2) W=fft(d); Cn=(1)*fftshift(W); magCn=abs(Cn); subplot(2,1,1) plot(h,magCn); grid; title('espectro de la seal de entrada FSK'); xlabel('Hertz----------->'); ylabel('Magnitud del espectro'); W=fft(s); Cn=fftshift(W); magCn=abs(Cn); subplot(2,1,2) plot(h,magCn); grid; title('espectro de la seal de entrada FSK') xlabel('Hertz----------->'); ylabel('Magnitud del espectro'); Despus ir a la ventana de comandos y darle un valor al vector x en este caso le daremos >> x = [1 1 0 0 1 1 0 0] Luego declaramos la funcin >> FSK(x) Y obtendremos las graficas
1000
2000
7000
8000
100
50
1000
2000
6000
7000
8000
modulacion por conmutacion de frecuencia(FSK) 2 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 x 10 seal portadora 1 0 -1 0 0.5 1 1.5 2 2.5 3 3.5 x 10 seal modulada 1 0 -1 0 0.5 1 1.5 2 2.5 3 3.5 x 10 4
-3
4
-3
4
-3
SIMULACIN PARA OBTENER PSK En un editor con extensin .m en Matlab escribir lo siguiente para la modulacin PSK function modulacion_PSK=PSK(x) t=0.5e-3/40:0.5e-3/40:4e-3; t1=0.5e-3/40:0.5e-3/40:0.5e-3; s1=sin(2*pi*4e3*t1); s2=sin(2*pi*4e3*t1+pi);
s3=[s1 s1 s1 s1 s1 s1 s1 s1]; for i=1:length(x); if (x(i)==1) s(i*40-39:i*40)=s1 elseif (x(i)==0) s(i*40-39:i*40)=s2 end d(i*40-39:i*40)=x(i)*ones(1,40) end figure(1) subplot(3,1,1) plot(t,d,0,-0.1,0,1.1) grid title('modulacion por conmutacion de fase(PSK)') subplot(3,1,2) plot(t,s3) grid title('seal portadora') subplot(3,1,3) plot(t,s) grid title('seal modulada') h=0:10^3/40:319*(10^3/40) figure(2) W=fft(d); Cn=fftshift(W); magCn=abs(Cn); subplot(2,1,1) plot(h,magCn); grid; title('espectro de la seal de entrada PSK'); xlabel('Hertz----------->'); ylabel('Magnitud del espectro'); W=fft(s); Cn=fftshift(W); magCn=abs(Cn); subplot(2,1,2) plot(h,magCn); grid; title('espectro de la seal de entrada PSK') xlabel('Hertz----------->'); ylabel('Magnitud del espectro');
Despus ir ala ventana de comandos y darle un valor al vector x en este caso le daremos >> x = [1 1 0 1 0 1 1 0] Luego declaramos la funcin >> PSK(x) Y obtendremos las graficas
espectro de la seal de entrada PSK Magnitud del espectro 200 150 100 50 0
1000
2000
7000
8000
100
50
1000
2000
6000
7000
8000
modulacion por conmutacion de fase(PSK) 2 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 x 10 seal portadora 1 0 -1 0 0.5 1 1.5 2 2.5 3 3.5 x 10 seal modulada 1 0 -1 0 0.5 1 1.5 2 2.5 3 3.5 x 10 4
-3
4
-3
4
-3
IV. SIMULACION Consideraciones generales para la simulacin. Hasta ahora hemos supuesto que las seales PCM transmitidas estaban codificadas en binario natural con o sin retorno a cero. Mientras algunos sistemas pueden transmitir directamente en binario natural, otros convierten las secuencias binarias originales en nuevas secuencias binarias, denominadas Cdigos de Lnea. Estas formas tienen algunas ventajas en trminos de facilidad de procesamiento y sincronizacin, requerimientos de ancho de banda, y otros factores.
En general, los cdigos de lnea deben cumplir, entre otras, con las siguientes condiciones: 1. Que la amplitud de la componente continua sea lo ms pequea posible. La componente continua, adems de demandar potencia adicional, produce derivas en la lnea de base de la seal. Por otro lado, la presencia de componentes continuas produce impulsos unitarios peridicos en el espectro, los cuales complican los circuitos de control automtico de ganancia en el receptor. Que las seales de temporizacin puedan ser fcilmente extradas de la seal recibida. La seal codificada debe poseer muchas transiciones o cruces por cero, aunque la seal original contenga largas secuencias de UNOS o CEROS. Que el contenido espectral sea el ms adecuado segn las caractersticas del medio de transmisin. El espectro deber estar contenido dentro de una banda restringida, es decir, deber ser cero en los bordes de la banda y mximo en el centro de la misma. Que la seal codificada pueda ser descodificada unvocamente para permitir la recuperacin fiel de la secuencia original. Para ello, el cdigo de lnea debe satisfacer la condicin del prefijo, esto es, ninguna palabra del alfabeto utilizado debe ser la primera parte de otra palabra. Tambin es deseable que la descodificacin pueda realizarse inmediatamente luego de recibida la secuencia. El cdigo debe ser eficiente para aprovechar al mximo la capacidad del canal y ser inmune a las interferencias y ruido, lo cual produce una elevada tasa de errores. Adems de los aspectos puramente tcnicos, hay que tomar en cuenta el aspecto econmico. Es deseable que el cdigo sea fcil de generar y detectar a fin de reducir la complejidad y costo del sistema. De esta manera se asegura una mayor confiabilidad.
2.
3.
4.
5. 6.
Es muy difcil que un solo cdigo pueda satisfacer todas las condiciones anteriores, y la seleccin de un determinado cdigo va a depender de la aplicacin usada.
V. PROCEDIMIENTO: Realizar la simulacin utilizando MATLAB de las secuencias aleatorias unipolar NRZ de amplitud A, unipolar RZ de amplitud A, bipolar NRZ de amplitudes A, bipolar AMI RZ de amplitud A y bipolar MANCHESTER de amplitud A. As como tambin la Funcin de Auto correlacin y la Densidad Espectral de Potencia. Considerar Tb = 1 seg. y el valor de A = 1 volt. Se pueden considerar otros valores en forma arbitraria, coordinando con el profesor. NRZ de amplitud A: Usar como ejemplo
RZ de amplitud A: Usar el presente cdigo como ejemplo y seguidamente el cdigo propuesto en su informe previo.
NRZ de amplitudes A.- Usar el presente cdigo como ejemplo y seguidamente el cdigo propuesto en su informe previo.
AMI RZ de amplitud A .- Usar el presente cdigo como ejemplo y seguidamente el cdigo propuesto en su informe previo.
MANCHESTER de amplitud A .- Usar el presente cdigo como ejemplo y seguidamente el cdigo propuesto en su informe previo.
Para el Informe Final: 1. Presentar los programas ejecutados. 2. Explicar las diferencias en el uso de estos cdigos en funcin a su aplicacin, errores etc. 3. Presentar un caso usando el cdigo que ms le convenga.
VI. SIMULACION UNIPOLAR NRZ function UNRZ(h) clf; n=1; l=length(h); h(l+1)=1; while n<=length(h)-1; t=n-1:0.001:n; if h(n) == 0 if h(n+1)==0 y=(t>n); else y=(t==n); end d=plot(t,y);grid on; title('Line code UNIPOLAR NRZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('zero'); else if h(n+1)==0 %y=(t>n-1)-2*(t==n); y=(t<n)-0*(t==n); else %y=(t>n-1)+(t==n-1); y=(t<n)+1*(t==n); end %y=(t>n-1)+(t==n-1); d=plot(t,y);grid on; title('Line code UNIPOLAR NRZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('one'); end n=n+1; %pause; end
0.5
-0.5
-1
-1.5
10
AMI NO RETORNO A ZERO function AMINRZ(h) clf; n=1; l=length(h); h(l+1)=1; ami=-1; while n<=length(h)-1; t=n-1:0.001:n; if h(n) == 0 if h(n+1)==0 y=(t>n); else if ami==1 y=-(t==n); else y=(t==n); end end d=plot(t,y);grid on; title('Line code AMI NRZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -10 10]); disp('zero'); else ami=ami*-1; if h(n+1)==0 if ami==1 y=(t<n); else y=-(t<n); end else if ami==1
y=(t<n)-(t==n); else y=-(t<n)+(t==n); end end %y=(t>n-1)+(t==n-1); d=plot(t,y);grid on; title('Line code AMI NRZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('one'); end n=n+1; %pause; end
Line code AMI NRZ 1.5
0.5
-0.5
-1
-1.5
10
12
14
16
AMI RZ function AMIRZ(h) clf; n=1; l=length(h); h(l+1)=1; ami=-1; while n<=length(h)-1; t=n-1:0.001:n; if h(n) == 0 if h(n+1)==0 y=(t>n); else if ami==1 y=-(t==n);
else y=(t==n); end end d=plot(t,y);grid on; title('Line code AMI RZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('zero'); else ami=ami*-1; if h(n+1)==0 if ami==1 y=(t<n-0.5); else y=-(t<n-0.5); end else if ami==1 y=(t<n-0.5)-(t==n); else y=-(t<n-0.5)+(t==n); end end d=plot(t,y);grid on; title('Line code AMI RZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('one'); end n=n+1; end
Line code AMI RZ 1.5
0.5
-0.5
-1
-1.5
10
12
14
16
MANCHESTER function MANCHESTER(h) clf; n=1; h=~h; l=length(h); h(l+1)=1; while n<=length(h)-1; t=n-1:0.001:n; if h(n) == 0 if h(n+1)==0 y=-(t<n)+2*(t<n-0.5)+1*(t==n); else y=-(t<n)+2*(t<n-0.5)-1*(t==n); end d=plot(t,y);grid on; title('Line code MANCHESTER'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('one'); else if h(n+1)==0 y=(t<n)-2*(t<n-0.5)+1*(t==n); else y=(t<n)-2*(t<n-0.5)-1*(t==n); end %y=(t>n-1)+(t==n-1); d=plot(t,y);grid on; title('Line code MANCHESTER'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('zero'); end n=n+1; %pause; end
0.5
-0.5
-1
-1.5
10
MILLER h=[1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0]; est_inicial=-1 clc close all con=est_inicial long=length(h) n=1; ac=[]; bits=[]; h(long+1)=0; while n<=long if h(n)==1 bit=[ones(1,100)]; s=[con*ones(1,50) -con*ones(1,50)]; con=con*-1; else bit=[zeros(1,100)]; s=[con*ones(1,100)]; if h(n+1)==0 con=con*-1; end end ac=[ac s]; bits=[bits bit]; n=n+1; s=[]; end subplot(2,1,1);plot(bits,'LineWidth',2); title('Seal de entrada'); set(gca,'xtick',0:100:100*long) axis([0 100*(length(h)-1) -2 2]) grid on
100 200 300 400 500 600 700 800 900 1000110012001300140015001600 Seal Codificada MILLER
2 1 0 -1 -2
100 200 300 400 500 600 700 800 900 1000110012001300140015001600
NOTA: Si le falta algun dato asuma un valor. III. EQUIPOS Y MATERIALES Una computadora Software Matlab IV. PROCEDIMIENTO INTRODUCCIN A LA SIMULACION DE CANALES. En la fig.1 se observa las etapas analgicas de un sistema de comunicaciones digitales en banda base.
N(t) ruido Filtro transmisor seal CANAL Filtro receptor
Fig. 1
Uno de los resultados ms interesantes del procesado de seal es que es posible procesar seales continuas mediante filtros digitales (ver Figura 2). Esto es, dado un sistema LTI continuo con respuesta al impulso h(t) y respuesta en frecuencia H(f) que para una entrada x(t)
da una salida y(t), es posible sustituirlo por un sistema en tiempo discreto equivalente, siempre que la seal x(t) se muestree cumpliendo el criterio de Nyquist.
x(t) Sistema continuo H(f) y(t)
x(t)
A/D
D/A
y(t)
Figura 2. Simulacin digital de un sistema continuo. Por tanto sustituiremos en nuestra simulacin los sistemas en tiempo continuo por sus equivalentes discretos. Es ms, como la entrada al filtro transmisor es una seal en tiempo discreto (los smbolos) podemos eliminar el A/D y sustituir el filtro transmisor por su equivalente discreto (de hecho, en la mayora de los sistemas reales de Comunicaciones Digitales los filtros transmisor y receptor se implementan digitalmente. De igual manera podemos sustituir el canal por su sistema digital equivalente, aadir a la seal de salida un ruido generado digitalmente de la misma densidad espectral de potencia del que existe en la realidad y filtrar la seal resultante por un filtro receptor digital. Si esta simulacin digital se lleva a cabo cuidadosamente, el efecto es exactamente igual al del sistema continuo. Adicionalmente, podremos enviar a la tarjeta de sonido cualquiera de las seales con el fin de observarlas en el osciloscopio y comprobar la veracidad de las simulaciones. Nota: Para que el entorno de simulacin funcione adecuadamente es necesario inicializar una serie de variables globales ejecutando el comando iniciar. Al ejecutar iniciar el programa le solicitar el nmero de experimento: >>Introduzca el nmero de experimento debe introducir un #. El programa deber responder: >>================================================= >> En esta sesin de MATLAB se utilizan 10 muestras por smbolo. >> Asumiendo un rgimen binario de 800 bits/seg, la frecuencia >> de muestreo es 8 [kHz]. >> La componente frecuencial ms alta que pueden manejar las >> rutinas MATLAB es menor o igual que 4.00 [kHz]. >> >>=================================================== Se utilizan 10 muestras por smbolo, con lo que una seal de comunicaciones binaria a 800 baudios se muestrear a 8 KHz (ancho de banda de simulacin 4 KHz). En el caso de que el programa no se comporte de esta manera, ejecute el comando clear global y repita la operacin. Si sigue sin dar los resultados previstos pregunte al profesor. Recuerde que si en algn momento ejecuta el comando clear o abandona Matlab deber ejecutar de nuevo iniciar. En esta seccin vamos a analizar el efecto de un canal en la seal transmitida utilizando la funcin channel:
PROCEDIMIENTO 1. Realizar la simulacin del programa, para ello usar los siguientes datos: Numero de smbolos: N=500 Numero de muestras por smbolo: m=10 Duracin del pulso: D=4 y D = 10 Rolloff: beta=0 Nmero de ojos: neye=3 2. 3. 4. 5. 6. Analizar el efecto de un canal en la seal transmitida utilizando la funcin channel. Comprobar el efecto de un canal limitado en banda sobre la seal de comunicaciones. Repetir el primer paso para diferentes anchos de banda: {2500, 1500,1000 y 500} En la parte 2: Generar una seal polar_nrz conocida. Observar cmo se genera un diagrama de ojo y como refleja la distorsin introducida por el canal en la seal x. 7. Usando codlin generar el diagrama de ojo de una seal NRZ polar de 4410 bps muestreada a 8. 9. 44100 muestras/s para valores de potencia de ruido s2 = {0.02, 0.1} sin limitacin en el ancho de banda (use Ancho de Banda = 21000Hz) y para s2 = 0.01 con anchos de banda
10. Bw={5000, 10000}. Obsrvese tambin en el osciloscopio. 11. Repita el apartado anterior con cdigo manchester 12. Realizar los procedimientos indicados para: filtro adaptivo para pulsos rectangulares, 13. detector de seales, receptor basado en filtro adaptivo. V. SIMULACIN: A continuacin a manera de apoyo se dan unos ejemplos para la simulacin solicitada. Codigo1. Funcin principal, que define los parmetros, origina la seal y genera el diagrama del ojo
% 2 posibles amplitudes: 1 bit por smbolo N=500; bits=3*round(rand(1,N))-1; %parmetros m=10;%muestras por intervalo de smbolo D=4 ;%duracin del pulso rc, en intervalos de smbolo en seg; D tiene que ser par beta=0;%roll off ; %entrada del filtro formador in=zeros(1,N*m); in(1:m:end)=bits; %respuesta al impulso del filtro formador: pulso raised cosine ps=rc(D,m,beta); %generacin de la seal transmitida (analgica) tx=filter(ps,1,in);
%Para graficar el diagrama de ojo de la seal tx se puede usar el siguiente cdigo: diagrama de ojo x=tx(50*m:end); neye=2;c=floor(length(x)/(neye*m)); xp=x(end-neye*m*c+1:end); plot(reshape(xp,neye*m,c)); xlabel('tiempo(muestras)'); ylabel('Amplitud');
Diagrama del ojo para una seal con una duracin de pulso de 4:
Diagrama del ojo para una seal con una duracin de pulso de 4:
Codigo2. Funcin del coseno alzado function s=rc(syms,P,beta); if ( beta==0.5 ) % if beta==0, srrc == sinc x = srrc(syms/2,P,0); [t i]=max(x); % normalize amplitude to 1 s=x./x(i) ; else x =srrc(syms/2,P/2,beta) ; s =conv(x,x) ; end Diagrama del ojo para una seal con duracin de pulso D=10 y beta = 0.5
Codigo3. Funcin del coseno alzado cuadrtico medio function s=srrc(syms,P,beta); k=-syms*P+1e-8:syms*P+1e-8; %numerical problems if beta=0 if(beta==0),beta=1e-8;end; %calculation of srrc pulse s=4*beta/sqrt(P)*(cos((1+beta)*pi*k/P)+... sin((1-beta)*pi*k/P)./(4*beta*k/P))./(pi*(116*(beta*k/P).^2)); end
VI. ELABORACIN DE RESULTADOS. Capturar las imgenes obtenidas en la simulacin y analizarlas. VII. PREGUNTAS PARA EL INFORME FINAL: 1. Que informacin obtiene del diagrama de ojo, detallar cada uno de ellos. 2. En qu casos se usa?
II. EQUIPOS Y MATERIALES Una computadora Software Matlab III. CONSIDERACIONES GENERALES.
En los sistemas de comunicacin, para algunas aplicaciones se deben de considerar aspectos tales como la capacidad o robustez contra interferencias (espontneas o maliciosas), capacidad para acceso mltiple a un medio y baja probabilidad de intercepcin, aspectos que son de gran importancia. Estos objetivos se pueden optimizar aplicando las tcnicas del espectro disperso (spread spectrum, SS). Existen varias tcnicas de dispersin del espectro. Para ser considerado como un sistema SS, el sistema debe satisfacer los criterios siguientes: 1. Que el ancho de banda de la seal transmitida sea mucho mayor que el ancho de banda de la seal mensaje m(t). 2. Que la dispersin del ancho de banda de la seal transmitida sea producida por una seal s(t), denominada seal dispersora, independiente de m(t), y que la seal s(t) se pueda reproducir en el receptor a fin de extraer la seal mensaje m(t) de la seal transmitida. Una seal dispersora que permite cumplir con estos dos criterios es justamente la seal seudoaleatoria o secuencia PN. Los sistemas SS de ms aplicacin en la prctica son: Sistemas SS de Secuencia Directa (Direct Sequence Spread Spectrum, DSSS).
Sistemas SS mediante Conmutacin de Frecuencias (Frequency Hopping Spread Spectrum, FHSS). Consideremos entonces el modelo de un sistema PSK/DSSS mostrado en la Fig. 1
IV. PROCEDIMIENTO Mediante MatLab Simular la seal c(t) generada a partir de un registro realimentado de TRES Flip Flop, donde inicialmente se encuentran los bits 110 el cual genera una secuencia de 7 Bits, b(t) se deben generar a partir de la digitalizacin de la palabra (voz) murcilag murcilago. NOTA.- Obtener la seal WAV del murcilago de Internet y llevar al laboratorio en un USB. Simular la Modulacin DS DS-SS y Modulacin Pasa-Banda DS-SS, cuyo diagrama se SS, adjunta.
V. SIMULACIN Codificacin en MATLAB de la modulacin DSSS function[x]=dsss(tiempoinf,paso,tb,a,b,c) figure bp=up(b); subplot(3,1,1) pb(tiempoinf,paso,tb*7,a,b); title('Seal de informacion (b)') cp=up(c); subplot(3,1,2) pb(tiempoinf,paso,tb,a,c); title('Seal de codigo (c)') s=bp*cp; sl=mv(s); subplot(3,1,3) x=pu(sl); pb(tiempoinf,paso,tb,a,x); title('Seal modulada ')
FUNCION QUE PLOTEA LOS BITS: function[y]=pb(tiempoinf,paso,tb,a,s) nb=length (s); tiemposup=tiempoinf+nb*tb; t=[tiempoinf:paso:tiemposup]; i=1; indice=1; n=length(t); while(i<nb+1) while(t(indice)<i*tb) if(s(i)==0)
y(indice)=-a; indice=indice+1; y(n)=-a; end if(s(i)==1) y(indice)=a; indice=indice+1; y(n)=a; end end i=i+1; end plot(t,y,'r','LineWidth',2) grid on
FUNCION QUE TRANSFORMA UNA MATRIZ EN UN VECTOR FILA: function[cl]=mv(c) s=size(c); m=s(1); n=s(2); for l=1:m; for p=1:n; i=n*(l-1)+p; cl(1,i)=c(l,p); end end
CODIFICACIN EN MATLAB DE LA MODULACIN PASO BANDA DSSS function[q]=pbdsss(tiempoinf,paso,tb,a,x) nb=length (x); tiemposup=tiempoinf+nb*tb; t=[tiempoinf:paso:tiemposup]; figure subplot(3,1,1) pb(tiempoinf,paso,tb,a,x); title('Seal modulada DSSS') subplot(3,1,2) [y]=pb(tiempoinf,paso,tb,a,x); [k]=ps(tiempoinf,paso,tb,a,x); title('Seal Sinusoidal ') q=y.*k; subplot(3,1,3) plot(t,q) title('Seal modulada PASO BANDA DSSS') grid on Ingresando la palabra murcielago dentro del Matlab >> y=wavread('murcielago') plot(y)
>>q=pbdsss(0,0.01,1,1,x);