Filtre katsayılarıyla başa çıkmanın en iyi yolu nedir? - sayfa 2

 

Bugün yasaklı yoldaşlarımızdan biri Skype'ta ücretsiz bir Matlab analogunun bağlantısını paylaştı http://www.scilab.org/

Ne olduğunu görmek zorunda kalacak.

Her halükarda kurulum sırasında Intel kütüphanelerini kullandığımı yazdım (Intel MKL kütüphanesi zaten bir yıldır ücretsizdi), bu zaten sevindirici.

-----------

Yazılım yükleme adımları sırasında Intel MKL'yi seçmeyi seçerseniz

kitaplığı ve/veya Intel MKL kitaplığında sağlanan FFTW3 kitaplığı,

Intel MKL kitaplığının kurulumu ve kullanımı Intel EULA'ya [1] tabidir

daha sonra bağlı olmayı kabul ettiğiniz.

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

Dijital yöntem üreteci ?

Genel olarak, bir pencere senkronizasyon filtresi içindeyim.


Intel ve lapack paketinden dll kullanır. Bu arada, dll'lerin kod tabanına girmesine izin verildiğini hayatımda sadece ikinci kez görüyorum! Ne de olsa, MK bu tür potansiyel olarak güvenli olmayan adımlara her zaman karşı olmuştur.

Belki beni içeri alırlar? Ve sonra birçok ilginç şey birikmiş

 
Bu katsayılardan kaç tanesi? Her şeyi görmek güzel olurdu, yani. seçenek 1 (metin). Ayrıca 2. ve 5. seçeneklerden zarar gelmez
 

Filtre katsayıları pahasına, tam olarak anlamadım. 2. mertebeden başlayarak filtre katsayıları, lineer olmayan bir şekilde kesme frekansına veya isterseniz yumuşatma periyoduna bağlıdır.

Belirli katsayılar verirseniz, bu bazı belirli frekanslar (periyotlar) için mi anlamına gelir? doğru mu anladım

 
Alexey Volchanskiy :

Bugün yasaklı yoldaşlarımızdan biri Skype'ta ücretsiz bir Matlab analogunun bağlantısını paylaştı http://www.scilab.org/

Ne olduğunu görmek zorunda kalacak.

Her halükarda kurulum sırasında Intel kütüphanelerini kullandığımı yazdım (Intel MKL kütüphanesi zaten bir yıldır ücretsizdi), bu zaten sevindirici.

Bu iyi bir şey - MatLab'ın ücretsiz bir analogu. Hatta, temelde uyumlu, yani. MatLab programları SciLab'a gider ve bunun tersi de geçerlidir. Denemedim ama öyle diyor.

Sanych'in etkisiyle R ile başladım ama genel olarak bana pek uymuyor ve sonuç olarak SciLab'a geldim. Başlangıçta, radyo mühendisliği görevleri için sinyal işleme için yaratıldı ve bu bir şekilde bana daha yakın.) Ve SciLab'daki istatistikler de oldukça yeterli.

 
Yuriy Asaulenko :

Filtre katsayıları pahasına, tam olarak anlamadım. 2. mertebeden başlayarak filtre katsayıları, lineer olmayan bir şekilde kesme frekansına veya isterseniz yumuşatma periyoduna bağlıdır.

Belirli katsayılar verirseniz, bu bazı belirli frekanslar (periyotlar) için mi anlamına gelir? doğru mu anladım


Kesinlikle bu şekilde değil. Hesaplamalar için gerçek frekansları alır ve frekans bandını Hz olarak ayarlarsak, yine de 0'dan 1'e normalleştirilmiş bir frekansa yeniden hesaplanır. Ve bu normalleştirilmiş frekans artık ne örnekleme hızına ne de Hz cinsinden gerçek değerlere bağlı değildir.

Gerçek bir ticaret örneği, 4 Hz'lik bir örnekleme hızıdır, yani zamanlayıcı 250 ms'lik bir süre ile çalışır. Alçak geçiren filtre LPF'nin bant genişliği (hareketli analog) 0.04-0.4 Hz. Her şeyi normalleştirilmiş bir frekansa çeviririz, tüm frekansları örnekleme frekansına böleriz, 0,01-0,1 bant genişliği elde ederiz.

Olasılıklar böyle görünüyor

 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 };

Ve burada, örneğin, sırasıyla farklı frekans aralıklarına ve farklı uzunluklara sahip üç düşük geçişli filtre için bir resim.

köknar3

EURUSD, 15.03.2017, örnekleme hızı 2 Hz, zayıflama 40 dB

 
Yuriy Asaulenko :

Belirli katsayılar verirseniz, bu bazı belirli frekanslar (periyotlar) için mi anlamına gelir? doğru mu anladım

Şimdi Matlab'da kendim için bir dosyaya çift formatta bir dizi katsayı yazan bir program yaptım. Dizi parametreleri ve sayıları parametrelerde belirtilebilir.

Ve MQL'de gerekli seti okuyabilen bir sınıf var.

Bu şekilde yayınlayacağım. Artı, istediğiniz katsayı kümesini seçebilmeniz ve diske ikili ve metin biçiminde yazabilmeniz için dersi bitireceğim.

 
Yuriy Asaulenko :

Bu iyi bir şey - MatLab'ın ücretsiz bir analogu. Hatta, temelde uyumlu, yani. MatLab programları SciLab'a gider ve bunun tersi de geçerlidir. Denemedim ama öyle diyor.

Sanych'in etkisiyle R ile başladım ama genel olarak bana pek uymuyor ve sonuç olarak SciLab'a geldim. Başlangıçta, radyo mühendisliği görevleri için sinyal işleme için yaratıldı ve bu bir şekilde bana daha yakın.) Ve SciLab'daki istatistikler de oldukça yeterli.

Ona tamamen yabancıyım çünkü. gerek yoktu. Tamam çabuk öğrenelim)
 
Alexey Volchanskiy :

Şimdi Matlab'da kendim için bir dosyaya çift formatta bir dizi katsayı yazan bir program yaptım. Dizi parametreleri ve sayıları parametrelerde belirtilebilir.

Ve MQL'de gerekli seti okuyabilen bir sınıf var.

Bu şekilde yayınlayacağım. Artı, istediğiniz katsayı kümesini seçebilmeniz ve diske ikili ve metin biçiminde yazabilmeniz için dersi bitireceğim.

Anladığım kadarıyla katsayı sayısına bakılırsa FIR filtreleri kullanıyor musunuz?

IIR kullanıyorum - birkaç katsayı var, ancak normalleştirilmiş formdan frekansın yeniden hesaplanması daha zor. Sadece ölçeklenmiyorlar.

 
Alexey Volchanskiy :
Ona tamamen yabancıyım çünkü. gerek yoktu. Eh, hiçbir şey, çabucak çalışacağız)
MatLab'daysanız, zorluk yoktur. En azından her ikisinde de ortak olan kütüphanelerle. Ama sabun için bız değiştirmek mantıklı mı, çünkü İşlevsellik açısından çok yakınlar - bilmiyorum.