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