0% encontró este documento útil (0 votos)
225 vistas7 páginas

Filtro Digital Proyecto Final

Este documento describe el diseño e implementación de un filtro digital pasabajos utilizando un microcontrolador PIC. Primero, se explica la teoría de los filtros digitales FIR y las ventanas para mejorar la respuesta en frecuencia. Luego, el procedimiento incluye determinar la frecuencia máxima de la señal, elegir la frecuencia de muestreo, diseñar el filtro, calcular los coeficientes, programar el PIC y verificar el filtro. El objetivo es procesar una señal de entrada utilizando el filtro digital implementado en el P
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
225 vistas7 páginas

Filtro Digital Proyecto Final

Este documento describe el diseño e implementación de un filtro digital pasabajos utilizando un microcontrolador PIC. Primero, se explica la teoría de los filtros digitales FIR y las ventanas para mejorar la respuesta en frecuencia. Luego, el procedimiento incluye determinar la frecuencia máxima de la señal, elegir la frecuencia de muestreo, diseñar el filtro, calcular los coeficientes, programar el PIC y verificar el filtro. El objetivo es procesar una señal de entrada utilizando el filtro digital implementado en el P
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Universidad Nacional Mayor De San Marcos. Solis Chávez, Cruz Ccocha.

Filtros digitales con PIC 1

FILTROS DIGITALES CON PIC´S


Carlos Andrés Solis Chávez 1 y Kevin André Cruz Ccocha 2
Facultad de Ingeniería Electrónica y Eléctrica, Universidad Nacional Mayor De San Marcos

 analizaran más en detalle en el presente proyecto, diseñar el


Resumen—La finalidad del presente proyecto, será la filtro para que se aproxime al filtro ideal no es una tarea sencilla
implementación de un filtro digital pasa bajo utilizando un y depende de muchos aspectos: el orden del filtro (el retardo
microcontrolador PIC, en el cual primero se realizara la máximo usado por la ecuación en diferencias se llama orden del
conversión analógica a digital de la señal de entrada y filtro[5]), las ventanas que se encargan de mejorar y suavizar
posteriormente se usara la función de transferencia de un la respuesta espectral de los filtros FIR, la capacidad del
filtro digital pasa bajo en su forma de ecuaciones en procesador de señales a utilizar que en nuestro caso será un
diferencias, ya que el filtro a utilizar será un filtro FIR microcontrolador PIC, etc.
(respuesta finita al impulso), para procesar la señal. Un aspecto muy importante a tener en cuenta es la respuesta de
Nos ayudaremos de la herramienta de MATLAB “fdatool” fase de este sistema a implementar, es decir para que nuestro
filtro se asemeje al ideal debería tener fase lineal, si nuestro
para poder ver el diseño de nuestro filtro. También se
filtro no es lineal diremos que el sistema produce distorsión de
realizara la simulación del procesado de una señal
fase, la linealidad de fase es importante en comunicaciones,
utilizando el filtro diseñado. audio y otras aplicaciones en las que las relaciones temporales
entre las diferentes frecuencias son críticas. Con un filtro FIR
Palabras claves— Filtro digital, microcontrolador, PIC, se puede obtener más fácilmente una característica de fase
FIR, ecuaciones en diferencias. lineal. [1]

Abstract —The purpose of this project is to implement a


digital low pass filter using a PIC microcontroller, which
first perform analog to digital conversion of the input signal II. MARCO TEÓRICO
and then the transfer function of a digital filter was used low
pass in form of difference equations, since the filter to be El diseño de los filtros FIR, es relativamente simple y utiliza
used is an FIR (finite impulse response) filter to process the estructuras ya definidas para cada tipo de filtro. Los filtros
signal. Simulating the processing of a signal using the filter pueden ser de cinco naturalezas: Pasa bajas, pasa altas, pasa
designed is also performed. bandas, rechaza banda, y multibanda. Para el tratamiento de los
filtros se debe tener presente las siguientes consideraciones:
Key words— Digital filter, microcontroller, PIC, FIR,
difference equations. Los cálculos de los filtros se hacen en radianes y no en hercios.
La frecuencia de muestreo en hercios Fs, es equivalente a una
frecuencia en radianes/segundo de 2π.
I. INTRODUCCIÓN La máxima frecuencia tratada por los filtros es Fs/2, o π
Radianes.
a teoría del filtrado de señales abarca una amplia La relación que existe entre radianes y hercios es:
variedad de aplicaciones donde resulta de interés Ω = 2πF, y F = Ω/2π.
cambiar las amplitudes relativas de las componentes de Las frecuencias de corte de los filtros se denotan como Ωc, y
frecuencia en una señal, o quizás eliminar por completo algunas Fc.
componentes de frecuencia, proceso conocido como filtrado. La frecuencia de corte se calcula como Ωc = 2 π Fc / Fs.
Los sistemas diseñados para dejar pasar algunas frecuencias y La banda de transición del filtro se denota como dW en
atenuar de manera significativa o eliminar por completo otras radianes/segundo y dF en hercios.
se conocen como filtros selectivos en frecuencia. Hay que tener El orden de los sistemas FIR se denota como M.
en cuenta muchas características de estos filtros selectivos en Se recomienda usar un número impar para M.
frecuencia: ¿Qué tan efectivo es el filtro al dejar pasar las
frecuencias en la banda pasante? ¿Qué tan efectivo es al atenuar Los filtros pasa bajas se caracterizan por tener una frecuencia
frecuencias en la banda de supresión? ¿Qué tan rápida es la de corte a partir de la cual las frecuencias inferiores son
transición cerca de la frecuencia de corte?, etc. Estas permitidas, y las frecuencias superiores son atenuadas. La
características involucran una comparación de las función de transferencia h(n), para este filtro es:
características de un filtro real con un la de un filtro de
comportamiento idealizado. En la caso de filtros FIR que se

1 2
Carlos Andrés Solis Chávez (andres_piscis95@[Link]) Kevin André Cruz Ccocha (sagitario_13_u@[Link] )
Universidad Nacional Mayor De San Marcos. Solis Chávez, Cruz Ccocha. Filtros digitales con PIC 2

La respuesta espectral de la ventana Rectangular en escala


logarítmica es la siguiente:

𝑠𝑒𝑛(Ωc n)
,𝑛 ≠ 0
ℎ(𝑛) = { 𝜋𝑛
Ωc
,𝑛 = 0
𝜋
(1)
Ventanas:
Las ventanas se aplican a las funciones de transferencia h(n), el
objetivo de las ventanas es mejorar y suavizar la respuesta
espectral de los filtros FIR. Las ventanas de mayor uso son las
siguientes:
 Rectangular
 Hamming
Fig.3: Respuesta en frecuencia de la ventana rectangular
 Hanning
La ventana Rectangular ofrece una atenuación del fenómeno
 Blackman
Gibbs de -13dB.
El filtro pasabajo mostrado anteriormente es un filtro FIR con
[2]
ventana rectangular. Estos filtros tienen la menor transición en
la frecuencia de corte, lo que los hace más cercanos a los filtros
ideales, sin embargo está propiedad produce en los filtros III. PROCEDIMIENTO
sobresaltos y oscilaciones en el espectro. Este efecto es Realizaremos el diseño de un filtro digital FIR, implementando
conocido como: fenómeno Gibbs. Este efecto puede apreciarse un microcontrolador PIC18f452[7], utilizando lenguaje C y
en la siguiente gráfica: realizando la programación respectiva en el programa MikroC
PRO.
Implementaremos el siguiente circuito:

Fig.1: Fenómeno de Gibbs

La ventana Rectangular ofrece una banda de transición igual a


la siguiente relación: dW = 1,8π/M
Una ventana rectangular ofrece un patrón lineal, y constante.
Se debe recordar que al realizar el cálculo de un filtro FIR, por Fig.4: Circuito a implementar
defecto ya se encuentra con una ventana de este tipo.
La aplicación de las ventanas involucra la creación de una Procedimiento para implementar el filtro:
nueva función de factores w(n), que posteriormente debe ser 1. Determinar la frecuencia máxima, por ejemplo, F Hz de la
multiplicada término a término con la función de transferencia señal a filtrar.
h(n), para crear la función h(n) definitiva. 2. Elija una frecuencia de muestreo (Fs. ≥ 2F Hz) .
Una ventana Rectangular se representa por medio de la 3. Decidir sobre las características de los filtros necesarios.
siguiente función w(n): 4. Introduzca las características del filtro utilizando los
coeficientes.
6. Añadir los coeficientes el archivo de inclusión.
7. Construir y generar el código HEX.
8. Transferir el programa al microcontrolador PIC18.
9. Ejecute el programa y comprobar el filtro con sus
características.
[8]

Para la reconstrucción de la señal procesada que en el circuito


es una señal senoidal, se configuran 10 bits de salida, para hacer
un convertidor DA, por medio de un arreglo R-2R.
Fig.2: Ventana rectangular Se usará la interrupción por TIMER 0, para crear el periodo de
Universidad Nacional Mayor De San Marcos. Solis Chávez, Cruz Ccocha. Filtros digitales con PIC 3

muestreo, y por defecto la frecuencia de muestreo. h(-3)=0.0864308262744764


El siguiente código fuente muestra un ejemplo del muestreo de h(-2)=0.158173992108178
la señal por medio del TIMER 0: h(-1)=0.212237065988464
//Declaración de varíales. h(0)=0.232320416318186
float x0, y0; h(1)=0.212237065988464
unsigned int YY; h(2)=0.158173992108178
//Declaración de la función de interrupciones. h(3)=0.0864308262744764
void interrupt ( void ) h(4)=0.0175345019583181
{ h(5)=-0.0309497847516785
if( INTCON.F2 ) h(6)=-0.0501329294124475
{ h(7)=-0.0419431579233366
TMR0L=135; h(8)=-0.0171035387965417
//Timer0 con periodo de 774,4u segundo.
// Fs = 1291,32 kHz.
//Adquisición de una muestra de 10 bits en, x[0]. Se debe tener presente que para fines de programación los
x0 = (float)(ADC_Read(0)-512.0); valores de n no pueden ser negativos, por esta razón se debe
// iniciar el vector en 0, y para usarlo en el código en lenguaje C,
//Espacio para procesar la señal. se implementa de la siguiente manera:
// const float h[]=
//Reconstrucción de la señal: y en 10 bits. {
YY = (unsigned int)(x0+512); -0.0171035387965417, //h(0)
PORTC = (YY>>8)&3; -0.0419431579233366, //h(1)
PORTB = YY&255; -0.0501329294124475, //h(2)
INTCON.F2=0; -0.0309497847516785, //h(3)
} 0.0175345019583181, //h(4)
} 0.0864308262744764, //h(5)
void main( void ) 0.158173992108178, //h(6)
{ 0.212237065988464, //h(7)
//Inicio del puerto B como salida. 0.232320416318186, //h(8)
TRISB = 0; 0.212237065988464, //h(9)
PORTB = 0; 0.158173992108178, //h(10)
TRISC = 0; 0.0864308262744764, //h(11)
PORTC = 0; 0.0175345019583181, //h(12)
//Se configura el TIMER 0, su interrupción. -0.0309497847516785, //h(13)
INTCON = 0b10100000; -0.0501329294124475, //h(14)
T0CON = 0b11000101; -0.0419431579233366, //h(15)
while(1)//Bucle infinito. -0.0171035387965417 //h(16)
{ };
}
} El programa definitivo con la función de transferencia h(n), será
de la siguiente forma:
Ahora diseñamos nuestro filtro digital pasa bajos FIR, con:
Fs=1291.32 kHz. #define M 17
Fc=150 hz. //Función de trasferencia h[n]
Utilizaremos una ventana rectangular. const float h[]=
Se determina la frecuencia de corte digital: {
Ωc = 2 π Fc / Fs = 2 π 150 / 1291,32 = 0,72985 -0.0171035387965417, //h(0)
Utilizando la función de transferencia de nuestro filtro digital -0.0419431579233366, //h(1)
pasa bajo de la ecuación (1), encontramos los coeficientes del -0.0501329294124475, //h(2)
filtro, recordemos que nuestro filtro es de orden 17. -0.0309497847516785, //h(3)
0.0175345019583181, //h(4)
h(-8)=-0.0171035387965417 0.0864308262744764, //h(5)
h(-7)=-0.0419431579233366 0.158173992108178, //h(6)
h(-6)=-0.0501329294124475 0.212237065988464, //h(7)
h(-5)=-0.0309497847516785 0.232320416318186, //h(8)
h(-4)=0.0175345019583181 0.212237065988464, //h(9)
Universidad Nacional Mayor De San Marcos. Solis Chávez, Cruz Ccocha. Filtros digitales con PIC 4

0.158173992108178, //h(10) IV. DISEÑO DEL FILTRO EN MATLAB


0.0864308262744764, //h(11) Usando la herramienta de MATLAB “fdatool” podremos
0.0175345019583181, //h(12) analizar las diferentes características de nuestro filtro diseñado.
-0.0309497847516785, //h(13) Colocamos en la ventana de comandos de MATLAB: fdatool,
-0.0501329294124475, //h(14) y se abrirá la ventana del programa.
-0.0419431579233366, //h(15) Introducimos los coeficientes antes hallados de nuestro filtro
-0.0171035387965417 //h(16) FIR, también definimos nuestra frecuencia de muestreo de
}; 1291.32kHZ.
//Declaración de varíales. Ahora ya podemos ver las distintas características de nuestro
float x0, y0; filtro diseñado como la magnitud de la respuesta en frecuencia,
float x[M]; la fase de la respuesta en frecuencia, el retardo de grupo, retardo
unsigned int YY; de fase, respuesta al impulso, respuesta al esca
unsigned short i;
//Declaración de la función de interrupciones. lón, diagrama de polos y ceros y la información del filtro.
void interrupt ( void ) Veamos:
{
if( INTCON.F2 ) [Link] DE LA RESPUESTA EN FRECUENCIA
{
TMR0L=135;
PORTC.F7=1;
//Timer0 con periodo de 774,4u segundo.
// Fs = 1291,32 Hz.
//Corrimiento continuo de la señal x[n]
for( i=M-1; i!=0; i-- )x[i]=x[i-1];
//Adquisición de una muestra de 10 bits en, x[0].
x[0] = (float)(ADC_Read(0)-512.0);
//Convolución continúa.
y0 = 0.0; for( i=0; i<M; i++ ) y0 += h[i]*x[i];
//Reconstrucción de la señal: y en 10 bits.
YY = (unsigned int)(y0+512.0);
PORTC = (YY>>8)&3; Vemos que a la frecuencia de corte de nuestro filtro pasa bajos
PORTB = YY&255; que es de 150 HZ hay una atenuación de aproximadamente -
PORTC.F7=0; 6.5dB. Este filtro presenta una atenuación de en la banda de
INTCON.F2=0; transición.
}
}
void main( void ) [Link] DE LA RESPUESTA EN FRECUENCIA
{
//Inicio del puerto B como salida.
TRISB = 0;
PORTB = 0;
TRISC = 0;
PORTC = 0;
//Se configura el TIMER 0, su interrupción.
INTCON = 0b10100000;
T0CON = 0b11000101;
while(1)//Bucle infinito.
{
}
} El filtro presenta una característica de fase lineal en la banda
pasante, es muy importante que tenga esta característica para
Por limitaciones de velocidad en este microcontrolador, y que no exista una distorsión a la salida. Con este tipo de filtros
teniendo presente la frecuencia de muestreo de 1291,32Hz no FIR se puede aproximar a una respuesta de fase lineal, en
es posible usar un orden del filtro superior a 17. Sin embargo es contraste de lo que sucede con los filtros IIR y también los filtro
posible usar órdenes menores como; 15, 13, 11, 9, 7, 5, o 3. [2] analógicos.
Universidad Nacional Mayor De San Marcos. Solis Chávez, Cruz Ccocha. Filtros digitales con PIC 5

[Link] DE POLOS Y CEROS La frecuencia de corte usada para hallar los coeficientes y la
frecuencia de muestreo es de 150HZ
Con estos valores nos sale una frecuencia de corte de 42HZ en
donde la atenuación es de -3dB.

Luego de realizar varias modificaciones, sin resultado


aparente, nos dimos cuenta que la frecuencia de oscilación del
cristal era un punto muy importante a tener en cuenta, es por
eso que cambiamos de cristal a un valor mas exacto de
10Mhz. Ahora con este cambio la frecuencia de muestreo,
resulto ser de 150 HZ como lo esperado en la simulación en
Matlab. Veamos nuestros datos experimentales:
Los filtros FIR son estables (la energía de su respuesta La señal de entrada será una onda senoidal, la cual variaremos
impulsional esta acotada), por lo que los polos de estos filtros la frecuencia para poder observar a la salida su atenuación.
FIR causales deben estar siempre en el interior del circulo
unidad. Su función de transferencia en principio solo tendrá F(Hz) Vpp-in Vpp-out Atenuación
términos en el numerador. De ahí que los filtros FIR también Frecuencia 150 1.4v 980mv -3.09dB
sean conocidos como filtros “todo ceros”. Sin embargo este De corte
nombre puede inducir a confusiones, por lo que no es muy Pico 100 1.4v 1.5v +0.6dB
usado. La ubicación de todos los polos en el origen es máximo
característica de los filtros FIR. Además un filtro FIR presenta banda
siempre igual número de polos que de ceros, aunque esta pasante(max
característica no es exclusiva de este tipo de filtros. [3] rizado)
Como podemos ver nuestro filtro presente 16 polos en el origen, 1er lóbulo 240 1.4v 380mv -10.8dB
16 ceros. Tiene todos los polos dentro de la circunferencia lateral
unidad por lo que el filtro es estable. 2do lóbulo 300 1.4v 340mv -12.29dB
lateral
D. INFORMACIÓN DEL FILTRO 3er lóbulo 370 1.4v 320mv -12.81 dB
lateral
4to lóbulo 450 1.4v 300mv -13.6 dB
lateral

VI. CONCLUSIONES
Los filtros digitales tienen un papel muy importante en el
procesado digital de señales, y vemos que estos se prefieren por
El filtro es estable, de orden 17 y presenta una característica de sobre los filtros analógicos por diversos motivos: Los filtros
fase lineal en la banda pasante. digitales presentan características que son imposibles de
conseguir con filtros analógicos, como por ejemplo la respuesta
en fase lineal. El desempeño de estos filtros no varía con las
V. RESULTADOS EXPERIMENTALES condiciones ambientales como sí ocurre con los filtros
La frecuencia de corte experimental resulto ser de 42 Hz. analógicos. Las características del filtro se pueden ajustar a
Este resultado difiere del teórico y simulado en Matlab por las voluntad (filtro adaptativo), etc. [6]
siguientes razones: También estos filtros digitales pueden usarse a muy bajas
La frecuencia dada por el cristal es distinta de la que está frecuencias, como las que se encuentran en aplicaciones
configurado el Pic para la frecuencia de muestreo: biomédicas, donde el empleo de filtros analógicos es poco
La frecuencia del cristal es teóricamente de 10.5MHz pero en práctico por los valores elevados de componentes pasivos
los datos experimentales es de 11.2Mhz .Eso afecta por lo (bobinas y condensadores), además estos filtros digitales
siguiente: pueden trabajar sobre un amplio rango de frecuencias
Tm=(256-K)*PS*4/F.O cambiando la frecuencia de muestreo.
Hay que tener en cuenta también la frecuencia de Nyquist (que
Tm=periodo de muestreo fija el ancho de banda útil) queda definida por el proceso de
K: Timer del pic, donde comienza a contar a partir del hasta conversión A/D y D/A, velocidad del procesador, cantidad de
PS=pre escalamiento, en nuestro caso es 64 operaciones a ejecutar por unidad de tiempo, etc. Esto último se
F.o=Con pll interno seria de 4*10.5Mhz=42Mhz incrementa a medida que aumenta la exigencia de las
Universidad Nacional Mayor De San Marcos. Solis Chávez, Cruz Ccocha. Filtros digitales con PIC 6

características de respuesta del filtro (filtros muy abruptos).


En nuestro caso escogimos trabajar con un filtro digital FIR
porque es un filtro más estable y se puede conseguir una
característica de fase lineal.

REFERENCIAS
[1] Alan V. Oppenheim, Allan S. Willsky y S. Hamid Nawab,
“Señales y Sistemas”, Pretience Hall, Hispanoamericana,
pp.236-237 ,1998
[2] Juan Ricardo Clavijo Mendoza. Chen, “Diseño y
simulacion de sistemas microcontrolados en lenguaje C”,
Colombia, pp. 192–206 , 2011
[3] Eduard Bertran Albertí, “Procesado de señales:
Fundamentos para comunicaciones y control.” ,vol.2, Pico máximo banda pasante (max rizado)
Universidad Politécnica de Cataluña, pp.308-309,2010
[4] D. Gonzalez, Student Member, IEEE, y A. M. Airabella,
Student Member, IEEE “Comparación de filtros FIR de
fase lineal, Método Óptimo y de Ventanas.”. Universidad
Nacional de San Luis, Argentina. Disponible :
[Link]
TE06_05.pdf .
[5] “Introduccion a la teoria del procesamiento de sistemas
digitales de audio,” Disponible:
[Link]
esentaciones/[Link] .
[6] Jaime Cors Flamburry “Filtro digital pasabajo con PIC”
Disponible en:
[Link]
Bajos-Con-PIC#download
[7] Microchip technology inc., “PIC18FXX2 Data Sheet”. Frecuencia de corte
Disponible en:
[Link]
[Link] .
[8] [Link] Ramu, “Implementing FIR and IIR Digital
filters using PIC18 microcontrollers”. Microchip
Technology Designs, India. Disponible en:
[Link]
[Link]

ANEXO

Circuito implementado ( filtro pasabajo)

Desfasaje de pi radianes a una frecuencia de 50 hz.


Universidad Nacional Mayor De San Marcos. Solis Chávez, Cruz Ccocha. Filtros digitales con PIC 7

CUESTIONES PLANTEADAS POR EL PROFESOR : La señal a la salida del filtro estaba distorsionada, ¿a qué se
debía este problema?

El orden del filtro FIR depende de la frecuencia de Error de offset:


muestreo o ¿está relacionado? En un DAC real la señal análoga se encuentra desplazada
respecto del valor que le corresponde a uno ideal.
Según el teorema de muestreo de Nyquist, hay que muestrear al Este corrimiento equivale a que para una entrada digital igual a
menos al doble de la frecuencia de la mayor componente cero se tiene un valor de la tensión de salida del conversor (error
espectral de la señal. Si no se cumple esta condición no se podrá de cero).
reconstruir la señal. Este error es fácilmente compensable mediante las prácticas
habituales de corrección de offset en AO (Amplificador
El problema surge porque nos da la frecuencia mínima a la cual Operacional)
tenemos que muestrear, entonces si usamos esta frecuencia de
muestreo mínima tendríamos que poner un filtro pasabajo de Sucedía este problema en el conversor digital análogo porque,
pendiente de corte infinita es decir la banda de transición debe el voltaje offset del generador de señales no estaba calibrado
ser cero, y esto no se puede lograr con un filtro real FIR de orden adecuadamente, lo que hicimos fue disminuir un poco este
N. voltaje y la señal de salida ya no estaba tan distorsionada.
Es por eso que cuando más elevemos la frecuencia de muestreo
menor será el orden del filtro que tendremos que usar ya que el
orden del filtro determina la pendiente en la banda de rechazo.
Ya que cuando mayor es el orden, en el método de las ventanas,
el ancho de esta ventana aumentara, es decir habrá mas
coeficientes del filtro, por lo tanto por la propiedad de
escalamiento de la transformada de fourier si expandimos la
señal en el tiempo, en frecuencia el espectro se comprime, y los
lóbulos serán más estrechos, mejorando la atenuación.

La frecuencia de corte experimental no era la hallada en


simulación.

La frecuencia de corte experimental resulto ser de 42 Hz. En la imagen podemos ver como corrigendo el voltaje de offset
Este resultado difiere del teórico y simulado en Matlab por las el circuito R 2R del DAC trabaja de una manera adecuada,
siguientes razones: entregando una señal más limpia.
La frecuencia dada por el cristal es distinta de la que está
configurado el Pic para la frecuencia de muestreo: Aparte de este error en el offset del generador de señales. Para
La frecuencia del cristal es teóricamente de 10.5MHz pero en poder obtener una señal sin distorsión, se necesita un filtro a la
los datos experimentales es de 11.2Mhz .Eso afecta por lo salida, ya que la señal al ser muestreada variara su espectro de
siguiente: frecuencia.
Tm=(256-K)*PS*4/F.O

Tm=periodo de muestreo
K: Timer del pic, donde comienza a contar a partir del hasta
PS=pre escalamiento, en nuestro caso es 64
F.o=Con pll interno seria de 4*10.5Mhz=42Mhz

La frecuencia de corte usada para hallar los coeficientes y la


frecuencia de muestreo es de 150HZ
Con estos valores nos sale una frecuencia de corte de 42HZ en
donde la atenuación es de -3dB.

Luego de realizar varias modificaciones, sin resultado aparente,


nos dimos cuenta que la frecuencia de oscilación del cristal era
un punto muy importante a tener en cuenta, es por eso que
cambiamos de cristal a un valor más exacto de 10Mhz. Ahora
con este cambio la frecuencia de muestreo, resulto ser de 150
HZ como lo esperado en la simulación en Matlab.

Common questions

Con tecnología de IA

To implement a digital FIR low-pass filter using a microcontroller, one should follow these steps: determine the maximum frequency F of the signal, choose a sampling frequency Fs ≥ 2F, decide on filter characteristics, input filter coefficients, compile and load the program onto the microcontroller . It is essential to consider the precision of the crystal oscillator for the accurate sampling rate, and the filter order should not exceed what the microcontroller can handle efficiently due to speed limitations .

FIR filters using a rectangular window are characterized by a linear phase response, which is critical for applications where temporal relationships between frequencies are important . However, a major limitation of the rectangular window is the Gibbs phenomenon, which causes ripples and overshoots in the filter's frequency response . The transition band width of the filter is determined by the formula dW = 1.8π/M, and the rectangular window provides an attenuation of -13 dB of the Gibbs phenomenon .

Phase linearity in FIR filters is crucial because it ensures that all frequency components of a signal pass through the filter with the same time delay, maintaining the signal's waveform integrity . This is particularly important in communications and audio applications, where time-coherent transmission is essential . Unlike IIR filters, FIR filters can achieve true linear phase, making them the preferred choice where phase distortion is a concern .

Changing the crystal oscillator frequency alters the sampling rate of the digital filter on a PIC microcontroller. For example, a deviation in the oscillator frequency (from 10.5 MHz to 11.2 MHz) affected the effective cutoff frequency and resulted in discrepancies in filter performance . Accurately synchronized sampling frequency with the filter design is crucial to avoid such performance issues, and using an exact crystal oscillator corrected the errors and matched the expected design outcomes .

Windows in FIR filters suppress the Gibbs phenomenon, which causes oscillations in the frequency response, especially at discontinuities . By shaping the filter's impulse response through methods such as using a rectangular window, designers can control side lobes in the frequency response, affecting the filter's transition band and ripple . Windows smooth the spectral response making the filter mask closer to ideal, with the choice of window impacting side lobe attenuation and transition width .

FIR filters are inherently stable because all poles of their transfer function are at the origin (inside the unit circle on the z-plane), ensuring bounded output for a bounded input . This stability advantage implies that FIR filters can be used effectively in systems where safety and reliability are critical, without the risk of instability caused by feedback, a common issue in IIR filters . FIR filters' stability and their ability to provide linear phase make them ideal for applications demanding precise and reliable performance.

Discrepancies in digital filter design, such as a lower experimental cutoff frequency compared to theoretical values, can arise from inaccuracies in oscillator crystal frequency or sampling rates . These can be rectified by using a precise crystal oscillator and ensuring the microcontroller's setup aligns with the calculated sampling frequency. For example, switching from an 11.2 MHz to a more accurate 10 MHz oscillator resolved discrepancies in a study .

MATLAB's fdatool provides engineers with a comprehensive analysis environment to validate FIR filter design by visualizing the magnitude and phase response, group delay, and impulse response, which are vital to assess a filter's performance . The tool enables verification of theoretical calculations against the implemented model and helps adjust design parameters to meet desired specifications by providing insights into the stability and characteristics of the design, enhancing accuracy and design reliability .

Digital FIR filters are preferred over analog filters in applications requiring stable performance unaffected by environmental conditions, like biomedical applications . They offer advantages such as precise control over filter characteristics, adaptability (adaptive filtering), and consistent performance, unlike analog filters whose performance can vary with temperature and component drift. Digital filters also allow for complex frequency modifications not easily achievable with analog components .

In digital filter design, radian frequency relates to Hertz through the formula Ω = 2πF, where Ω is the radian frequency, and F is the frequency in Hertz . This relationship is critical for designing filters and understanding signal transformations, as calculations, particularly in FIR filter design, are made in radians to align with digital signal processing conventions . The conversions help ensure the design meets performance criteria across domains of signal representation.

También podría gustarte