Diseńo e Implementación de Filtros Digitales en un Procesador DSP

Anuncio
DISEÑO E IMPLEMENTACIÓN DE FILTROS DIGITALES EN UN
PROCESADOR DSP TMS320C50
John Kern Molina1, Claudio Urrea Oñate2, Christian Piel Gamonal3
1,2,3
Grupo de Automática. Departamento de Ingeniería Eléctrica. Universidad de Santiago de Chile.
Avda. Ecuador Nº 3519. Estación Central. Santiago. Chile.
1
Escuela de Ingeniería Electrónica y Computación, Universidad Iberoamericana de Ciencias y Tecnología,
Manuel Rodríguez Sur Nº 220, Santiago. Santiago, Chile.
1
[email protected], [email protected], [email protected]
RESUMEN
Este artículo muestra el diseño, simulación e implementación de filtros digitales de Respuesta Impulso
Finita (FIR) a través del empleo de herramientas computacionales y del uso del procesador DSP
TMS320C50, de la empresa Texas Instruments. Se realiza un tratamiento de los filtros digitales
presentando su correspondiente obtención de coeficientes para los tipos: pasa bajos, pasa altos y
subwoofer, considerando diferentes frecuencias de corte. Se realiza el hardware en base a la plataforma
DSK (DSP Starter Kit) del procesador y se diseñan los algoritmos de procesamiento en tiempo real que se
implementan en el DSP. Los resultados se presentan mediante curvas comparativas de respuestas de
magnitud y fase.
PALABRAS CLAVES: Filtro digital, procesamiento digital de señales, procesador DSP, TMS320C50.
DESIGN AND IMPLEMENTATION OF DIGITAL FILTERS IN A
TMS320C50 DSP PROCESSOR
ABSTRACT
This paper shows the design, simulation and implementation of Finite Impulse Response (FIR) digital
filters through the use of computational tools and the DSP processor TMS320C50, of the Texas
Instruments Company. A treatment of the digital filters is developed, presenting its corresponding
assignment of coefficients to the types: low pass, high pass and subwoofer, considering different cutoff
frequencies. The hardware is performed based on platform DSK (DSP Starter Kit) processor and real-time
processing algorithms are designed and implemented on the DSP. The results are shown by comparative
curves of magnitude and phase responses.
KEY WORDS: Digital filter, digital signals processing, DSP processor, TMS320C50.
1. INTRODUCCIÓN
En muchas aplicaciones se requiere que el espectro de frecuencias de las señales sea modificado o
manipulado de acuerdo a especificaciones deseadas. Tal proceso puede incluir, por ejemplo, la atenuación
de un rango de componente de frecuencias o rechazar o aislar un componente específico. Cualquier
sistema o red que presente estas características de selectividad de frecuencias es llamado filtro. Los filtros
se pueden dividir según su respuesta en frecuencias como: pasa bajos; solamente permite el paso de
frecuencias bajas, pasa altos; deja pasar las frecuencias altas, pasa banda; admite todas las frecuencias
pertenecientes a cierto rango, atrapa banda; permite el paso de toda la señal excepto un rango de
frecuencias específico. Según su forma de implementación, los filtros también pueden clasificarse en
análogos y digitales, los primeros se caracterizan por estar construidos en base a componentes análogos
como resistencias, condensadores, bobinas, amplificadores operacionales, etc., y los segundos se refieren
1
a un algoritmo mediante el cual una señal digital o secuencia de números, frecuentemente obtenida a
partir de una señal analógica, es transformada en una segunda secuencia de números llamada señal digital
de salida. Esta transformación puede realizarse en tiempo diferido mediante un proceso computacional o
en tiempo real a través de un procesador digital se señales DSP [1], [2], [3].
En este trabajo se presenta el desarrollo, simulación e implementación de filtros digitales de respuesta
impulso finita FIR, de diferente orden y considerando distintas frecuencias de corte, a través del empleo
de herramientas computacionales y del uso del procesador DSP TMS320C50 de la empresa Texas
Instruments. Se realiza un tratamiento de los filtros digitales presentando su correspondiente obtención de
coeficientes para los tipos: pasa bajos, pasa altos y subwoofer. Se realiza el hardware en base a la
plataforma DSK (DSP Starter Kit) del procesador y se diseñan los algoritmos de procesamiento en tiempo
real que se implementan en el DSP. Los resultados se presentan mediante curvas comparativas de
respuestas de magnitud y fase.
2. FILTROS DIGITALES
Conceptos básicos
El término filtro digital se refiere al proceso computacional o algoritmo por el cual una señal digital o
secuencia de números, que actúa como entrada, es transformada en una segunda secuencia de números
llamada señal digital de salida. Algunas de las ventajas de usar filtros digitales, en comparación con los
análogos, son: alta confiabilidad, alta precisión, el desempeño general del sistema no se ve afectado por la
desviación de sus componentes, las tolerancias de sus componentes no son críticas, es fácil cambiar sus
parámetros para así alterar las características del filtro (filtros adaptativos) y una característica importante
es que pueden realizarse filtros de fase lineal y con especificaciones muy rigurosas [4], [5].
Un filtro digital es denominado no recursivo (también llamado filtro FIR: Finite Impulse Response)
cuando la salida depende únicamente de los valores previos de entrada. Un filtro recursivo (conocido
como filtro IIR: Infite Impulse Response) es aquel en que además de los valores de entrada previos utiliza
los valores de salida previos [6], [7].
El orden de un filtro digital corresponde al número de entradas (o salidas) previas usadas para calcular el
valor de salida actual y, dependiendo del tipo de filtro, puede ser de cero hacia arriba. En términos de
implementación en el DSP el orden de un filtro digital no recursivo corresponde al número de entradas
previas que se necesita guardar en memoria para generar el valor de salida.
La acción de un filtro se puede expresar, por una ecuación en diferencias, a través de (1) y (2), [5]-[8]:
Y ( n) = a 0 X ( n ) + a1 X ( n -1) + L + a M X ( n - M ) −b1Y ( n -1)−b 2Y ( n -2 )-L -b M Y ( n - N )
M
N
k=0
k =1
Y ( n ) = ∑ ak X ( n − k ) − ∑ b k Y ( n − k )
(1)
(2)
donde X(n) a X(n-M) representan los valores de una secuencia que entra al filtro, Y(n-1) a Y(n-N) señalan
una secuencia de valores previos de salida e Y(n) expresa la secuencia de los valores de salida actuales del
filtro. Los elementos a0 a aM., y b1 a bN, que aparecen en las expresiones (1) y (2), son constantes y se
denominan coeficientes de entrada y salida del filtro, respectivamente. Dichos coeficientes determinan las
característica particulares de cada filtro. El máximo de M y N indica el orden del filtro.
Si se hacen cero todos los coeficientes b en (1)-(2) se obtiene una expresión para un filtro no recursivo
como, se indica en (3):
2
M
Y ( n) = a 0 X ( n ) + a1 X ( n − 1) + L + a M X ( n − M ) = ∑ ak X ( n − k )
(3)
k =0
en donde M corresponde al orden del filtro FIR.
Otra forma de representar un filtro, de manera más útil para trabajar con su respuesta en frecuencia, es la
función de transferencia. Para este propósito se debe introducir el operador de retardo denotado por el
símbolo z - 1 . Cuando se aplica a una secuencia de valores digitales proporciona el valor previo en aquella
secuencia, es decir, z - 1 X(n) = X(n-1). Considerando este operador en (1)-(3), y ordenado adecuadamente,
se obtienen las expresiones para las funciones de transferencia de un filtro recursivo y no recursivo, como
se aprecia en (4) y (5), respectivamente [4]-[6].
M
−1
H ( z) =
( a 0 + a1 z + a 2 z
−1
(1 + b1 z + b 2 z
−2
−2
+L + aM z
+L + bN z
−M
−N
)
)
∑ ak z − k
=
k=0
N
(4)
1 + ∑ bk z − k
k =1
H ( z ) = a 0 + a 1 z −1 + a 2 z −2 + L + a M z − M =
M
∑ ak z − k
(5)
k =0
La ecuación (5) puede representarse a través de un gráfico de flujo de señal, como se muestra en la Fig. 1.
Esta estructura es llamada realización en forma directa de un filtro FIR, porque los coeficientes del filtro
pueden ser identificados directamente desde la ecuación en diferencias. Las flechas asociadas al operador
z - 1 corresponden a los retardos de tiempo.
Figura 1: Estructura general de un filtro FIR.
Consideraciones de diseño
Diseñar un filtro digital involucra la ejecución de las siguientes etapas: aproximación, realización, estudio
de errores aritméticos e implementación. La aproximación es el proceso de generar una función de
transferencia que satisfaga las especificaciones deseadas, las cuales pueden involucrar respuestas en el
dominio del tiempo, en el dominio de la frecuencia, o alguna combinación de ambas respuestas del filtro.
La realización consiste en la conversión de la función de transferencia deseada en redes de filtros. Esta
etapa puede ser acompañada por varias estructuras de redes como: directa, directa canónica, en cascada o
en paralelo. En la aproximación y realización se asume que se implementarán los filtros en un dispositivo
de precisión infinita, es decir, sin considerar las limitantes del sistema (por ejemplo, número de bits para
definir cada muestra, velocidad de procesamiento del sistema y cantidad de memoria disponible). No
obstante, la implementación con los dispositivos actuales sólo ofrece una precisión finita por lo que es
necesario estudiar los efectos de los errores aritméticos en la respuesta del filtro, es decir, como es el
comportamiento real del mismo, para hacer una comparación con lo que se había diseñado en un principio
y evaluar si se está dentro del rango de tolerancia deseado [6].
3
3. PROCESADOR DSP TMS320C50
El procesador seleccionado para este trabajo pertenece a la familia C50 de Texas Instruments.
Corresponde a un DSP fabricado con tecnología CMOS. Este combina una arquitectura interna del tipo
Harvard avanzado (en el que están separados los buses para memoria de programa y para la memoria de
datos) que contiene bloques memoria y periféricos dentro del chip, con un set de instrucciones altamente
especializado que sirve de base para aplicaciones DSP de alta velocidad. Su reloj externo es de 40 Mhz,
sin embargo, el ciclo de máquina interno ocupa dos ciclos de éste, demorándose 50 nano segundos en
ejecutar una instrucción, por lo que realiza hasta 20 millones de instrucciones por segundo (20 MIPS).
Este procesador, Texas Instruments TMS320C50, está dispuesto en una plataforma denominada DSK,
como se aprecia en la Fig. 2, que trabaja en tiempo real, además de que permite su interconexión con
otras placas circuitales creadas por el usuario, pudiendo expandir el sistema de diferentes maneras. El
DSK debe conectarse a un computador del tipo PC compatible, por medio de un puerto de comunicación
serial del tipo RS232 [10]-[13].
Figura 2: Placa DSK TMS320C50.
Características
Algunas características de dicho sistema son: DSP de punto fijo de 16 Bits de datos, memoria PROM
27256 de 32 Kbytes donde reside el programa de comunicación con el PC, circuito conversor análogodigital-análogo AD/DA o AIC (circuito de interfaz análoga) con un ancho de banda de 10 KHz,
frecuencia de muestreo y conversión hasta 20 KHz en entradas y salidas análogas, circuito integrado de
interfaz análoga TLC32040, conexión directa a los buses del DSP para interconectar con circuitos
externos.
4. IMPLEMENTACIÓN DE FILTROS FIR
Luego de analizar la información proporcionada por el fabricante del DSP se procede a realizar el
programa base del sistema, como se indica en la Fig. 3.
Figura 3: Diagrama de flujo del programa procesador DSP.
4
Inicialización
El primer paso que realiza el programa es definir las ubicaciones en la memoria de datos en donde se irán
almacenando los valores de la secuencia de entrada, que en este caso son 41 ubicaciones. Debido a que se
implementarán filtros FIR de orden 20 y 40, es necesario almacenar los últimos 40 valores de la secuencia
de entrada en orden ascendente desde la dirección 300h en adelante. Así, cada vez que ingrese un nuevo
valor de entrada todos los valores almacenados serán desplazados un lugar hacia arriba guardando
siempre en la dirección 300h el último valor entrante.
Las constantes empleadas son: TA, TB, CTR, KS, X10, X1, X001, X1Q15, MAX, MIN. En particular, TA,
TB y CTR son utilizadas para definir los tiempos de muestreo, de conversión y el registro de control del
AIC dentro de la rutina de inicialización. KS es empleada para el cálculo consistente en dividir el valor de
la frecuencia de muestreo en mil (Fs/1000). X10, X1, X001 y X1Q15 representan valores numéricos en
diferentes formatos fraccionarios. MAX y MIN sirven para calibrar proporcionando los rangos que cortan
la señal en un efecto de distorsión.
Las variables usadas son: XN, FRA, INS, CAR, TEMP, TEMP2, TEMP3, TEMP4, TEMP5, AC, AD, AU,
RD, RU, RBT, FIR y BOTON. En particular, XN contiene permanentemente el último valor que ha llegado
a la entrada y está definido por la dirección 300h. FRA, INS, y CAR se utilizan en las rutinas que envían a
la pantalla frases, instrucciones y caracteres, respectivamente. TEMP, TEMP2, TEMP3, TEMP4 y
TEMP5 son variables de uso general para ser empleadas en cualquier parte del programa de forma
temporal. AC, AD y AU representan las centenas, decenas y unidades del valor de atraso deseado (en
milisegundos). RD y RU constituyen las decenas y las unidades del porcentaje de reverberación deseado,
respectivamente, y RBT el porcentaje total en formato fraccionario. FIR permite definir el filtro FIR que
se ocupará. BOTON es una variable con la cual se activa el efecto de distorsión.
La siguiente etapa corresponde a la inicialización del sistema. Ésta es una rutina necesaria dado que
inicializa cuatro dispositivos: el microprocesador, el AIC, el puerto serial y el temporizador.
La fase de presentación del programa en pantalla muestra en un display LCD el programa que está
corriendo y el tipo de algoritmo utilizado. En este caso: filtro FIR y buffers circulares para generar un
efecto de eco.
El paso siguiente se encarga de la selección del tiempo de retardo y del porcentaje de reverberación. A
través de un teclado se eligen los valores para este cometido: seleccionando un dígito que se modifica
incrementándolo o decrementándolo. Con esto se proporciona el número de milisegundos deseados de
retardo y el porcentaje de reverberación. Para conseguir el efecto de eco se combinan los parámetros
retardo y reverberación: los datos que van entrando se almacenan en memoria haciendo uso de los buffers
circulares que direccionan la memoria de datos. Al requerir un tiempo de retardo mayor se define un
buffer circular de mayor tamaño, de esta forma un bloque más grande de la memoria de datos almacena
las entradas previas. Luego, el porcentaje de reverberación indica que porción de la entrada pasa
directamente a la salida (atenuada): la que es sumada al porcentaje complementario de la señal con
retardo leída del buffer circular.
Luego se procede a la habilitación del filtro, tipo y frecuencia: el programa pregunta si se desea habilitar
alguno de los filtros y, de ser así, qué tipo de filtro: pasa bajo, pasa alto o para amplificar un subwoofer
(frecuencias muy bajas). Una vez que se ha ingresado el tipo de filtro, si es pasa alto o pasa bajo, es
necesario especificar la frecuencia de corte del mismo.
Rutina principal
La siguiente fase concierne a la rutina principal de procesamiento de señal: se ejecuta en forma
permanente hasta que sea presionada una tecla. En la Fig. 4 se muestra el diagrama de flujo
correspondiente. En el primer y segundo bloque se realizan los cálculos para pasar del formato de ingreso,
5
correspondientes a dígitos entregados vía teclado, al formato binario fraccional, como se muestra en (6) y
(7), donde:
RBT = RD ⋅10 + RU
(6)
ATRASO = AC ⋅100 + AD ⋅10 + AU
(7)
RBT es un parámetro que se utiliza para determinar el porcentaje de la señal de salida, que será de la parte
calculada, y el porcentaje de la señal almacenada previamente (con retraso, leído del buffer circular) y
ATRASO corresponde a un parámetro que se emplea para calcular la cantidad de memoria que requerirá el
buffer circular (su longitud).
El tercer bloque asigna la posición de memoria de datos que utilizará el buffer circular, calculado
previamente, y así, se consigue configurar el efecto de eco.
Una vez realizados los cálculos anteriores se ingresa al segmento del programa que se ejecuta
continuamente: en este se realiza una lectura de la entrada digital luego se toma de la tabla los 40 últimos
valores de entrada previos (desde la dirección 300h en adelante) y cada uno de esos datos se desplaza una
dirección hacia arriba, partiendo por el valor ubicado en la parte superior de la memoria y ubicando el
último valor leído en la dirección 300h. Este proceso sirve para ‘refrescar’ la memoria con los últimos 40
valores de entrada considerando el dato recién leído. Una vez refrescada la tabla de valores de entrada
anteriores, se procede a calcular la ecuación en diferencias del filtro correspondiente. Es importante
mencionar que las señales de trabajo consideradas son tipo audibles por lo que es conveniente un retraso
de grupo constante, debido a esto, se contemplan filtros de tipo FIR de orden 20, en el caso de pasa altos
y pasa bajos, y de orden 40 para el de subwoofer.
Figura 4: Diagrama de flujo de la rutina principal del procesamiento de señal.
Diseño de los filtros
Para el diseño de los filtros se emplea el método basado en enventanado por su simplicidad para la
determinación de los coeficientes de los filtros FIR [14]. Tales coeficientes se obtienen con la ayuda del
programa MatLab, utilizando las funciones de la biblioteca signal processing toolbox [15]-[18]. En la
Tablas 1 y 2 se indican los valores calculados para los coeficientes de los filtros pasa bajos y pasa altos,
respectivamente.
6
Tabla 1: Valores de orden, frecuencias y coeficientes considerados para los filtros pasa bajos.
Filtro pasa bajos 1 Filtro pasa bajos 2 Filtro pasa bajos 3 Filtro pasa bajos 4 Filtro pasa bajos 5
n = 20
fs = 18.939 Hz
fc = 500 Hz
Coeficientes a
n = 20
fs = 18.939 Hz
fc = 1.000 Hz
Coeficientes a
n = 20
fs = 18.939 Hz
fc = 2.000 Hz
Coeficientes a
n = 20
fs = 18.939 Hz
fc = 4.000 Hz
Coeficientes a
0.0048
0.0068
0.0122
0.0211
0.0332
0.0476
0.0627
0.0770
0.0887
0.0964
0.0991
0.0964
0.0887
0.0770
0.0627
0.0476
0.0332
0.0211
0.0122
0.0068
0.0048
-0.0005
0.0006
0.0036
0.0103
0.0222
0.0394
0.0607
0.0831
0.1030
0.1167
0.1216
0.1167
0.1030
0.0831
0.0607
0.0394
0.0222
0.0103
0.0036
0.0006
-0.0005
0.0009
-0.0011
-0.0055
-0.0122
-0.0156
-0.0060
0.0253
0.0782
0.1402
0.1907
0.2102
0.1907
0.1402
0.0782
0.0253
-0.0060
-0.0156
-0.0122
-0.0055
-0.0011
0.0009
0.0016
-0.0021
-0.0062
0.0017
0.0210
0.0119
-0.0449
-0.0640
0.0680
0.3019
0.4224
0.3019
0.0680
-0.0640
-0.0449
0.0119
0.0210
0.0017
-0.0062
-0.0021
0.0016
n = 40
fs = 18.939 Hz
fc = 60 Hz
Coeficientes a
0.0036
0.0039
0.0046
0.0059
0.0076
0.0098
0.0123
0.0152
0.0183
0.0215
0.0249
0.0282
0.0315
0.0346
0.0375
0.0400
0.0422
0.0440
0.0453
0.0461
0.0463
0.0461
0.0453
0.0440
0.0422
0.0400
0.0375
0.0346
0.0315
0.0282
0.0249
0.0215
0.0183
0.0152
0.0123
0.0098
0.0076
0.0059
0.0046
0.0039
0.0036
Tabla 2: Valores de orden, frecuencias y coeficientes considerados para los filtros pasa altos.
Filtro pasa altos 1
Filtro pasa altos 2
Filtro pasa altos 3
Filtro pasa altos 4
n = 20
fs = 18.939 Hz
fc = 500 Hz
n = 20
fs = 18.939 Hz
fc = 1.000 Hz
n = 20
fs = 18.939 Hz
fc = 2.000 Hz
n = 20
fs = 18.939 Hz
fc = 4.000 Hz
Coeficientes a
-0.0025
-0.0036
-0.0065
-0.0113
-0.0177
-0.0254
-0.0335
-0.0411
-0.0474
-0.0515
0.9495
-0.0515
-0.0474
-0.0411
-0.0335
-0.0254
-0.0177
-0.0113
-0.0065
-0.0036
-0.0025
Coeficientes a
0.0004
-0.0006
-0.0031
-0.0090
-0.0193
-0.0342
-0.0526
-0.0721
-0.0893
-0.1013
0.8937
-0.1013
-0.0893
-0.0721
-0.0526
-0.0342
-0.0193
-0.0090
-0.0031
-0.0006
0.0004
Coeficientes a
-0.0009
0.0011
0.0055
0.0123
0.0157
0.0060
-0.0255
-0.0786
-0.1411
-0.1919
0.7900
-0.1919
-0.1411
-0.0786
-0.0255
0.0060
0.0157
0.0123
0.0055
0.0011
-0.0009
Coeficientes a
-0.0017
0.0021
0.0062
-0.0017
-0.0210
-0.0119
0.0451
0.0642
-0.0682
-0.3028
0.5792
-0.3028
-0.0682
0.0642
0.0451
-0.0119
-0.0210
-0.0017
0.0062
0.0021
-0.0017
7
Hardware del sistema
Para la implementación completa del sistema es necesario el desarrollo de: una etapa de adaptación de
impedancias para la interconexión con los buses del DSP, un circuito de visualización de datos mediante
display LCD y una interfaz a teclado. Este requerimiento se materializa a través del diseño y construcción
de una tarjeta de circuito impreso (PCB) con su correspondiente circuito electrónico, como se señala en la
Fig. 5 y la Fig. 6, respectivamente.
Figura 5: Diseño de la placa PCB empleada en el hardware del DSK TMS320C50.
Figura 6: Implementación de la placa PCB empleada en el hardware del DSK TMS320C50.
El montaje del sistema completo se indica en la Fig. 7.
Figura 7: Aspecto final del hardware del sistema procesador de señal.
5. RESULTADOS
Luego de realizar el diseño de los filtros, el programa para el DSP y el hardware del sistema, se procede a
la verificación del comportamiento de los filtros aplicando señales de voz al procesador, a través de un
micrófono y, por otra parte, ingresando los datos de coeficientes y frecuencias a MatLab. En el primer
caso se obtuvo una clara modificación de la señal audible tanto en los filtros pasa bajos como en los pasa
altos, desarrollándose todo el proceso en tiempo real. Para comprobar el desempeño del filtro subwoofer
fue necesario amplificar en gran medida la salida del mismo ya que al tener una frecuencia de corte de 60
Hz y un orden de 40, las frecuencias medias y altas de la señal de voz se atenuaban casi en su totalidad.
En el segundo caso los resultados de las respuestas de los filtros fueron graficados en MatLab obteniendo
8
las curvas de magnitud y fase que se indican en las Fig. 8 y 9, para los filtros pasa bajos, y en las Fig. 10 y
11, para los filtros pasa altos. La respuesta del filtro subwoofer se aprecia en la Fig. 12.
Figura 8: Respuesta del filtro pasa bajos: a) 500 Hz y b) 1.000 Hz.
Figura 9: Respuesta del filtro pasa bajos: a) 2.000 Hz y b) 4.000 Hz.
En las Fig. 8 y 9 pueden apreciarse claramente que las respuestas de fase tienen un comportamiento
lineal, por lo que la señal no tiende a distorsionarse, por otra parte, las curvas de magnitud exhiben una
atenuación de las frecuencias mayores a las frecuencias de corte correspondientes, comportamiento que
caracteriza a un filtro pasa bajos.
Figura 10: Respuesta del filtro pasa altos: a) 500 Hz y b) 1.000 Hz.
9
Figura 11: Respuesta del filtro pasa altos: a) 2.000 Hz y b) 4.000 Hz.
Las curvas que se indican en las Fig. 10 y 11 señalan las características de los filtros pasa altos dada la
atenuación que presentan para las frecuencias bajas. Las respuestas de fase muestran un comportamiento
lineal, característica que corresponde con las de los filtros FIR.
Figura 12: Respuesta del filtro pasa bajos 60 Hz orden 40.
Finalmente, en la Fig. 12, se observa un decaimiento más abrupto de la respuesta de magnitud para
frecuencias medias y altas, esto debido al mayor orden del filtro (40).
6. CONCLUSIONES
Los filtros digitales se caracterizan, de acuerdo a su respuesta al impulso unitario, por su función de
transferencia o por su ecuación en diferencias. Los filtros FIR calculan los valores de la señal de salida en
base a valores de entrada previos, y se caracterizan por ser filtros de corte suave, esto requiere una gran
cantidad de factores en su cálculo de salida. Sin embargo, con respecto a la fase tienen un
comportamiento lineal, lo que no distorsiona a la señal, y tienen un retraso de grupo constante
haciéndolos muy requeridos en aplicaciones en que la distorsión sea mínima. Estos filtros se pueden
implementar como subrutinas individuales y luego integrarlos entre sí, en forma de cascada o en paralelo,
para crear la función de transferencia deseada. Las herramientas de software como MatLab cumplen un
rol fundamental para determinar los coeficientes en un filtro de alto orden, los cuales se ingresan
posteriormente al programa implementado en el DSP.
10
El procesamiento de señales digitales se puede realizar en tiempo real o en tiempo diferido. El DSP
TMS320C50, empleado en este trabajo, permite implementar procesamientos en tiempo real, como por
ejemplo filtros digitales, ya que posee memoria de programa y de datos en forma separada además de un
multiplicador en hardware, que logra realizar las operaciones de suma y multiplicación en un solo ciclo
de máquina, todo esto permite aumentar la velocidad de procesamiento de la información. Tales
características hacen extensivo este desarrollo para aplicaciones tales como: de generación de señales,
análisis espectral, tratamiento de imágenes y control.
RECONOCIMIENTOS
Los autores de este artículo agradecen el apoyo brindado por:
-
El Departamento de Investigaciones Científicas y Tecnológicas de la Universidad de Santiago de
Chile, por medio del Proyecto DICYT 060713UO.
El Grupo de Automática, con su constante inspiración e impulso a la investigación científica.
http://www.die.usach.cl/
REFERENCIAS
1.
2.
3.
4.
Dorf, Richard C., y Robert H. Bishop. Sistemas de control moderno. Pearson Educación, 2005.
Stremler, Ferrel G. Introducción a los sistemas de comunicación. Addison-Wesley Longman, 1998.
Ogata, Katsuhiko. Ingeniería de Control Moderna. Pearson Educación, 2003.
Marven, Craig, y Gillian Ewers. A Simple Approach to Digital Signal Processing. 1.a ed. WileyInterscience, 1996.
5. Oppenheim, Alan V., y Ronald W. Schafer. Digital Signal Processing. Prentice-Hall, 1975.
6. Oppenheim, Alan V., Alan S. Willsky, y S. Hamid Nawab. Señales Y Sistemas. Pearson Educación,
1998.
7. Kuo, Benjamín C. Sistemas de Control Automatico. Pearson Educación, 1996.
8. Ogata, Katsuhiko. Sistemas de Control En Tiempo Discreto - 2 Edición. Prentice Hall, 2000.
9. Fonollosa, José Adrián; Vallverdú Bayés, Francesc; Mariño, José B. Rodríguez. Tratamiento digital
de la señal : una introducción experimental. Ediciones UPC, 1999.
10. Instruments, Texas. Texas Instruments TMS320C5x DSP Starter Kit User’s Guide SPRU101A. Texas
Instruments, 1996.
11. «TMS320C5X DSP Starter Kit, User’s Guide». Texas Instruments, noviembre 1997.
12. Digital Signal Processing Applications With the Tms320 Family: Theory Algorithms, and
Implementations Volume 2. No Edition Stated. Texas Instruments, 1990.
13. Tretter, Steven A. Communication System Design Using DSP Algorithms: With Laboratory
Experiments for the TMS320C30. 1.a ed. Springer, 1995.
14. Proakis, John, y Dimitris G. Manolakis. Tratamiento digital de señales. Pearson Educación, 2007.
15. DSP Blockset For Use with Simulink User’s Guide. The Math Works, Inc., 2000.
16. Isen, Forester W. DSP for MATLAB and LabVIEW: Fundamentals of Discrete Signal Processing.
Morgan & Claypool Publishers, 2009.
17. Krauss, Thomas. Signal Processing Toolbox for Use with MATLAB, User’s Guide. Math Works,
1994.
18. Pratap, Rudra. Getting Started with MATLAB: A Quick Introduction for Scientists and Engineers.
Oxford University Press, USA, 2009.
SOBRE LOS AUTORES
John Kern Molina, Magister en Ciencias de la Ingeniería, mención: Ingeniería Eléctrica. Estudiante de
Doctorado en Ciencias de la Ingeniería, mención: Automática. Universidad de Santiago de Chile
(USACH).
Claudio Urrea Oñate, Ph.D. en Ciencias de la Ingeniería, mención: Automática y Producción, INPG,
Francia. Profesor/Investigador Jornada Completa del Departamento de Ingeniería Eléctrica de la USACH.
11
Director del Programa de Modelación Industrial y Simulación Computacional de la Facultad de
Ingeniería, USACH.
Christian Piel Gamonal, Ingeniero de Ejecución en Electrónica. Universidad Tecnológica Metropolitana
(UTEM). Especialista en Programación e Informática.
12
Descargar