Anda di halaman 1dari 38

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 HPF

Ing. Juan Vega Martinez


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 DAC
RB0

Ing. Juan Vega Martinez


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 Continuo Tiempo Discreto

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 Continuo Tiempo Discreto

% 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)


James.R.Beaty@nasa.gov

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 DAC

5 120

4.5
100
4

3.5
80
3

2.5 60

2
40
1.5

1
20
0.5

0 0
0 100 200 300 400 500 600 700 800 900 1000 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Ing. Juan Vega Martinez


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