Sunteți pe pagina 1din 8

Tratamiento y Transmisin de Seales - Grado Ingeniera Electrnica Industrial

Prctica 1. Cuantizacin uniforme y adaptable.

1. OBJETIVOS:

En esta prctica se realizar la simulacin mediante MATLAB/Simulink de un


sistema de cuantizacin uniforme y adaptable con adaptacin de la ganancia hacia
delante. El diagrama de este ltimo sistema se muestra en la siguiente figura:

y(n)
x(n) (n) c(n) c(n) (n)
Cuantizador
Codificador Decodificador
uniforme

x(n)
x(n)
G(n)
G(n)

Adaptacin
Ganancia

Fig. 1.1. Cuantizacin adaptable con adaptacin de ganancia.

El objetivo de la prctica es doble; por un lado familiarizarse con el uso de la


herramienta Simulink de Matlab y por otro implementar el esquema de adaptacin
analizado en teora. Este esquema de cuantizacin permite reducir el error de
cuantizacin especialmente para seales en las que predominan los valores de x(n)
prximos a cero frente a las grandes amplitudes.

2. INTRODUCCIN A SIMULINK:

Simulink es una utilidad grfica para la simulacin de sistemas, tanto analgicos


como discretos. En realidad, se trata de un recubrimiento de MatLab, un lenguaje
interpretado que est especialmente adaptado al clculo vectorial, lo que hace que sea
adecuado para aplicaciones de procesado de seales (mono y bidimensionales),
comunicaciones, control, etc. Para una primera sesin con Simulink, es conveniente
seguir los siguientes puntos:

1. Arrancar MATLAB y fijar el directorio de trabajo.


2. Desde la ventana de comandos de MATLAB ejecutar la orden simulink.
3. Aparecer entonces una nueva ventana con la biblioteca de mdulos de SIMULINK y
otras libreras. Los mdulos estn agrupados por su funcin general.
4. Lo primero que debe hacerse es crear un nuevo modelo (File-->New, o icono
correspondiente) donde construir el esquema deseado.
5. Una vez abiertos los grupos de bloques necesarios, el sistema deseado se va
generando mediante seleccin y desplazamiento de los bloques a la ventana de trabajo.
6. Para unir los distintos mdulos del sistema se trazan lneas conductoras pulsando con
el ratn en la salida de uno de los bloques y arrastrando hasta la entrada del siguiente (o
viceversa).
7. Es posible cortar y copiar bloques como si de texto se tratase.
8. Los bloques y lneas se pueden desplazar seleccionndolos con el botn izquierdo y
arrastrando hasta la nueva posicin.
Tratamiento y Transmisin de Seales - Grado Ingeniera Electrnica Industrial

9. Cada bloque tiene una serie de parmetros que controla su funcionamiento. Para
verlos o modificarlos debe pulsarse dos veces sobre ellos.
10. El simulador propiamente dicho tambin tiene una serie de parmetros de control
que deben ajustarse adecuadamente, de acuerdo con las necesidades de cada caso. Esto
se consigue seleccionando Simulation en el men de la ventana de trabajo. Dentro de
este men se encuentran tambin las opciones para arrancar y detener la simulacin.

3. DESARROLLO:

Se propone realizar la adaptacin de ganancia en funcin de la seal de entrada.


Ntese que si x(n) tiene una desviacin tpica instantnea x(n) reducida, la ganancia
G(n) debe ser superior a la unidad para amplificar la seal y adaptarla al rango de
entrada del cuantizador uniforme. Por otro lado, si x(n) es elevada y la seal se ajusta
al rango de entrada del cuantizador, la ganancia debe de ser la unidad para mantener
inalterada la seal. As, la ganancia G(n) se ha de definir inversamente proporcional a la
desviacin tpica G(n)= G0/x(n) resultando necesario acotarla entre un valor mximo y
mnimo (rango dinmico del adaptador).

4. REALIZACIN:

Ejecute Matlab y en la ventana de comandos introduzca la sentencia:

simulink

Con esta orden se abre el dilogo de la toolbox en cuestin. Como entrada se


suministrar una seal de voz en formato WAV de 8 bits con una frecuencia de
muestreo de 8 kHz. Para leerlo en Matlab se ha de utilizar el comando wavread en la
ventana de comandos de Matlab. Ejecute desde la ventana de comandos (Command
Window) de Matlab el siguiente cdigo:

s= wavread('v11570c1.0.8k.wav');
Fs=8000;
t=0:1/Fs:(length(s)-1)/Fs;
entrada=[t' s];

Con l definimos la frecuencia de muestreo del sistema, el vector de tiempos y una


variable "entrada" que usar Simulink. En la realizacin de esta prctica (vase figura
1.2) se deben abordar los siguientes aspectos:

1. Proponga un mtodo para realizar la estimacin instantnea de la desviacin


tpica de x(n) basada en un buffer de N muestras de la seal [x(n-N+1),, x(n-
1), x(n)]. Ej. N=30.
2. Construya el diagrama de bloques Simulink que permita realizar la simulacin
del sistema. Use como variables del problema Gain1=1/10, =0.1 (intervalo de
cuantizacin);
3. Compruebe el correcto funcionamiento del sistema y proponga una manera de
evaluar la mejora que introduce este sistema de cuantizacin adaptable sobre un
sistema de cuantizacin convencional.
Tratamiento y Transmisin de Seales - Grado Ingeniera Electrnica Industrial

Para todo ello, abra un nuevo modelo de Simulink: en la barra de Men de


Simulink: "File", "New Model" (.mdl). Desde la barra de bsqueda de Simulink, busque
el bloque "From Workspace" para incorporar la variable "entrada" al modelo de
simulacin mdl (Nota: previamente se ha definido el tiempo de muestreo para cada
valor de amplitud y la variable "entrada" como: entrada =[ t' s], vase ayuda de este
bloque).

ADAPTABLE

UNIFORME

Fig. 1.2. Diagrama de bloques Simulink para un sistema de cuantizacin adaptable y


comparacin con uno uniforme.

Desarrollo del esquema de adaptacin: En esta seccin se presentan los bloques


necesarios para la implementacin del esquema de adaptacin. Cada uno de estos
bloques puede ser configurado dependiendo de las exigencias del problema mediante la
ventana de dilogo de cada bloque, a la que se accede con un doble click.

A continuacin dentro de las libreras de Simulink (Simulink Library


Browser) seleccione la de Simulink que contiene los bloques principales. Con cada
bloque elegido, adalo al nuevo modelo con el botn derecho y seleccionando Add to
a new model. De esta forma componga el diagrama de la figura 1.2. A continuacin se
describe la seleccin de cada bloque y sus variables y parmetros ms importantes.

Men Fuentes (Sources):

From Workspace Adquiere las variables cargadas desde el espacio de trabajo


en Matlab.

Introduzca en
Data: entrada
Sample time: 1/Fs

Men de bloques ms utilizados (Commonly used block):


Tratamiento y Transmisin de Seales - Grado Ingeniera Electrnica Industrial

Ganancia (Gain)
Selecciones la ganancia con valor 1/10

Visualizador (Scope): Visualiza, como un osciloscopio, la seal en el cable al que est


conectado (fije en sus propiedades la opcin "data history" a 5*10^4 puntos para
correcta visualizacin de toda la seal)

Men de discontinuidades (Discontinuities):

Cuantizador (Quantizer): Seleccione el intervalo de cuantizacin con valor 0.1.

Saturacin (Saturation): Seleccione a 50 el umbral de saturacin

Men de operaciones matemticas (Math Operations):

Producto (Product)

Suma (Sum): Elija correctamente los signos

Funcin matemtica (Math Function) : Elija la funcin recproca para calcular la


inversa (1/u):

Men de enrutado de la seal (Signal Routing):

Multiplexador (Mux)

Men de Sumideros (Sinks)

Al espacio de trabajo (To Workspace): Guarda la variable en cuestin en el espacio


de trabajo de Matlab con el nombre "simout".

Men de procesado de seal/estadstica (Signal ProcessingBlockset/Statistics):

Raz del Error cuadrtico medio RMS. Calcula el valor RMS.

Estimador Sigma:

Este bloque debe ser implementado por el alumno de la manera que estime oportuna
(vase Apndice). Considerando que la seal es de media nula, tenemos que
implementar a nivel de bloques la siguiente operacin sobre la seal de entrada:

sqrt (sum([x(n-N+1),, x(n-1), x(n)]/N)).


Tratamiento y Transmisin de Seales - Grado Ingeniera Electrnica Industrial

5. SIMULACIN:

Las opciones bsicas que se pueden configurar (en el men


SimulationConfiguration Parameters) en Simulink son:

1. Tiempo de simulacin en el que se especifica el comienzo (Star time) a 0.0


y el tiempo de parada (Stop time) a 3.5.
2. Mtodo de integracin en la que especificamos un paso o muestreo fijo en
las simulaciones de esta prctica (Fixed-step). La resolucin se hace en
modo discreto (Solver: discrete).
3. Intervalo de muestreo sin restricciones (Unconstrained) y en modo
automtico (Auto) en nuestro caso.

Para empezar la simulacin pulse start:

Finalmente con bloques "scope" (cambie las propiedades de este bloque en


Parameters, History, para que almacene y muestre un mayor nmero de puntos, Ej.
20000) p situados en los "cables" pertinentes y con las variables creadas por Simulink
("To Workspace") en Matlab podr visualizar resultados como los que se muestran a
continuacin:
Tratamiento y Transmisin de Seales - Grado Ingeniera Electrnica Industrial

Tabla 1.1. Algunos resultados de la prctica 1

.
Tratamiento y Transmisin de Seales - Grado Ingeniera Electrnica Industrial

APNDICE: Estimacin de la desviacin tpica

Dado que no existe un bloque en Simulink que directamente implemente el estimador


sigma, tenemos que seguir una serie de pasos para crearlo:

1. Una posible solucin es escoger los bloques siguientes en un nuevo modelo que
una vez terminado aadiremos al esquema principal (Ej. d=30):

Analice el anterior sistema y compruebe que estamos realizando la operacin


requerida.

2. En el men de edicin (Edit) creamos a continuacin un subsistema (Create


Subsystem) seleccionando todos los bloques excepto In y Out.

3. A continuacin editamos la mscara con Edit Mask Subsystem


Configuramos el icono y puertos desde la siguiente pantalla:

Configuramos los parmetros del bloque, en nuestro caso, el nmero de retardos (d):

Inicializamos el bloque con N=30 para satisfacer los requisitos de la prctica:


Tratamiento y Transmisin de Seales - Grado Ingeniera Electrnica Industrial

Finalmente se obtiene el bloque:

S-ar putea să vă placă și