Filtros FIR - página 14

 
ssd >> :

Sabluk, sé un amigo y dame este "filtro adaptativo" para mis experimentos.


¿Qué vas a hacer con este filtro? ¿No te importa a qué se adapta, por qué o cómo?

 
begemot61 >> :

¿Qué vas a hacer con este filtro? ¿No te importa a qué se adapta, por qué y cómo?

------------------------------------------------------------------------------------------------------

En resumen, lo ideal es que el filtro-indicador, según mis ideas, sea independiente

analizar el espectro de los datos históricos alimentados a su entrada y adaptar/ajustar dinámicamente

características de filtrado en función de la composición espectral de la señal de entrada.


Enotras palabras, estos son los "factores de ponderación" en la fórmula del filtro digital lineal


Y[i] = B[0] X[i] + B[1] X[i-1] + .... - A[1] Y[i-1] - A[2] Y[i-2] - ....

Aquí X es la serie temporal de entrada, Y es la serie temporal de salida, A y B son conjuntos de pesos.


debe adaptarse/ajustarse al espectro de la señal de entrada.


 
sab1uk >>:
begemot61 подскажи как можно по простому конвертировать твой фильтр с определенными параметрами в импульсную характеристику и записать ее в файл или в массив из глобальных переменных?

Estos coeficientes se almacenan en el array global double NormCoef[] y son considerados por Normalization().Normalization () utiliza las funciones FilterOrder(), Io(double x). No necesita las funciones PriceSelect(), FilterResponse(int index_of_bar) Qué variables globales dejar ver por sí mismo. Cuento Normalization() una vez, durante la inicialización. Si tiene un filtro adaptativo, Normalization( ) debería estar dentro destart(). En este caso, yo pensaría en cómo acelerarlo. Así, por ejemplo, reduciría la precisión de cálculo de la función de Bessel Io(doble x) en un dígito. T.e double besselAccuracy=0.00001

 
begemot61 >> :

Estos coeficientes se almacenan en el array global double NormCoef[] y son considerados por Normalization().Normalization () utiliza las funciones FilterOrder(), Io(double x). No necesita las funciones PriceSelect(), FilterResponse(int index_of_bar) Qué variables globales dejar ver por sí mismo. Cuento Normalization() una vez, durante la inicialización. Si tiene un filtro adaptativo, Normalization( ) debería estar dentro destart(). En este caso, yo pensaría en cómo acelerarlo. Así, por ejemplo, reduciría la precisión de cálculo de la función de Bessel Io(doble x) en un dígito. T.e double besselAccuracy=0.00001.

Gracias! Sólo tengo que coger el FIR y ejecutarlo en mi diseño.

en otras palabras, utilizar la parte de inicialización del filtro como generador

 

Ha surgido una pregunta:

¿Deben ser coherentes las lecturas del filtro en los distintos plazos, cuando se modifican los parámetros del filtro en consecuencia? (por ejemplo, parámetros H1 = parámetros H4 * 4 )

 
neoclassic >> :

Ha surgido una pregunta:

¿Deben ser coherentes las lecturas del filtro en los distintos plazos, cuando se modifican los parámetros del filtro en consecuencia? (por ejemplo, parámetros H1 = parámetros H4 * 4 )

El filtro en sí no muestra nada. Procesa los datos que se le suministran como entrada. Si los datos son diferentes, el resultado del tratamiento también lo es. Aunque el algoritmo de procesamiento es el mismo

 

Hippo, ¿tiene sentido variar el parámetro PassBandRipple?

¿Por qué exactamente está fijado en 30?

 
sab1uk >> :

Hippo, ¿tiene sentido variar el parámetro PassBandRipple?

¿por qué exactamente 30 juegos?

La cuestión es que el filtro con la implementación Kaiser de la función ventana implica la selección de la peor de las 2 condiciones: la pulsación en la banda pasante y la supresión en la banda de retardo. Como no puede proporcionar ambas condiciones al mismo tiempo, uno de los requisitos resulta ser mejor que el requisito real. En realidad, una supresión de 20 dB corresponde a una ondulación de +/-0,83 dB, y una supresión de 40 dB corresponde a una ondulación de +/-0,086 dB. Para mis propósitos estos son valores bastante pequeños. Por lo tanto, simplemente establezco la ondulación en el ancho de banda a sabiendas de que es mayor que cualquier valor posible y no le presto atención. Aunque la estimación está presente en el código y se puede utilizar si es necesario.

 

sab1uk, ¿he entendido bien los principios del filtro paso banda?

y otra pregunta: ¿es posible saltarse las restricciones de orden de los filtros en el GCM (2500)?

 
el BandPass es el diferencial entre los dos LPF (LowPass) de forma similar a como el MACD bastardo se deriva de la diferencia de los mashes
si quieres un filtro de orden 2500+ o un periodo de corte de 300+, utiliza el filtro Behemoth
pero su filtro no es adecuado para todos los casos...
trató de hacer 1000 dB de amortiguación o 0,000000000000001 dB de roll-off, pero no consiguió la misma resonancia aguda en el AFC que los filtros osciladores