Você está na página 1de 15
estreo y cuantificacién La sefial de la voz es continua en el tiempo y en amplitud. Para que pueda ser procesada por hardware(y software) digital es necesario convertirla a una seflal que sea discreta tanto en el tiempo como en amplitud. Muestreo El muestreo consiste en el proceso de conversion de sefiales continuas a sefiales discretas en el tiempo. Este proceso se realizada midiendo la sefial en momentos periddicos del tiempo. ‘Veamos un ejemplo, dada la siguiente sefial continua : ‘Tras muestrearla, obtenemos la siguiente sefial discreta : En el ejemplo anterior hemos visto el efecto de muestrear una sefial sinusoidal. Si aumentamos el nimero de muestras por unidad de tiempo, la sefial muestreada se parecera mis a la sefial continua. El ntimero de muestras por segundo se conoce en inglés como el bit-rate. Si el bit-rate es lo suficientemente alto, la sefial muestreada contendra la misma informacion que la sefial original. Respecto a esto, el criterio de Nyquist asegura que para que la sefial muestreada contenga la misma informacién que la-continua, la separacion minima entre dos instantes de muestreo debe ser 1/(2 W) , siendo W el ancho de banda de la sefial. Dicho de otra forma, que la frecuencia de muestreo debe ser mayor o igual que 2 W. Otro concepto basico relacionado con la codificacién de la voz es la cuant La cuantificacion es la conversion de una sefial discreta en el tiempo evaluada de forma continua a una sefial disereta en el tiempo diserétamente evaluada, El valor de cada muestra de la sefial se representa como un valor elegido de entre un conjunto finito de posibles valores. Se conoce como error de cuantificacién (0 ruido), a la diferencia entre la sefial de entrada (sin cuantificar) y Ia sefial de salida (ya cuantificada), interesa que el ruido sea lo ms bajo posible. Para conseguir esto, se pueden usar distintas técnicas de cuantificaciéi Sefal Sefial en sefial analégics tiempo discreto ‘cuantificada Cuantificaci icadores uniformes (0 lineales) la distancia entre los niveles de reconstruccién es siempre la misma, como se observa en la siguiente figura: No hacen ninguna suposicién acerca de la naturaleza de a sefial a cuantificar, de ahi que no proporcionen los mejores resultados. Sin embargo, tienen como ventaja que son los mis faiciles y menos costosos de implementar. En la siguiente figura se ve un ejemplo de cuantificacién uniforme: Las seftales de voz pueden tener un rango dinamico superior a los 60 dB, por lo que para conseguir una alta calidad de voz se deben usar un elevado mimero de niveles de reconstruccién. Sin embargo, interesa que la resolucin del cuantificador sea mayor en las partes de la sefial de menor amplitud que en las de mayor amplitud. Por tanto, en Ia cuantificacién lineal se desperdician niveles de reconstruccién y, consecuentemente, ancho de banda. Esto se puede mejorar incrementando la distancia entre los niveles de reconstraccin conforme aumenta la amplitud de la sefial. Un método sencillo para conseguir esto es haciendo pasar la sefial por un compresor logaritmico antes de la cuantificacion. Esta sefial comprimida puede ser cuantificada uniformemente. A la salida del sistema, la sefial pasa por un expansor, que realiza la funcién inyersa al compresor. A esta técnica se le Hama compresién. Su principal ventaja es que es muy fécil de implementar y funciona razonablemente bien con sefiales distintas ala dela voz. Para evar a cabo la compresién existen dos funciones muy utilizadas: Ley-A (utilizada principalmente en Europa) y ley-p(utilizada en EEUU). Ley-A: Ley: En la mayoria de lo sistemas telefonicos, A se fija a 87.56 y pa 255, La siguiente figura muestra la gréifica de la ley-jt para distintos valores de p: El problema de la cuantificacién uniforme es que conforme aumenta la amplitud de la sefial, también aumenta el error. Este problema lo resuelve el cuantificador logaritmico de forma parcial. Sin embargo, si conocemos In funcién de la distribucién de probabilidad, podemos ajustar los niveles de recontruccién a la distribucién de forma que se minimice el error cuadrsitico medio. Esto significa que la mayoria de los niveles de reconstruccién se den en la vecindad de las entradas més frecuentes y, consecuentemente, se minimice el error (ruido).. La siguiente figura representa la cuantificacion no uniforme: En la practica, se puede usar una estimacién de la distribucién para disefiar los cuantificadores. Esta estimacién se puede obtener a partir de los datos a cuantificar de forma iterativa. En los métodos anteriores, cada muestra se cuantificaba lependientemente a las muestras vecinas. Sin embargo, la teoria demuestra que ésta no es la mejor forma de cuantificar los datos de entrada. Resulta mis eficiente cuantificar los datos en bloques de N muestras. El proceso ¢s sencillamente una extension de los anteriores métodos escalares descritos anteriormente. En este tipo de cuantificacién, el bloque de N muestras se trata como un vector N-dimensional. En la siguiente figura vemos un ejemplo de cuantificacién vectorial (VQ) en dos dimensiones: El plano XY esta dividido en seis regiones distintas. El vector de entrada (con dos componentes) se reemplaza se reemplaza por el centroide i (representa todos los vectores de una determinada regién i) de la regién a la que pertenece. La cuantificaci6n vectorial ofrece mejores resultados que la cuantificacién escalar, sin embargo, es mas sensible a los errores de transmisién y Heva consigo una mayor complejidad computacional. En el siguiente apartado encontrara la clasificacién general de los codificadores de voz. lasificacion Ds iz, Los codificadores de voz se clasifican en tres grandes grupos, a saber: * codificadores de la forma de onda = vocoders + codificadores hibridos En el primer grupo, codificadores de forma de onda, se engloban aquellos codificadores que intentan reproducir la forma de Ja onda de la sefial de entrada sin tener en cuenta la naturaleza de la misma. Estos, en funcién de en qué dominio operen, se dividen en: * codificadores en el dominio del tiempo ‘+ codificadores en el dominio dela frecuencia Este tipo de codificadores proporcionan una alta calidad de voz a bit rates medios, del orden de 32 kb/s. Sin embargo, no son utiles cuando se quiere codificar a bajos bit rates. En el grupo de vocoders estin aquellos codificadores que si tienen en cuenta la naturaleza de la seiial a codificar, en este caso la voz, y aprovechan las caracteristicas de la misma para ganar en eficiencia. Permiten trabajar con muy bajos bit rates, pero la sefial de voz que producen suena demasiado sintética. En el tercer grupo, los codificadores hibridos, encontramos aquellos que combinando técnicas de los vocoders y de los codificadores de la forma de la onda atinan las ventajas de ambos, permitiendo una alta calidad de voz a bajos bit rates. 1. Ejercicio 1: Cuantificacién 1.1. Cuantificacién Uniforme Ecrba el ebdigo de un cuantfeador uniforme simétrco, sin nivel de reconstruceion igual «0, de S bits (niveles de 1 al 32), que ser guardado en BCwUni forme.m. Se sari ao~Vusnnapi™-2 Volvos El programa cibujar la representaciGn temporal y el histograma de las siguientes seals: © Sefial original © “Sefial” cuantificada Seta reconstrida ©. Sofial de error El programa debera presentar por pantalla la potencia de error total calculada mediante: Perror = aun(arror."2) El programa deberd permitir ver el eédigo que se asignaria (esto es, al menos el valor decimal del intervalo de euantificacién). Dibuje eindique los valores de decisién y econstruccién del euamtificador uniforme smetrco, sin nivel de econstruccién igual a0, de S bits, y valor de sobrecarga V. Calenle los e6digos, valores de reconstrucaién y eror de as siguientes muestas 3 volts fica (1.32) Valor de reconstruecion Error de cuantificacin © V2-0.7 voltios Palabra cusntifieada (1.32) Valor de reconstruceién Error de cuanifcacign © ¥3=0.25 voltios Palabra cuantificads (1.32) Valor de reconstruccion Enorde cuantifieacion 3 Una vez desarollado el codificador, jeute el programa sobre el ichero de audio sample audio.mat y dibuje (mediante el programa MATLAB) fs graticas con sus correspondientes etiquetas 6 indicando los valores de los ees de © Seta original, “Seal” cuantifcada, Seal reeonstruide, Seial de eror Cateute la potencia de error y el valor maximo del error Potencia de error Emor maximo Y Comente les resultados 1.2. Cuantificacién No uniforme Eseriba el ebdigo de un cuantifieador po G. 7/1 de bits (1 pata sieno,2 para seamnentos, 2 para interalos del cuanifeador uniforme de cada segmento), que sera guardado en PCHNUni oxme -m. Se usar Vater 2 Volos. El programa dibujard la representacin temporal y el histograma dels siguientes seas © Sefial original © “Sef” cuantificada 6 Sei reconstruda © Seta de error El programa debert presentar por pantalla la potencia de error total calculada mediante: Porror = sua(azror."2) [El programa deberd petmitir ver el eédigo que se asignaria (esto es, al menos el valor decimal del signo, segmento de cuantilicacién e intervalo de cuantificacion), 4 Dibuje ¢ indique los valores de decisién y reconstruccién del cuantificador no uniforme po G.777 de 5 bits, y valor de sobrecarga V. Caleute los eédigos, valores de reconstruccion y error de las siguientes muestras: © VI=I.3 voltios Palabra cuantificada Valor de reconstruceién Emor de cuantificacién © ¥2=0,7 voltion Palabra cuantificads Valor de reconstruccién Error de cuantificacion © ¥3=0.25 voltios Palabra cuantificada Valor de reconstruccién Brror de cuantifieacién 3 Una vez desasrollado el codificador, ejecute el programa sobre el fichero de audio sample_audio.mat_y dibuje (mediante el programa MATLAB) las grificas con sus correspondientes etiquetas € indicando los valores de los ejes de: © Sefial original, “Setal” cuantificada, Setial reconstruida, Sefial de error Calcule fa potencia de error y el valor maximo del error Potencia de error Error maximo ‘Comente los resultados ‘Compare y comente los resultados de los dos cuantificadares OBJETIVOS El objetivo de esta prictica es familiarizar al alumno con la generacién y adquisicién de setales de comunicaciones atendiendo a aspectos tales como el muestreo, el aliasing y los efectos de la cuantificacién, Posteriormente se estudiard la caracterizacién de sefiales de comunicaciones y el ruido ‘mediante histogramas, densidad espectral de potencia y autocorrelacién. Finalmente se estudiarin los cédigos de linea mas comunes y su densidad espectral de potencia asi como el efeto del ruido en los mismos. Para la realizacién de esta prictica es conveniente que el alumno Heve al Iaboratorio unos auriculares que le permitan escuchar las distintas seftales generadas. 1. MUESTREO Y RECONSTRUCCION DE SENALES a) Generacién de sefiales. Generar en MATLAB un seno de frecuencia 2KHz y amplitud 0.5 muestreado a distintas frecuencias de muestreo. Dicha seflal se observari tanto en el ordenador como en el osciloscopio, siendo posible, asi mismo, escucharla. % frecuencia del tono a generar % frecuencia de muestreo de referencia para los dibujos No= fso'te-3; to=(0:No-1)/fs0; % representaremos 1 ms de la sefial in(2*pi'fto); _% sefial de referencia (muy sobremuestreada) for fs=[44100 22050 11025]; Nefs*1; n° de muestras, p.e. 44100 muestras/s * 1 s = 44100 muestras t= (0:N-A)ifs; Vector con los instantes de muestreo: 1's a fs Hz 0.5'sin(2*pi't't); _ % Seftal muestreada frec_muestreo(fs); (x5); % Reproducimos la seftal 5 veces (5 s) con la tarjeta de sonido plot(to“1e3,xo,'k',t'1e3,x,'b-o'}:axis({0,1,-1,4)}; legend('Sefial originar’,’Sefial muestreada’);xlabel{'milisegundos') pause;cierra(0); _-% Se finaliza la generacién cuando se pulse una tecla end Notar que es necesario sobremu strear (por un factor superior a 10) para que el “dibujo” de MATLAB se parezea a Ja sefial de tiempo continuo. Sin embargo, mientras se cumpla el teorema de muesiteo, Ia sefial observada en el osciloscopio o escuchada con los auriculares es, efectivamente, un seno de 2 KHz. 1b) Muestreo incorrecto, Generar en MATLAB un seno de frecuencia 9 KHzy amplitud 0.5 muestreado a distintas frecuencias de muestreo, Dicha sefial se observard tanto en el ordenador como en el osciloscopio y se escuchar con los auriculares, f=9000; % frecuencia de la sefial senoidal fso=106; % frecuencia de muestreo de referencia para los dibujos Nos fs0'20-3; to=(0:No-t)ifso; % representaremos 2 ms de la sefial x0=0.5'sin(2*pi'f'to); _% sefial de referencia (muy sobremuestreada) for fs=[44100 22050 11025}; Nefs"4; bo n® de muestras en un segundo a fs muestras/s t=(0:N-1)/f53 % Vector con los instantes de muestreo: 1s afs Hz x0.5'sin(2*pi'f't); _ % Senial muestreada frerem(f,fs);frefr-fs.*(fr>fs/2); % frecuencia de sefial reconstruida (con posible aliasing) xr=0.5*sin(2*pi"fr'to); % Senal reconstruida plot{1e3"to,xo,'k’,1¢3"t,x,'r-0'};legend('Senal original’,'Sefial muestreada’); xxis({0 1-1 4]) 10 title(sprintf( ‘rec. seni xlabel(t (ms)’) uiwait{msgbox('Observe en la grafica la sefial original y la sefial muestreada. Luego pulse “OK para escuchar y ver la sefial reconstruida’)) plot(te3*to,xo,’k',1e3"t,x,'r-0',1e3"to.xr,'b}); legend‘originar’,'muestreada’,'reconstruida’ title(sprintf(‘rec. sefial:%iHz frec. muestreo:"hiHz periodo muestreo: %fms',ffs,1e3/fs)) xlabel(‘t (ms)') frec_muestreo(ts); envia(x,5); % Reproducimos la sefial 5 veces (8 s) con lat pause;cierra(0) end iHz frec. muestreo:%iHz period muestreo: %fms' f,fs,1e3/fs)) jeta de sonido Notar como, para ciertas frecuencias de muestreo (aquellas para las que no se cumple el teorema de muestreo), fa sefial reconstruida no se corresponde con la sefial original de 9 KHz. ,Cuiles son dichas frecuencias?. ¢Cual seria la frecuencia minima de muesireo para la seftal de 9 KHz?. ©) Efecto del aliasing, En este ejercicio, un alumno generard un seno de frecuencia 9 KHz y amplitud 0.5 con una frecuencia de muestreo de 44100 muestras/s tal y como se hizo en anteriores ejercicios, El compafiero debera adquitir dicha sefal utilizando diversas frecuencias de muestreo. Conectar las RX del Alumno2 y gjecutar el siguiente eddigo: la TX del Alumnol con la entrada ALUMNOI (el que mera la seal) % frecuencia de la sefial senoidal % frecuencia de muestreo 4); % generaremos 1 s de la sefiat .5*sin(2"pi'tt); ‘% senal original frec_muestreo(fs);envia(x,60);_% Reproducimos la sefial 60 veces (1 minuto) ‘% Ahora el Aiumno2 debera ejecutar su cédigo ‘% pulsar una tecla cuando haya finalizado el Alumno2 ALUMNO? (el que adquiere fa seal) fs1=44100;N1=1"ts1;t1=(0:N1-1)/fs1; % Numero de muestras en 1 sg a fs1 muestrasis frec_muestreo(fs1: -cibe(1,N1); % Adquirimos N1 muestras (1 seg.) a fs1 muestrasis *% Se adquieren x2 y x3 a 22080 y 11025 muestrasis respectivamente 52=22050;N2=1"fs2;t2=(0:N2-1)/fs2:frec_muestreo(fs2);x2=recibe(1,N2); fs3=11025;N3=1"fs3;t3=(0:N3-1)/fs3:frec_muestreo(fs3);x3=recibe(1,N3); Mientras el Alumnol gjecuta su programa (genera fa seflal), el Alumno2 ejecuta el suyo de forma que adquiere las ‘cuatro seftales x1, x2 y x3 (con tres frecuencias de muestreo distintas). El Alummno2 puede observar las seiiales adquiridas haciendo, por ejemplo: a plot{tt x1,"rt2,x2,'b't3,x % dibuja todas las sefiales axis({0 12-3 -1 1]) % observamos el primer milisegundo (use también el zoom) Razone que es lo que ha ocurtido, Ahora, el Alumnol debe observar la sefial original en el canal | del osciloscopio (cjecutando envia(x,100) y conectando su sefial al canal 1 del osciloscopio). Simulténeamente, el Alumno2 debe observar en ef canal 2 una cualquiera de las sefiales —adquiridas. (pe, _ejecutando frec_muestreo(fs3);envia(x3,100)), calcule su frecuencia, compérela con la del canal 1 y compruebe en que casos el muestreo no ha sido correcto. 2. CUANTIFICACION DE SENALES Los sistemas digitales, asi como los conversores A/D y D/A, poseen una resolucién finita, marcada por el imero de bits. Este hecho limita la precisién con la que las sefiales pueden ser adquiridas, generadas y procesadas. En este experimento se trata de euantificar, con distintas precisiones, una sefial de voz contenida en el fichero voz.mat. De esta forma, el alumno podré observar como afecta el nimero de bits de cuantificacién al nivel del error de cuantificacién, a la relacién sefial a ruido de cuantificacién, @ la funcién densidad de probabilidad del ervor y a su densidad espectral de potencia a) Cargamos la seftal de voz y observamos su histograma, lo que nos dari idea de la funcién densidad de probabilidad de la seftal de voz. frec_muestreo(11025); % frecuencia de muestroo 11025 Hz load voz.mat % en la variable x tenemos la seftal de voz close all;subplot(221);hist(x,50) % la funcion hist(x) dibuja el histograma del vector x title(Histograma sefial originat’);xlabel{'Vottios') b) Dibuje Ia densidad espectral de potencia (DEP) de In sefial de voz, de manera que pueda observar que frecuencias poseen mas potencia. Utilize la funcion: sxzespect (sefial, niimero_de_puntos, frecuencia_méxima) El nimero_de_puntos afecta a la estima del espectro, cuanto mayor sea, més muestras se obtienen, pero también mds Variabilidad. La freewencia_maxima determina el limite superior (el inferior es cero) del cje de abcisas al dibujar el espectro. Si se utiliza una variable de salida sx, en ella se obtienen las muestras del espectro, si no se utiliza ninguna, la funcién lo dibuja. Si no se incluyen el ntimero_de_puntos o la frecuencia_méaxima toma valores por defecto. subplot(222);espect(x,200); title( DEP de la sefial original; % dibuja la dep 2 ©) Cuantificacién de Ia seftal de voz utilizando 10 bits por muestra xq=ouantifica(x,10); % cuantificamos la sefial con 10 bits error=x-xq; subplot(224);espect(xa,100);axis({0 6-110 40) % espectro de la sefial cuantificada hold on;espect(error,100);hold off % espectro del error de cuantificacion gridslegend(’Sefial Cuantificada’ Error Cuantificacién’) subplot(223);hist(error,20) % histograma del error de cuantificacién title('Histograma error’);xlabel(‘Voltios');pause; hist(xq,50); title(Histograma sefial cuantificada’);xlabel('Voltios’); SNRq=10"log10(mean(x.*2)Imean(error.*2)) __ % Relacién sefial-ruido de cuantificacion envia({ x , xq }/2);pause;cierra(0) % izda = original dreha = cuantificada 4) El alumno deberd repetir el apartado ¢) para distinto nimero de bits (probar con 8, 6 y 4) observando cémo afecta dicho niimero al espectro de Ia seftal cuantificada y del error; al histograma del error; y a la calidad de la seftal cuantificada, tanto cuantitativa (SNRq) como cualitativamente (al observarla en el osciloscopio y escucharla) 3. GENERACION DE SENALES DE COMUNICACIONES En la actualidad, fa inmensa mayoria de los sistemas de comunicaciones digitales son implementados totalmente (salvo las etapas de radiofrecuencia) en el dominio discreto mediante microprocesadotes, DSP's u otros circuitos integrados digitales. En la figura 1 se muestra un esquema tipico de un transmisor digital banda base. Ce bits simboles muestras sefial Sistema Digital Discreto 13 Figura 1. Sistema de comunicaciones en banda de base. Es importante que el alumno comprenda ta relacién entre velocidad binaria (Ry bits/s), velocidad de simbolo (R, baudios o simbolos por segundo) y frecuencia de muestreo de la seftal de linea (f muestras/s) para sefiales de comunicaciones del tipo x(t) = DA, ht-nT) 4 a) Generaremos una sefial conformada triangularmente de 1102.5 bits/sg con distintas freeuencias de muestreo, es decir, distinto niimero de mugstras por simbolo. 010110010}; % bits bt; simbolos subplot(212);stem(b);title( bits); subplot(211);stem(A);titlo('simbolos');pause Yédibujamos las secuencias de bits y simbolos 100;frec_muestreo(ts1); ‘% 40 muestrasisimb, f5=44100Hz > Rs=44100/40=1102.5 baudios x1=filtro_tx(A,N1); t1=(Oslength(xt)-1)ffs1; % vector de tiempos para el dibujo plot{tt,x1,"-o'}title('sefial de linea’) % dibujamos las muestras de la sefial de linea envia({xt ; 1 zeros(1,length(xt)-1)}/2,00); % observe la sefal en el osciloscopio pause;cierra(0); % realice el Trigger con el canal 2 Repita el filtado y visualice (tanto en la pantalla del ordenador como en el osciloscopio) la misma sefial pero con. frecuencias de muestreo #52=22050 Hz (N2=20) y fs3=11025 (N3=10). Compruebe que, en todos los casos, 1a sefial de linea que se observa en el osciloscopio es In misma (fijese especialmente en que todas poseen la misma velocidad de simbolo) a pesar de haber sido generadas con distintas frecueneias de muestreo.. tarjeta de sonido no es capaz de proporcionar niveles de continua, 15

Você também pode gostar