FIR filtreleri - sayfa 14

 
ssd >> :

Sabluk, arkadaş ol, deneylerim için bana bu "uyarlanabilir filtreyi" ver.


Peki bu filtre ile ne yapacaksınız? Neye, neden ve nasıl uyum sağladığı umurunda mı?

 
begemot61 >> :

Peki bu filtre ile ne yapacaksınız? Neye, neden ve nasıl uyum sağladığı umurunda mı?

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

Kısacası, ideal olarak, bence gösterge filtresi bağımsız olarak

girişine sağlanan geçmiş verilerin spektrumunu analiz edin ve dinamik olarak uyarlayın/ayarlayın

giriş sinyalinin spektral bileşimine bağlı olarak filtreleme özellikleri.


Başka bir deyişle, lineer dijital filtre formülündeki bu "ağırlık katsayıları"


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

Burada X giriş zaman serisidir, Y çıkış serisidir, A ve B ağırlık katsayıları kümesidir.


giriş sinyalinin spektrumuna uyum sağlamalı/ayarlamalıdır.


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

Bu katsayılar, global çift NormCoef[] dizisinde saklanır ve Normalization() işlevi tarafından değerlendirilir. Normalization() , FilterOrder() , Io(double x) işlevlerini kullanır. PriceSelect(), FilterResponse(int index_of_bar) işlevlerine ihtiyacınız yok Hangi global değişkenleri bırakacağınızı kendiniz görün. Başlatma sırasında Normalization()' ı bir kez sayıyorum. Uyarlanabilir bir filtreniz varsa, Normalization() start() içinde olmalıdır . Bu durumda, işini nasıl hızlandıracağımı düşünürdüm. Örneğin, Bessel fonksiyonu Io(çift x) hesaplamanın doğruluğunu bir bit azaltır. Te çift besselDoğruluk=0.00001

 
begemot61 >> :

Bu katsayılar, global çift NormCoef[] dizisinde saklanır ve Normalization() işlevi tarafından değerlendirilir. Normalization() , FilterOrder() , Io(double x) işlevlerini kullanır. PriceSelect(), FilterResponse(int index_of_bar) işlevlerine ihtiyacınız yok Hangi global değişkenleri bırakacağınızı kendiniz görün. Başlatma sırasında Normalization()' ı bir kez sayıyorum. Uyarlanabilir bir filtreniz varsa, Normalization() start() içinde olmalıdır . Bu durumda, işini nasıl hızlandıracağımı düşünürdüm. Örneğin, Bessel fonksiyonu Io(çift x) hesaplamanın doğruluğunu bir bit azaltır. Te çift besselDoğruluk=0.00001

teşekkür etmek! Sadece FIR'ı soymam ve tasarımımda yarışmam gerekiyor

başka bir deyişle, filtrenin başlatma kısmını bir jeneratör olarak kullanın

 

Bir sorun var mı:

Farklı zaman dilimlerindeki filtre okumaları, filtre parametrelerinde karşılık gelen bir değişiklikle eşleşmeli mi? (örneğin, H1 parametreleri = H4 * 4 parametreleri)

 
neoclassic >> :

Bir sorun var mı:

Farklı zaman dilimlerindeki filtre okumaları, filtre parametrelerinde karşılık gelen bir değişiklikle eşleşmeli mi? (örneğin, H1 parametreleri = H4 * 4 parametreleri)

Filtrenin kendisi hiçbir şey yapmaz. Kendisine girdi olarak verilen verileri işler. Veriler farklıysa, işleme sonucu farklıdır. İşleme algoritması aynı olmasına rağmen

 

Begemotych, PassBandRipple parametresini değiştirmek mantıklı mı?

neden tam olarak 30 ayarlandı?

 
sab1uk >> :

Begemotych, PassBandRipple parametresini değiştirmek mantıklı mı?

neden tam olarak 30 ayarlandı?

Gerçek şu ki, pencere işlevinin Kaiser uygulamasına sahip filtre, en kötü 2 koşulun seçimini sağlar - geçiş bandında dalgalanma ve durdurma bandında bastırma. Her iki koşulu aynı anda sağlayamayacağı için, gereksinimlerden biri gerçekte verilenden daha iyidir. Gerçekçi olarak, 20dB kesme +/-0.83dB dalgalanmaya, 40dB kesme +/-0.086dB dalgalanmaya karşılık gelir. Benim amacım için bunlar oldukça küçük değerler. Bu nedenle, geçiş bandındaki dalgalanmayı olası herhangi bir değerden açıkça daha büyük olacak şekilde ayarladım ve buna dikkat etmiyorum. Her ne kadar değerlendirme kodda mevcut olsa da gerekirse kullanılabilir.

 

sab1uk , bant geçiren filtre oluşturma ilkelerini doğru anlıyor muyum?

ve başka bir soru: GCM'de (2500) filtrenin sırasına ilişkin kısıtlamaları atlamak mümkün müdür?

 
bant geçişi (BandPass), analojiyle iki düşük geçişli filtre (LowPass) arasındaki bir farktır, çünkü piç MACD makineler arasındaki farktan elde edilir
2500+ filtre siparişine veya 300+ kesme süresine ihtiyacınız varsa, behemoth filtre kullanın
ama onun filtresi her durumda benim için uygun değil ..
1000 dB zayıflama veya 0.000000000000001 dB vuruş denedim ancak frekans yanıtında jeneratörden gelen filtrelerle aynı keskin rezonansı elde edemedim