Filtri FIR - pagina 14

 
ssd >> :

Sabluk, sii un amico e dammi questo "filtro adattivo" per i miei esperimenti.


Quindi cosa farete con questo filtro? Non vi interessa a cosa si adatta, perché o come?

 
begemot61 >> :

Quindi cosa farete con questo filtro? Non vi interessa sapere a cosa si adatta, perché o come?

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

In breve, idealmente, il filtro-indicatore, secondo le mie idee, dovrebbe indipendentemente

analizzare lo spettro dei dati storici alimentati al suo ingresso e adattare/regolare dinamicamente

caratteristiche di filtraggio a seconda della composizione spettrale del segnale di ingresso.


In altre parole, questi sono i "fattori di ponderazione" nella formula del filtro digitale lineare


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

Qui X è la serie temporale in ingresso, Y è la serie temporale in uscita, A e B sono insiemi di pesi.


deve adattarsi/adeguarsi allo spettro del segnale d'ingresso.


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

Questi coefficienti sono memorizzati nell'array globale doppio NormCoef[] e sono considerati da Normalization().Normalization() usa le funzioni FilterOrder(), Io(double x). Non avete bisogno delle funzioni PriceSelect(), FilterResponse(int index_of_bar) Che variabili globali da lasciare vedere per voi. Conto Normalization() una volta, durante l'inizializzazione. Se avete un filtro adattivo, Normalization() dovrebbe essere dentrostart(). In questo caso, penserei a come accelerarlo. Bene, per esempio, ridurrei la precisione di calcolo della funzione di Bessel Io(doppio x) di una cifra. T.e double besselAccuracy=0.00001

 
begemot61 >> :

Questi coefficienti sono memorizzati nell'array globale doppio NormCoef[] e sono considerati da Normalization().Normalization() usa le funzioni FilterOrder(), Io(double x). Non avete bisogno delle funzioni PriceSelect(), FilterResponse(int index_of_bar) Che variabili globali da lasciare vedere per voi. Conto Normalization() una volta, durante l'inizializzazione. Se avete un filtro adattivo, Normalization() dovrebbe essere dentrostart(). In questo caso, penserei a come accelerarlo. Bene, per esempio, ridurrei la precisione di calcolo della funzione di Bessel Io(doppio x) di una cifra. T.e double besselAccuracy=0.00001.

Grazie, devo solo prendere il FIR e farlo funzionare nel mio progetto.

in altre parole utilizzare la parte inizializzante del filtro come generatore

 

È sorta una domanda:

Le letture del filtro sui diversi timeframe dovrebbero essere coerenti, quando i parametri del filtro vengono cambiati di conseguenza? (es. parametri H1 = parametri H4 * 4)

 
neoclassic >> :

È sorta una domanda:

Le letture del filtro sui diversi timeframe dovrebbero essere coerenti, quando i parametri del filtro vengono cambiati di conseguenza? (es. parametri H1 = parametri H4 * 4)

Il filtro stesso non mostra nulla. Elabora i dati che gli vengono forniti come input. Se i dati sono diversi, anche il risultato dell'elaborazione è diverso. Anche se l'algoritmo di elaborazione è lo stesso

 

Hippo, ha senso variare il parametro PassBandRipple?

perché esattamente è impostato su 30?

 
sab1uk >> :

Hippo, ha senso variare il parametro PassBandRipple?

perché esattamente 30 set?

Il punto è che il filtro con l'implementazione di Kaiser della funzione finestra comporta la selezione della peggiore delle 2 condizioni-impulso nella banda passante e soppressione nella banda di ritardo. Poiché non può fornire entrambe le condizioni allo stesso tempo, uno dei requisiti risulta essere migliore del requisito effettivo. Realisticamente, 20dB di soppressione corrispondono a +/-0.83dB di ondulazione, 40dB di soppressione corrispondono a +/-0.086dB di ondulazione. Per i miei scopi questi sono valori abbastanza piccoli. Pertanto, ho semplicemente impostato l'ondulazione della larghezza di banda consapevolmente più grande di qualsiasi valore possibile e non ci faccio caso. Anche se la stima è presente nel codice e può essere utilizzata se necessario.

 

sab1uk, ho capito bene i principi del filtro passa-banda?

e un'altra domanda: è possibile aggirare le restrizioni dell'ordine dei filtri nel GCM (2500)?

 
il BandPass è il differenziale tra i due LPF (LowPass) simile a come il bastardo MACD è derivato dalla differenza dei mashup
se volete un filtro di ordine 2500+ o un periodo di cutoff di 300+, usate il filtro Behemoth
ma il suo filtro non è adatto a tutti i casi...
ha cercato di fare 1000 dB di smorzamento o 0,000000000000001 dB di roll-off, ma non è riuscito a raggiungere la stessa risonanza nitida nel AFC come i filtri dell'oscillatore

Motivazione: