Tarea 5

Page 1

Ricardo Alejos, Misael Hernández Fundamentos de Sistemas de Comunicación

Tarea 05 Acerca de esta tarea

s1 = b; s1(s1==0) = -1; s = zeros(1,(numel(b)-1)*mp+1); s(1:mp:end) = s1;

El propósito de esta tarea es calcular de forma experimental el ancho de banda de algunos códigos de línea. Para esto es necesario primero aprender a diseñar las señales con diferentes tipos de pulsos.

Finalmente, la secuencia de pulsos transmitidos puede generar con la convolución siguiente:

Aunque la señal de pulsos es analógica, el procesamiento y simulación en Octave y Matlab necesariamente es discreto. Lo primero que tenemos que decidir es la cantidad de muestras que tendremos por pulso. Supongamos que utilizamos nueve muestras:

se

x = conv(s,p); En la figura (1) se muestra la señal de pulsos triangulares .

mp=9; % muestras por pulso 1

Supongamos ahora que queremos utilizar un pulso triangular. Definimos un vector con forma triangular de nueve muestras.

0.5

0

p= triang(mp); % pulso triangular de 20 muestras.

-0.5

-1 0

Definimos ahora un mapeo como sigue

5

10

15

20

25

30

Figura 1. Gráfica de la señal x.

{

Ahora bien, la duración de cada pulso y la tasa de bit dependen de la definición de muestreo. Por ejemplo, si definimos entonces tenemos

Finalmente, supongamos que queremos transmitir la secuencia de bits

b=[1 0 1];

En cambio, si

Para generar la se;al correspondiente a esa secuencia, se puede utilizar la siguiente estrategia:

, entonces ⁄

1. Crear un vector con el mapeo de a amplitudes 1 y -1, espaciadas 9 muestras. 2. Convolucionar con .

Ejercicio 1 Enunciado Utilizando el miso archivo .wav que en las tareas pasadas, lea los primeros 160 bits del archivo. Para hacer esto es necesario:

El vector sería: s=[1 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 1];

1. Leer el archivo .wav, convirtiéndolo a mono. Una forma automática de generar este vector es:

1


Ricardo Alejos, Misael Hernández Fundamentos de Sistemas de Comunicación 2. Convertir las muestras a enteros, de forma que el valor más pequeño corresponda a 0 y el más grande a 65,535 (con una regla de tres). 3. Quedarse únicamente con las primeras 10 muestras (si las primeras son cero es porque el audio tiene silencio al inicio, busque otras 10 muestras donde sí haya señal). 4. Convierta estas muestras a binario.

Determine el mapeo de bit a amplitud de pulso en cada caso.

Solución Para conseguir los códigos de línea utilizamos el siguiente código manchester=[1,1,1,1,-1,-1,-1,-1]; bipolarrz=[1,1,1,1,0,0,0,0]; unipolarnrz=[0.5,0.5,0.5,0.5,0.5,0.5,0.5 ,0.5];

Después de estos pasos deben tener un vector con 160 bits.

Solución

Ejercicio 3

Para lo anterior utilizamos el siguiente código name='MiCancion'; [y1,fs,bits]=wavread(strcat(name,'. wav')); y2=y1(1:10)+1; y3=(65535/2)*y2; y4=fix(y3); a=y4; b=dec2bin(a); c=double(b)-48; d=reshape(c',1,numel(c)); e=(d+1)*10000000; f=num2str(e,8); g=strrep(f,' ',''); h=double(g); x1=(g==50); x2=(g==49)*-1; x3=x1+x2;

Enunciado

Con ello efectivamente se obtiene un vector de 160 bits con el formato indicado en la descripción de esta tarea.

Y las gráficas que obtuvimos fueron:

Genere las señales transmitidas para los tres códigos de línea.

Solución Para obtener las señales y graficarlas utilizamos el siguiente código: z1=conv(x3,manchester); z2=conv(x3,bipolarrz); z3=conv(x3,unipolarnrz)+.5; figure; stairs(z1(1:1280)) figure; stairs(z2(1:1280)) figure; stairs(z3(1:1280))

2 1.5 1 0.5

Ejercicio 2

0 -0.5 -1

Enunciado

-1.5

Diseñar pulsos para transmitir con los códigos de línea Unipolar NRZ, Bipolar RZ, y Manchester, suponiendo que tenemos 10 muestras por pulso.

-2 0

200

400

600

800

1000

1200

Figura 2. Canción codificada con código de línea Manchester.

2


Ricardo Alejos, Misael Hernández Fundamentos de Sistemas de Comunicación Magnitude spectrum 2

0.2

1.5 1

0.15

Amplitude

0.5 0

0.1

-0.5 -1

0.05

-1.5 -2 0

200

400

600

800

1000

0 -1000

1200

-500

0

500

1000

Frequency (Hz)

Figura 3. Canción codificada con código de línea Bipolar RZ.

Figura 5. Espectro de la señal codificada con código de línea Manchester.

2 Magnitude spectrum 0.1

1.5 1

0.08 0.5

Amplitude

0 -0.5 -1

0.06

0.04

-1.5 0.02 -2 0

200

400

600

800

1000

1200 0 -1000

-500

0

500

1000

Frequency (Hz)

Figura 4. Canción codificada con código de línea Unipolar NRZ.

Figura 6. Espectro de la señal codificada con código de línea Bipolar RZ. Magnitude spectrum

Ejercicio 4

0.5

0.4

Amplitude

Enunciado Grafique el espectro y estime el ancho de banda de la señal generada con cada código de línea. Compare con los espectros graficados en la figura del libro de Couch y, si hay diferencias, explíquelas.

0.3

0.2

0.1

0 -1000

-500

0

500

1000

Frequency (Hz)

Solución

Figura 7. Espectro de la señal codificada con código de línea Unipolar RZ.

El código utilizado para generar los espectros está basado en la función “spectrum” :

Después de hacer un breve análisis a los anchos de banda observables en las gráficas obtenemos los siguientes resultados:

[f1,a1,p1]=spectrum(z1,1/length(z1) ,length(z1),0,2); [f2,a2,p2]=spectrum(z2,1/length(z2) ,length(z2),0,2); [f3,a3,p3]=spectrum(z3,1/length(z3) ,length(z3),0,2);

Código de Ancho de Ancho de Ancho de línea banda banda de banda de absoluto los 3dB cruce por cero Manchester 325 Hz Bipolar RZ 321 Hz Unipolar 160 Hz RZ

Y las gráficas que obtuvimos fueron:

3


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.