Diseño de filtros digitales en microcontroladores dsPIC
1
Sumario: • Introducción • Tipos de filtros • Diseño e implementación de un filtro pasa bajos • Programa ejemplo
Ing. Juan Vega Martinez
¿Qué es un filtro?
Cualquier medio que atraviesa la señal puede ser considerado un filtro. No pensamos en algo como filtro si la señal no es modificada.
Ing. Juan Vega Martinez
Introducción
¿Qué es un filtro digital? Un filtro digital, es un filtro que opera sobre señales digitales. Es una operación matemática que toma una secuencia de números (la señal de entrada) y la modifica produciendo otra secuencia de números (la señal de salida) con el objetivo de resaltar o atenuar ciertas características. Puede existir como una fórmula en un papel, un loop en un programa de computadora, como un circuito integrado en un chip.
Ing. Juan Vega Martinez
¿Qué podríamos hacer con los filtros?
Ing. Juan Vega Martinez
Aplicaciones de los filtros
Ing. Juan Vega Martinez
Introducción Aplicaciones Síntesis de sonido: creación o modificación de señales para moldear espectros o formas de onda y lograr el efecto auditivo buscado. Efectos de audio: chorus, flanger, phaser, reverb
Ing. Juan Vega Martinez
Introducción Aplicaciones Separación de señales que fueron combinadas desafortunadamente (ruido, interferencias provenientes de otros sistemas)
Ing. Juan Vega Martinez
Logro de la sesión: “Al finalizar la sesión de clases , los estudiantes implementaran filtros digitales básicos usando los microcontroladores dsPIC”
Ing. Juan Vega Martinez
Tipos de filtros
Ing. Juan Vega Martinez
Ejemplo Ejemplo 1. FFT
Filtro LPF
Ing. Juan Vega Martinez
HPF
Ejemplo LPF
FC
Ing. Juan Vega Martinez
Ejemplo HPF
FC
Ing. Juan Vega Martinez
Introducción Procesamiento digital de señales
DFT Transformada discreta de fourier
Análisis y tratamiento de señal de audio Ing. Juan Vega Martinez
Introducción Procesamiento digital de señales
Transformada Z
Transformada discreta de laplace
Análisis y tratamiento de señal de audio Ing. Juan Vega Martinez
¿Qué aplicación implementaremos?
LPF
Ing. Juan Vega Martinez
Filtro pasa bajo Diagrama de bloques del sistema
RF[6:0]
Generador de Señal
ADC
LPF
RB0
Ing. Juan Vega Martinez
DAC
Filtro pasa bajo Generador de Señal Generador de Señal RB0
Datos de la Señal a generar
PSV
Análogo RB0
Ing. Juan Vega Martinez
Filtro pasa bajo Generador de Señal Generador de Señal RB0
Microcontrolador dsPIC
RB0
Ing. Juan Vega Martinez
Filtro pasa bajo Microcontrolador
ADC RB0
ADC • • • •
Resolución 12 bits Disparo de conversión(Timer 3) Tiempo de muestreo -> Ts= 500us Vref+ = 5V Vref- = 0V
Ing. Juan Vega Martinez
Filtro pasa bajo Filtro pasa bajo.
𝑽𝒊𝒏
LPF
Ing. Juan Vega Martinez
𝑽𝒐𝒖𝒕
Filtro pasa bajo Filtro pasa bajo
𝑽𝒊𝒏
LPF
Ing. Juan Vega Martinez
𝑽𝒐𝒖𝒕
Filtro pasa bajo Filtro pasa bajo
𝑽𝒊𝒏
LPF
Ing. Juan Vega Martinez
𝑽𝒐𝒖𝒕
Filtro pasa bajo Filtro pasa bajo Filtro pasa bajo en el dominio de Laplace
𝑽𝒊𝒏
𝐻(𝑠) 𝑽𝒐𝒖𝒕 𝟏 𝑯 𝒔 = = 𝑽𝒊𝒏 𝝉𝒔 + 𝟏
𝑽𝒐𝒖𝒕
1 1 𝜔𝑐 = = 𝜏 𝑅𝐶 𝜔𝑐 = 2𝜋𝑓𝑐
Ing. Juan Vega Martinez
Filtro pasa bajo
Ing. Juan Vega Martinez
Filtro pasa bajo Diseñar un filtro pasabajo con una frecuencia de corte (𝒇𝒄 ) de 20Hz. 𝟏 𝑯 𝒔 = 𝝉𝒔 + 𝟏
𝑯 𝒔 =
1 1 𝜔𝑐 = = 𝜏 𝑅𝐶
𝜔𝑐 = 2𝜋𝑓𝑐
𝟏 𝟏 𝒔+𝟏 𝟐𝝅𝒇𝒄
Para 𝒇𝒄 =20Hz 𝑯 𝒔 =
𝟏
𝟏 𝒔+𝟏 𝟐𝝅 ∗ 𝟐𝟎
𝟏 𝑯 𝒔 = 𝟎. 𝟎𝟎𝟕𝟗𝟓𝟖𝒔 + 𝟏 Tiempo Continuo
Ing. Juan Vega Martinez
Filtro pasa bajo
Ing. Juan Vega Martinez
Filtro pasa bajo
Ing. Juan Vega Martinez
Filtro pasa bajo Diseñar un filtro pasabajo con una frecuencia de corte (𝒇𝒄 ) de 20Hz y un tiempo de muestreo de 1ms.
𝑯 𝒔 =
𝟏 𝟎. 𝟎𝟎𝟕𝟗𝟓𝟖𝒔 + 𝟏
𝑯 𝒛 =
Función c2d
𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 + 𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 − 𝟎. 𝟖𝟖𝟏𝟖
Tiempo Discreto
Tiempo Continuo
Método de discretización usado es el Tustin Ing. Juan Vega Martinez
Filtro pasa bajo Diseñar un filtro pasabajo con una frecuencia de corte (𝒇𝒄 ) de 20Hz y un tiempo de muestreo de 500us.
𝑯 𝒔 =
𝟏 𝟎. 𝟎𝟎𝟕𝟗𝟓𝟖𝒔 + 𝟏
Función c2d
𝑯 𝒛 =
𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 + 𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 − 𝟎. 𝟖𝟖𝟏𝟖
Tiempo Discreto
Tiempo Continuo
% Design Low Pass Filter Fc=20; b=tf(1,[1/(Fc*2*pi) 1]) c2d(b,.001,‘tustin') Ing. Juan Vega Martinez
Filtro pasa bajo Diseñar un filtro pasabajo con una frecuencia de corte (𝒇𝒄 ) de 20Hz y un tiempo de muestreo de 1ms. 𝑯 𝒛 =
𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 + 𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 − 𝟎. 𝟖𝟖𝟏𝟖
Tiempo Discreto
Y ahora ¿Cómo lo implementamos?
Ing. Juan Vega Martinez
Filtro pasa bajo Diseñar un filtro pasabajo con una frecuencia de corte (𝒇𝒄 ) de 20Hz y un tiempo de muestreo de 500us. 𝑯 𝒛 =
𝟎. 𝟎𝟑𝟎𝟒𝟔 𝒛 + 𝟎. 𝟎𝟑𝟎𝟒𝟔 𝒛 − 𝟎. 𝟗𝟑𝟗𝟏
Tiempo Discreto
Introduction to Digital Signal Processing (DSP)
[email protected] Ing. Juan Vega Martinez
Filtro pasa bajo Diseñar un filtro pasabajo con una frecuencia de corte (𝒇𝒄 ) de 20Hz y un tiempo de muestreo de 1ms. 𝑯 𝒛 =
𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 + 𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 − 𝟎. 𝟖𝟖𝟏𝟖
𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 + 𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛 𝑯 𝒛 = 𝒛 − 𝟎. 𝟖𝟖𝟏𝟖 𝒛
Tiempo Discreto
𝒀(𝒏) 𝟎. 𝟎𝟓𝟗𝟏𝟐 + 𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛−𝟏 𝑯 𝒛 = = 𝑿(𝒏) 𝟏 − 𝟎. 𝟖𝟖𝟏𝟖𝒛−𝟏
(𝟏 − 𝟎. 𝟖𝟖𝟏𝟖𝒛−𝟏 )𝒀 𝒏 = 𝟎. 𝟎𝟓𝟗𝟏𝟐 + 𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛−𝟏 ) 𝑿(𝒏) 𝒀 𝒏 = (𝟎. 𝟎𝟓𝟗𝟏𝟐 + 𝟎. 𝟎𝟓𝟗𝟏𝟐 𝒛−𝟏 ) 𝑿 𝒏 + 𝟎. 𝟖𝟖𝟏𝟖 ∗ 𝒛−𝟏 𝒀 𝒏 𝐏𝐞𝐫𝐨 ∶ 𝐗 𝐧 − 𝟏 = 𝒛−𝟏 𝑿 𝒏
𝒀 𝒏 − 𝟏 = (𝒛−𝟏 )𝒀 𝒏
𝒀 𝒏 = 𝟎. 𝟎𝟓𝟗𝟏𝟐 ∗ 𝑿 𝒏 + 𝟎. 𝟎𝟓𝟗𝟏𝟐 ∗ 𝑿 𝒏 − 𝟏 + 𝟎. 𝟖𝟖𝟏𝟖 ∗ 𝒀 𝒏 − 𝟏 Ing. Juan Vega Martinez
Filtro pasa bajo Conversor Digital Análogo RF[6:0]
LPF
DAC
Digital
Análogo Ing. Juan Vega Martinez
RF[6:0]
Generador de Señal
ADC
LPF
5
DAC
120
4.5
100
4 3.5
80 3 2.5
60
2
40
1.5 1
20 0.5 0
0
100
200
300
400
500
600
700
800
900
0
1000
Ing. Juan Vega Martinez
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Señal filtrada usando un filtro pasa bajo de una frecuencia de corte de 20HZ
Ing. Juan Vega Martinez
Ing. Juan Vega Martinez
Muchas Gracias Juan Vega Martinez Ing. Electrónico Investigador del Grupo de Microelectrónica http://ue.accesus.com/ https://www.facebook.com/microElectronica Ing. Juan Vega Martinez
38