आप कुछ भी गलत नहीं कर रहे हैं, लेकिन आप यह भी ध्यान से नहीं सोच रहे हैं कि आपको क्या देखने की उम्मीद करनी चाहिए, यही कारण है कि आप परिणाम पर आश्चर्यचकित हैं। प्रश्न 1 के लिए, आपका अनुमान करीब है, लेकिन आपके पास वास्तव में पीछे की ओर चीजें हैं; यह संख्यात्मक शोर है जो आपके दूसरे को परेशान कर रहा है, न कि आपके पहले वाले को।
चित्र मदद कर सकते हैं। यहाँ पहले परीक्षण के लिए परिमाण और चरण के भूखंड हैं:
x = Cos[2.0 \[Pi] 200 Range[0, 1, 1/1000]];
fx = Fourier[x];
ListLinePlot[Abs[fx], PlotRange -> All]
ListLinePlot[Arg[fx], PlotRange -> All]
और दूसरा एक:
x = Cos[2.0 \[Pi] 200 Range[0, 1 - 1/1000, 1/1000]];
fx = Fourier[x];
ListLinePlot[Abs[fx], PlotRange -> All]
ListLinePlot[Arg[fx], PlotRange -> All]
तो यहाँ क्या हो रहा है? दूसरे को समझाना सबसे आसान है। पहला, दूसरे के FFT में परिमाण स्पेक्ट्रम में दिखाई देने वाली दो चोटियों को छोड़कर हर जगह शून्य आयाम है; यह FFT की परिभाषा के बाद से 1,000 डेटापॉइंट का उपयोग करके फॉर्म की आवृत्तियों को लौटाता हैk / 1000 के लिये 0 ≤ कश्मीर ≤ 999, और इसलिए आपका संकेत एक आवृत्ति बिन पर बिल्कुल गिरता है । नतीजतन, अन्य 998 बिंदुओं पर आपका संकेत पूरी तरह से फ़्लोटिंग पॉइंट त्रुटियों के कारण मशीन के शोर के कारण है, और इसलिए आपका चरण स्पेक्ट्रम बकवास है, क्योंकि यह सचमुच छद्म आयामी संख्याओं का चरण है।
हालांकि, पहले एक के लिए, एफएफटी की परिभाषा फॉर्म की आवृत्तियों को शामिल करती है के / १००१ के लिये 0 ≤ k ≤ 1000, जबकि आपकी सिग्नल फ्रीक्वेंसी है 200 / 1000, जो रूप का नहीं है के / १००१। नतीजतन, आपके सिग्नल को वर्णक्रमीय रिसाव से चौड़ा किया जाता है , और लगभग हर जगह नॉनज़रो होगा। मैं चरण प्लॉट के भौतिक रूप पर टिप्पणी नहीं करूंगा, लेकिन मैं कहूंगा कि यह एक बंद विश्लेषणात्मक रूप को स्वीकार करता है।
सामान्य तौर पर, मुझे लगता है कि सूचना देने के लिए चरण कोण का ग्राफ अकेले एक बहुत बुरा विचार है, ठीक इसी कारण से; पहला, आप यह नहीं बता सकते हैं कि आप कम-आयाम वाले कचरे या वास्तविक सिग्नल के चरण को देख रहे हैं, और दूसरा, यह ट्रांसलेशन-इनवेरिएंट नहीं है, और सरल इनपुट के लिए पूरी तरह से चौंकाने वाला ग्राफ प्राप्त करना आसान है। बहुत बेहतर है, अगर आप अभी भी किसी ऐसी चीज की तलाश कर रहे हैं जो चरण की जानकारी बताती है, एक ग्राफ है जो एक साथ एक ही दृश्य तरीके से चरण और आयाम जानकारी को चित्रित करता है, जैसे कि एक भूखंड जहां चरण को ह्यू के रूप में एन्कोड किया गया है और चमक के रूप में एन्कोड किया गया है।
ADDENDUM: यहां मैथेमेटिका के कुछ चित्र दिए गए हैं, जो कि पूर्ववर्ती पैराग्राफ में मेरे द्वारा बताए गए सिद्धांत का वर्णन करते हैं:
hue = Compile[{{z, _Complex}}, {(1.0 Arg[-z] + \[Pi])/(2 \[Pi]),
Exp[1 - Max[Abs[z], 1]], Min[Abs[z], 1]},
CompilationTarget -> "C", RuntimeAttributes -> {Listable}];
L = 500;
data = Table[Boole[x <= 11 && y <= 11], {x, L}, {y, L}];
Image[hue@
RotateRight[
10 RotateRight[Fourier[RotateRight[data, {-5, -5}]], {L/2, L/2}]],
ColorSpace -> Hue, Magnification -> 1]
Image[hue@
RotateRight[
10 RotateRight[Fourier[RotateRight[data, {-4, -4}]], {L/2, L/2}]],
ColorSpace -> Hue, Magnification -> 1]
Image[hue@
RotateRight[
10 RotateRight[Fourier[RotateRight[data, {0, 0}]], {L/2, L/2}]],
ColorSpace -> Hue, Magnification -> 1]
सभी तीन छवियां एक ही इनपुट सिग्नल के 2 डी फूरियर ट्रांसफॉर्म हैं (ए ११ × ११ की लंबाई के साथ शून्य के साथ 1 के गद्देदार का वर्ग 500 × 500), लेकिन इनपुट को 5, 4, और 0, और 200 डेटा पॉइंट्स द्वारा चक्रीय रूप से घुमाया गया है। परिमाण स्पेक्ट्रा (पिक्सेल चमक द्वारा एन्कोडेड) समान हैं, लेकिन चरण स्पेक्ट्रा पूरी तरह से अलग हैं! चरण एन्कोडिंग किया जाता है ताकि लाल करने के लिए 1 नक्शे,मैं हरे रंग के नक्शे, - 1 सियान के नक्शे, और - मैंबैंगनी के नक्शे। इसका मतलब यह है कि जब मैं कहता हूं कि चरण स्पेक्ट्रा गैर-शिफ्ट अपरिवर्तनीय है, और इस प्रकार मानव दृश्य समझ के लिए उत्तरदायी नहीं है। उदाहरण के लिए, 200 डेटापॉइंट्स की चक्रीय पारी के साथ, यह बताना पूरी तरह से असंभव है कि चरण में क्या हो रहा है, क्योंकि यह सिर्फ स्थिर जैसा दिखता है, लेकिन इनपुट सिग्नल अन्य इनपुट मामलों की तुलना में अधिक जटिल नहीं है।