¿Cuál es la mejor manera de tratar los coeficientes del filtro? - página 2

 

Hoy, un amigo nuestro vetado ha compartido en Skype un enlace al análogo gratuito de Matlab http://www.scilab.org/

Tendré que ver qué es.

De todos modos, durante la instalación dice que utiliza las librerías de Intel (la librería Intel MKL es gratuita desde hace ya un año), lo cual es una buena noticia.

-----------

Si durante los pasos de instalación del software, usted opta por seleccionar el programa Intel MKL

y/o la biblioteca FFTW3 proporcionada en la biblioteca Intel MKL, el

La instalación y el uso de la biblioteca Intel MKL están sujetos al EULA de Intel [1].

a la que usted acepta quedar vinculado.

Home - Scilab
Home - Scilab
  • Scilab Enterprises
  • www.scilab.org
Scilab Official Website
 
Timur Gatin:

¿Un generador de métodos digitales?

En general, estoy a favor de un filtro de fregadero de ventana.


Utiliza dlls de intel y del paquete lapack. Por cierto, ¡sólo por segunda vez en mi vida he visto a un dll entrar en la kodobase! Al fin y al cabo, los MK siempre han estado en contra de estas medidas potencialmente inseguras.

¿Tal vez me dejen entrar a mí también? Hay muchas cosas interesantes en marcha.

 
¿Cuántas de estas probabilidades hay? Sería bueno verlas todas, es decir, la opción 1 (textual). También serían útiles las opciones 2 y 5
 

No entiendo muy bien lo de los coeficientes de los filtros. Los coeficientes de los filtros, a partir del 2º orden, dependen de forma no lineal de la frecuencia de corte o, si se quiere, del periodo de suavización.

Si da coeficientes específicos, ¿significa eso que para algunas frecuencias específicas (períodos)? ¿Lo he entendido bien?

 
Alexey Volchanskiy:

Hoy, un amigo nuestro vetado ha compartido en Skype un enlace al análogo gratuito de Matlab http://www.scilab.org/

Tendré que ver qué es.

De todos modos, al instalarlo, dice que utiliza las librerías de Intel (la librería Intel MKL ya es gratuita desde hace un año), lo cual es bueno.

Es un buen material, un análogo gratuito de MathLab. Incluso es compatible en su mayor parte, es decir, los programas de MathLab pasan a SciLab y viceversa. No lo he probado, pero eso es lo que declara.

Influido por Sanych, empecé con R, pero no se me da muy bien en general, así que al final llegué a SciLab. Inicialmente se diseñó para procesar señales para tareas de ingeniería de radio, y está un poco más cerca de mí). Y las estadísticas de SciLab también son suficientes.

 
Yuriy Asaulenko:

No entiendo muy bien lo de los coeficientes de los filtros. Los coeficientes del filtro, a partir del 2º orden, dependen de forma no lineal de la frecuencia de corte, o si se quiere, del periodo de suavización.

Si da coeficientes específicos, ¿significa eso que para algunas frecuencias específicas (períodos)? ¿Lo he entendido bien?


La verdad es que no. Si se toman frecuencias reales para los cálculos, y se establece el ancho de banda en Hz, se seguirá convirtiendo en una frecuencia normalizada de 0 a 1. Y esta frecuencia normalizada ya no depende de la frecuencia de muestreo, ni de los valores reales en Hz.

El ejemplo real para el comercio es una tasa de muestreo de 4Hz, es decir, el temporizador funciona con un período de 250ms. El ancho de banda del filtro de paso bajo LPF (análogo al muving) es de 0,04-0,4 Hz. Convierte todo a frecuencia normalizada, simplemente divide todas las frecuencias por la frecuencia de muestreo, obtenemos un ancho de banda de 0,01-0,1.

Los coeficientes son los siguientes

double coeff[77] = {
0.0020403288714222, 0.0009819655397928, 0.0011225519005867, 0.0011964370038970, 0.0011779675029415, 0.0010436596580495, 
0.0007732498419909, 0.0003535344421556, -0.0002219434905004, -0.0009469112562786, -0.0018062225251740, -0.0027691214309082, 
-0.0037944927090922, -0.0048248454791543, -0.0057936459361424, -0.0066213616961954, -0.0072249511520868, -0.0075155986002137, 
-0.0074086882831938, -0.0068221975313534, -0.0056865034528597, -0.0039448978330095, -0.0015624214733406, 0.0014713627928496, 
0.0051450870992394, 0.0094188377587497, 0.0142247666794483, 0.0194626330409670, 0.0250204215515161, 0.0307523534113099, 
0.0365038435854891, 0.0421106663853138, 0.0474013760205897, 0.0522124336902514, 0.0563870184354613, 0.0597902427400937, 
0.0623061126904552, 0.0638517409542778,
0.0643721286293195, // центр симметрии
 0.0638517409542778, 0.0623061126904552, 0.0597902427400937, 
0.0563870184354613, 0.0522124336902514, 0.0474013760205897, 0.0421106663853138, 0.0365038435854891, 0.0307523534113099, 
0.0250204215515161, 0.0194626330409670, 0.0142247666794483, 0.0094188377587497, 0.0051450870992394, 0.0014713627928496, 
-0.0015624214733406, -0.0039448978330095, -0.0056865034528597, -0.0068221975313534, -0.0074086882831938, -0.0075155986002137, 
-0.0072249511520868, -0.0066213616961954, -0.0057936459361424, -0.0048248454791543, -0.0037944927090922, -0.0027691214309082, 
-0.0018062225251740, -0.0009469112562786, -0.0002219434905004, 0.0003535344421556, 0.0007732498419909, 0.0010436596580495, 
0.0011779675029415, 0.0011964370038970, 0.0011225519005867, 0.0009819655397928, 0.0020403288714222};

Y aquí hay una imagen de ejemplo para tres filtros LF con diferentes anchos de banda, respectivamente, diferentes longitudes.

abeto3

EURUSD, 15.03.2017, frecuencia de muestreo 2 Hz, supresión 40 dB

 
Yuriy Asaulenko:

Si da coeficientes específicos, ¿significa eso que para algunas frecuencias específicas (períodos)? ¿Lo he entendido bien?

Ahora he hecho un programa de Matlab para mí, que escribe un conjunto de matrices de coeficientes en un archivo en formato doble. Los parámetros de las matrices y su cantidad se pueden establecer en los parámetros.

Y hay una clase MQL que puede leer el conjunto requerido.

Así es como lo publicaré. Además, completaré la clase para poder seleccionar el conjunto de coeficientes necesarios y escribir en el disco en forma binaria y de texto.

 
Yuriy Asaulenko:

Es algo bueno: un análogo gratuito de MatLab. Incluso es compatible en su mayor parte, es decir, los programas de MatLab pasan a SciLab, y viceversa. No lo he probado, pero se declara así.

Influenciado por Sanych, empecé con R, pero no se me da muy bien en general, así que al final llegué a SciLab. Inicialmente se diseñó para procesar señales para tareas de ingeniería de radio, y está un poco más cerca de mí). Y las estadísticas de SciLab también son suficientes.

No lo conozco, ya que no era necesario. Pues nada, lo estudiaremos rápidamente).
 
Alexey Volchanskiy:

Ahora tengo un programa de Matlab para mí, que escribe un conjunto de matrices de coeficientes en un archivo en formato doble. Los parámetros de las matrices y su número se pueden establecer en los parámetros.

Y hay una clase MQL que puede leer el conjunto requerido.

Así es como lo publicaré. Además, voy a mejorar la clase para poder seleccionar el conjunto de coeficientes necesarios y escribirlos en el disco en forma binaria y de texto.

Entonces, a juzgar por el número de coeficientes, ¿usas filtros FIR?

Yo uso la BIH - no hay muchos coeficientes allí, pero desde la forma normalizada la frecuencia es más difícil de recalcular. No son tan fáciles de escalar.

 
Alexey Volchanskiy:
No lo conozco en absoluto, ya que no lo he necesitado. Está bien, lo estudiaremos rápidamente).
Si estás en MathLab, no hay problema. Al menos con las bibliotecas comunes a ambos. Pero si tiene sentido cambiar un trozo de tarta por un trozo de pastel, porque son muy parecidos en cuanto a funcionalidad, no lo sé.
Razón de la queja: