एक एकल साइन वेव साइकिल का फूरियर ट्रांसफॉर्म एक बार क्यों नहीं है?


12

मैंने एकल साइन तरंगों पर अलग-अलग फूरियर रूपांतरण कोड की कोशिश की है, और उन सभी को सिग्नल फ्रीक्वेंसी में एक अनुनाद के साथ एक वितरित स्पेक्ट्रम का उत्पादन होता है जब उन्हें सैद्धांतिक रूप से एक बार प्रदर्शित करना चाहिए।

नमूने की आवृत्ति में बहुत कम प्रभाव होता है (10kHz यहाँ), हालाँकि चक्रों की संख्या इस प्रकार है:

एक चक्र:

यहाँ छवि विवरण दर्ज करें

100 चक्र:

यहाँ छवि विवरण दर्ज करें

100000 चक्र:

यहाँ छवि विवरण दर्ज करें

ऐसा लगता है कि फूरियर रूपांतरण केवल अनंत संख्या में चक्रों के लिए अभिसरण करता है, ऐसा क्यों है? क्या एक चक्र की समय खिड़की एन चक्रों के समान परिणाम नहीं लाती है?

अनुप्रयोग: यह जिज्ञासा से बाहर है और इसलिए भी क्योंकि मैं यह चाहता हूं कि एक प्रथम क्रम प्रणाली की चरण प्रतिक्रिया एक यांत्रिक संयोजन की प्रतिध्वनि कितनी रोमांचक होगी। इसलिए मुझे प्रतिक्रिया के सटीक फूरियर रूपांतरण की आवश्यकता है ... जिस पर मुझे अब भरोसा नहीं है। मैं "साइन वेव" मामले के आधार पर सटीकता में सुधार करने के लिए क्या कर सकता था?

यहाँ छवि विवरण दर्ज करें

PS: ये विशेष स्क्रीनशॉट यहाँ कोड पर आधारित हैं


6
स्वीकृत उत्तर के अलावा, ध्यान दें कि यह मानने का कोई कारण नहीं है कि असतत-समय फूरियर रूपांतरण (जिसे आप डीएफटी का उपयोग करके गणना कर रहे हैं) एक इनपुट सिग्नल के लिए एक आवेग होगा जो कि साइनसोइड की एक अवधि है। एक साइनसॉइड का निरंतर-समय फूरियर रूपांतरण एक आवेग है, हां, लेकिन यह साइनसॉइड अवधि में अनंत है। जब आप समय में सिग्नल को सीमित करते हैं, तो यह आयताकार विंडो फ़ंक्शन द्वारा गुणा करने के बराबर है। आवृत्ति-डोमेन परिणाम आवेग और खिड़की के फूरियर रूपांतरण का दृढ़ संकल्प है, जो अनिवार्य रूप से आप देख रहे हैं।
जेसन आर

टिप्पणी के लिए धन्यवाद। तो आप कैसे समझाते हैं कि यदि मैं एनएफएफटी संख्या को वेक्टर की लंबाई में बदल देता हूं, तो परिणाम एक बार है?
मिस्टर मिस्टेयर

1
अच्छा प्रश्न। डीएफटी में निहित धारणा के कारण ऐसा होता है। DFT के इनपुट पर दिए गए परिमित-लम्बे संकेत को दोनों दिशाओं में समय-समय पर अनंत अवधि के साथ विस्तारित मान लिया जाता है। इसलिए, जब आपके पास डीएफटी के "एपर्चर" के अंदर चक्रों की पूर्णांक संख्या होती है, तो आप एक अनंत-अवधि के साइनसॉइड के परिवर्तन के साथ समाप्त होते हैं: एक एकल आवेग। यह बिल्कुल शून्य वर्णक्रमीय रिसाव के मामले से मेल खाता है, और शायद ही कभी अभ्यास में होता है।
जेसन आर

जवाबों:


30

यह एक खिड़की वाली कलाकृति है।

लिंक किए गए कोड जीरो के साथ एक 10,000 नमूना सिग्नल को बाहर निकालते हैं ताकि लंबाई दो की शक्ति हो।

%% Author :- Embedded Laboratory

%%This Project shows how to apply FFT on a signal and its physical 
% significance.

fSampling = 10000;          %Sampling Frequency
tSampling = 1/fSampling;    %Sampling Time
L = 10000;                  %Length of Signal
t = (0:L-1)*tSampling;      %Time Vector
F = 100;                    %Frequency of Signal

%% Signal Without Noise
xsig = sin(2*pi*F*t);
...

%%Frequency Transform of above Signal
subplot(2,1,2)
NFFT = 2^nextpow2(L);
Xsig = fft(xsig,NFFT)/L;
...

ध्यान दें कि उपरोक्त कोड में, FFT FFT आकार के साथ लिया जाता है NFFTसे जो 2 के संकेत लंबाई से भी बड़ा अगले शक्ति है (इस मामले में, 16,384।) Mathworks fft()प्रलेखन :

Y = fft(X,n)एन-पॉइंट डीएफटी लौटाता है। fft(X)के बराबर है fft(X, n)जहां nके आकार है Xपहले nonsingleton आयाम में। यदि की लंबाई से Xकम है n, Xलंबाई के पीछे शून्य के साथ गद्देदार है n। यदि की लंबाई से Xअधिक है n, अनुक्रम Xछोटा है। जब Xएक मैट्रिक्स होता है, तो कॉलम की लंबाई एक ही तरीके से समायोजित की जाती है।

इसका मतलब यह है कि आप वास्तव में 'शुद्ध साइन लहर' का एफएफटी नहीं ले रहे हैं - आप इसके बाद एक फ्लैट सिग्नल के साथ साइन लहर का एफएफटी ले रहे हैं।

यह एक वर्ग विंडो फ़ंक्शन के साथ गुणा की गई साइन वेव के FFT को लेने के बराबर है। FFT स्पेक्ट्रम तब वर्ग तरंग आवृत्ति स्पेक्ट्रम (sinc (f)) के साथ साइन वेव फ्रीक्वेंसी स्पेक्ट्रम (एक आवेग समारोह) का दृढ़ संकल्प है।

यदि आप बदलते हैं L = 16,384ताकि सिग्नल की कोई शून्य-गद्दी न हो, तो आप एक perfectFFT का निरीक्षण करेंगे ।

आगे के कीवर्ड: "स्पेक्ट्रल रिसाव", "विंडो फ़ंक्शन", "हैमिंग विंडो"।


संपादित करें: मैंने इस विषय पर विश्वविद्यालय में लिखी गई कुछ सामग्री को साफ किया, जो कि अधिक विस्तार से जाना जाता है। मैंने अपने ब्लॉग पर पोस्ट किया है


यह इस समय मेरे चेहरे के ठीक सामने था। अच्छा किया साहब, मैंने बस NFFT नंबर को वेक्टर की लंबाई में बदल दिया और यह किया।
मिस्टर मिस्टेयर

1
@ MisterMystère: विश्वविद्यालय में मेरे द्वारा लिखी गई प्रासंगिक सामग्री के लिंक के लिए संपादन देखें। चित्रों सहित बहुत अधिक गहन व्याख्या।
ली-आंग येप

(हालांकि मैं गणित के फार्मूले को फिर से टाइप करना भूल गया था - अब तय हो गया है।)
Li-aung Yip

बस एक अनुस्मारक है कि matlab FFT एल्गोरिथ्म का उपयोग करके nextpow2 को पेडिंग करने के लिए बहुत कम लाभ है, जो मुझे लगता है कि fftw है (पश्चिम में सबसे तेजी से फूरियर रूपांतरण)
स्कॉट सीडमैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.