বিজ্ঞানের ছাত্ররা সাধারণভাবে এবং গণিতের ছাত্ররা বিশেষভাবে "ফোরিয়ার ট্র্যান্সফর্ম (Fourier Transform)" নামে একটি ট্র্যান্সফর্ম এর নাম শুনে থাকবেন। অনেকেই হয়ত ফোরিয়ার ট্র্যান্সফর্ম এর সূত্র ব্যবহার করে অংক কষেছেন কিন্তু এর তাৎপর্য ও ব্যবহার সম্পর্কে পরিষ্কার ধারণা নাই। ফোরিয়ার ট্র্যান্সফর্ম একটি অত্যন্ত পাওয়ারফুল টুল এবং এর ব্যবহার ব্যাপক। এই লেখাতে ফোরিয়ার ট্র্যান্সফর্ম এর ব্যবহার এবং তাৎপর্য সম্পর্কে সংক্ষেপে কিছু ধারণা দেয়া হবে।
যে কোনো সিগনালকে টাইম এবং ফ্রীকোয়েন্সি উভয় ডোমেইনেই বিশ্লেষণ করা যায়। একটি সিগনালকে টাইম ডোমেইনে উপস্থাপন করে সময়ের সাথে সেই সিগনালের বিস্তার সম্পর্কে জানা যায়। অনুরূপভাবে, একই সিগনালকে ফ্রীকোয়েন্সি ডোমেইনে উপস্থাপন করে ফ্রীকোয়েন্সির সাথে সিগনালের বিস্তার সম্পর্কে ধারণা পাওয়া যায়। তবে বাস্তব প্রয়োগের উপর ভিত্তি করে সিগনালকে টাইম ডোমেইনের চেয়ে ফ্রীকোয়েন্সি ডোমেইনে বিশ্লেষণ অনেক দিক দিয়েই সুবিধাজনক। যেমন একটি সিগনালকে টাইম ডোমেইনের চেয়ে ফ্রীকোয়েন্সি ডোমেইনে সাধারণত সহজবোধ্য দেখায়। এছাড়াও সিগনালের ভৌতিক গুণাবলী প্রায়ই ফ্রীকোয়েন্সির উপর নির্ভর করে।
কোনো সিগনালকে টাইম ডোমেইন থেকে ফ্রীকোয়েন্সি ডোমেইনে পরিবর্তন করার জন্য ফোরিয়ার ট্র্যান্সফর্ম ব্যবহৃত হয়। গাণিতিকভাবে ফোরিয়ার ট্র্যান্সফর্মকে নিচের সমীকরণ দ্বারা উপস্থাপন করা হয়,
যেখানে x(t) হচ্ছে টাইম ডোমেইন সিগনাল এবং e-i2πft হচ্ছে মাদার বা বেসিস ফাংশন। ফোরিয়ার ট্র্যান্সফর্ম এর ইনভার্স ট্র্যান্সফর্মও আছে, যা দিয়ে ফ্রীকোয়েন্সি ডোমেইন থেকে টাইম ডোমেইনে সিগনালকে পরিবর্তন করা যায়।
ফোরিয়ার ট্র্যান্সফর্ম যেভাবে কাজ করে: উপরের সমীকরণে মাদার ফাংশন এর মধ্যে f হচ্ছে ফ্রীকোয়েন্সি। একটি ফ্রীকোয়েন্সি ব্যান্ডের মধ্যে প্রত্যেক ফ্রীকোয়েন্সির জন্য টাইম ফাংশনটির পুরো ব্যাপ্তিকালের ইন্টিগ্রেশন করা হলে তার একটি মান পাওয়া যায়। এভাবে একটি সিগনালকে টাইম ডোমেইন থেকে ফ্রীকোয়েন্সি ডোমেইনে পরিবর্তন হয়। ধরা যাক, টাইম ডোমেইন সিগনাল x(t)-তে একটি নির্দিষ্ট ফ্রীকোয়েন্সি আছে। এই সিগনালের ফোরিয়ার ট্র্যান্সফর্ম করার পর দেখা যাবে সেই নির্দিষ্ট ফ্রীকোয়েন্সিতে ইন্টিগ্রেশনের মান অনেক বড় এবং অন্যান্য ফ্রীকোয়েন্সিতে ইন্টিগ্রেশনের মান শূন্য কিংবা বাস্তবে শূন্যের কাছাকাছি। এই ফলাফল থেকে বলা যেতে পারে যে, সিগনালটিতে একটি নির্দিষ্ট মানের ফ্রীকোয়েন্সি আছে।
এবার একটি বাস্তব উদাহরণের সাহায্যে বিষয়টাকে গাণিতিকভাবে ব্যাখ্যা করা যাক। আমরা যে বিদ্যুৎ ব্যবহার করি সেটি হচ্ছে একটি ইলেকট্রিক্যাল সিগনাল (Sine wave or sinusoidal signal) এবং এর ফ্রীকোয়েন্সি ৫০ হার্টজ (Hertz)। হার্টজ হচ্ছে ফ্রীকোয়েন্সির একক। ৫০ হার্টজ মানে প্রতি সেকেন্ডে ৫০টি কম্পন সম্পন্ন করাকে বুঝায়। এই ইলেকট্রিক্যাল সিগনালকে গাণিতিক সমীকরণের সাহায্যে লিখা যায়,
যেখানে A হচ্ছে সিগনালের বিস্তার এবং f হচ্ছে ফ্রীকোয়েন্সি বা কম্পাঙ্ক, এক্ষেত্রে ৫০ হার্টজ। এই সমীকরণ থেকে x(t) এর মান প্রথম সমীকরণে বসিয়ে দিয়ে ইন্টিগ্রেট করা হলে নিম্নের সমাধান পাওয়া যাবে, যেখানে δ হচ্ছে ডেলটা ফাংশন যার মান মূলবিন্দু ছাড়া সর্বত্র শূন্য।
এবার দুটি সহজ উদাহরণের সাহায্যে ব্যাপারটাকে চিত্রের সাহায্যে দেখা যাক। চিত্র-১ এ দুটি উইন্ডো দেখা যাচ্ছে। উপরের উইন্ডোতে ৫০ হার্টজ ফ্রীকোয়েন্সির একটি সাইন ওয়েভকে টাইম ডোমেইনে উপস্থাপন করা হয়েছে (Time vs. Amplitude), আর নিচের উইন্ডোতে একই সিগনালের ফ্রীকোয়েন্সি স্পেকট্রাম (Frequency spectrum) দেখানো হয়েছে (Frequency vs. Amplitude)। লক্ষ্য করলে দেখা যাবে টাইম ডোমেইন চিত্র থেকে সিগনালের ফ্রীকোয়েন্সি নির্ণয় করা সহজ নয়। অথচ ফ্রীকোয়েন্সি স্পেকট্রাম থেকে খুব সহজেই বোঝা যাচ্ছে যে এই সিগনালের ফ্রীকোয়েন্সি ৫০ হার্টজ, যেহেতু একমাত্র ৫০ হার্টজ ফ্রীকোয়েন্সিতেই একটি পীক বা চূড়া দেখা যাচ্ছে।
চিত্র-১: ৫০ হার্টজ ফ্রীকোয়েন্সির একটি সাইন ওয়েভকে টাইম ডোমেইন ও ফ্রীকোয়েন্সি ডোমেইনে উপস্থাপন।
উপরের চিত্রে ৫০ হার্টজ ফ্রীকোয়েন্সির একটিমাত্র সিগনাল দেখানো হয়েছে। এমনও হতে পারে যে, একটি জটিল সিগনালের মধ্যে একাধিক ফ্রীকোয়েন্সি কম্পোনেন্ট থাকতে পারে। সেক্ষেত্রে টাইম ডোমেইনে বিশ্লেষণ করে ফ্রীকোয়েন্সি কম্পোনেন্টগুলো জানা প্রায় অসম্ভব। চিত্র-২ এ উপরের উইন্ডোতে ১০০, ২৫০, ও ৪০০ হার্টজ ফ্রীকোয়েন্সির তিনটি সাইন ওয়েভের সমন্বয়ে একটি জটিল সিগনাল আছে, আর নিচের উইন্ডোতে একই সিগনালের ফ্রীকোয়েন্সি স্পেকট্রাম দেখানো হয়েছে। এই ধরণের জটিল সিগনালের ক্ষেত্রে টাইম ডোমেইন চিত্র থেকে সিগনালের ফ্রীকোয়েন্সি নির্ণয় করা সম্ভব নয়। অথচ ফ্রীকোয়েন্সি স্পেকট্রাম থেকে খুব সহজেই তিনটি আলাদা ফ্রীকোয়েন্সির সিগনাল পৃথক করা যাচ্ছে; তিনটি চূড়া তিনটি আলাদা সিগনাল নির্দেশ করে।
চিত্র-২: ১০০, ২৫০, ও ৪০০ হার্টজ ফ্রীকোয়েন্সির তিনটি সাইন ওয়েভের সমন্বয়ে একটি জটিল সিগনালকে টাইম ডোমেইন ও ফ্রীকোয়েন্সি ডোমেইনে উপস্থাপন।
উপরে যে দুটি উদাহরণ দেয়া হয়েছে সেগুলোর ক্ষেত্রে সিগনালের ফ্রীকোয়েন্সি কন্টেন্ট সময়ের সাথে পরিবর্তন হয় না, যাকে স্টেশনারি সিগনাল বলা হয়। স্টেশনারি সিগনাল বিশ্লেষণের ক্ষেত্রে ফোরিয়ার ট্র্যান্সফর্ম সবচেয়ে ভাল টুল হিসেবে কাজ করে। তবে স্টেশনারি সিগনাল ছাড়াও বাস্তবে এমন কিছু সিগনাল আছে যেগুলোর ফ্রীকোয়েন্সি কন্টেন্ট সময়ের সাথে পরিবর্তন হয়, যাকে নন-স্টেশনারি সিগনাল বলা হয় (যেমন: human speech, music, economic time series, etc.)। নন-স্টেশনারি সিগনালের ক্ষেত্রে ফোরিয়ার ট্র্যান্সফর্ম কাজ করে না, যেহেতু একটি সিগনালকে ফ্রীকোয়েন্সি ডোমেইনে পরিবর্তন করার পর টাইম ইনফরমেশন হারিয়ে যায়। ফলে নন-স্টেশনারি সিগনাল বিশ্লেষণের জন্য জয়েন্ট টাইম-ফ্রীকোয়েন্সি তথা 2D (Two-dimensional) ট্র্যান্সফর্মেশন টুল ব্যবহার করতে হয়।
Matlab Code:
%Signal and Spectrum generation
clear all;
Fs = 1000; %Sampling frequency
T = 1/Fs; %Sample time
L = 1000; %Length of signal
t = (0:L-1)*T; %Time vector
x = sin(2*pi*50*t); %Time domain signal for first figure
%x = sin(2*pi*100*t)+sin(2*pi*250*t)+sin(2*pi*400*t); %Time domain signal for second figure
N = 2^nextpow2(L);
X = fft(x, N)/L; %Fourier transform
f = Fs/2*linspace(0,1,N/2); %Frequency vectorfigure;
subplot(2,1,1), plot(t, real(x)); xlabel('Time (sec)'); ylabel('Amplitude');
subplot(2,1,2), plot(f, 2*abs(X(1:N/2))); xlabel('Frequency (Hz)'); ylabel('Amplitude');






0 মন্তব্য
এক লাফে মন্তব্যের ঘরে ↓
শামস
মে ২৪, ২০১১ at ২:১২ অপরাহ্ন (UTC 6) Link to this comment
খুব ভাল লিখেছেন।
এস. এম. রায়হান
মে ২৫, ২০১১ at ৮:২৩ অপরাহ্ন (UTC 6) Link to this comment
কোনমতে একটা কিছু দাঁড় করিয়েছি। পড়ার জন্য ধন্যবাদ।
শামস
মে ২৪, ২০১১ at ২:১৬ অপরাহ্ন (UTC 6) Link to this comment
গ্রাফ অনুযায়ী “Time vs. Amplitude” এর স্থলে ”Amplitude vs. Time” এবং ”Frequency vs. Amplitude”এর স্থলে “Amplitude vs. Frequency হবার কথা।
<তিনটি চূড়া তিনটি আলাদা সিগনাল নির্দেশ করে।>
দুইবার “তিনটি” আসছে।
এস. এম. রায়হান
মে ২৫, ২০১১ at ৮:২৭ অপরাহ্ন (UTC 6) Link to this comment
[গ্রাফ অনুযায়ী “Time vs. Amplitude” এর স্থলে ”Amplitude vs. Time” এবং ”Frequency vs. Amplitude”এর স্থলে “Amplitude vs. Frequency হবার কথা।]
>লেখাটি পোস্ট করার পর লক্ষ্য করেছি। এগুলো হয়ত উঠিয়েই দেব।
[<তিনটি চূড়া তিনটি আলাদা সিগনাল নির্দেশ করে।> দুইবার “তিনটি” আসছে।]
>এখানে ঠিকই আছে। আরেকবার পড়ে দেখুন। তিনটি আলাদা সিগনাল এর জন্য তিনটি আলাদা চূড়া।
সাদাত
মে ২৫, ২০১১ at ৫:০৫ পূর্বাহ্ন (UTC 6) Link to this comment
এ ধরণের এটাই সম্ভবত আপনার প্রথম লেখা।
লেখা চালিয়ে যান। তবে ধীরে ধীরে লেখার ভেতর বাংলা প্রতিশব্দ বাড়াবার চেষ্টা করুন।
এস. এম. রায়হান
মে ২৫, ২০১১ at ৮:৩১ অপরাহ্ন (UTC 6) Link to this comment
হ্যাঁ, খাঁটি বিজ্ঞান-ভিত্তিক বিষয়ে এটিই সম্ভবত প্রথম লেখা। এমনিতেই লিখার হাত যাচ্ছেতাই, তার উপর আবার বিজ্ঞান নিয়ে লিখার অভ্যাস একেবারেই নেই। আপনার সাজেশন মনে থাকবে।
শাহবাজ নজরুল
মে ২৬, ২০১১ at ৪:২৪ পূর্বাহ্ন (UTC 6) Link to this comment
কিছু প্রশ্ন।
১। ৫০ হার্টজের সাইন সিগনাল তাহলে ততটা মৌলিক নয় যতটা আমরা ভাবি। যেমন আপনার লেখাতে স্বগত ভাবেই লিখেছেন ৫০ হার্টজের সাইন সিগনাল; কিন্তু এর ফোরিয়ার ট্রান্সফর্ম করলে দেখা গেলো ৫০ ও -৫০ এই ২ ফ্রিকোয়েন্সি পাওয়া গেলো; অর্ধেক বিস্তারের। এটা আসছে ইউলারের ফর্মুলাতে সাইন সিগনালের গঠন থেকে। এর মানে কি সাইন সিগনাল আসলে বিপরীত দিকে চলমান/ঘূর্ণায়মান ৫০ হার্টজের অর্ধেক বিস্তারের সিগনালের সমষ্টি? জেনেরেটরে তো ৫০ হার্টজের সিগনাল তৈরী করা সোজা, বিপরীত দিকে ধূর্ণায়মান ২ টা সিগনালের জটিল রাশিগত সমষ্টির চাইতে। তাহলে এক্ষেত্রে কী টাইম ডোমেইনের রিপ্রেজেন্টেশন বেশী সহজবোধ্য হলোনা?
২। নেগেটিভ ফ্রিকোয়েন্সি মানে কী? বাস্তব জীবনে তো আমরা কখনো নেগেটিভ ফ্রিকোয়েন্সির কথা বলি না। তাহলে এই গাণিতিক বিধৃতীর আসল মানে কী?
–শাহবাজ
এস. এম. রায়হান
মে ২৬, ২০১১ at ৭:৪১ পূর্বাহ্ন (UTC 6) Link to this comment
১। এই লেখাতে ৫০ হার্টজ সাইন ওয়েভের একটি উদাহরণ দেয়া হয়েছে মাত্র। তবে ৫০ হার্টজ বলে কথা না, যে কোন ফ্রীকোয়েন্সির সাইন ওয়েভের (রিয়্যাল) ফোরিয়ার ট্র্যান্সফর্ম নিলে পজিটিভ ও নেগেটিভ ফ্রীকোয়েন্সি চলে আসবে। নেগেটিভ ফ্রীকোয়েন্সি আসা মানেও প্রমাণ হয় যে সিগনালটি আসলে রিয়্যাল। আর চিত্র-১ এ ফ্রীকোয়েন্সি স্পেকট্রাম যদি লক্ষ্য করেন তাহলে দেখবেন বিস্তার কিন্তু এক, অর্ধেক নয়। ফ্রীকোয়েন্সি স্পেকট্রাম হচ্ছে কমপ্লেক্স ফোরিয়ার ট্র্যান্সফর্ম এর অ্যাবসলিউট ভ্যালু।
২। নেগেটিভ সংখ্যা বা নেগেটিভ ফ্রীকোয়েন্সিকে অনুধাবন করতে হলে বাস্তব দৃষ্টিকোণ থেকে দেখতে হবে। উদাহরণস্বরূপ, নেগেটিভ সংখ্যার ব্যবহার সম্ভবত শুরু হয়েছে ব্যালান্স শিটে ডেবিট আর ক্রেডিটের হিসাব রাখার জন্য। নেগেটিভ মানে ডেবিট আর পজিটিভ মানে ক্রেডিট ধরা হতো। অনুরূপভাবে, নেগেটিভ ফ্রীকোয়েন্সিকে বুঝতে হলে ডপলার শিফট (কোন অবজেক্ট এর নিজের দিকে ও বিপরীত দিকে মুভমেন্ট এর ফলে ফ্রীকোয়েন্সির যে পরিবর্তন হয়) কিংবা কোন ঘূর্ণায়মান চাকার (ক্লকওয়াইজ ও অ্যান্টি-ক্লকওয়াইজ) কথা বিবেচনা করা যেতে পারে। পজিটিভ ও নেগেটিভ ফ্রীকোয়েন্সি দুটোই আসলে বাস্তব, নির্ভর করে রেফারেন্স পয়েন্টের উপর।
এস. এম. রায়হান
মে ২৬, ২০১১ at ৭:৫৭ পূর্বাহ্ন (UTC 6) Link to this comment
[তাহলে এক্ষেত্রে কী টাইম ডোমেইনের রিপ্রেজেন্টেশন বেশী সহজবোধ্য হলোনা?]
টাইম ডোমেইনে রিপ্রেজেন্টেশন কীভাবে বেশী সহজবোধ্য হলো, তা তো বুঝলাম না। চিত্র-১ এ টাইম ডোমেইন রিপ্রেজেন্টেশন থেকে সহজে কি সিগনালের ফ্রীকোয়েন্সি বলা যাবে? অন্যদিকে ফ্রীকোয়েন্সি স্পেকট্রাম দেখে যে কেউ সাথে সাথে সিগনালের ফ্রীকোয়েন্সি বলে দিতে পারবে।