Está en la página 1de 26
UNIDAD 2 — pControladores 3 (Clase 8) — Conversor A/D Entradas Analdgicas — Convertidor A/D (ADC) - "En el mundo las cosas no son sélo blancas o negras”. EI AVR incluye un conversor A/D para capturar las sefiales del mundo fisico. ~ La conversién A/D comprende 2 ino procesos: muestreo y cuantificacién. 130" cannes) B30 11a 1190 10 nu Resute Boor, ct) - Enel AVR la cuantificacién es de 10 bits (valores entre 0 y 1023) y la conversién toma habitualmente unos 120us (f,, = 8KH2). aon -E] ADC del AVR trabaja por aproximaciones sucesivas y est gobernado por un clock que se deriva del del CPU a través de un prescaler. - Las distintas entradas analdgicas se obtienen con un multiplexor que conecta una u otra al mismo ADC. Estas entradas comparten pines con uno de los puertos de E/S (en el ATmega328P es el PortC). - E| ADC cuenta con una entrada de referencia AREF, para ajustar el voltaje maximo de la escala y asi aprovechar totalmente el rango dindmico. Breve teoria de la conversion A/D CUANTIFICACION t (QUANTISING) MUESTREO (SAMPLING) TT AS Frecuencia de Muestreo = Sampling Rate = cantidad de muestras por unidad de tiempo (KHz) Pardmetros de la representacién Resolucién = Bit Depth = precision de la representacién de cada muestra (bits) Breve teoria de la conversion A/D (cont.) Una sefial analdgica puede ser reconstruida, sin error, = de muestras tomadas en iguales intervalos de tiempo, siempre que la frecuencia de muestreo sea igual 0 mayor al doble de su ancho de bandal”. Teorema de Nyquist-Shannon (*) NOTA: para la mayarfa de los casos aunque no para todos- ancho de banda = frecuencia maxima. Sefiala muestrear, Frecuenciade Sefal defrecuencia=f muestreo=f, _reconstruida “ALIASING” £1 aliasing ocurre cuando no se cumple el crterio de Nyquist, es decir, cuando f | | >f,/20. lo que es lo mismo, cuando la sefiol queda representada con menos de | 2 muestras por ciclo. f,/2 se denomina, por esta razén, frecuencia Nyquist) Similar al efecto de la rueda fe que aparenta girar en direccion = ==> 270° = -90° contraria, en el cine... Breve teoria de la conversién A/D (cont.) Sefial analdgica éCudntos valores distintos tiene ese conjunto? éDe cuantos valores disponemos para cuantificar? J Depende de la resolu 0 sea, la cantidad de bits (n) que usemos para codificar: Muestreo Cuantificacion tli | Consiste en aproximar el valor | de las muestras a un conjunto i 1} | de valores posibles (discreto). al a 1120110 30110011 Cantidad de valores = 2” 1000101 {PS s1000010 10111010 3 -*. > ec. MsB LSB NV ¢ 444 1110 1101 1100 1011 1010 1001 1000 o1a1 0110 0101 0100 011 0010 0001 0000 Breve teo! MUESTREO de la conversién A/D (cont.) No introduce errores (mientras se respete el criterio de Nyquist) Pa z . + Introduce error, llamado = — CUANTIFICACION “error de cuantificacion” 5 1 Intervalo de cuantifcaciin (Q) { : Salidafror xn) ie Error de euantificacion (40/2) Con cada bit de resolucién que agregamos, el error i de cuantificacién se reduce a la mitad. Entrada xa) Funcién de transferencia del proceso de cuantificacién La relacién sefal-ruido de cuantificacién (SQNR) se mide en dB, y se calcula com: 20+ log (S/E) = 6 - Noxs También puede entenderse como la relacién entre el maximo voltaje que puede capturar el sistema y el minimo, 0 sea su rango dindmico. Conversién A/D en la prac! Precisién del ADC Ademas del error de cuantificacién tedrico, los ADC practicos pueden sufrir otras fuentes de distorsién. -y Ce ro | | | | | | | Lepr 000 on ° Vase Funcién de transferencia ideal ws Offset Ener Integral Nominearty (INL) ee, Gain Error Difterential Nen-tiveary (ONL) Ideal ADC —— petual ADC Conversion A/D en la practica (cont.) éCual es el problema con el aliasing? El riterio de Nyquist muchas veces se interpreta mal: no es que f, debe ser por lo menos el doble de la maxima frecuencia que queremos representar, sino que f, debe ser por lo menos el doble de la maxima frecuencia presente en la sefial que estamos muestreando. La sefial puede contener ruido a frecuencias mas altas que el fendmeno que queremos capturar. En ese aso, s6lo hay 2 posibilidades: o eliminamos esas frecuencias de la sefial a muestrear, o utilizamos una f, igual (@ mayor) al doble de la mas alta de esas frecuencias. Cualquier otra posiilidad, no es una opcion. El ruido El ruido es especialmente eritico en la electrénica analégica. Todo circuito que varia su consumo genera interferencia electromagnética, por ejemplo: el propio UC. El ruido también puede provenir de la fuente de alimentacién, afectada a su ve2 por la variacién de consumo en los propics circuitos que ella alimenta, El uC prevé algunas técnicas para defenderse del ruido. Una de ellas es la entrada de alimentacién independiente para el ADC (AVCC). Otro recurso son los modos Noise Reduction e Idle, en los que se apaga el CPU mientras se realiza la conversién A/D. [res aoes) [reo nce) Otros consejos para reduce uid: las pists o os cables por donde van sefales snakiyicas tienen que ser lo Fer més cortos posible, y estar les de fuentes de interferencia, como ser pines digitales que conmuten a atta velocidad, y més aun ceuites de potencia, [la si se usan pines del puerto Cen Amega168/328P) como salidas digitale, Ewer tsimprescindible que éstos no conmuten durante una conwersén A/D. i ; indie que 6 ‘i |" rts: Circuito de entrada del ADC [181 [" se recomienda que el voltae conectado @ Ie entrada del ADC provenga de un Sm Circuito de baja impedancia (igual o menor a 10K0) ‘Ala entrada del ADC hay un condensador (en el iamado circuito “sample and hold”) Sila fuente es de alta impedancia, el condensador tardaré més tiempo en cargarse. =. oe (Vidas: © ee = = f (nbits) nity) DAC 2 I Site (Nota: el anslisis de la red R2R se simplifica aplicando el principio de superposicién y el teorema de Thévenin®). ADC en Arduino a Leer el valor de un pin pin: el pin analdgico de Arduino de entrada analégica analogRead (pin) devuelve: el voltaje del pin (int 0-1023) Seleccionar una type: DEFAULT, INTERNAL, INTERNAL1V1, fuente para el voltaje _analogReference (type) rie eters’ delle INTERNAL2V56, o EXTERNAL DEFAULT: voltaje de alimentacién del ADC (pin AVC) que a su vez no puede ser distinto de la alimentacién del micro, 0 sea, SV 0 3.3V. INTERN. | : voltaje de referencia interno del micro (1.1V en ATmega168/328p). Voltajes de referencia INTERNALIV1 e INTERNAL2VS6: voltajes de referencia internos de 1.1V y 2.56V, respectivamente, sélo disponibles en Arduino Mega EXTERNAL: voltaje aplicado al pin AREF (el cual nunca puede ser mayor al voltaje de * Los pines analégicos también pueden tener pull-up. Se activa con digitalWrite (pin, HIGH); + analogRead{) no funciona si el pin fue usada como OUTPUT digital “Se recomienda descartar las primeras lecturas luego de cambiar un pin de digital a analégico, 0 de cambiar Otros cel voltaje de referencia detalles *Sise usa un voltaje de referencia externo en AREF, se debe setear el analogReference en EXTERNAL antes de llamar a analogRead{), de lo contrario se produce un cortocircuito adentro del micro, que lo puede dafiar. + Otra posibilidad es conectar el voltaje a AREF través de una resistencia, pero esto genera una cafda de tensién, debido a la impedancia interna del pin AREF. Hacks del ADC (en Arduino) Tiempo de conversion + EI ADC de oproximaciones sucesivas trabaja a una frecuencia de clock de entre SOKH2 y 200KHz. * La conversién normal toma 13 ciclos de clock (excepto la primera conversién luego de encender el ADC, que toma 25 ciclos). + Al igual que en los timers, existe un prescaler para el clock del ADC. * La frecuencia del clock est en relacién con la resolucién del ADC. ‘Afrecuencias mayores a 200KHz, la resolucién es menor a 10 bits. + Arduino inicializa el prescaler en 128, lo que da la frecuencia de clock mas baja posible (125KHz) y también la maxima resoluci6n. A esta frecuencia, la conversién demora exactamente: 104 us. + La funcién analogRead() inicia una conversién (seteando el bit ADSC del registro ADCSRA) y se queda esperando que la conversién termine (lo cual el ADC notifica reseteando el mismo bit), + Esta técnica se llama busy waiting (“espera activa”). La funcién no retorna hasta que la conversién no esté lista, y los 104 ps realmente se pierden*. Usando una éCémo evitar el Imerrupeion busy-waiting? Sincronizando la conversién con otras tareas. Este sencillo hack consiste en di —> analogRead() en 2 partes: “startConversion()” y oS a es // start the conversion sbi (ADCSRA, ADSC); // ADSC is cleared when the conversion finishes hile (bit_is_set (ADCSRA, ADSC)); low = ADCL; high = ADCH; return (high << 8) | low; -> EIADC puede disparar una interrupcién al finalizar la conversién. la funcion “readConversion()’. En el medio, ejecutar otras tareas. Hacks del ADC (cont.) woid ADCeonfig (| { ape oa, see ADCSRA = _BV(ADEN) |_3 ADMUX = _BV(REFSO) ; sere ) woid ADCInitCony (byte pin} { ADMUX = [1 << 6) | (pin & 0x07)# // setea el c: ° ) delayiticroseconds (21; ADCSRA |= _Bv(ADSC) 7 // inicia wna nueva conversiér ) int ADCReadCony () { while (ADCSRA & _BV(ROSC byte low = ACE? byte high = ADCH; return (high <8) | lows // combine the two bytes int ADcReadAndrnitwowconv () while (ADCSRA & BV(ADSC)) ; // espera hasta que se aL ta pronta la com : byte Low = ACL? byte high = Abc! ADCSRA |= _BY(ADSC); Wa una nueva conversién nan securn (aign <8) | low on . a } © Noise canceler = Interrupcién . 4 = Modo “Free run” Funciones del ADC que no se usan en Arduino * Analog Comparator = Sensor de temperatura interno * Auto trigger Registros del ADC (ATmega168/328P) SEL ADMUX — ADC Multiplexer Selection Register a Gas rr OVE..%. = i ‘Analog Channel Selection its [Tens } —— ADC Left Adjust Result [> anoagea ~O. emery 3 Reference Selection Bits ADCSRA ADC Control and Status Register A =_z—. =) RErst REFSO | | 7 \ a ge ¥ ADC Interrupt Flag oe ADC Start Conversion e : Dara = Conversion |__| pc Oerbeeet od o 1. “Ties!Counter Compare Maich B “TieriCounter! Overton ADCSRE — ADC Control and Status Register 8 ° ° 1 (| TCounter0 Overton 1 2 1 Ly, ADC Auto Trigger Source (Analog Comparator Mul Tirer'Courtart Capture Evert FSR (FlexiForce) Apéndice 1 — Sensores resistivos Potenciémetro El potenciémetro puede ser usado como dispositivo de entrada que permite ingresar un rango continuo de valores. Suele usarse como sensor de giro (encoder) absoluto analégico. La mayoria de los servos utilizan internamente un potenciémetro. para “saber” su posicién angular. Para todos los casos, una solucién +5V usar? | ° wa Termistor ie restive Un valor acorde con la resistencia del sensor. PERO... siel valor resulta ser muy alto, podriamos tener algunos problemas... vi in Vout En ese caso es necesario preamplificorla serial. Un amplificador operacional suele ser la opcién, Algunas consideraciones sobre sensores analégicos Potenciales problemas de los sensores analégicos pasivos +5 La alta impedancia del circuit provoca lecturas erréneas, ruido, mayor tiempo requerido para la conversion A/D, etc. Los voltajes que entrega el circuito no se ajustan al rango del conversor A/D, lo que deriva en una pérdida de resolucién. El sensor no es lineal. Allinealizarlo por software, nuevamente perdemos resolucién. Sharp GP2D12 vottaje vs. distancia Votaje (V) fe Distancia (em) il Las distancias entre 10 y 30 em abarcan cas todo el rango y estan representadas con mas resolucion. Las distancias entre 30 y 80 em estin representadas con apenas unos pocos valores distintos, Algunas consideraciones sobre sensores analdgicos (cont.) Limitaciones del divisor de tensi6n El sensor no soporta cualquier corriente. Por ejemplo en el caso de un sensor de temperatura resistivo, hay que limitar la corriente, ya que ella misma genera un altas para limitar la corriente. aumento de temperatura que puede distorsionar la medicién. 1) Necesidad de usar resistencias Dado que la férmula es Vin*Rx/{RI+Rx] (0 Vin*R1/(Rx+R1), cuanto més alto el valor de Ri 2) Al aumentar el valor de} menor seré el rango de voltaje producido por la variacién de Rx. (Otra forma de verlo es la resistencia, empeora el | que al aumentar Rt, disminuye la corriente, y por consiguiente disminuye el voltaje en Rx). rango (y aumenta el ruido). | incluso si Ri es igual al valor central de Rx, el rango de voltajes nunca seré de Oa Vin, Para que ello ocurriera, Rx tendria que variar de 0 a infinito, cosa que es imposible. La gréfica de V en funcién de Rx no es lineal, sino que es una funcién del tipo 1/x. Como ya vimos, esto provoca que la resolucién no sea la misma para cualquier parte del rango. 3) El voltaje en funcién de Rx no es lineal. Puente de Wheatstone Algunas de las limitaciones anteriores se pueden superar con el circuito llamado Puente de Wheatstone, en combinacién con un amplificador operacional. Este circuito puede verse como 2 divisores de tensién, uno de ellos con resistencias fijas, y lo que se amplifica es la diferencia de voltaje entre ambos divisores, Algunas consideraciones sobre sensores analdgicos (cont.) Muestreo Cuando leemos el valor de un puerto analdgico a intervalos regulares de tiempo, estamos haciendo un muestreo. Supongamos que queremos regular la temperatura de un calefon, y para ello medimos su temperatura a intervalos regulares. £A qué frecuencia deberiamos efectuar ese muestreo? tay mat Observamos que la temperatura promedio del calefén varia. muy lentamente, entonces decidimos muestrearla a 1H (es decir, tomando 1 ‘#¥ © ippret a ten) muestra por segundo), seo Sona Pera imaginemos que, si bien el promedio varia lentamente, la seal“ realmente tiene fluctuacianes a frecuencias mayores a 1Hz (debidas, por ejemplo, al ruido), ty Evidentemente estas variaciones no serin capturadas por el sistema, pero la pregunta es: gpodemos estar seguros de que, en estas sav. condiciones, las muestras capturadas a 1H2 reflejarén realmente la variacion del promedio de temperatura? La respuesta es: no, debido al fenémeno conocido como aliasing. Filtrar en el En “criollo”: poner un dominio analégico condensador a la entrada. éComo evitar el aliasing? En “criollo”: obtener muchas Filtrar en el a vas mas muestras (oversamplin dominio digital ( pling) y promediarlas. Apéndice 2: Introducci6én al DSP éQué es el DSP? Digital Signal Processing, es la ciencia del uso de computadoras para tratar 0 manipular sefiales. Las sefiales pueden provenir del mundo fisico, sefiales analégicas, como por ejemplo: el audio, una imagen visual, vibraciones sismicas, etc. El DSP implica representar estas sefiales en un dominio discreto, es decir como un conjunto de nuimeros. Una vez digitalizada la seftal, el DSP comprende un conjunto de técnicas y algoritmos para modificarla, mejoraria en algun aspecto, comprimirla, o extraer de ella informacién. Algunas aplicaciones de! DSP son: procesamiento de audio, reconocimiento de voz, reconocimiento de gestos, mejoramiento de imagenes, compresién de datos, etc. La gama de técnicas y algoritmos incluye: filtros, FFT, convolucién, redes neuronales, etc. ——| noe | | aoe | | rrocesson| | rrocesson| one | |» vnlitered sampled digitaly filtered ‘oncleg digtised fikered eneleg sonal ‘spol sonel are Pom Hee fhe A Introduccion al DSP — Breve glosario Principio de superposicion Una de las grandes herramientas del DSP es descomponer la sefial en componentes simples, procesar cada componente individualmente, y luego sumar los resultados para sintetizar una nueva sefial. Esta seftal equivale a la que se obtendria procesando la sefial original directamente, Convolucién Es una de las técnicas basicas del DSP y se basa en el principio de superposicién. La sefial a procesar se descompone en impulsos, y cada uno de ellos se multiplica por otra sefial llamada respuesta impulsiva, Finalmente todos los resultados (que son copias escaladas y desplazadas de la propia respuesta impulsiva) se suman. La respuesta impulsiva representa el procesamiento a realizar, porque es la seffal que se obtendria a la salida del proceso si la entrada fuera un impulso, La convolucién es un algoritmo muy pesado, no sélo para Arduino sino para cualquier computadora, pero afortunadamente se puede calcular muchisimo mas répido usando la FFT (FFT-convolution). Dominio del tiempo y de la frecuencia EI dominio de una sefial es con respecto 2 qué pardmetro varia. Habitualmente las sefiales son el cambio de una magnitud con respecto al tiempo. En el caso de una imagen, es el cambio de color (0 de brillo) con respecto 2 la distancia (o el espacio} pero igual se le llama dominio del tiempo. Matematicamente, aplicando una transformada, se puede convertir una sefial temporal en una sefial del dominio de fa frecuencia, que representa exactamente la misma informacién, pero de otra manera. El dominio de la frecuencia es una sucesién de amplitudes (y fases) con respecto a la frecuencia; viene a ser el Conjunto de frecuencias que componen la sefial. Toda sefial se puede descomponer en frecuencias que la componen. Mediante la transformada inversa, se puede volver del dominio de la frecuencia al del tiempo. Transformada de Fourier Discreta y FFT El Andlisis de Fourier es el fundamento matemstico en que se basan los algoritmos para convertir una sefial del dominio del tiempo al de la frecuencia. La DFT es la Transformada de Fourier que se aplica a seftales discretas de duracion finita. La FFT (Fast Fourier Transform) es una de las herramientas mas poderosas del DSP, ya que es un algoritmo que permite calcular rapidamente la DFT. Es bastante pesado para Arduino, de todas maneras, sin embargo existen algunas implementaciones. Existe una relacién matemética muy concreta (y muy importante) entre DFT y convolucién: la convolucién en el dominio del tiempo equivale a la multiplicacién en el dominio de la frecuenci Introduccion al DSP — Breve glosario (cont.) Filtros Una rama importantisima del DSP son los filtros digitales. Los filtros permiten separar unas frecuencias de otras, y tienen muchisimas aplicaciones en todos los campos. Los fltros también existen en la electronica analégica, pero con las técnicas del DSP se pueden lograr resultados increiblemente superiores. La respuesta en frecuencia de un filtro, es cémo acta éste en el dominio de la frecuencia, o sea la atenuacién (y el desfasaje) que produce en cada una de las frecuencias en que se puede descomponer la sefial. La respuesta en frecuencia de un filtro es también la transformada de Fourier discreta de su respuesta impulsiva. Existen 4 tipos de respuestas bésicos: Low-pass (pasa-bajos), High-pass (pasa-altos), Band-pass (pasa-banda) y Band- reject (rechazo-de-banda). Existen 2 grandes familias de filtros digitales, a, Low-pass c, Band-pass basado en el algoritmo para implementarlos: passband: aransion i in FIR (finite impulse response) son los filtros implementados por convolucién. Todo el ‘NL sopband potencial de los filtros digitales esta en esta Frequency Frequency familia, pero su implementacién es costosa computacionalmente. Amplitude b. High-pass d. Band-reject IIR (infinite impulse response) son los filtros implementados por recursién. Estos filtros se asemejan a los filtros analégicos, y su implementacién es muy liviana, es decir, son rapidos y aptos para plataformas sencillas Frequency Frequency como la Arduino, Introduccién al DSP — Técnicas basicas El Buffer Circular yee rae ZY 2xont [Te] + wt 2x00 | oa947_| = sfo21 ‘noes [0226918] < ao] oe [01309 ]-< xo) ewe angie oes | 0.048679] = o-7) ole sample ‘mous | o229077 | < so moar [osTta90 | < ae} anos [oer] < ao xo 4. Cireular buffer at some instant 2000 | oa0e7 2 | oa209re 2moss | a0 ewe angle sous | 0a2007F |< eM) ote sae ame [oats] < se) ann [onenTa1 | = ale) zoe b. Circular huter after next sample En DSP, sobre todo cuando hacemos procesamiento en tiempo real, es comiin tener que almacenar las tiltimas N muestras de una sefial que esté siendo capturada en ese momento. éPara qué sirve el buffer circular? * Supongamos que queremos promediar las ultimas N lecturas de un sensor. Para ello necesitaremos un buffer, vale decir, un array que almacene los Lltimos N valores: int valores [M1]; *+Cada ver que ingrese un nuevo valor, desplazamos todo el contenido del buffer un lugar, y metemos el nuevo valor en el lugar libre: mencpy (Evalores(1], valores, (N-1) ¥aizeof(int)) / valores{0] = analogRead (sensor) ; +1 buffer circular (ring buffer) permite hacer lo mismo (almacenar los Ultimos N valores) sin tener que mover todo el contenido del array una y otra ver (lo cual seria computacionalmente costoso, sobre todo si Nes grande). Implementacién del buffer circular ist int ringbuse: int pos = 07 void storevalue (int value) { pos = (pos+SIZE-1) % SIZ; singBuffer [pos] = value; ' int getvalue [int index} return ringbuffer [ (postindex) SIZ]; ' Introduccién al DSP - Técnicas basicas (cont.) Filtro de “media mévil” (Moving Average Filter) define seNsoR RO +E! filtro de media mévil (moving average) es una de las técnicas simples de procesamiento digital de sefiales (DSP). *Consiste en ir haciendo un promedio de las ui sea, lecturas del sensor, en “criollo”). as. muestras (0 +s un procedimiento muy efectivo para “suavizar” la sefial, y practicamente siempre que trabajemos con sensores analégicos, lo vamos a utilizar. *Con “suavizar” nos referimos a “dejar més lisa” la grafica en el dominio del tiempo. Eso equivale a filtrar el ruido de alta frecuencia, por eso es un filtro. El moving average es un tipo de LPF, low-pass filter, filtro pasa-bajos. Implementacién de un filtro de media mévil con buffer circular int ringbufter (SIZE); Hdefine SIZE 10 int pos = 0; J/ 19@ S8NSOR y devuelve 61 promedio de 128 Uitinas 10 lecturas void storeValue {int value) { pos = (pos+SIZE-1) % SIZE: novavg storeValue (analogkead (SENSOR) ) novavg += getValue(0) + return [flcat)movava/SIZE; ringBuffer [pos] = value: Ant getWalue (int index) ( return ringbuffar | |postandex) $9126]; Introducci6én al DSP — Técnicas basicas (cont.) Filtros recursivos (IIR) xi] a> + EI método recursivo es una forma muy eficiente de implementar filtros digitales. Estos filtros no tienen una gran performance, pero son rapidos y livinos computacionalmente. * La técnica consiste en usar tanto muestras de la seffal de entrada como de la sefial de salida, Ye de ahi el nombre recursivos. Cada muestra de la sefal de salida es una suma ponderado de las. muestras pasadas, tanto de la sefial de entrada como de la propia sefial de salida, 2 Taps al | 8 Ti prs ‘Sanple numer ‘Sample number Los filtros IIR emulan exactamente a los filtros analdgicos, y al igual Filtro LPF recursivo de Jer. orden. que éstos, suele referirse a ellos como de “er. orden, 20. orden, etc’, “1 polo, 2 polos, ete.” 0 “I-stage 2-stage, etc”. Sin entrar en el Waetine ELLTER 7.95 detalle de lo que estas expresiones quieren decir (que es de hecho : muy complejo) en general, cudntos mas polos o més orden tiene es co un filtro, significa mayor pendiente o mejor performance en algtin value = analogkead(Al): aspecto. (La pendiente de los filtros se mide en dB/octava; un filtro t= new value-sensoe)*(1-SIUTER de 1 polo tiene 6dB/octava de atenuacion*). Vote “ae Con respecto a la implementacién digital, a mayor orden, més aetay tt cantidad de muestras pasadas (tanto de entrada como salida) se ) utilizan en el algoritmo. Introducci6én al DSP — Técnicas basicas (cont.) Implementacién practica de filtros recursivos de Jer. orden Algoritmo general: yin] = ayx[n] + a,xfe-1] + a,x[n-2] + a,x [m3] + + byy[r-1] + b,y[n-2] + byy[n-3] + La relacién entre los coeficientes y la frecuencia de corte (-3dB) del fitro, esté dada por la siguiente férmula: sl A -20f._7 x=e Ss L > \ en donde f, es la frecuencia de corte en relacion a la frecuencia de muestreo, y puede ir de 0.20.5. El pardmetro x es a, aes nono un ntimero entre Oy 1. Ample Sample numer ‘Sample nur Introduccién al DSP - Técnicas basicas (cont.) Otras técnicas de procesamiento sencillo Promedio y Desviacién Estandar H El promedio, en electrénica, es el valor DC, o el componente de frecuencia 0. La desviacién estdndar nos dice qué tanto se aleja, promedialmente, la sefial de ese promedio, El RMS es un caso particular de desviacién estandar, cuando el promedio vale 0. Umbral, doble umbral, umbral “adaptativo” Para detectar un “pico” en la sefial podemos simplemente ut ar un umbral. Tam n podemos usar 2 umbrales, como hace el disparador Schmitt, para que el “pico” se mantenga una vez que la sefial cruzé el umbral. Otra técnica para detectar un pico, es usar un umbral pero no absoluto, sino relativo al promedio. Derivada e Integral Si tenemos una sefial que representa distancia, la derivada nos daria la velocidad. Si tenemos una sefial que representa velocidad, la integral nos da la distancia. En una sefial discreta, la integral se calcula restando muestras adyacentes, y la integral sumandolas. Correlacion Parecido a la convolucién. Se multiplican las muestras de una sefial por las muestras relativas de otra sefial, y se suma todo. E! resultado nos dice qué tan “parecidas” son ambas sefiales. Se puede usar para detectar una frecuencia, por ejemplo. De hecho, la DFT se puede computar de esta manera, aunque es muchisimo mas costoso que hacer una FFT. PRACTICO 8 www.mvdrobotics.com

También podría gustarte