"क्या कोई व्यावहारिक अनुप्रयोग है?" निश्चित रूप से हाँ, कम से कम कोड की जांच करने के लिए, और त्रुटियों को बाध्य करें।
"सिद्धांत, सिद्धांत और अभ्यास मैच में। व्यवहार में, वे नहीं करते हैं।" इसलिए, गणितीय रूप से, नहीं, जैसा कि मैट द्वारा उत्तर दिया गया है। क्योंकि (जैसा कि पहले ही उत्तर दिया गया है), (एक संभावित स्केलिंग कारक तक)। हालांकि, यह कम्प्यूटेशनल रूप से उपयोगी हो सकता है, क्योंकि उपर्युक्त समीकरण आमतौर पर असतत फूरियर रूपांतरण, और इसके तेज अवतार, एफएफटी के माध्यम से कार्यान्वित किया जाता है।F(F(x(t)))=x(−t)
एक पहला कारण इच्छाशक्ति से यह पता लगाने के लिए है कि फूरियर कार्यान्वयन, चाहे आपके द्वारा कोडित किया गया हो, किसी अन्य व्यक्ति या किसी पुस्तकालय से, यह आपके डेटा पर क्या करना चाहिए। नमूना आदेश, स्केलिंग कारक, इनपुट प्रकार (वास्तविकता, बिट-डेप्थ) या लंबाई पर सीमाएं एफएफटी जैसे फूरियर कार्यान्वयन के लिए संभावित बाद की त्रुटियों के स्रोत हैं। इसलिए एक पवित्रता की जाँच के रूप में, यह जांचना हमेशा अच्छा होता है कि कार्यान्वित संस्करण विरासत में मिले, कम से कम लगभग, सैद्धांतिक गुण। जैसा कि आप देखेंगे, जैसा कि माचुपिचू द्वारा दिखाया गया है, आप वास्तव में उलटे एक वास्तविक इनपुट को पुनर्प्राप्त नहीं करते हैं: अक्सर, काल्पनिक भाग बिल्कुल शून्य नहीं होता है, और वास्तविक भाग वह होता है जो अपेक्षित होता है, लेकिन अपूर्ण कंप्यूटर गणना के कारण एक छोटी सापेक्ष त्रुटि के भीतर (फ्लोटिंग पॉइंट) मशीन-निर्भर सहिष्णुता के भीतर। यह निम्नलिखित चित्र पर दिखाई देता है। FFT को एक यादृच्छिक 32-नमूना सिग्नल पर दो बार लागू किया जाता है, और फ़्लिप किया जाता है। जैसा कि आप देख सकते हैं, डबल परिशुद्धता फ़्लोट्स का उपयोग करके त्रुटि छोटी है।
यदि त्रुटि अपेक्षाकृत छोटी नहीं है, तो आपके द्वारा उपयोग किए जाने वाले कोड में गलतियां हो सकती हैं।
एक दूसरा टोमोग्राफी की तरह विशाल डेटा वॉल्यूम या पुनरावृत्त FFT संगणनाओं की बड़ी मात्रा से संबंधित है। वहां, पिछली छोटी सापेक्ष त्रुटियां जमा हो सकती हैं और प्रचारित हो सकती हैं, और यहां तक कि कम्प्यूटेशनल डाइवर्जेंस या त्रुटियों को भी कुछ विवरणों के लिए प्रेरित कर सकते हैं । यह निम्नलिखित चित्र पर दिखाई देता है। इतने लंबे सिग्नल ( नमूने) के लिए, हम निम्नलिखित पुनरावृत्तियों का प्रदर्शन करते हैं:
जहां एफएफटी को दर्शाता है। प्रदर्शित आंकड़ा सबमर्सिबल है। और हम अधिकतम त्रुटि की गणना करते हैंप्रत्येक पुनरावृत्ति पर।x01e6xk+1=Re(f(f(f(f(xk)))))
fmax|xk−x0|
जैसा कि आप देख सकते हैं, सिग्नल के आकार के कारण त्रुटि के परिमाण का क्रम बदल गया है। साथ ही, अधिकतम त्रुटि लगातार बढ़ जाती है। पुनरावृत्तियों के बाद यह काफी छोटा रहता है। लेकिन आप अनुमान लगा सकते हैं कि, -वॉक्सेल क्यूब और लाखों पुनरावृत्तियों के साथ, यह त्रुटि नगण्य हो सकती है।10001000×1000×1000
त्रुटि को बाध्य करना, और पुनरावृत्तियों पर इसके व्यवहार का मूल्यांकन करने से इस तरह के व्यवहार का पता लगाने में मदद मिल सकती है, और फिर उचित थ्रेसहोल्ड या राउंडिंग द्वारा कम किया जा सकता है।
अतिरिक्त जानकारी: