Günah dalgaları yerine üçgen dalga kullanarak DFT benzeri dönüşüm


9

DFT'nin (ayrık Fourier dönüşümü) bir sinyali sinüs dalgalarının çoklu frekanslarına böldüğünü biliyoruz. Üçgenin dalgaları için de aynı şeyi yapan bir dönüşüm var mı?

Benim amacım için, sadece 1-d sinyalleri hakkında konuşuyorum (voltajlar, vb gibi). Tarihsel borsa verilerini inceliyorum ve sadece belirli hisse senetlerindeki geri dönüşlere bakmak istiyorum. Başka bir deyişle, bu dönüşümü kullanarak hisse senedi fiyatı üzerinde bir "düşük geçiş" yapmak istiyorum.

Düzenleme: Evet ise, nasıl yapabilirim?


Herhangi bir sinyal için, sanmıyorum, ama neden olmadığını gösteren bir kanıt görmek isterim. Sinyalin üçgen dalgalardan oluştuğunu biliyorsanız, bireysel frekanslarını, fazlarını ve genliklerini bulmak mümkün olabilir.
geometrikal

2
Basit akıl yürütme, herhangi bir sinyal için mümkün olduğunu söylüyor. Üçgenlerin kendileri farklı frekanslardaki sinüs sinyalleri ile temsil edilebilir ve ölçeklenebilir. Asıl soru, bundan ne çıkarım yaparsınız ve bu tür çıkarımlar pratik olarak yararlı olur mu?
Naresh

Tarihsel borsa verilerini inceliyorum ve sadece belirli hisse senetlerindeki geri dönüşlere bakmak istiyorum. Başka bir deyişle, bu dönüşümü kullanarak hisse senedi fiyatı üzerinde bir "düşük geçiş" yapmak istiyorum
hassan789

Yanıtlar:


8

İhtiyaçlarınızı karşılayabileceğini bildiğim en yakın dik dönüşüm Eğik Dönüşümdür . Testere dişi (ish) dalgalarına dayanır, ancak temel işlevlerin bazıları üçgen dalgalara benzemektedir:

Eğik Temel Fonksiyonları

(kaynak: Uygulamalı Fourier dönüşümü )

Görüntü kodlama / sıkıştırma için geliştirildi, ancak finansal verilerdeki uzun vadeli doğrusal eğilimlerin / tersinmelerin analizi için makul bir ilk yaklaşım gibi görünüyor. Dönüşümü açıklayan pek çok önemli makalenin çevrimiçi olarak [ücretsiz] mevcut olduğu görülmemektedir , ancak aşağıdaki makalede muhtemelen bir şeyi uygulamak için yeterli ayrıntı vardır:

Eğik Hesaplama için bir Kesim Yöntemi, Görüntü İşleme Uygulamalarıyla Dönüşümler. MM Anguh, RR Martin. IEEE Çev. Communications 43 (6), 2103-2110, 1995. ( yazar bağlantısı ) ( pdf bağlantısı )

Özellikle, dönüşüm matrisini oluşturmak için kullanılan özyineleme ilişkilerini veren Bölüm III'e bakın.


umut verici görünüyor!
hassan789

Bu Matlab kodunu kullanarak: eeweb.poly.edu/iselesni/slantlet/index.html Yakında geri bildirim sağlayacağım ...
hassan789

Slantlet Dönüşümünün Slant Dönüşümü ile aynı şey olduğunu düşünmüyorum. Her ikisi de faydalı olabilir.
datageist

4

Birinci dereceden B-spline'lar üçgenlerdir ve B-spline'ların toplamı olarak rastgele bir sinyali temsil eden algoritmalar vardır. Belirtildiği gibi, bu yivler bir ortobas oluşturmaz, ancak bu mutlaka korkunç bir şey değildir.

Başlamak için iyi bir yer, Unser tarafından verimli B-spline yaklaşımı hakkındaki makaledir. http://bigwww.epfl.ch/publications/unser9301.pdf


1
Bu iyi bir başlangıç ​​ve aslında benim için daha iyi olabilir, özellikle de kübik olanlar yerine parabolik b-spline'ları kullanabilirsem .... bunu da daha fazla okuyacak / öğrenecek
hassan789

2

Sinüs dalgaları yerine üçgen dalgaları kullanan bir dönüşüm yapabilirsiniz, ancak ortogonal olmadıkları için iyi bir seçim değildir. Diklik, dönüşüm vektörlerinin önemli bir özelliğidir.

Dik Dönüşümlerin Özellikleri

Dik Dönüşüm


hmmm ... diklik söz konusu olduğunda ileri düzey değilim ... Dürüst olmak gerekirse, diklik özelliğinin ne anlama geldiğini anlamıyorum. Nihayetinde dönüşümü yapmak için daha fazla CPU stili gerektiriyor mu (tam dönüşüm çekirdeği ile seyrek dönüşüm çekirdeği)?
hassan789

0

Entegratör operatörünün (yani cumsum) ve ardından bir Hızlı Walsh-Hadamard dönüşümünün birleşimini kullanabilirsiniz.

örneğin Matlab'da

n = 16;
H = fwht(eye(n))*sqrt(n); % Walsh-Hadamrd in full unitary matrix form
S = cumsum(eye(n)); % the integrator in full matrix form
T = H*S';  % cumsum along the rows of the W-H 

H'deki sabit pozitif değerlerin bölümleri testere dişi dalgalarında eğimlere neden olmak için bütünleşir; negatif değerler azalır.

T, boyutsal gerilme için yansımaları olan üniter değildir. Parlak tarafta, hızlı bir tersi var: başka bir fwht ve ardından bir farklılaştırıcı.

D = inv(S');  % difference matrix with an extra row at bottom for full rank
Tinv = D*H;   % inverse of T

Bunu biraz daha açıklayabilir misiniz? WHT'den önceki entegrasyonun nasıl istenen sonucu vereceğini anlamıyorum.
Dilip Sarwate
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.