FIR滤波器 - 页 14

 
ssd >> :

Sabluk,做个朋友,把这个 "自适应过滤器 "给我做实验。


那么,你打算用这个过滤器做什么呢?你不关心它适应什么,为什么或如何适应?

 
begemot61 >> :

那么,你打算用这个过滤器做什么呢?你不关心它适应什么,为什么以及如何适应?

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

简而言之,在理想情况下,根据我的想法,过滤指示器应该独立地

分析输入的历史数据频谱,并动态地适应/调整

滤波特性取决于输入信号的光谱组成。


换句话说,这些是 线性数字滤波器公式中的 "加权系数"


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

这里X是输入时间序列,Y是输出时间序列,A和B是权重集。


必须适应/调整输入信号的频谱。


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

这些系数存储在全局数组double NormCoef[] 中,并由Normalization() 考虑。Normalization() 使用函数FilterOrder(), Io(double x).你不需要函数PriceSelect(), FilterResponse(int index_of_bar) 什么全局变量留给你自己看。 我在初始化时计算Normalization() 一次,。如果你有一个自适应滤波器,Normalization() 应该在start()里面 。在这种情况下,我会考虑如何加快它的速度。好吧,比如说,我会把贝塞尔函数Io(double x) 的计算精度降低 一位数 T.edouble besselAccuracy=0.00001

 
begemot61 >> :

这些系数存储在全局数组double NormCoef[] 中,并由Normalization() 考虑。Normalization() 使用函数FilterOrder(), Io(double x).你不需要函数PriceSelect(), FilterResponse(int index_of_bar) 什么全局变量留给你自己看。 我在初始化时计算Normalization() 一次,。如果你有一个自适应滤波器,Normalization() 应该在start()里面 。在这种情况下,我会考虑如何加快它的速度。好吧,比如说,我会把贝塞尔函数Io(double x) 的计算精度降低 一位数 T.edouble besselAccuracy=0.00001

谢谢!我只需要抓住FIR并在我的设计中运行它。

换句话说,就是把过滤器的初始化部分作为一个发生器使用。

 

出现了一个问题。

当过滤器参数发生相应变化时,不同时间段的过滤器读数应该是一致的吗?(例如,H1参数=H4参数*4 )

 
neoclassic >> :

出现了一个问题。

当过滤器参数发生相应变化时,不同时间段的过滤器读数应该是一致的吗?(例如,H1参数=H4参数*4 )

过滤器本身并没有显示任何东西。它处理作为输入的数据。如果数据不同,处理的结果也不同。尽管处理算法是相同的

 

河马,改变PassBandRipple参数是否有意义?

究竟为什么要设置为30?

 
sab1uk >> :

河马,改变PassBandRipple参数是否有意义?

究竟为什么是30套?

问题是,用Kaiser实现窗函数的滤波器涉及到选择2个条件中最差的一个--通带的脉冲和延迟带的抑制。因为它不能同时提供这两个条件,所以其中一个要求变成了比实际要求更好。现实上,20dB的抑制对应于+/-0.83dB的纹波,40dB的抑制对应于+/-0.086dB的纹波。对于我的目的来说,这些是相当小的数值。因此,我只是明知故犯地将带宽中的波纹设置为大于任何可能的值,而不去关注它。尽管估计值存在于代码中,必要时可以使用。

 

sab1uk,我对带通滤波器的原理理解正确吗?

还有一个问题:是否可以绕过GCM(2500)中的过滤顺序限制?

 
BandPass是两个LPF(低通)之间的差值,类似于杂种MACD是由混合物的差值得出的。
如果你想要一个阶数为2500以上的滤波器或一个300以上的截止期,请使用Behemoth滤波器。
但它的过滤器并不适合所有情况...
试图做1000分贝的阻尼或0.000000000000001分贝的滚降,但未能在AFC中实现与振荡器滤波器一样的尖锐共振。