"Có ứng dụng thực tế nào không?" Chắc chắn là có, ít nhất là để kiểm tra mã và các lỗi bị ràng buộc.
"Về lý thuyết, lý thuyết và thực hành phù hợp. Trong thực tế, họ không." Vì vậy, về mặt toán học, không, như Matt đã trả lời. Bởi vì (như đã trả lời), (tối đa là một hệ số tỷ lệ tiềm năng). Tuy nhiên, nó có thể hữu ích về mặt tính toán, bởi vì phương trình trên thường được thực hiện thông qua biến đổi Fourier rời rạc và hình đại diện nhanh của nó, FFT.F(F(x(t)))=x(−t)
Một lý do đầu tiên xuất phát từ ý chí kiểm tra việc triển khai Fourier, cho dù được mã hóa bởi bạn, ai đó hoặc từ thư viện, có làm những gì cần làm trên dữ liệu của bạn không. Thứ tự mẫu, hệ số tỷ lệ, giới hạn về loại đầu vào (độ thực, độ sâu bit) hoặc độ dài là nguồn gây ra lỗi tiếp theo tiềm năng cho việc triển khai Fourier như FFT. Vì vậy, khi kiểm tra độ tỉnh táo, luôn luôn tốt để kiểm tra xem các phiên bản đã triển khai có kế thừa hay không, ít nhất là xấp xỉ các thuộc tính lý thuyết. Như bạn sẽ thấy, như Machupicchu thể hiện, bạn không phục hồi chính xác một đầu vào thực sự bị đảo ngược: thông thường, phần tưởng tượng không chính xác bằng 0 và phần thực là những gì được mong đợi, nhưng trong một lỗi tương đối nhỏ, do tính toán không hoàn hảo của máy tính (dấu phẩy động) trong phạm vi dung sai phụ thuộc vào máy. Điều này được hiển thị trên hình ảnh sau đây. FFT được áp dụng hai lần trên tín hiệu 32 mẫu ngẫu nhiên và được lật. Như bạn có thể thấy, lỗi là nhỏ, sử dụng phao chính xác kép.
Nếu lỗi không tương đối nhỏ, thì có thể có lỗi trong mã bạn sử dụng.
Thứ hai liên quan đến khối lượng dữ liệu khổng lồ hoặc số lượng lớn các tính toán FFT lặp, như với chụp cắt lớp. Ở đó, các lỗi tương đối nhỏ trước đây có thể tích lũy và lan truyền, và thậm chí gây ra sự phân kỳ tính toán hoặc lỗi một số chi tiết ở đây . Điều này được hiển thị trên hình ảnh sau đây. Đối với tín hiệu không quá dài ( mẫu), chúng tôi thực hiện các lần lặp sau:
trong đó biểu thị FFT. Con số hiển thị là mẫu phụ. Và chúng tôi tính toán sai số tối đatại mỗi lần lặp.x01e6xk+1=Re(f(f(f(f(xk)))))
fmax|xk−x0|
Như bạn có thể thấy, thứ tự cường độ của lỗi đã thay đổi, do kích thước của tín hiệu. Thêm vào đó, lỗi tối đa tăng đều đặn. Sau lần lặp, nó vẫn đủ nhỏ. Nhưng bạn có thể đoán rằng, với khối lập phương và hàng triệu lần lặp, lỗi này có thể trở nên không đáng kể.10001000×1000×1000
Xử lý lỗi và đánh giá hành vi của nó qua các lần lặp có thể giúp phát hiện các hành vi đó và giảm sau đó bằng cách ngưỡng hoặc làm tròn thích hợp.
Thông tin thêm: