यह एक खिड़की वाली कलाकृति है।
लिंक किए गए कोड जीरो के साथ एक 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
ताकि सिग्नल की कोई शून्य-गद्दी न हो, तो आप एक perfect
FFT का निरीक्षण करेंगे ।
आगे के कीवर्ड: "स्पेक्ट्रल रिसाव", "विंडो फ़ंक्शन", "हैमिंग विंडो"।
संपादित करें: मैंने इस विषय पर विश्वविद्यालय में लिखी गई कुछ सामग्री को साफ किया, जो कि अधिक विस्तार से जाना जाता है। मैंने अपने ब्लॉग पर पोस्ट किया है ।