Biến đổi giống như DFT sử dụng sóng tam giác thay vì sóng hình sin


9

Chúng ta biết rằng DFT (biến đổi Fourier rời rạc) phá vỡ tín hiệu thành nhiều tần số của sóng hình sin. Có tồn tại một biến đổi làm điều tương tự, nhưng đối với sóng tam giác?

Đối với mục đích của tôi, tôi chỉ nói về tín hiệu 1-d (như điện áp, v.v.). Tôi đang nghiên cứu dữ liệu thị trường chứng khoán lịch sử và tôi chỉ muốn xem xét sự đảo chiều ở một số cổ phiếu nhất định. Nói cách khác, tôi muốn thực hiện "thông thấp" trên giá cổ phiếu bằng cách sử dụng biến đổi này.

Chỉnh sửa: Nếu có, làm thế nào tôi có thể làm điều đó?


Đối với bất kỳ tín hiệu nào , tôi không nghĩ vậy, nhưng rất thích xem một bằng chứng tại sao không. Nếu bạn biết tín hiệu gồm các sóng tam giác thì có thể tính được tần số, pha và biên độ riêng của chúng.
geometrikal

2
Lý luận đơn giản nói rằng nó nên có thể cho bất kỳ tín hiệu. Vì bản thân các hình tam giác có thể được biểu diễn bằng các tín hiệu sin có tần số khác nhau và có thể được thu nhỏ. Câu hỏi thực sự là những gì bạn sẽ suy luận từ nó và những suy luận như vậy sẽ thực sự hữu ích?
Naresh

Chà, tôi đang nghiên cứu dữ liệu thị trường chứng khoán lịch sử, và tôi chỉ muốn xem xét sự đảo chiều ở một số cổ phiếu nhất định. Nói cách khác, tôi muốn thực hiện một "low-pass" trên giá cổ phiếu sử dụng này chuyển đổi
hassan789

Câu trả lời:


8

Biến đổi trực giao gần nhất mà tôi biết có thể đáp ứng nhu cầu của bạn là Biến đổi nghiêng . Nó dựa trên sóng răng cưa (ish), nhưng một số hàm cơ bản giống với sóng tam giác:

Chức năng cơ bản nghiêng

(nguồn: Biến đổi Fourier ứng dụng )

Nó được phát triển để mã hóa / nén hình ảnh, nhưng có vẻ như là một cách tiếp cận hợp lý đầu tiên để phân tích các xu hướng / đảo ngược tuyến tính dài hạn trong dữ liệu tài chính. Dường như không có nhiều tài liệu chính mô tả về biến đổi có sẵn [miễn phí] trực tuyến, nhưng bài báo sau đây có thể có đủ chi tiết để thực hiện điều gì đó:

Phương pháp cắt ngắn để tính toán biến đổi nghiêng với các ứng dụng để xử lý ảnh. MM Anguh, RR Martin. IEEE Trans. Truyền thông 43 (6), 2103-2110, 1995. ( liên kết tác giả ) ( liên kết pdf )

Cụ thể, xem Phần III đưa ra các quan hệ đệ quy được sử dụng để xây dựng ma trận biến đổi.


trông đầy hứa hẹn!
hassan789

sử dụng mã Matlab này: eeweb.poly.edu/iselesni/slantlet/index.html tôi sẽ cung cấp thông tin phản hồi sớm ...
hassan789

Tôi không nghĩ Slantlet Transform giống như Slant Transform. Cả hai có thể hữu ích mặc dù.
datageist

4

B-splines thứ tự đầu tiên là các hình tam giác, và tồn tại các thuật toán để biểu thị một tín hiệu tùy ý dưới dạng tổng của các B-splines. Như đã đề cập, các spline này không tạo thành một chỉnh hình, nhưng đây không hẳn là một điều khủng khiếp.

Một nơi tốt để bắt đầu là bài báo của Unser về phép tính gần đúng B-spline hiệu quả. http://bigwww.epfl.ch/publications/unser9301.pdf


1
đây là một khởi đầu tốt, và thực sự có thể là tốt hơn cho tôi, đặc biệt là nếu tôi có thể sử dụng parabol b-splines thay vì những khối .... sẽ đọc / tìm hiểu thêm vào này là tốt
hassan789

2

Bạn có thể thực hiện một phép biến đổi sử dụng sóng tam giác thay vì sóng hình sin, nhưng nó không phải là một lựa chọn tốt vì chúng không trực giao. Tính trực giao là một tính chất quan trọng của vectơ biến đổi.

Thuộc tính của biến đổi trực giao

Biến đổi trực giao


hmmm ... tôi không tiến bộ khi nói đến tính trực giao ... Thành thật mà nói, tôi không hiểu ý nghĩa của tính trực giao là gì. Liệu cuối cùng có nghĩa là phải mất nhiều kiểu CPU hơn để thực hiện chuyển đổi (kernel biến đổi đầy đủ so với kernel biến đổi thưa thớt)?
hassan789

0

Bạn có thể sử dụng sự điều chỉnh của toán tử tích hợp (tức là cumsum) theo sau là một biến đổi Fast Walsh-Hadamard.

ví dụ trong Matlab

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 

Các phần của giá trị dương không đổi trong H tích hợp để gây ra độ nghiêng trong sóng răng cưa; giá trị âm trở thành suy giảm.

T không phải là đơn vị mà có tác động cho việc kéo dài chiều. Về mặt tươi sáng, nó có một nghịch đảo nhanh: một fwht khác theo sau bởi một bộ phân biệt.

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

Bạn có thể giải thích điều này nhiều hơn một chút? Tôi không thấy cách tích hợp trước khi WHT sẽ cho kết quả mong muốn.
Dilip Sarwate
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.