DE ESTÍMULOS Asesor: M en I Juan Manuel Cornejo148.206.53.84/tesiuami/UAM1657.pdf · Desde las...

75
UNIVERSIDAD AUTóNOMA METROPOLITANA UNIDAD IZTAPALAPA DIVISI~N DE CIENCIAS BÁSICAS E INGENIERÍA Título de la Tesina: GENERADOR DE ESTÍMULOS AC~STICOS Asesor: M en I Juan Manuel Cornejo Presentan: FORTUNATO PEREZ BOJORGES 90326304 ISIDRO GONZALES SEGUNDO Vo.Bo. del Asesor LICENCIATURA EN INGENIERIA ELECTRONICA

Transcript of DE ESTÍMULOS Asesor: M en I Juan Manuel Cornejo148.206.53.84/tesiuami/UAM1657.pdf · Desde las...

UNIVERSIDAD AUTóNOMA METROPOLITANA

UNIDAD IZTAPALAPA D I V I S I ~ N DE CIENCIAS BÁSICAS E INGENIERÍA

Título de la Tesina:

GENERADOR DE ESTÍMULOS AC~STICOS

Asesor: M en I Juan Manuel Cornejo

Presentan:

FORTUNATO PEREZ BOJORGES 90326304 ISIDRO GONZALES SEGUNDO

Vo.Bo. del Asesor

LICENCIATURA EN INGENIERIA ELECTRONICA

UNIVERSIDAD AUTONOMA METROPOLITANA

UNIDAD: IZTAPALAPA

DIVISION: CIENCIAS BASICAS E INGENIERIA

CARRERA: INGENIERIA ELECTRONICA

MATERIA: PROYECTO TERMINAL 1 Y 2

TITULO: GENERADOR DE ESTIMULOS ACUSTICOS

FECHA: 24 DE SEPTIEMBRE DEL 2001

ALUMNOS: FORTUNATO PEREZ BOJORGES 90326304 ISIDRO GONZALES SEGUNDO 89325995

ASESOR: M en I JUAN MANUEL CORNEJO

INDICE

+ OBJETIVOS ......................................................................................................................... 1

+ JUSTIFICACION ................................................................................................................. 2

+ INTRODUCCION ................................................................................................................ 3

+ DESCMPCION DEL PROBLEMA ..................................................................................... 5

+ ETAPAS DEL PROYECTO ................................................................................................. 7

GENERACION DEL SOFTWARE PARA L o s ESTIMULOS ...................................... 7

GENERACION DE ESTIMULOS ESPECIFICOS ........................................................ 18

CARACTERIZACION DEL ESTIMULO TIPO CLICK ............................................... 19

INCORPORACION DE UN ATENAUDOR .................................................................. 21

BUSQUEDA DE INTENSIDADES PARA CADA FRECUENCIA .............................. 21

DIGITALIZACION DE LOS ESTIMULOS ................................................................... 22

CALCULO DE LA FTP ................................................................................................... 23

CALCULO DE LA TDH .................................................................................................. 24

+ DESCRIPCION DE TABLAS .............................................................................................. 25

DESCRIPCION DE TABLAS DEL ANEXO A .............................................................. 25

DESCRIPCION DE TABLAS DEL ESTIMULO SENOIDAL DEL OIDO DERECH0.25

+ GRAFICAS ........................................................................................................................... 28

+ REQUERIMIENTOS MINIMOS DEL SISTEMA .............................................................. 29

+ MANUAL DE USUARIO .................................................................................................... 29

+ LISTADOS ........................................................................................................................... 30

+ GLOSARIO .......................................................................................................................... 35

+ BIBLIOGFUFIA .................................................................................................................. 37

+ ANEXO A

+ ANEXO B

OBJETIVOS

Diseñar y construir un estimulador para pruebas auditivas.

0 Determinar la calidad acústica de los estímulos generados.

JUSTIFICACION

Este proyecto tiene como finalidad la generación de estímulos auditivos de calidad aceptable que puedan ser comparados con el desempeño de un equipo comercial. También se busca la interacción del proyecto en el área docente, es decir, que sirva de apoyo en algunas UEA’s (cursos) que se imparten en la carrera de Ingeniería Biomédica.

Debido a los requisitos establecidos por la Universidad es indispensable la elaboración de un proyecto terminal que tenga una aplicación y que sirva para reforzar los conocimientos adquiridos. Además de cumplir con dichos requisitos, este proyecto sirve de apoyo a la investigación que se lleva a cabo en el Laboratorio de Audiología de la Universidad.

Estos proyectos se realizan pensando en una continuidad que sirva para llevar hasta su final un proyecto y/o mejorarlo. En este proyecto se retomaron algunas ideas de compañeros de la misma División que realizaron un proyecto anterior sobre este mismo tema y para nosotros fue la base de comprensión y desarrollo del “Generador de Estímulos Acústicos”.

2

INTRODUCCION

El deterioro auditivo es caracterizado por perdida en la percepción de la intensidad (perdida en la sensibilidad), o perdida en la habilidad para discriminar diferentes sonidos del lenguaje o ambos. La perdida de la intensidad puede ser causada por un incremento mecánico de la impedancia entre el oído externo y el oído interno o por la reducción de la sensibilidad del órgano sensorial de la audición. La perdida de la capacidad de discriminación se asocia con un daño del órgano sensorial, aunque otras estructuras neuronales de niveles más altos pueden estar también involucrados.

Desde las relaciones familiares, el trabajo y la interacción social en general dependen de manera intensiva de las palabras, cualquier reducción en la capacidad de escuchar sonidos y entender el habla pueden tener serias consecuencias para un individuo. El aislamiento, el estrés, el deterioro de las relaciones y el rendimiento en el trabajo no son desconocidos. Aunque la perdida auditiva es muy conocida y sus consecuencias son graves esta es una condición que no es muy reconocida por el público en general o por las mismas personas que sufren la perdida.

Muchas personas quienes sufren un deterioro auditivo pueden ser ayudadas. Procedimientos quirúrgicos y médicos modernos pueden restablecer una adecuada función auditiva en algunos casos y en otros las ayudas auditivas pueden ser utilizadas en la rehabilitación de la audición. Es importante por lo tanto que estos problemas auditivos sean reconocidos y tratados tan pronto como sea posible. Tal reconocimiento es con fi-ecuencia retrasado, así la perdida del oído es como una discapacidad invisible.

En muchos casos el deterioro auditivo es gradual y no puede ser fácilmente identificado sin equipo y procedimientos especializados. La identificación de perdida auditiva en individuos y la determinación cuantitativa del grado y la naturaleza de tal perdida, es asunto de la audiometria.

Antes de que un tratamiento médico o de rehabilitación se lleve a cabo, la naturaleza, el grado y la probable causa de la perdida auditiva debe ser evaluada. Un componente importante de tal evaluación es la medición de respuestas que tiene una persona a estímulos auditivos. Estas respuestas pueden ser respuestas fisiológicas medibles objetiva o subjetivamente de indicaciones de lo que un sujeto percibe. La audiometria es la ciencia y el arte de medir y evaluar objetiva y subjetivamente estas respuestas.

La prueba se consigue en un sistema donde un estimulo auditivo y las respuestas del paciente se muestran. Los resultados de la audiometria son cargados en una gráfica llamada audiograma. Un audiograma muestra los puntos a los cuales un sujeto cree oír contra la frecuencia del sonido, las frecuencias de los tonos de prueba que se grafican están en el rango de 250-8000 Hz. Aunque el oído humano escucha en los rangos de -20 a 20000 Hz. Es muy pequeña la información que se tiene arriba de los 8000 Hz y las frecuencias que se tienen por debajo de los 250 Hz son sonidos que se encuentran en la naturaleza haciendo dificil su reproducción. Por lo tanto una prueba se encuentra en el rango de 250-8000 Hz en pasos de octava.

La intensidad se muestra en la escala de decibeles de nivel audible (dBHL). Esta escala se deriva de aplicar un factor de corrección a la escala del nivel de presión del sonido (SPL) la cual esta definida con respecto a 0.0002-pbar (20-pPa) de presión como el nivel de referencia (O dB SPL).

AUDIOLOGÍA CLINICA

3

En términos generales, las investigaciones de la audiología clínica envuelven mediciones en muchos aspectos de las funciones auditivas y vestibulares, más la presencia de las características de un estímulo. Generalmente las técnicas de medición pueden ser divididas en subjetivas y objetivas. Las primeras son tareas dadas al paciente vía instrucciones del médico, donde las tareas contribuyen a la medición de la variable, por ejemplo, que el paciente presione un botón cuando escuche un sonido en particular. Los métodos objetivos sólo requieren la cooperación del paciente para sentarse o acostarse y tolerar los electrodos de prueba

La mayoría de estas pruebas auditivas son del tipo subjetivo. Las rutinas clínicas usualmente incluyen, la medición de la sensibilidad auditiva en función de la frecuencia, el rango dinámico de intensidad, la adaptación a tonos de baja intensidad continuos y la identificación de la conversación así como la intensidad de ésta. El audiograma es obtenido usando sonidos en audífonos y estímulos vibratorios aplicados directamente al cráneo. Los sonidos subsecuentes pueden pasar al oído medio y no afectar en sobremanera los defectos de éste.

Las pruebas explicadas anteriormente, están diseñadas primeramente para distinguir tres clases de defectos en la audición. Las pérdidas conductivas en la audición generalmente envuelven defectos mecánicos en el mecanismo conductor en el oído medio. Las pérdidas sensoriales en la audición envuelven defectos en la cóclea que transduce vibraciones mecánicas en neurales, y es caracterizada por un rango dinámico restringido, la adaptación normal y de moderada a buena en la identificación del dialogo amplificado aplicado en silencio. La perdiadas neurales en la audición envuelven defectos en el nervio auditivo o centros mayores procesando la información auditiva y son caracterizados por un rango dinámico amplio, adaptación excesiva y pobre a la adaptación del dialogo en silenco. El termino sensoneural asume las dos clases antes mencionadas, ya que la diferencia entre ambos en distintos sujetos es difícilmente apreciable dado que los desordenes neurales primarios regularmente son acompañados de daño sensorial y viceversa3.

El tipo más común de desorden auditivo, es la pérdida sensorial de la audición. Por lo que las rutinas de medición antes descritas son útiles en la identificación de las condiciones para determinar una intervención quirúrgica.

Mediciones subjetivas más detalladas de las funciones auditivas, han sido usadas en investigaciones fundamentales del sistema auditivo, predominando las pruebas en sujetos normales. Este tipo de estudios es abarcado por el término psicoacústica, en sujetos con impedimentos auditivos. Estas mediciones permiten una descripción mayor de las funciones auditivas que un compendio de pruebas clínicas y proveen un mejor entendimiento de los problemas de identificación del diálogo experimentado individualmente.

Una medición psicoacústica que ha recibido particular atención en la década pasada, es aquella de la resolución en frecuencia, que es la habilidad del oído para detectar selectivamente a una señal a una frecuencia en la presencia de un sonido compitiendo en otra frecuencia3.

En sujetos normales, el oído es extremadamente selectivo y puede consíderársele como un filtro altamente sintonizado. El efecto de una pérdida sensorial auditiva es la reducción de esta selectividad o el cambio de ancho de banda. Esta puede ser una razón para que los pacientes con pérdidas auditivas encuentren particularmente difícil el entendimiento del diálogo en la presencia de sonidos compitiendo, por ejemplo un ambiente ruidoso. Al igual que en silencio, la resonancia de baja frecuencia del diálogo puede enmascarar las resonancias de alta frecuencia, similarmente, los impedimentos sensoriales auditivos pueden reducir la habilidad del oído para resolver la estructura temporal de los sonidos que es también importante en la identificación del diálogo6.

4

En orden de llevar a cabo pruebas psicoacústicas. es necesario controlar agudamente la presentación del estimulo auditivo y surepetitividad, en términos de su intensidad y periodicidad. Además, las condiciones del estímulo son comúnmente alteradas de acuerdo con el algoritmo que dependerá de respuestas previas del sujeto. Estas características están bien adaptadas para el control con un microcomputador dada su flexibilidad.

DESCRIPC

Se busca el diseño y construcción de un es

ION DEL PROBLEMA

;timulador para pruebas auditivas, dicho dispositivo debe ser capaz de generar estímulos del tipo click, senoidales, ráfagas y ruido blanco. Las especificaciones de cada estímulo son las siguientes:

1) CLICK

Se trata de un pulso cuadrado de fase positiva con un ciclo de trabajo de 100 microsegundos enOn y tiempo OFF variable para completar frecuencias de 0.1 a 100 Hz.

En este modo el usuario debe de elegir la frecuencia de dicha señal cuadrada y la intensidad (*) a la que se va a enviar, así también como el número de veces que se envía la señal. Ejemplo:

Tipo de Estímulo: click Intensidad: (*) Número de veces que se presenta el estímulo: 5 Frecuencia de repetición: 2 Hz

De esta manera la señal que el estimulador debe generar es la siguiente:

--T... n...n ... n ... n

2) SEÑAL SENOIDAL

Aquí el usuario elige la frecuencia de la señal senoidal y la intensidad(*) a la que se va a enviar, de entre una tabla de valores específicos (125, 250, 500, 1000, 1500, 2000, 3000,4000, 6000 y 8000 Hz.).

5

El tiempo de ataque y liberación es de 400 milisegundos.

3) PIPS (Tonos ráfaga)

En este modo el usuario debe elegir la frecuencia de la señal portadora (señal senoidal de frecuencias de 125, 250, 500, 1000, 1500, 2000, 3000, 4000, 6000, y 8000 Hz), los tiempos de subida y de bajada del tono ráfaga entre 1-300 mseg,, así como la meseta del estímulo de 10mseg a 1 seg., la intensidad(*) a la que se va a enviar, así como el número de veces que se envía la señal.

Ejemplo:

Tipo de Estímulo: pip Tiempo de subida (Ts): 10 milisegundos Tiempo de bajada (Tb): 10 milisegundos Tiempo de meseta (Tm): 300 milisegundos Intensidad: 80 dB (*) Número de veces que se presenta el estímulo: 2 Frecuencia de repetición: 2 Hz.

Primer estimulo segundo estiirlulo

4) RUIDO BLANCO

El usuario debe elegir la intensidad a la cual envía el ruido blanco (*)

(*) La intensidad para todos los estímulos se manejan desde un atenuador común a todas las señales.

Para este proyecto es necesaria la determinación de la “calidad” acústica de los estímulos generados. Consiste en calibrar la intensidad sonora en dBSPL, en el intervalo de 40 a 80 dB, para cada uno de los estímulos utilizando un audífono para aplicaciones audiológicas, un oído artificial de 2 cc y un sonómetro. Posteriormente se deberá obtener el contenido espectral de cada una de las señales calibradas, tal y como se liberan hacia el oído artificial, verificando que la distorsión armónica total (TDH) no sea mayor al 5% necesario para el tipo de aplicación que se desea.

6

ETAPAS DEL PROYECTO

GENERACI~N DEL SOFTWARE PARA LOS ESTIMULOS

function pip(gans,frese,tsb,tm,nrep,frep,wavefile)

pip(gans,fsen,tsb,tm,nrep,frep,wavefile);

gans: ganancia o amplitud del estímulo. frese: frecuencia fundamental de la senoidal o frecuencia de la portadora. tsb: tiempo de subida y bajada (generalmente el mismo) en milisegundos. tm: tiempo de la meseta, donde la amplitud de la senoidal es constante en milisegundos. nrep: número de repeticiones del pip. frep: frecuencia de repetición del estímulo wavefile: nombre del archivo ejemplos: 'a:\nombre'

'c:\nombre' 'c:\subdirectorio\nombre'

if nargin-=7

end error('P1P necesita siete argumentos!');

Esta primera etapa sirve para hacer una validación de las entradas de la función (variables). Si la función no recibe el número de variables, se regresa un mensaje indicando el error cometido.

if l/frep > 2*tsb+tm

end error('error el tiempo de repetición es menor a tiempo de estimulo !I);

Esta validación sirve para evitar un traslape de los pips.

fmus=44100;

Esta variable nos permite hacer la actualización del programa dependiendo de las futuras capacidades de las tarjetas de audio Sound Blaster.

puntos=l/fmus;

Esta variable se usa en el programa para é1 calculo de la mínima unidad, con la que se forma cada elemento del vector.

tme=tm/1000;

Esta variable también es programable y depende de l a frecuencia de la portadora, así como de la capacidad de reproducción de la tarjeta.

limtim= tsb/1000;

7

Esta es la cota superior del vector que delimita el tamaño de este.

tpas=tsi1/1000;

Tiene las mismas características antes mencionadas, en este caso el tamaño del silencio.

nur=nrep;

Número de repeticiones, ya que cada uno de los elementos de la señal son generados por separado. Sirve para controlar el número de veces de cada señal será generada. La señal resultante de acoplar alternadamente dos tipos de señal generada en el software es el llamado tren de PIP’S, formado por: PIP Y SILENCIO.

Una vez entendida la forma de la señal que en adelante llamaremos los vectores, profundizaremos en la explicación de la generación de la señal.

timsb=(O:puntos:limtim)

Aquí se crea un vector llamado “timsb”, que es llamado como un vector del tipo variable que se genera con las especificaciones y características que el usuario demande, dentro de las que se incluyen “limtim” que una variable que el usuario proporciona, donde: limtim=tsb/1000 ytsb es la entrada del usuario.

Los pasos que siguen a la generación son:

1. Creado el vector “tiempo de subida bajada” (tsb), servirá para crear uno nuevo.

2. El vector “tsb” se usa para crear el vector “seno”. Es bueno recalcar que la generación de este seno y las otras señales o vectores con nombres de funciones trigonométricas, siguen las reglas matemáticas ya conocidas para su calculo, así tendremos que el vector “seno” es:

seno=sin(2*pi*frese*timsb) donde:

seno: es el nombre asignado al vector. sin( ): es una de las funciones de Mataba que con sólo llamarla es activada. frese: es la frecuencia fundamental de la senoide, que para este caso ira creando la portadora timsb: es el vector creado en primera instancia.

Por lo que ahora, queda creado un vector llamado “seno” que es controlado por el tiempo de subida bajada incluida en el vector timsb.

Ahora resolveremos el siguiente problema, modular en amplitud. Primero dividimos este problema de la generación del pip en tres partes:

8

tsb lo convertimos a un vector llamado “ timsb”. Este nos ayudara a crear una senoidal o un vector “seno”, con lo que tendremos:

tsb o vector “seno”

Para poder llegar al resultado deseado, teniendo solo:

tsb tm

Usamos la convolución de la señal “seno” con una recta de 45” de pendiente, para lograr lo deseado, así entonces:

x

tm tsb

Esta es la parte del programa que realiza la convolución:

timsb=(O:puntos:limtim); seno=sin(2*pi*frese*timsb); rampa=timsb; Genera la recta necesaria seno=(seno.*rampa)/limtim; genera la primera parte del pip

tsb

Continuando con la misma fórmula para generar la primera parte del pip seguiremos con la generación de:

9

tm

x

tsb tsb

Siguiendo la secuencia de los diagramas, lo Único que se añade para generar este punto, es convolusionar ahora con una recta de pendiente negativa al vector seno.

A continuación mostramos la parte analizada del programa

timsb=(O:puntos:limtim); seno=sin(2*pi*frese*timsb); rampa=timsb; Genera la recta necesaria seno=(seno.*rampa)/limtim; genera la primera parte del pip rampaba=limtim-timsb; A

senol=sin(2*pi*frese*timsb); resut 1 =(seno 1 .*rampaba)/limtim;

A. Genera la rampa con pendiente negativa y como punto que pasa por las coordenadas a limtim, así tenemos:

B. Se crea el vector “senol” de forma idéntica que “ seno”.

C. Finaliza con la multiplicación de los dos vectores y normaliza el resultado de esa operación generando dos vectores:

seno=(seno. *rampa)/limtim;

tsb

10

resut 1 =(seno l . *rampaba)/limtim;

tsb

Lo que resta es generar la parte intermedia del pip.

rampaba=limtim-timsb; senol=sin(2*pi*frese*timsb); resut 1 =(seno l . *rampaba)/limtim; timel=(O:puntos:tme); senome=sin(2*pi*fiese*timel);

El vector “timel” se crea de igual forma que “timsb”, solo que en este caso la cota superior cambia, ya que el usuario asigna “tme”. Pero “senome” contiene el mismo algoritmo que “seno” y “senol”.

En este caso, “senome” no necesita ser normalizado, ya que no hay convolución alguna.

En este momento se tienen creados tres vectores de la siguiente manera:

seno=(seno.*rampa)/limtim; resutl=(senol .*rampaba)/limtim;

tsb

senome=sin(2*pi*fiese*timel);

tm

tsb

El siguiente paso es integrar estos tres vectores en uno solo esto lo ilustra el listado siguiente:

11

resutl=(senol .*rampaba)/limtim; timel=(O:puntos:tme); senome=sin(2*pi*frese*timel); senop=[seno senome resutl].*gans+128;

Es indispensable que el nuevo vector “senop2 que ahora contiene la señal completa del pip, debe tener ciertas características para ser reproducida. Una de ellas es el offset adicionado (128) para la correcta reproducción en la tarjeta de sonido Sound Blaster.

senop=[senp senome resutl].*gans+128;

senop

Para construir el vector silencio que depende de la variable de entrada frep que el usuario introduce. Este vector será fácilmente generado de manera usual a “senop”, así tendremos:

tsilen=(O:puntos:tpas);

Crea el vector controlado por la variable normalizada tpas. (tpas=tsil/lOOO)

sano=sin(2*pi*fiese*tsilen);

Crea el vector sano con el vector variable tsilen en función de frep

cero=O;

Nombra “cero”

pausa=(sano. *cero)+ 127

Multiplica “cero” por cada uno de los elementos del vector sano, el cual controlara su longitud o numero de elementos. (también se normaliza el vector silencio, por esta razón se suma 127).

Ahora con los dos vectores se construye un tren de pip’s:

senop=[seno senome resutl].*gans+128; (pip) pausa=(sano.*cero)+l27; (silencio)

El siguiente punto será construir el tren de pip’s alternando estos dos vectores:

12

tsb tm tsb tx

Considerando que: ty = 2 * tsb + tm y tx = tsil, existiendo tres casos posibles a resolver:

a) tx = ty b) tx < ty c) tx > ty

Se explicara de manera general la solución de este problema par cada caso.

El primer caso a resolver es alternan cada uno de los vectores “senop” y “pausa” para formar un nuevo vector que contenga la señal completa llamada tren de pip’s.

El segundo, es considerar que en los casos b) y c) lidiaremos de manera que los vectores con distinto número de elementos serán distintos al número depip’s y silencios. De hecho el problema recae en el manejo del número de pip’s y silencios que alternaremos para generar la señal final.

Aquí denotaremos otra de las variables del usuario llamada “nrep” (número de repeticiones”).

function pip(gans,frese,tsb,tm,frep,nrep,wavefile)

Para solucionar este problema cambiamos la forma del manejo de los elementos del vector “trenpips”, que se puede hacer gracias a los recursos que Matlab ofrece, así que ahora tenemos:

trenpips = [ pip silencio PiP silencio pip . . . . . . I

El solo hecho de manejar este vector en forma de columna, permite adicionar la nueva variable “nrep” al programa.

Lo que ahora exige el algoritmo, es reacomodar el vector a su forma original para poder reproducir la señal en forma correcta. Cabe mencionar que para transformar el vector “trenpips” a un vector en forma de columna o vertical, usamos un ciclo “while” y para devolverlo a su forma original, un ciclo “for”.

A continuación se presenta el listado de la contraposición de los vectores:

Caso a)

cont= 1 ; while cont<=nur,

13

trenpip(cont,:)=senop; trenpip(cont+l,:)=zeros(size(senop))+127; cont=cont+2;

Transforma el vector para introducir y manejar “nur”.

if tx==ty,

reppip=[reppip trenpip(cont,:)]; for cont=l :nur,

end

Reordena el vector para sacarlo como vector final.

Caso b)

elseif tx<ty, cont= 1 ;

while cont<=nur, trenpipa(cont,:)=zeros(size(pausa))+l27; trenpip(cont,:)=senop; trenpipa(cont+l,:) =zeros(size(pausa))+127; trenpip(cont+l,:)=senop;

cont=cont+2; end

Transforma el vector y toma en cuenta que etos son de distinto tamaño

for cont=l :nur, reppip=[reppip trenpip(cont,:)trenpipa(cont,:)]; end

Reacomoda el vector para obtener el vector final

Caso c)

elseif tx>ty, trenpipa(cont,:)

trenpip(cont,:) trenpipa(cont+l,:) trenpip(cont+l,:) cont=cont+2;

end

Se considera igual que el caso b)

for cont= 1 :nur, reppip=[reppip trenpip(cont,:)trenpipa(cont,:)];

end end

14

Se repite la etapa de reordenar el vector final

Existe un caso extra que también fue considerado, esto es cuando la señal no requiere meseta:

Aquí se retoman los tres casos anteriores y se resuelven de igual manera.

function sen(gans,frese,tm,wavefile)

gans: ganancia o amplitud del estímulo. frese: frecuencia fundamental de la senoidal o frecuencia de la portadora. tm: tiempo de la meseta,donde la amplitud de la senoidal es

constante en milisegundos. wavefile: nombre del archivo ejemplos: 'a:\nombre'

'c:\nombre' 'c:\subdirectorio\nombre'

if nargin-4

end error('Senoida1 necesita cuatro argumentos!');

fmus=44100;

Esta variable nos permite hacer la actualización del programa dependiendo de las futuras capacidades de las tarjetas de audio Sound Blaster.

puntos=l/fmus;

Esta variable se usa en el programa para el calculo de la mínima unidad, con la que se forma cada elemento del vector.

limtim= 400/1000;

Sirve para dar el tiempo de ataque y liberación de 400 milisegundos necesarios del estímulo

tme=tm/1000;

Sirve para dar el tiempo de duración de la senoidal

timsb=(O:puntos:limtim)

15

Aquí se crea un vector llamado “timsb”, que es llamado como un vector del tipo variable que se genera con las especificaciones y características del estímulo en cuestión, como por ejemplo el tiempo de ataque y liberación de la senoidal.

Es bueno recalcar que la generación de este seno y las otras señales o vectores con nombres de funciones trigonométricas, siguen las reglas matemáticas ya conocidas para su calculo, así tendremos que el vector “seno” es:

seno=sin(2*pi*frese*timsb) donde:

seno: es el nombre asignado al vector. sin( ): es una de las funciones de Matlab que con sólo llamarla es activada. frese: es la frecuencia fundamental de la senoide. timsb: es el vector creado en primera instancia.

Al igual que en la generación del pip, dividimos el problema en tres partes:

Y lo resolvemos de la misma manera que el pip.

function click(gans,frec,nrep,wavefile)

click(gans,frec,nrep,wavefile);

gans: ganancia o amplitud del estímulo. frec: frecuencia de la señal cuadrada (0.1 a 100 Hz.) nrep: número de repeticiones del estímulo wavefile: nombre del archivo ejemplos: ‘a:\nombre’

‘c:\nombre’ ‘c:\subdirectorio\nombre’

if nargin-=4

end error(’c1ick necesita cuatro argumentos!’);

Esta primera etapa sirve para hacer una validación de las entradas de la función (variables). Si la función no recibe el número de variables, se regresa un mensaje indicando el error cometido.

16

fmus=44100;

Esta variable nos permite hacer la actualización del programa dependiendo de las futuras capacidades de las tarjetas de audio Sound Blaster.

puntos=l/fmus;

Esta variable se usa en el programa para el calculo de la mínima unidad, con la que se forma cada elemento del vector.

gans=gans/2;

Dividimos la ganancia entre dos para lograr una adecuada reproducción en la tarjeta

reps=[(l/frec)*(nrep+l)];

Con esta instrucción se consigue el número de repeticiones, dadas por el usuario a la frecuencia también establecida como parámetro de entrada por el usuario.

ct=O.Ol*frec;

Aquí establecemos el ciclo de trabajo que será fijo, para este estímulo es de 100 pseg.

in=(l/frec); fin=reps-(l/frec)+O.OOOl; t=(in:puntos:fin);

En estas líneas se crea un vector llamado “t”, que es llamado como un vector del tipo variable que se genera con las especificaciones y características que el usuario demande.

y=[square(2*pi*frec*t,ct)+l].*gans+128;

La generación del click se realizo con una de las funciones propias de Matlab en este caso un pulso cuadrado, con las siguientes características en el vector “y”.

y=[square(2*pi*frec*t,ct)+l]; donde:

Y: es el nombre asignado al vector. square( ): es una de las funciones de Matlab que con sólo llamarla es activada. frec*t: es la frecuencia a la cual esta dado el click que puede ser de 0.1 a 100 Hz., t es

ct: es el ciclo de trabajo o mejor conocido como “duty”, que para este estímulo es de 100 pseg.

necesario para hacer la validación a dichas frecuencias.

La suma de uno a la función square es necesario para dar solo la parte positiva del ciclo.

function y=blanco(gans,semilla,x,wavefile)

y=blancol(gans,semilla,x,wavefile);

17

gans: ganancia o amplitud del ruido semilla,x: tamaño de la matriz para generar el ruido blanco wavefile: nombre del archivo ejemplos: 'a:\nombre'

'c:\nombre' 'c:\subdirectorio\nombre.wav'

if nargin-4

end error('b1anco necesita cuatro argumentos!');

Esta primera etapa sirve para hacer una validación de las entradas de la función (variables). Si la función no recibe el número de variables, se regresa un mensaje indicando el error cometido.

x=x; s=semilla;

Aquí el usuario proporciona el tamaño de la matriz, de este tamaño depende el tiempo de duración del ruido blanco

y=randn(s,x).*gans+128;

Al utilizar la función randno, obtendremos el ruido blanco, con la matriz previamente establecida.

GENERACION DE ESTIMULOS ESPECIFICOS

Después de contar con los programas necesarios para cada uno de los estímulos, se generaron varios archivos con diferentes especificaciones para observar la morfología de cada uno de ellos en el osciloscopio, el Único estímulo que no pudimos observar fue el click debido a que el ancho del pulso es de 100 p e g .

La observación del estímulo se realizo de la siguiente manera:

[ PC ] Osciloscopio de la tarjeta de sonido

Con el control de volumen al máximo.

De lo anterior nosotros observamos que con ganancias entre 10 y 128 proporcionadas en el software de los estímulos la señal presenta la frecuencia deseada y la morfología esperada.

Se guardaron algunos archivos del osciloscopio con la finalidad de saber cuanto es el mínimo y máximo en voltaje que presentan dichos estímulos.

18

Como por ejemplo una señal senoidal de 1000 Hz y ganancia de software de 10 y 100 respectivamente se presentan a continuación, en ellas podemos observar de cuanto es la frecuencia y la amplitud para cada señal

Tek m 50.0kS/s [.. . . . . .T . . .. . .. . .. . . .]

56 ACqS

C1 Freq 1.00272kHZ

C1 Amp1 7 5 2 m V

C1 Pk-Pk 7 7 2 m V

2 0 0 r n v ’ ~ M 1 . 0 0 m s C h l 1 o v

Tek m SO.OkS/s 36 Acqs

I I

I 1 C1 Freq

1.001 O6kHZ 1

C1 Amp1 7.96 V

C1 Pk-Pk 7.96 V

I

2.00 vz. M 1 . 0 0 m s ’ C h l 1 o v

CARACTERIZACI~N DEL ESTÍMULO TIPO CLICK

Como ya se indico el estimulo de tipo click no fue posible de observarlo en el osciloscopio, además de que un archivo generado con las siguientes características:

click(gans,frec,nrep,’nombre’)

19

click(80,1,5,’a:\nombre’)

No es posible de leer en el sonómetro debido a la corta duración del ciclo de trabajo y la variación de las lecturas es mucha, así que una manera de resolver este problema es hacer en forma inversa el procedimiento.

1. Se tomaron lecturas de “un generador de click’s analógico” con intensidades especificas en dBHL y se observaron las lecturas correspondientes en el sonómetro.

2. Para poder dar un mejor valor en dBSPL, se tomaron cinco lecturas y luego se hizo un promedio.

3. Estos valores en dBsPL son los que utilizaremos mas adelante para encontrar la atenuación necesaria en este tipo de estímulo.

Las siguientes tablas para oído derecho e izquierdo respectivamente, nos ilustran lo anterior.

Oído Derecho

d h 40 45 50 55 60 65 70 75 80 85 90 95

78.5 76.4 77.9 80.4 79.3 78 86.3 82.9 87.5 89.1 92 96.1 71.7 73.4 75.1 77.1 82.5 73.3 75.5 88.2 91.8 89.3 94.5 95.8 71.2 80.3 80.5 78.9 76.3 77.3 94.8 91 90.1 86.1 93.2 96.3 72 77.7 80.4 77.5 73.9 76.1 88 89.4 90.4 94.9 93.4 96.6

77.6 80.4 79.4 77.6 77 75.9 93.5 90.2 91.8 91.4 93.1 96

dBspL 74.2 77.64 78.66 78.3 77.8 76.12 87.62 88.34 90.32 90.16 93.24 96.16

Oído Izquierdo

~ B H L 40 45 50 55 60 65 70 75 80 85 90 95

69.4 66.8 62.9 63.6 73.9 69.3 83.4 77.3 82.5 87 90.9 96.1 63.4 62.4 64 63.2 72.3 79.4 75.4 81.2 83 87.6 91.6 97 62.8 64.5 64.7 68.1 73.4 78.7 76.2 80.9 84 87.5 91.5 96.9 66.8 64.1 64.8 72.2 72.4 79.3 73.4 79.2 83.1 88.3 91.7 96.9 62.9 62.3 63.2 71 72.2 80 72.8 80.9 83.3 88 91.5 96.7

dBspL 65.1 64.02 63.92 67.6 72.8 77.34 76.24 79.9 83.18 87.68 91.44 96.72

20

INCORPOFUCION DE UN ATENUADOR

Después de la generación del software, se hicieron los archivos para cada una de las intensidades de cada frecuencia solicitada vía software, esto se realizo variando la ganancia del software de los estímulos, el control de WAV y el control maestro de volumen dentro de Window’s 95, así para cada frecuencia e intensidad se tuvo que generar un archivo.

Lo anterior lo hicimos porque de esta manera pensábamos resolver el problema de las intensidades sin la necesidad de utilizar un atenuador.En total se generaron 240 archivos para los estímulospip y seno, ya que para ambos estímulos se hicieron mediciones tanto para oído izquierdo como para oído derecho, sin contar los que se realizaron para el ruido blanco y para el click.

Al tener toda una biblioteca de archivos el siguiente paso fue hacer la digitalización del estímulo como lo indicamos en las etapas del proyecto. Sin embargo las señales fueron tan pequeñas (en el orden de mV) que al reproducirlas solo adquiríamos ruido, esto lo observamos al encontrar lafft de algunos archivos.

Para resolver el problema que se nos presento, regresamos a la idea original de utilizar el atenuador analógico (el cual fue proporcionado por el asesor). El atenuador se conecta entre la salida de la tarjeta de sonido SB y los audífonos, con esto sólo se crea un archivo por software con una ganancia grande, para cada una de las frecuencias pedidas, de manera que las señalas creadas no se saturen, de esta manera al reproducir una señal, solo se tiene que ajustar el atenuador para poder obtener las intensidades de sonido requeridas para cada frecuencia.

B~SQUEDA DE INTENSIDADES PARA CADA FRECUENCIA

Como ya se menciono en la descripción del problema los estímulos del tipo seno ypip se requieren con las siguientes frecuencias: 125, 250, 500, 1000, 1500, 2000, 3000, 4000, 6000, 8000 Hz. , proporcionadas por el usuario

Para cada frecuencia es necesario encontrar los dBspL que corresponden a 40, 50, 60,70, 80 y 90 dBHL, como se observa en la siguiente tabla:

Frecuencia 125 250 500 1000 1500 2000 3000 4000 6000 8000

~ B H L 40 84.3 65.1 57.3 46.9 46.5 48.9 49.1 47.7 56.4 53.3 50 94.3 75.1 67.3 56.9 56.5 58.9 59.1 57.7 66.4 63.3 60 104.3 85.1 77.3 66.9 66.5 68.9 69.1 67.7 76.4 73.3 70 114.3 95.1 87.3 76.9 76.5 78.9 79.1 77.7 86.4 83.3 80 124.3 105.1 97.3 86.9 86.5 88.9 89.1 87.7 96.4 93.3 90 134.3 115.1 107.3 96.9 96.5 98.9 99.1 97.7 106.4 103.3

21

Esta tabla nos sirve tanto para oído izquierdo como para oído derecho.

Los pasos realizados en esta etapa los podemos numerar como sigue:

1.

2.

3 .

4.

5.

6.

Se generaron los archivos para cada estímulo con ganancias grandes dentro del rango considerado como valido (10-128), como se menciono anteriormente.

Se observo en el osciloscopio la amplitud máxima sin saturación de los estímulos (seno ypip), para escoger el de mayor amplitud en voltaje.

Se hizo la reproducción de los archivos para cada frecuencia y para cada estímulo.

Para el estímulo senoidal utilizamos los siguientes archivos: ~125-100, ~250-125, ~500-128, ~1000120, ~1500125, ~2000125, ~3000128, ~4000120, ~6000105 y ~8000100, para ambos oídos.

Para el estímulo pip utilizamos los siguientes archivos: p125-100, p250-125, p500-125, p1000120, ~1500125, ~2000125, ~3000128, p4000120, p6000105 y p8000100, para ambos oídos.

Para obtener los valores de la tabla anterior fue necesario contar con los siguientes dispositivos en el orden de mención: Una PC con tarjeta de sonido SB, un atenuador de voltaje, unos audífonos para pruebas auditivas, un oído artificial y un sonómetro. Conectados de la siguiente manera:

PC

7. Los valores finales que se obtuvieron se muestran en las tablas del Anexo A.

DIGITALIZACI~N DE LOS ESTÍMULOS

En esta etapa se realizo la conversión analogica-digital para cada intensidad de cada una de las frecuencias solicitadas, utilizando los siguientes dispositivos: PC con tarjeta de sonido SB, atenuador, audífonos, oído artificial, sonómetro y una PC con tarjeta de adquisición PCLAB818, conectados de la siguiente manera:

Atenuado Audífono

22

Al realizar esta etapa obtenemos los archivos con extensión .dat y .cfg; de los cuales solo utilizaremos los .dat, para etapas posteriores de análisis.

CALCULO DE LA FFT.

Nos permite obtener el contenido espectral de cada una de las señales tal y como se liberan hacia el oído artificial de 2 cc (en este caso el estímulo senoidal para oído derecho).

De la digitalización de los estímulos como se menciono anteriormente obtuvimos losarchivos .dat que nos sirven para encontrar la fft, si el estímulo generado vía software tiene la frecuencia deseada el resultado de encontrar y graficar la fft debe ser casí en su totalidad en la frecuencia elegida y no encontrar que el contenido espectral de otras frecuencias sea mucho mayor. Para observar la fft nos apoyamos nuevamente de Matlab, se realizo un pequeño programa que a continuación incluimos el listado.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %Este programa obtiene la FFT %de una señal, la cual corresponde %a la conversión digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %Carga la señal del convertidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

load d:\fie\smq60001 .dat %especificamos la ruta

senal=smq6000 1 ; % del archivo

%Normaliza en amplitud las señales

senal=senal-mean(sena1); y1 =senal; figure( 1) plot(sena1); title('seña1');

%Número de puntos de la señal num=15000:

%Frecuencia de muestre0 en la adquisición. fm=lOOOOO;

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %Obtiene la FFT de la señal %para encontrar los componentes %en frecuencia de esta

23

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Y l=fft(yl ,num); Pyyl=Yl.*conj(Yl)/num; Maximo=max(Pyy 1); norm=Pyyl/Maximo; %clear ref;

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %Grafica la mitad del espectro %de frecuencia ya que es simétrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . figure(2) f=fm*(O:(num/2)-l)/num; plot(f,norm( 1 :num/2)); title(’FFT de la señal normalizada a 1500Hz y 96.5 dB’);

CALCULO DE LA TDH

Se elaboro un programa sencillo en Matlab para el calculo de la distorsión armónica total utilizando la siguiente formula:

TDH = 1 0 0 ~ f” + f,’ + f,’ + f5’ f,’ + f” + f,’ + f,’ + f,’

La distorsión armónica total (TDH) esta expresada en porcentaje y esta no debe ser mayor al 5% por el tipo de aplicación que se desea.

El listado del programa se muestra a continuación y en el se especifica que es cada variable.

function TDH(f2,f3,f4,f5) % function TDH(f2,f3,f4,f5) % Esta función calcula la distorsión armónica total % % f l amplitud del primer armónico % f2,f3,f4,f5 : Amplitud del segundo, tercer y cuarto y quinto % armónico % if nargin -=4

end error(’Se necesitan 4 argumentos’);

f l= l ;

24

n=(P"'+f3A2+f4A2+f5A2); d= (f 1 +n); TDH=lOO*(sqrt(dd))

DESCRIPCION DE TABLAS

DESCRIPCI~N DE TABLAS DEL ANEXO A

En las tablas del Anexo A se presentan las diferentes intensidades en decibeles (dBsp,), necesarias para cada frecuencia de los estímulos senoidal y pip para oído derecho e izquierdo, presentando la siguiente estructura:

El Título representa el tipo de estimulo, la frecuencia a la que es generado el estímulo y la ganancia necesaria en software, para generar todas las intensidades de la frecuencia correspondiente, utilizando el atenuador. Por ejemplo:

~125-100

Estímulo senoidal a 125 Hz y ganancia en software de 100

~1500125

Estímulo de tipo pip a 1500 Hz y ganancia en software de 125

Atenuador: es el valor que debe tener dicho dispositivo para poder obtener los dB necesarios.

También se incluyen unas tablas correspondientes al ruido blanco, su intensidad en dB y su correspondiente valor del atenuador.

DESCRIPCION DE TABLAS PARA EL ESTIMULO SENOIDAL DE OIDO DERECHO

Unicamente para el estímulo senoidal de oído derecho hicimos la digitalización de archivos para cada frecuencia y sus seis valores de intensidad y así de esta manera verificar la calidad del estímulo encontrando la fft y la distorsión armónica total presente para cada uno de los archivos, no consideramos necesario verificar para el estímulo senoidal de oído izquierdo ni el pip, porque la generación de los estímulos es de la misma manera así como su digitalización.

Preferimos mejor graficar la fft de cada frecuencia y cada intensidad del estímulo senoidal de oído derecho para observar el espectro en frecuencia que muestran y su forma de onda (Anexo B). La forma de onda mejora al aumentar la frecuencia de muestre0 en la digitalización de la señal, aunque a intensidades pequeñas no tiene la morfología deseada consideramos que los estímulos los podemos considerar como buenos o aceptables porque la TDH si es menor al 5% que se pide o que es deseable para los estímulos.

25

Presentamos las siguientes tablas donde se incluyen todos los resultados y se resume todo lo correspondiente al estímulo tipo senoidal de oído derecho. Continuando con la descripción de las tablas y su estructura tenemos:

El Titulo representa el tipo de estimulo, la frecuencia a la que es generado el estímulo y la ganancia necesaria en software, para generar todas las intensidades de la frecuencia correspondiente, utilizando el atenuador. Por ejemplo:

~125-100

Estímulo senoidal a 125 Hz y ganancia en software de 100

~1500125

Estímulo senoidal a 1500 Hz y ganancia en software de 125

Atenuador: es el valor que debe tener dicho dispositivo para poder obtener los dB necesarios

Archivo: representa los datos correspondientes a cada intensidad en dB, después de la adquisición por medio de la tarjeta PCLAB8 18 con extensión. Dat

Adq: representa la gráfica de la adquisición, el nombre del archivo nos indica la frecuencia y los decibeles.

fft: representa la gráfica de la respuesta en frecuencia para cada estímulo (fft) de acuerdo con adq.

TDH es la distorsión armónica total presente para cada frecuencia y cada intensidad.

~125-100

Atenuador dB Archivo Adq ffl TDH

18.9 84,3 scvl .dat scvl-adq-84.3 scvl-ffl-84.3 0,0881

9,7 94,3 scv2.dat scv2-adq-94.3 scv2-ffl-94.3 0,019

3,6 104,3 scv3.dat scv3-adq-104.3 SCV~-m-104.3 3,1219

1,1 114,3 scv4.dat scv4-adq-114.3 scv4-m-I 14.3 0,0104

0 2 124,3 scv5 dat scv5-adq-I 24.3 scv5-"124.3 0,0101

~250-125

Atenuador dB Archivo Adq ffl TDH

38,5 65,l sdcl dat sdcl-adq-65.1 sdcl-ffl-65.1 3,5692

28.3 7 5 1 sdc2.dat sdc2-adq-75.1 sdc2-m-75.1 0,0223

18,4 85.1 sdc3.dat sdc3-adq-85.1 sdc3-m-85.1 0,0165

9,4 95,l sdc4dat sdc4-adq-95.1 sdc4-ffl-95 1 0,0131

3.4 105,l sdc5.dat sdc5-adq-105.1 sdc5-ffl-105.1 4,67E-04

1 115.1 sdc6.dat sdc6-adq-115.1 sdc6-m-115.1 1.14E-04

26

~500-128

Atenuador dB Archivo Adq m TDH

45,4 57,3 sqil .dat sqil-adq-57.3 sqil-ffl-57 3 3,8074

3 5 7 67,3 sqi2.dat sqi2-adq-67.3 sqi2-ffl-67.3- 3,2683

25,7 77,3 sqi3.dat sq13-adq-77.3 sqi3-ffl-77.3 4,3768

15.9 87,3 sqi4.dat sqi4-adq-87.3 sqi4-ff87.3 0,2257

7.4 97,3 sqi5.dat sqi5-adq-97.3 sqi5-fft-97.3 1,09E-02

2.5 107,3 sqi6.dat sqi6-adq-107.3 sqi6-fft-107.3 2,04E-04

s1000120

Atenuador dB Archivo Adq m TDH

5 5 3 46,9 smil .dat smil-adq-46.9 smil-ffl-46.9 3.1 187

45,3 56,9 smi2.dat smi2-adq-56.9 smi2-ffl-56.9 5,1044

35.3 66,9 smi3 dat smi3-adq-66.9 smi3-fft-66.9 0,3447

25,4 76,9 smi4.dat smi4-adq-76 9 smi4-ffl-76.9 0,0074

15,6 86,9 smi5.dat smi5-adq-86.9 smi5-fft-86.9 5,00E-04

7 , l 96,9 smi6.dat smi6-adq-96.9 smi6-ff-96.9 6,82E-05

~2000125

Atenuador dB Archivo Adq m TDH

55.2 48,9 sdml .dat sdml-adq-48 9 sdml-ffl-48 9 3,3907

45,2 58,9 sdm2 dat sdm2-adq-58.9 sdm2-ffi-58.9 0,7065

35,2 68,9 sdm3.dat sdm3-adq-68.9 sdm3-ffl-68.9 0,3877

25.3 78,9 sdm4.dat sdm4-adq-78.9 sdm4-ffl-78.9 0,007

1 5 4 88,9 sdm5.dat sdm5-adq-88 9 sdm5-fft-88 9 6,23E-04

7 98,9 sdm6.dat sdm6-adq-98.9 sdm6-ffl-98.9 9,06E-05

~3000128

Atenuador dB Archivo Adq m TDH

5 9 3 49,l stml.dat stml-adq-49.1 stml-fft-49.1 2,551 6

49’4 59,l stm2.dat stm2-adq-59.1 stm2-ffl-59.1 5,3963

37,8 69,l stm3 dat stm3-adq-69.1 stm3-ff-69.1 0,0605

29,3 79,l stm4.dat stm4-adq-79.1 stm4-ff-79.1 0,0067

19,4 89,l stm5.dat stm5-adq-89.1 stm5-ffl-89.1 5.01 E-O4

10,2 99,l stm6.dat stm6-adq-99.1 stm6-ffl-99 1 6,60E-05

27

~4000120

Atenuador dB Archivo Adq m TDH

55,5 47.7 s4ml .dat s4ml-adq-47.7 s4ml-fn-47.7 1,7547

45,4 57.7 s4m2.dat s4m2-adq-57.7 s4m2-fft-57.7 6,8497

35,4 67.7 s4m3.dat s4m3-adq-67.7 s4m3-ffl-67.7 0,2032

25,4 77.7 s4m4.dat s4m4-adq-77.7 s4m4-ffl-77.7 0

15.6 87,7 s4m5.dat s4m5-adq-87.7 s4m5-ffl-87.7 8,36E-04

7 2 97,7 s4m6.dat s4m6-adq-97.7 s4m6-ffl-97.7 l113E-04

~6000105

Atenuador dB Archivo Adq m TDH

51.5 56,4 s6ml dat s6ml-adq-56.4 s6ml-ff-56.4 0,1375

41,5 66,4 s6m2.dat s6m2-adq-66.4 s6m2-ffl-66.4 0,1453

31,4 76,4 s6m3.dat s6m3-adq-76.4 s6m3-ffl-76 4 0,0119

21,5 86.4 s6m4.dat s6m4-adq-86 4 s6m4-fn-86.4 0,001 1

12 96,4 s6m5.dat s6m5-adq-96.4 s6m5-ff-96.4 3.21 E-O4

4,9 106,3 s6m6.dat s6m6-adq-106.3 s6m6-ffl-106.4 1,70E-05

~8000100

Atenuador dB Archivo Adq m TDH

37.5 53,3 s8ml dat s8ml-adq-53.3 s8ml-fn-53.3 6,4771

27,6 63,3 s8m2.dat s8m2-adq-63.3 s8m2-fn-63.3 1,0501

17,6 73,3 s8m3.dat s8m3-adq-73.3 s8m3-fn-73.3 0,0636

8,8 83.3 s8m4.dat s8m4-adq-83.3 s8m4-ffl-83.3 0,0021

0 9 103,l s8m6.dat s8m6-adq-103.1 s8m6-ffl-103.1 3.90E-03

3,1 93,3 s8m5.dat s8m5-adq-93.3 s8m5-ffl-93.3 8,20E-03

GRAFICAS

En conjunto con la descripción de tablas que se menciono con anterioridad presentamos lasgraficas del estímulo senoidal de oído derecho en el Anexo B.

28

REQUERIMIENTOS MINIMOS DEL SISTEMA

Dado que una tarjeta de audio como la Sound Blaster tiene requerimientos mínimos para su funcionamiento, éstos además de ser cubiertos nos es necesario contar con lo siguiente para la creación y reproducción de los estímulos.

Una PC pentium a 75 MHz o superior

16 MB de memoria RAM o más

Los estandares de un sistema multimedia

Windows 95b o superior

MS-DOS 6.0 o superior

Matlab 4.2 o superior

Espacio mínimo en disco duro de 50 MB

Un atenuador para la selección de intensidad

Unos audífonos para aplicaciones audiológicas

MANUAL DE USUARIO

Una vez que se cumplan los requisitos de hardware y software podemos iniciar la creación de uno o varios estímulos de la siguiente manera:

1. Encienda la PC

2. Entrar al ambiente Windows

3. Iniciar Matlab

4. Solicite información del estímulo que desee (senoidal,pip, click o ruido blanco), escribiendo el comando de ayuda HELP de la siguiente forma:

help sen help pip help click help blanco

29

5. Para cada estímulo aparecerá una función ya elaborada en Matlab, introduzca todas y cada una de las variables que pide la función. Para saber el valor de la ganancia que hay que darle a la función es necesario consultar primero la descripción de tablas y el Anexo A, para saber que estímulo necesitamos (oído derecho u oído izquierdo)

6. Una vez creado el archivo o los archivos que se deseen, para su adecuada reproducción es necesario ajustar el control de volumen que aparece en Windows de la siguiente manera:

Control maestro: Al máximo Control de onda: En dos

7. Ajustar el atenuador con la escala indicada para cada caso en particular como se indica en la descripción de tablas y consultando el Anexo A.

8. Reproducir el archivo .WAV en el software de su preferencia o en el mismo Windows verificando nuevamente que los controles de volumen para el control maestro y el control de onda se encuentren como se menciono en el punto número seis.

LISTADOS DE LA GENERACION DE ESTIMULOS

A continuación se presentan los listados en Matlab de los programas hechos para la realización de los estímulos

30

function pip

function pip(gans,frese,tsb,hn,nrep,frep,wavefile) % Esta función genera uti estimulo del tipo PIP (tonos rafaga) % guardandolo como archivo .WAV % % pipl(gans,fsen,tsb,tm,nrep,frep,wavefile), ?6 % gam : ganancia o amplitud del estimulo. % frese ' frecuencia fundamental de l a senoidal. % tsb : tiempo de subida y bajada (generalmente el mismo) % para generar la señal (milisegundos). % tm : tiempo de la meseta,donde l a amplitud de l a senoidal es % constante (milisegu~~dos). % nrep . núnlero de repeticiones del pip. % frep : frecuencia de repeticion del estímulo % wavefile : nombre del archivo ejemplos: 'a:\nombre.wav' % % 'c:\subdirectorio\nombre.wav'

'c:\nombre.wav'

% (no es necesario escribir .WAV) % made by fie

if narg inc7

end if I/frep > 2*tsb+tm

end

error('P1P necesita siete argumentos!');

emor('error el tlernpo de repeticlon es menor a tiempo de estimulo!');

fmus=44100; % fmuestreo : frecuencia de n~uestreo 44100 asignada automaticamente.

puntos=l/fnius; tme=tnd1000; limtim=tsb/1000; nul-nrep, fr-frep; tsil=(l/frep)-(2*tsb-tm);

tpas=tsi1/1000;

timsb=(O:puntos:linltim); seno=sin(2*pi*frese*timsb); rampa=timsb; seno=(seno.*rampa)/limtim ; rampaba=limtim - timsb ; senol=sin(2*pi*frese*tinisb); resutI=(senol.*rampaba)/limtim ; timeI=(O:puntos.hie); senome=sin(2*pi*frese*tiniel); senop=[seno senonle resutl].*gans+l28,

tsilen=(O:puntos:tpas); sano=sin(2*pi*frese*tsilen);

pausa=(sano.*cero)i 127; cero=O;

[n.m]= size(pausa); [p,q]= size(senop);

while cont<=nur, c o n e l ;

trenpip(cont,:)=senop;

trenplp(cont+l.:)=zeros(slze(senop))tl27; cont=cont+2;

end ty=2*tsb+tm; tx=tsil;

if tx==ty,

reppip=[reppip trenpip(cont;)]; for cont=l mur,

end

elself txcty,

while cont.:=nur, cont=l;

tTenpipa(cont,:)=zeros(size(pausa))+127: trenpip(cont,:)=senop; trenpipa(cont+l ,:)=zeros(size(pausa))+127; trenpip(cont+l ,:)=senop;

end

reppip=[reppip trenpip(cont,:) trenpipa(cont,:)];

cont=cont+2;

for cont=l:nur,

end

else tx>ty,

while cont<=nur, cont=l;

trenpipa(cont,:)=zeros(size(pausa))+l27; trenpip(cont,:)=senop; trenpipa(cont+l,:)=zeros(size(pausa))+127; trenpip(cont+l,:)=senop;

cont=cont+2;

for cont=l :uur, end

reppip=[reppip trenpip(cont,:) trenpipa(cont,:)];

end end

y=reppip; waveData = y; sRate = 441 00;

If ~sstr(waveData) tmp = waveData; waveData = wavetile; wavetile = sRate; sRate = tmp;

end

I f findstr(wavefile.'.')==[]

end wavefile=[wavefile,'.wav'];

fid=fopen(wavefile,'wb','l'); if fid -= -1

[m,n]=size(waveData); nsamples=ni*n;

nffs1ze=36+nsan1ples;

fwrite(fid,'RIFF'.'uchar'); fwrite(fid,riffsize,'ulong'); fwrite(fid,'WAVE','uchar');

fwrite(fid,'fmt ','uchar'); fwrite(tid,16,'ulong'); fwrite(fid, 1 ,'ushort');

fwrite(fid,sRate,'ulong'); fwrite(fid,l,'ushortt');

fwrite(fid,sRate,'ulong'); fwrite(fid. 1 .'ushort'); fwnte(fid,8,'ushort');

fwrite(fid,'data','uchar'); fwrite(fid,nsanrples,'ulong'); fwrite(fid,waveData.'uchar');

if ((ceil(nsamples/2))-(nsamples/2))

end; fclose(fid);

fwrite(fid,O,'ucliar');

end;

If fid == - I

end: error('Can"t open .WAV file for input!');

31

function sen

function sen(gans,frese,bll,wavefile) "4 Esta función genera un estimulo senoidal, guardandolo como archwo .WAV % con un tiempo de ataque y liberación de 400 milisegundos. Y" % sen(gans,frese,rm,wavefile); Y" % gam : ganancm o amplitud de l a senoidal. % frese : frecuencia fuudamental de l a senoidal. % tm : duración de l a senoidal (en milisegundos). % wavefile : Nombre del archivo ejemplos: 'a:\nonlbre.wav'. % % 'c.\subdirectorio\nonibre.wav'.

'c:\nonlbre.wav'

% (no es necesario escnbir .WAV) %,

made by tie

if nargin-=4

end error('Senoida1 necesita cuatro argumentos!');

fmus=44100; puntos=l/fmus; limtim=400/1000; tmc=rm/1000;

timsb=(O:puntos:Ilmtim); seno=sin(2*pi*frese*timsb). rampa=timsb;

rampaba=limtim - timsb ; seno=(seno.*rampa)/limtim ;

resutl =(seno1 .*rampaba)/limtlm ; senoI=sin(2*pi*frese*timsb);

timel=(O:puntos:tme); senonle=sin(2*pi*frese*timeI); senop=[seno senome resutl].*gans*l28; end end

y-senop; waveData = y; sRate = 44100;

if isstr(waveData) tmp = waveData; waveData = wavefile;

sRate = tmp, wavefile = sRate;

end

if findstr(wavefile,'.')==[]

end wavefile=[wavefile,'.wav'];

fid=fopen(wavefile,'wb','l'); if l id--I

nsamples=m*n; [~~~,~~]=size(waveData);

riffsize=36+1isamples;

fwrite(fid,'RIFF','uchar'); fwrite(fid,riffsize,'ulong'); fwrite(fid,'WAVE','uchar');

fwrite(fid,'fmt ','uchar'); fwrite(fid,l6,'ulong'); fwrite(fid,l ,'ushort'); fwrite(fid,l ,'ushort'); fwrite(fid,sRate,'ulong'); fwnte(fid,sRate,'ulong'); fwrite(fid,l ,'ushod), fwrite(fid,8,'ushor');

fwrite(fid,'data','uchar'); fwrite(fid,nsamples,'ulong'); fwrite(fid,waveData,'uchar');

if ((ceil(nsamples/2))-=(nsamples/2)) fwnte(fid,O,'uchar');

end; fclose(fid);

end;

if fid == -1

end; error('Can"t open .WAV file for input!');

32

function click

function click(gans,frec,nrep,wavetile) if fid == -1 % Genera un estímulo de tipo click (pulso cuadrado) con fase %positiva emor('Can"t open .WAV tile for input!'); % y un ciclo de trabajo de 100 microsegundos. end: % % clickl(gans,frec,nrep,wavefile); Y" % gans : ganancia o amplitud del estímulo. % frec : frecuencia de la seRal cuadrada (0.1 a 100 Hz.) % nrep ' numero de repeticiones del estimulo 91, wavefile : nombre del archivo ejemplos: 'a:\nombre.wav' % 'c:\nombre.wav' % 'c:\subdirectono\nonlbre.wav'. % (no es necesario escribir .WAV) % made by tie % %

if nargin-=4

end

fmus=44100; puntos=l/fnius; gans=gans/2;

ct-O.Ol*frec; reps=[(l/frec)*(nrep+l)];

in=( 1 ifrec); fin=reps-( l/frec)+0 0001 ; t=(in:puntos:fin): y=[square(2*pi*frec*t,ct)+l].*gans+128;

emor('click necesita cuatro argumentos');

waveData = y : &ate = 441 00;

if isstr(waveData) tmp = waveData; waveData = wavefile; wakefile = sKate; sRate = tmp;

end

i f findstr(wavetile,'.')==[] wavefile=[wavefile,'.wav'];

end

fid=fopen(wavetile,'wb','l'); if fid J -1

[ni,n]=si~e(waveData); nsamples=m*n;

riffsize=36+nsaniples;

fwnte(fid,'RlFF','ucliar'); f\rrrite(fid,riffsize,'ulong'); fwrite(fid,'WAVE'.'uchar');

fwrite(fid,'fmt ','uchar');

fwrite(fid,l,'usliort'); fwrite(fid, 16,'ulo11g');

fwrite(fid, 1,'ushort'); fwrite(fid,sRate,'ulong'); fwrite(fid,sRate,'ulong'); fwrite(fid, I ,'ushort'); fwrite(fid,8,'usllort'):

fwrite(fid,'data','uchar'); fwrite(fid,nsamples,'ulong'); fwrite(fid,waveData,'uchar');

if ((ceil(nsamplesR))-=(nsamples/2))

end fclose(fid);

fwrite(fid,O,'uchar');

end;

33

function y=blanco

functlon y=hlanco(gans,semilla,x,wavefile) O h Esta funclón genera ruido blanco % % y=hlancoI(gam,semilla,x,wavefile); % % gam ganancia o amplltud del ruldo % sernllla,x tamaño de la rnatnz para generar el ruido blanco % wavefile : nombre del archwo elemplos 'a.\nornhre.wav' % 'c.hombre wavl % 'c:Luhdlrectorlahombre wav' Yo (no es necesarm escrlhir WAV) Yo made by fie

if nargin-=4

end

%rand('normal'), %y=randn(slze(x)); %end

error('h1anco necesita cuatro argumentos!'),

x=x;

y=randn(s,x) *gans+128; s=semilla;

waveData = y ; sRate = 44100,

d isstr(waveData) tmp = waveData, waveData = wavefile; wavefile = sRate; sRate = tmp;

end

iffindstr(wavefile,'.')==[]

end wavefile=[wavefile,'.wav'];

fid=fopen(wavefile,'wb','l'), If fid -= -1

[m,n]=size(waveData), mamples=m*n,

nffs1ze=36+nsamples,

fwite(fid,'RIFF','uchar'); fwrite(fid,nffslze,'ulong'), fwrite(fid,'WAVE','uchar'),

fwrite(fid,'fmt ','uchar'), fwrlte(fid,16,'ulong'), fwrlte(fid,l,'ushort'), fwlte(fid,l,'ushort'), fwrite(fid,sRate,'ulong'), fwrlte(fid,sRate,'ulong'), fwlte(fid,l,'ushort'); fwlte(fi48,'ushort');

fwlte(fid,'data','uchar'), fwrlte(fid,nsamples.'ulong'), fwite(fid,waveData,'uchar'),

if ((ce1l(nsamples/2))-=(nsamples/2))

end, fclose(fid);

fwrite(fid,O,'uchar'),

end;

if fid == -1

end; error('Can"t open WAV file for mputl')

34

GLOSARIO

e

e

e

Armónicos.- Los armónicos son componentes senoidales de una onda completa los cuales son múltiplos exactos de una frecuencia fundamental. El primer armónico es la frecuencia fundamental por si misma mientras el segundo y tercer armónico son dos y tres veces la frecuencia fundamental, respectivamente.

Cero Audiométrico.- El cero audiométrico es mas frecuentemente referido como O dB HL este representa el promedio absoluto en dB SPL para un gran grupo de individuos normales que escuchan bien. Por ejemplo el estándar ANSI indica que el cero audiométrico a 1000Hz. es 7dB SPL, mientras que a 250Hz. el cero audiométrico es 24.5 dB SPL

Decibel -. El rango de intensidad sobre el cual un hombre es capaz de responder al sonido, tiene una proporción de 10e14: l . Esto es, la proporción de potencia entre el umbral absoluto y el sonido mas fuerte al cual un hombre puede exitosamente escuchar es de 100 billones a uno. Los decibeles son proporciones logarítmicas las cuales comprenden rangos extremadamente grandes de intensidades dentro de un sistema menos grande y más trabajable. Por definición los decibeles para medición de potencia (watts/cm2, wats) son definidos como:

donde Il es la potencia observada o medida e Io es la potencia de referencia.

Distorsión Armónica.- es la introducción no deseada de componentes armónicos de una señal de entrada senoidal la cual aumenta como una consecuencia de una respuesta no lineal de un amplificador o transductor.

Frecuencia Fundamental.- La frecuencia fundamental es el componente mas bajo en frecuencia en una onda periódica.

Nivel Audible (Hearing Level). - El nivel audible es expresado como dBHL, este representa é1 numero de dB relativo al cero audiométrico ( audiometric zero) al cual un sujeto primero percibe un tono a una frecuencia dada. Así, O dB HL se refiere al SPL al cual una persona normal escucha bien. Si un sujeto percibe un estímulo en 50 dB HL, el o ella se considera que tiene una pérdida de 5 OdB

Nivel de Presión del Sonido(SPL).- El nivel SPL en dB puede ser determinado usando la expresión:

NdB=2010glO(Pl/Po)

donde PI es una presión de sonido observada y Po es una referencia de presión. La referencia mas comúnmente utilizada es 0.0002pbar. Este valor representa el promedio de la presión del sonido al cual un adulto joven escucha de manera normal un tono a 1000Hz.

Oído Artificial.- un oído artificial es un dispositivo mecánico el cual es usado junto con un audífono para medir un nivel de sonido. El tipo de oído artificial mas frecuentemente usado en el laboratorio contiene un volumen de 6 cc entre el audífono y el micrófono. Este volumen se aproxima al espacio de aire que se encuentra en promedio en el oído humano bajo un audífono. Así

35

pues el oído artificial esta diseñado para simular la impedancia característica de un oído normal humano.

o Tono de calibración.- un tono de calibración (cal-tone) es frecuentemente usado para asegurar que un aparato experimental permanece en calibración desde una sesión de prueba a otra. Por ejemplo en un sonómetro aseguramos la repetibilidad de los niveles de la señal de salida del mismo.

36

BIBLIOGRAFIA

l . &chards, Alan M. Basic Experimentation in Psychoacoustics United States of America, 1976,University Park Press.

2. W.T. Cumming & J.G. Flexible PC Workstation for Auditory Evoked Potencial and Psychoacoustic Experiments, Med & Biol & Comput, 1992,39

3. M.E. Lutman, Microcomputer-Controlled Psychoacoustic in Clinical Audiology, Journal of Medical Engineering & Technology, 1983, 7, 83-87

4. J.C. Stevens, Microprocessors in Audiology and Neurophysiology Journal of Medical Engineering & Technology, 1983, 7, 307.

5. P.M. bdge, D.M. Golden, I. Luck & S.E. Sindorf, Guía Oficial De Sound Blaster, McGraw-Hill2" ed.

6. W.T. Cumming & J.G. Wells, Flexible PC-Workstation for Auditory Evoked Potencial and Psychoacoustic Experiments, Med & Biol. & Comput., 1992, 30, 373-376.

1. Matlab High-Performance Numeric Computation and Visualization Software, User's Guide , The Math Works Inc. 1993.

37

ANEXO A

ESTIMULO DE TIPO PIP PARA OlDO DERECHO, CONTROL MAESTRO AL MAXIM0 Y WAV EN DOS

p2000125 pl25-1 O0

Atenuador dB 55.1 48.9 Atenuador dB

18.9 84.3 45.1 58.9 35 68.9 25 78.9

15.3 88.9 7 98.8

9.7 94.3 3.6 104.3 1 .I 114 o .2 124.4

~250-125 p3000125

Atenuador dB Atenuador dB 59.2 49.1 dU.-t Vd. I

28.4 75.1 49.1 59.1 39 69.1 18.4 85.1

9.5 95.1 3.5 105

29 79.1 19.2 89.1 10 99.1 1 1 15.2

~500-125 p4000120

Atenuador dB 44.1 57.3 34.1 67.3 24.1 77.3 14.5 87.3

Atenuador dB 55.4 47.7 45.4 57.7 35.2 67.7 25.3 77.7

6.4 97.3 15.6 87.7 " _

7.2 97.7 - . ..

2.1 107.1

pl000120 p6000105

Atenuador dB 53.7 46.9

Atenuador dB 51.5 56.4

43.7 56.9 "

41.4 66.4 33.6 66.9 31.4 76.4 23.6 76.9 21.5 86.4

12 96.4 14 86.9 6.1 96.9 4.9 106.3

p80001 O0 ~1500125

~

Atenuador dB 55.2 46.5 45.2 56.5

Atenuador dB 37.3 53.3 27.4 63.3

35.1 66.5 25.1 76.5 15.4 86.5

17.5 73.3 8.6 83.3 3 93.4

0.8 103.7 ~-

ESTIMULO DE TIPO PIP PARA OlDO IZQ, CONTROL MAESTRO AL MAXIM0 Y WAV EN DOS

p2000125 pl25-1 O0

Atenuador dB 54.9 48.9 Atenuador dB

19.4 84.3 44.9 58.9 34.8 68.9 10.1 94.3

3.8 104.3 25 78.9 15.2 88.9 1 . I 114.6 6.9 98.9 0.2 125.3

~250-125 p3000125

Atenuador dB 39.1 65.1

Atenuador dB 59.1 49.1

28.8 75.1 49.1 59.1 18.9 85.1 39.1 69.1

29 79.1 9.8 95.1 3.7 105 1 .I 115

19.2 89.1 1 99.1

p4000120 p500-125

Atenuador dB Atenuador dB 55.4 47.7 . ..- .,. ..,

34.5 67.3 45.5 57.7 35.5 67.7 24.5 77.3

14.8 87.3 6.6 97.3

25.4 77.7 15.7 87.7 7.3 97.6 2.2 107.3

~-

p l O001 20 p6000105

Atenuador dB 54.3 46.9 44.3 56.9

Atenuador dB 50.2 56.4 40.2 66.4

34.2 66.9 24.4 76.9

- " _

30.3 76.4 20.2 86.4

14.5 86.9 11 96.4 4.2 106.5 6.4 96.9

~1500125 p80001 O0

Atenuador dB Atenuador dB ~~~

55.4 46.5 45.4 56.5

37.4 53.3 27.5 63.3

35.4 66.5 ~. -

17.7 73.3 ~- -

25.5 76.5 15.6 86.5

8.8 83.3 3.1 93.2 0.9 103.1 7.2 96.5

- "-

ESTIMULO TIPO SENOIDAL PARA OlDO IZQUIERDO

~2000125 s i 25-1 O0

Atenuador dB 54.9 48.9 Atenuador dB

19.3 84.3 10 94.3

44.9 58.9 34 68.9

"

3.8 104.4 1 .I 114.1

- . "

25 78.9 15.3 88.9 ~~

7 98.9 ~~ ~

~3000128

Atenuador dB

0.3 123.2

~250-125

Atenuador dB 39.5 65.1 59.5 49.1 28.9 75.1 19 85.1 9.9 95.1

~~ ~

49.6 59.1

3.7 105 1 . I 114.9

~500-128 ~4000120

Atenuador dB Atenuador dB 44.6 57.3 55.7 47.7

45.8 57.7 35.1 67.7 25.2 77.7 16 87.7 7.5 97.7

34.5 67.3 24.8 77.3 14.9 87.3 6.7 97.3 2.2 107.4

SI 000120 ~ 6 0 0 0 1 0 5

Atenuador dB 54.2 46.9

Atenuador dB 50.5 56.4

44.2 56.9 40.4 66.4 34 66.9

24.4 76.9 14.5 86.9

30.2 76.4 20.5 86.4 11.2 96.4

6.4 96.9 ~. -

4.4 106.4

SI 5001 25 ~ 8 0 0 0 1 O0

Atenuador dB 55.4 46.5

Atenuador dB 37.6 53.3 27.8 63.3

~~~

45.4 56.5 34.9 66.5 25.4 76.5

17.8 73.3 8.9 83.3 3.2 93.3 15.6 86.5

."

0.9 103.4 ~~ -

7.2 96.5

RUIDO BLANCO, OlDO DERECHO RUIDO BLANCO, OlDO IZQUIERDO

Atenudador dB Atenudador dB 1 o1 63 1 o1 63 31 69 31 69 20 78 20 78 10 89.5 10 89.2 3.4 1 O0 3.4 1 O0 1 110.1 1 1 10.1

Los valores de ruido blanco son también en dBspl , los valores ideales se presentan en la siguiente tabla.

dBHL dBSPL 40 60 50 70 60 80 70 90 80 100 90 110

ANEXO B

I - I

!- d " -

t i i L l

I i I I

I 1

X ! ri Ln cu

cu

I

" ;""- _c

""a ----" i

c;) a O O m

i O O O rr)

O O c2 m

O O O

m - a

U P

TÍ 't O 3 e I

r-l - C ' I -

I "

I

I

O Ln

V

1

I

I

.: , d i

1: i

i

O in O

O O c-4

I I In m

- .- .A = I - - - . i !

1 u') 1 3 I C

!

i

i" I

1- i u)

o

i I

O O o3

1

I i

L !

!"--J -

E / t

- I : ¡ i"

_ ~ - "

" I

" "" \ -----"_

----"-. _/--"--

,J

" ""-----"

"------ "---_7__

"-7 ""- "-- """

I !

c

""" " Z

"/----- -"--- LC

"" , - "--" -"" -----""_

"" - /---

/--

"2

m

F-"

1: X

c. Ll', "I I

I

m !

- m ,D

I- U

u - LL

i - F

"

I

I

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 O G O O O 0 O O O O C 3 0 3 a 3 b a L o T m m ~ Y

I

0 O O m

O O m m

O O 0 m

O O LD Y

0 O O Y

O a Lo

c3

Q

O 1 LIT m I

I i

i ’ +

O O O m

o O LD cv

O O O cu

G LD O Y

O O O - O O m

o

1 I

I I X

1

I "

i

c c

I " . ___r_ 1'

I

L e-

1

U

i 1 I

- I - T ; ! ."

j

i

I

J s - 7

I

I !

i 01

c: , C'd I I I -

I

I 1

c! CJ

I I-

I

D o o o a o o o c > o o o o o o 0 0 0 0 0 0 0

3 -1 -

I

O O m O

O co (13 V cu a 'o

O O O v

i

i I

c c;

c i

i i I js

I

I

I - L- ” -

t

I- O O O a2

i !

L __c__l

"-----¡

O O O s!

O O O co

O O O (D

O O O v

i O O O CJ

! z k I ! (3 -]u l -

r

c. 1.1

I - !

t

0z I I

r

i

I i"

O O O $

G O O a3

G C O co

O O O -3

O O O c.4

r c3 CI - I

I I

i I

"2 ' _"------- =-"

--------"-\

__"- "-------

t

c- " - ---

c j

- I ) I !

,-----"

"~

I

r. I 1

&"-L."

~""------"

," ", ". i z

, - ". - - ."

L

X i

! ,"-- -----"-" tk) v-- "" ".

"-"' !

iu i "

~ " - - ."---- c b""-

I I O o O

; !

o

I I

Z l O O

I

I