কম্পন সিগন্যাল বিশ্লেষণে ফুরিয়ার ট্রান্সফর্মের প্রয়োগ
Andrei Shelkovenko। Vibromera-এর ডেভেলপারদের একজন এবং প্রতিষ্ঠাতা।
প্রবন্ধটির অনুবাদে কিছু অসঙ্গতি থাকতে পারে।
ফুরিয়ার রূপান্তর এবং সিগন্যাল বর্ণালী
অনেক ক্ষেত্রে একটি সিগন্যালের স্পেকট্রাম স্পেকট্রাম পাওয়ার (গণনা করার) কাজটি নিম্নরূপ। একটি ADC আছে, যা স্যাম্পলিং দিয়ে ফ্রিকোয়েন্সি Fd তার ইনপুটে সময় T 동안 আসা ধারাবাহিক সিগন্যালকে ডিজিটাল স্যাম্পলে রূপান্তর করে – Nটি অংশ। তারপর এই স্যাম্পলগুলোর অ্যারে কোনো প্রোগ্রামে দেওয়া হয় (উদাহরণস্বরূপ FourierScope) যা আউটপুট হিসেবে N/2টি সংখ্যামান দেয়।
programটি সঠিকভাবে কাজ করছে কি না তা যাচাই করতে আমরা দুইটি sine-এর যোগফল sin(10*2*pi*x)+0.5*sin(5*2*pi*x) দিয়ে sample array তৈরি করে program-এ দিই। programটি নিচের ফল দেখায়:

Fig.1 সিগন্যালের সময়-ফাংশনের গ্রাফ

Fig.2 সিগন্যাল বর্ণালীর গ্রাফ
দুটি রয়েছে হারমোনিক্স স্পেকট্রাম গ্রাফে – 0.5 V অ্যামপ্লিটিউডে 5 Hz এবং 1 V অ্যামপ্লিটিউডে 10 Hz, সবকিছুই মূল সিগন্যালের সূত্রের মতো। সব ঠিক আছে, grogram সঠিকভাবে কাজ করছে।
এর মানে হলো, যদি আমরা দুইটি sinusoid-এর মিশ্রণ থেকে গঠিত একটি বাস্তব signal ADC ইনপুটে দিই, তবে একই ধরনের দুইটি harmonic-সমৃদ্ধ বর্ণালী পাব।
সুতরাং, আমাদের real পরিমাপকৃত সিগন্যাল 5 sec. সময়কালবিশিষ্ট, যা ADC দ্বারা digitized হয়েছে, অর্থাৎ উপস্থাপিত হয়েছে বিচ্ছিন্ন sample দ্বারা, এর একটি বিচ্ছিন্ন অ-পর্যায়বৃত্ত বর্ণালী।
গণিতের দৃষ্টিকোণ থেকে – এই বাক্যাংশে কতটি ভুল আছে?
এখন একই সিগন্যালকে 0.5 sec. সময়ের জন্য মাপার চেষ্টা করি।

Fig.3 0.5 sec. measurement period-এর জন্য sin(10*2*pi*x)+0.5*sin(5*2*pi*x) ফাংশনের গ্রাফ

Fig.4 ফাংশনের বর্ণালী
এখানে কিছু একটা ভুল আছে! 10 Hz-এর harmonic স্বাভাবিকভাবে দেখা যাচ্ছে, কিন্তু 5 Hz-এর harmonic-এর জায়গায় কিছু অস্পষ্ট harmonic দেখা যাচ্ছে।
ইন্টারনেটে বলা হয়, sample-এর শেষে zero যোগ করলে বর্ণালী স্বাভাবিকভাবে পাওয়া যাবে।

Fig.5 আমরা sample-এ zero যোগ করে 5 sec পর্যন্ত বাড়িয়েছি

Fig.6 প্রাপ্ত বর্ণালী।
এটি মোটেও সঠিক নয়। এখন তত্ত্বের দিকে যেতে হবে। চলুন যাই wikipedia – জ্ঞানের উৎস।
ধারাবাহিক ফাংশন এবং তার Fourier series উপস্থাপন
গাণিতিকভাবে, T সেকেন্ড স্থায়ী আমাদের signal হলো interval {0, T}-এ সংজ্ঞায়িত একটি function f(x) (এখানে X হলো সময়)। এ ধরনের function-কে সবসময় নিম্নরূপ harmonic function-এর (sine বা cosine) যোগফল হিসেবে প্রকাশ করা যায়:

(1), যেখানে:
k হলো ত্রিকোণমিতিক ফাংশনের সংখ্যা (অর্থাৎ harmonic component-এর সংখ্যা, harmonic-এর সংখ্যা)
T – যে segment-এ function সংজ্ঞায়িত (সিগন্যালের স্থায়িত্বকাল)
Ak - k-তম harmonic component-এর amplitude,
θk - k-তম harmonic component-এর প্রারম্ভিক phase
“function-কে series-এর যোগফল হিসেবে প্রকাশ করা” বলতে কী বোঝায়? এর অর্থ হলো, Fourier series-এর harmonic component-গুলোর মান প্রতিটি বিন্দুতে যোগ করলে আমরা সেই বিন্দুতে আমাদের function-এর মান পাই।
(আরও কঠোরভাবে বললে, series এবং function f(x)-এর মধ্যে mean square deviation শূন্যের দিকে ধাবিত হবে; তবে mean square convergence থাকা সত্ত্বেও Fourier series প্রয়োজনীয়ভাবে point-by-point functionটির দিকে converge করবে এমন নয়।)
এই series-টি আরও এভাবেও লেখা যেতে পারে:

(2),
যেখানে
, k-তম complex amplitude।
বা

(3)
coefficient (1) এবং (3)-এর সম্পর্ক নিম্নলিখিত সূত্রগুলো দ্বারা প্রকাশ করা হয়:
![]()

মনে রাখবেন Fourier series-এর এই তিনটি উপস্থাপনই সম্পূর্ণ সমতুল্য। কখনও Fourier series নিয়ে কাজ করার সময় sine ও cosine-এর বদলে imaginary argument-এর exponent ব্যবহার করা, অর্থাৎ complex form-এ Fourier transform ব্যবহার করা বেশি সুবিধাজনক হয়। কিন্তু আমাদের জন্য formula (1) ব্যবহার করা সুবিধাজনক, যেখানে Fourier series সংশ্লিষ্ট amplitude ও phase-সহ cosine-এর সমষ্টি হিসেবে প্রকাশিত। কঠোরভাবে বলতে গেলে, real signal-এর Fourier transform complex coefficientই দেয় (form (3)): প্রতিটি coefficient তার harmonic-এর amplitude ও phase উভয়ই বহন করে। Real signal-এর ক্ষেত্রে এই complex coefficientগুলোর conjugate (Hermitian) symmetry থাকে — negative-frequency অর্ধাংশ কেবল positive-frequency অর্ধাংশকে mirror করে এবং অতিরিক্ত তথ্য বহন করে না। তাই complex coefficient থেকে আমরা সবসময় formula (1)-এর real non-negative amplitude Ak ও phase θk-তে যেতে পারি — এবং analysis programগুলো ঠিক এই amplitude spectrum-ই plot করে।
সারাংশ:
সিগন্যালের বর্ণালী বিশ্লেষণের গাণিতিক ভিত্তি হলো Fourier transform।
Fourier transform interval {0, T}-এ সংজ্ঞায়িত একটি ধারাবাহিক function f(x) (signal)-কে নির্দিষ্ট amplitude ও phase-সহ অসীম সংখ্যক ত্রিকোণমিতিক function-এর (sine এবং/অথবা cosine) যোগফল হিসেবে উপস্থাপন করতে দেয়। এই series-কে Fourier series বলা হয়।
Fourier transform-কে সিগন্যাল বিশ্লেষণে সঠিকভাবে প্রয়োগ করতে আরও কয়েকটি বিষয় বোঝা জরুরি। যদি আমরা সমগ্র X-axis-এ Fourier series (sinusoid-এর যোগফল) বিবেচনা করি, তবে দেখব {0, T} interval-এর বাইরে Fourier series functionটি আমাদের function-কে পর্যায়ক্রমে পুনরাবৃত্তি করছে।
উদাহরণস্বরূপ, Fig. 7-এর গ্রাফে মূল function {-T\2, +T\2} interval-এ সংজ্ঞায়িত, আর Fourier series সমগ্র x-axis-এ সংজ্ঞায়িত একটি periodic function উপস্থাপন করে।
কারণ sinusoid নিজেই periodic function, তাই তাদের যোগফলও periodic function হবে।

Figure 7 Fourier series দ্বারা একটি অ-পর্যায়বৃত্ত source function-এর উপস্থাপন
Thus:
আমাদের মূল function হলো একটি ধারাবাহিক, অ-পর্যায়বৃত্ত function, যা দৈর্ঘ্য T-এর একটি segment-এ সংজ্ঞায়িত।
The spectrum of this function is discrete, i.e. it is represented as an infinite series of harmonic components – a Fourier series.
আসলে Fourier series একটি periodic function সংজ্ঞায়িত করে, যা {0, T} interval-এ আমাদের function-এর সঙ্গে মিলে যায়; তবে আমাদের জন্য এই periodicity গুরুত্বপূর্ণ নয়।
এবার পরের বিষয়।
harmonic component-গুলোর period {0, T} interval-এর গুণিতক, যেখানে মূল function f(x) সংজ্ঞায়িত। অন্যভাবে বললে, harmonic-এর period হলো signal measurement duration-এর গুণিতক। উদাহরণস্বরূপ, Fourier series-এর প্রথম harmonic-এর period সেই interval T-এর সমান, যেখানে function f(x) সংজ্ঞায়িত। দ্বিতীয় harmonic-এর period T/2। এভাবে চলতে থাকে (Figure 8 দেখুন)।

Fig. 8 Fourier series-এর harmonic component-গুলোর period (frequency) (এখানে T=2π)
অতএব harmonic component-গুলোর frequency হলো 1/T-এর গুণিতক। অর্থাৎ harmonic frequency Fk = k\T, যেখানে k-এর মান 0 থেকে ∞ পর্যন্ত; যেমন, k=0 হলে F0=0; k=1 হলে F1=1\T; k=2 হলে F2=2\T; k=3 হলে F3=3\T; …. শূন্য frequency-তে একটি constant component থাকে।
ধরা যাক, আমাদের initial function হলো T=1 sec. সময়ে রেকর্ড করা একটি signal। তাহলে প্রথম harmonic-এর period হবে T1=T=1 sec এবং তার frequency হবে 1 Hz। দ্বিতীয় harmonic-এর period হবে T2=T/2=0.5 sec এবং frequency হবে 2 Hz। তৃতীয় harmonic-এর জন্য T3=T/3 sec এবং frequency হবে 3 Hz। এভাবে চলতে থাকে।
এক্ষেত্রে harmonic-গুলোর মধ্যকার step হলো 1 Hz।
অতএব, 1 sec স্থায়ী একটি signal-কে harmonic component-এ ভেঙে (অর্থাৎ spectrum পেতে) 1 Hz frequency resolution-এ বিশ্লেষণ করা যায়।
রেজোলিউশন 2 গুণ বাড়িয়ে 0.5 Hz করতে হলে, পরিমাপের সময়কাল 2 গুণ বাড়িয়ে 2 sec করতে হবে। 10-second সিগন্যালকে 0.1 Hz ফ্রিকোয়েন্সি রেজোলিউশনসহ হারমনিক উপাদান (স্পেকট্রাম)-এ বিশ্লেষণ করা যায়। ফ্রিকোয়েন্সি রেজোলিউশন বাড়ানোর অন্য কোনো উপায় নেই। আপনি আমাদের FFT রেজোলিউশন ক্যালকুলেটর.
sample array-তে zero যোগ করে signal duration কৃত্রিমভাবে বাড়ানো যায়। কিন্তু এতে প্রকৃত frequency resolution বাড়ে না।
ডিসক্রিট সিগন্যাল এবং ডিসক্রিট ফুরিয়ার ট্রান্সফর্ম
ডিজিটাল প্রযুক্তির বিকাশের সঙ্গে measurement data (signal) সংরক্ষণের পদ্ধতিও বদলেছে। আগে signal tape recorder-এ analog form-এ tape-এ সংরক্ষণ করা যেত, এখন signal digitize করে computer memory-র file-এ সংখ্যা (count)-এর সেট হিসেবে সংরক্ষণ করা হয়।
সিগন্যাল measurement ও digitization-এর প্রচলিত স্কিমটি হলো:
মাপজোক ট্রান্সডিউসার —- সিগন্যাল নরমালাইজার —- ADC —– কম্পিউটার
(Fig.9 মাপজোক চ্যানেলের স্কিম্যাটিক
measurement transducer থেকে signal সময় T পর্যন্ত ADC-তে যায়। সময় T-তে প্রাপ্ত signal reading (sampling) computer-এ পাঠানো হয় এবং memory-তে সংরক্ষণ করা হয়।

Fig.10 Digitized signal – সময় T-তে প্রাপ্ত Nটি sample
signal digitization parameter-এর জন্য কী কী প্রয়োজনীয়তা আছে? যে device ইনপুট analog signal-কে discrete code (digital signal)-এ রূপান্তর করে তাকে analog-to-digital converter (ADC) বলা হয় (© Wiki)।
ADC-এর একটি মৌলিক parameter হলো maximum sampling rate – অর্থাৎ সময়ে ধারাবাহিক একটি signal-এর sampling frequency। Sample rate hertz-এ মাপা হয়।
কোটেলনিকভের উপপাদ্য অনুসারে, যদি একটি ধারাবাহিক সংকেতের বর্ণালী Fmax কম্পাঙ্ক দ্বারা সীমাবদ্ধ থাকে, তাহলে Δt ≤ 1/(2*Fmax) সময়ান্তরে নেওয়া এর বিচ্ছিন্ন নমুনা থেকে, অর্থাৎ Fd ≥ 2*Fmax নমুনায়ন কম্পাঙ্কে, একে সম্পূর্ণরূপে ও অদ্বিতীয়ভাবে পুনর্গঠন করা সম্ভব, যেখানে Fd – নমুনায়ন কম্পাঙ্ক; Fmax – সংকেত বর্ণালীর সর্বোচ্চ কম্পাঙ্ক। অন্য কথায়, সংকেত ডিজিটাইজেশনের কম্পাঙ্ক (ADC-এর নমুনায়ন কম্পাঙ্ক) আমরা যে সংকেত পরিমাপ করতে চাই তার সর্বোচ্চ কম্পাঙ্কের অন্তত দ্বিগুণ হতে হবে।
আর যদি আমরা Kotelnikov-এর theorem-এ প্রয়োজনীয় মানের চেয়ে কম frequency-তে sample নিই, তাহলে কী হবে?
এই ক্ষেত্রে একটি “ আছেঅ্যালিয়াসিংIn this case there is an “aliasing” effect (aka stroboscopic effect, moiré effect), in which a high frequency signal after digitization turns into a low frequency signal, which in fact does not exist. In Fig. 11 the red sine wave of high frequency is the real signal. The blue sine wave of lower frequency is a fictitious signal, arising due to the fact that during the sampling time has time to pass more than half a period of the high-frequency signal.

Fig. 11 অপর্যাপ্ত sampling rate-এর কারণে spurious low frequency signal-এর উদ্ভব
অ্যালিয়াসিং প্রভাব এড়াতে, একটি বিশেষ অ্যান্টি-অ্যালিয়াস ফিল্টার (লো-পাস ফিল্টার) ADC-এর আগে স্থাপন করা হয়। এটি ADC স্যাম্পলিং ফ্রিকোয়েন্সির অর্ধেকের কম ফ্রিকোয়েন্সি যেতে দেয় এবং এর চেয়ে বেশি ফ্রিকোয়েন্সি কেটে দেয়।
ডিসক্রিট স্যাম্পল থেকে সিগন্যালের স্পেকট্রাম গণনা করতে ডিসক্রিট ফুরিয়ার ট্রান্সফর্ম (DFT) ব্যবহৃত হয়। আবার লক্ষ করুন, একটি ডিসক্রিট সিগন্যালের স্পেকট্রাম “সংজ্ঞা অনুসারে” স্যাম্পলিং ফ্রিকোয়েন্সি Fd-এর অর্ধেকের চেয়ে ছোট একটি ফ্রিকোয়েন্সি Fmax-এ সীমাবদ্ধ। তাই একটি ডিসক্রিট সিগন্যালের স্পেকট্রামকে যোগফল হিসেবে উপস্থাপন করা যায় সসীম সংখ্যক harmonic দিয়ে, যা continuous signal-এর Fourier series-এর অসীম যোগফলের বিপরীত। Kotelnikov-এর theorem অনুযায়ী harmonic-এর maximum frequency এমন হতে হবে যাতে প্রতি harmonic-এ অন্তত দুইটি sample পড়ে; তাই harmonic-এর সংখ্যা discrete signal-এর sample সংখ্যার অর্ধেক, অর্থাৎ N/2।
এখন discrete Fourier transform (DFT) বিবেচনা করি।

এটিকে Fourier series-এর সঙ্গে তুলনা করলে

As we can see, they coincide, except for the fact that time in the FFT is discrete and the number of harmonics is limited to N/2, which is half the number of samples.
DFT-এর সূত্র dimensionless integer variable k ও s-এ লেখা হয়, যেখানে k হলো signal sample-এর সংখ্যা এবং s হলো spectral component-এর সংখ্যা।
s-এর মান দেখায় period T-এ (signal measurement duration) কতগুলো পূর্ণ harmonic oscillation রয়েছে। discrete Fourier transform সংখ্যাগতভাবে harmonic-এর amplitude ও phase বের করতে ব্যবহৃত হয়, অর্থাৎ “কম্পিউটারে”।
আগেই বলা হয়েছে, যখন একটি অ-পর্যায়বৃত্ত function (আমাদের signal)-কে Fourier series-এ ভাঙা হয়, তখন ফলস্বরূপ seriesটি আসলে period T-সহ একটি periodic function-এর সমতুল্য হয় (Fig.12)।

Fig.12 period T0-সহ periodic function f(x), যেখানে period T>T0
চিত্র 12-এ দেখা যায়, f(x) ফাংশনটি T0 পর্যায়সহ পর্যাবৃত্ত। তবে মাপজোকের নমুনার দৈর্ঘ্য T ফাংশনের পর্যায় T0-এর সমান নয় বলে, ফুরিয়ার সিরিজ হিসেবে প্রাপ্ত ফাংশনটির T বিন্দুতে একটি বিচ্ছিন্নতা থাকে। এর ফলে এই ফাংশনের স্পেকট্রামে বিপুল সংখ্যক উচ্চ-ফ্রিকোয়েন্সির হারমনিক থাকবে। এই ঘটনাটি পরিচিত বর্ণালী ফুরনহিসেবে, এবং বাস্তবে এটি কমানো হয় উইন্ডোয়িং রূপান্তরের আগে সিগন্যালটিকে প্রয়োগ করে। যদি মাপজোকের নমুনার স্থায়িত্ব T ফাংশন T0-এর পর্যায়ের সঙ্গে মিলে যেত, তবে ফুরিয়ার ট্রান্সফর্মের পরে প্রাপ্ত স্পেকট্রামে শুধু প্রথম হারমনিক থাকত (নমুনার স্থায়িত্বের সমান পর্যায়ের একটি সাইনুসয়েড), কারণ f(x) ফাংশনটি একটি সাইনুসয়েড।
In other words, the DFT program “does not know” that our signal is a “slice of a sine wave”, but tries to represent as a series a periodic function which has a discontinuity due to the discontinuity of separate pieces of the sine wave.
ফলে spectrum-এ এমন harmonic দেখা যায়, যেগুলো সম্মিলিতভাবে এই discontinuity-সহ function-এর আকৃতি উপস্থাপন করে।
অতএব, বিভিন্ন period-যুক্ত একাধিক sinusoid-এর যোগফল নিয়ে গঠিত signal-এর “সঠিক” spectrum পেতে হলে প্রয়োজন যে পূর্ণসংখ্যক period প্রতিটি sinusoid-এর একটি পূর্ণসংখ্যক period measurement period-এর মধ্যে উপস্থিত থাকতে হবে। বাস্তবে, পর্যাপ্ত দীর্ঘ signal measurement duration নিলে এই শর্ত পূরণ করা যায়।

চিত্র.13 একটি গিয়ারবক্সের কাইনেমেটিক ত্রুটি সংকেত ফাংশন এবং বর্ণালীর উদাহরণ
measurement duration কম হলে চিত্রটি আরও “খারাপ” দেখাবে:

Fig.14 রটার কম্পন ফাংশন ও বর্ণালীর উদাহরণ
In practice, it can be difficult to understand where the “real components” and where the “artifacts” caused by inconsistency of component periods and signal sampling durations or “jumps and breaks” in the waveform. Of course, the words “real components” and “artifacts” are put in quotes for a reason. The presence of many harmonics on the spectrum graph does not mean that our signal actually consists of them. It is like thinking that number 7 “consists” of numbers 3 and 4. The number 7 can be thought of as the sum of 3 and 4 – that is correct.
So also our signal… or rather not even “our signal”, but a periodic function composed by repeating our signal (sample) can be represented as a sum of harmonics (sine waves) with certain amplitudes and phases. But in many cases important for practice (see figures above) it is indeed possible to relate the harmonics obtained in the spectrum also to real processes having cyclic character and contributing significantly to the form of the signal.
কিছু ফলাফল
1. ADC দ্বারা digitized, অর্থাৎ Nটি discrete sample-এ উপস্থাপিত T sec. স্থায়ী একটি বাস্তব measured signal-এর spectrum-কে N/2টি harmonic-এর সমষ্টি হিসেবে প্রকাশ করা যায়।
2. Signal-টি real value-এর একটি set হিসেবে উপস্থাপিত হয়। এর DFT spectrum হলো conjugate symmetry-সহ complex coefficient-এর একটি set; এগুলো থেকে amplitude spectrum পাওয়া যায় — positive frequency-তে real non-negative amplitude (এবং phase)-এর set, এবং বাস্তবে plot করা হয় এই one-sided amplitude spectrum-টিই। Negative frequency-সহ two-sided complex form এবং one-sided amplitude/phase form একই spectrum-এর সমতুল্য উপস্থাপন — signal analysis-এর জন্য সাধারণত one-sided amplitude spectrum-এ কাজ করাই বেশি সুবিধাজনক।
3. সময় T-এ মাপা signal কেবল সেই সময়সীমাতেই সংজ্ঞায়িত। measurement শুরুর আগে কী ঘটেছিল বা পরে কী ঘটবে তা এখানে গুরুত্বপূর্ণ নয়। time-limited signal-এর FFT নির্দিষ্ট শর্তে তার component-এর amplitude ও frequency গণনা করতে সক্ষম একটি “বাস্তব” spectrum দেয়।