signals - Comparing FFT of Function to Analytical FT Solution in Matlab -


मैं फ़ंक्शन के विश्लेषणात्मक फूरियर ट्रांस्फ़ॉर्म, एक्सपी (- (- ( W ^ 2) / 4) / sqrt (2), आवृत्ति रेंज -3 से 3 पर।

मैंने निम्न मैटलैब कोड लिखा है और इसे सफलतापूर्वक बिना कई बार फिर से चालू किया है।

  fs = 100; % नमूना आवृत्ति डीटी = 1 / एफएस; टी = 0: डीटी: 10-डीटी; % समय वेक्टर एल = लंबाई (टी); नमूना बिंदुओं की% संख्या% N = 2 ^ अगली पोज़ 2 (एल); %ज़रूरी? Y = एपीपी (- (टी। ^ 2)); वाई = डीटी * ifftshift (पेट (fft (y))); Freq = (-L / 2: एल / 2-1) * एफएस / एल; % Freq vector F = (exp (- (freq। ^ 2) / 4)) / sqrt (2); % विश्लेषणात्मक समाधान% Y_valid_pts = वाई (डब्ल्यू & gt; = - 3 & amp; डब्ल्यू & lt; = 3); % Freq के लिए तुलना = -3 से 3% npts = लंबाई (Y_valid_pts); % W = linspace (-3,3, npts); % फ़े = (एक्सपी (- (डब्ल्यू। ^ 2) / 4)) / एसक्यूआरटी (2); त्रुटि = आदर्श (वाई - एफ) त्रुटि के लिए% L2 मानक; साजिश (freq, वाई, 'आर'); साजिश (freq, एफ, 'बी'); Xlabel ('आवृत्ति, वा'); कथा ( 'संख्यात्मक', 'विश्लेषणात्मक'); रोक कर रखना;   

आप अभी देख सकते हैं, मैं बस दो भूखंडों को समान दिखने की कोशिश कर रहा हूं। आखिरकार, मैं दो चीजों को करने का एक रास्ता खोजना चाहता हूं: 1) न्यूनतम नमूनाकरण दर, 2) नमूनों की न्यूनतम संख्या पाएं, एक त्रुटि (दो समाधानों के बीच के अंतर के एल 2 आदर्श के रूप में परिभाषित) तक पहुंचने के लिए 10 ^ -4।

मुझे लगता है कि यह बहुत आसान है, लेकिन मुझे ये भी लगता है कि ये दोनों ग्राफ़ भी दृष्टि से सहमत नहीं हैं। अगर कोई मुझे बताता है कि मैं गलत कहां रहा हूं और मैं ऊपर दो अंक (न्यूनतम नमूना आवृत्ति और न्यूनतम नमूनों की संख्या) से कैसे निपट सकता हूं, मैं बहुत सराहना करता हूं।

धन्यवाद < नोट करने वाली पहली बात यह है कि फूरियर फ़ंक्शन के लिए जोड़ी बदलती है exp (-t ^ 2)

+/- अनंत सीमा पर, जैसा कि से प्राप्त किया जा सकता है वास्तव में:

गाऊसी एफटी: एपीपी (-टी ^ 2) & lt; == & gt; एपीपी (- (2 ^ 2) / 4) * एसक्यूआरटी (पीआई)

अंत में, जैसा कि आप फ़ंक्शन बना रहे हैं एक्सपी (-टी ^ 2) , आप t की सीमा को सकारात्मक मूल्यों तक सीमित कर रहे हैं (संपूर्ण +/- अनंत श्रेणी लेने के बजाय)। रिश्ते को पकड़ने के लिए, आपको इस तरह से exp (-t ^ 2) उत्पन्न करना होगा:

  t = 0: dt: 10-dt ; % समय वेक्टर टी = टी - 0.5 * अधिकतम (टी); % के आसपास% t = 0 y = exp (- (ट। ^ 2));   

फिर, वेरिएंट w रेडियन में कोणीय आवृत्ति प्रदर्शित करता है जो कि सामान्यीकृत आवृत्ति freq से संबंधित है: < प्री> w = 2 * pi * freq;

इस प्रकार,

  F = (exp (- ((2 * pi * freq)। ^ 2) / 4)) * sqrt (pi) ; % विश्लेषणात्मक समाधान    

Comments

Popular posts from this blog

Out of index C/C++ -

regex - PatternSyntaxException: while using String.ReplaceAll function in java? -

java - Projects which are accessed via multiple (different) IDEs: Ant or Maven? -