من "متى" إلى "أي نغمة"
عندما تسمع أكورد موسيقي مكوّناً من ثلاث نغمات معزوفة معاً، تصل إلى أذنك كموجة صوتية واحدة معقدة الشكل. هذا بالضبط ما تمثّله إشارة في المجال الزمني (Time Domain). تحويل فورييه (Fourier Transform) هو الأداة الرياضية التي "تفكّك" هذه الموجة إلى مكوناتها الجيبية البسيطة، فتنقلها إلى المجال الترددي (Frequency Domain) حيث نرى بوضوح كم عدد الترددات المكوّنة وما مقدار طاقة كل منها.
في الهندسة الطبية، تشخيص كثير من اضطرابات القلب يعتمد على تحليل ترددات إشارة تخطيط القلب (ECG)، وتنقية تخطيط الدماغ (EEG) من تشويش الشبكة الكهربائية تعتمد كلياً على "رؤية" الترددات غير المرغوبة وحذفها بدقة. يمكنك استكشاف التجارب التفاعلية أدناه لمعاينة وتطبيق هذه المفاهيم عملياً.
من متسلسلة فورييه إلى FFT
2.1 متسلسلة فورييه (Fourier Series)
أثبت جوزيف فورييه أن أي إشارة دورية x(t) بدور T يمكن كتابتها كمجموع لا نهائي من دوال جيب التمام وجيب الزاوية بترددات هي مضاعفات صحيحة لتردد أساسي واحد:
2.2 من المستمر إلى الرقمي: DFT وFFT
الحاسوب يتعامل مع N عيّنة رقمية بتردد أخذ عينات Fs. تحويل فورييه المتقطع (DFT) يستبدل التكامل بمجموع منتهٍ:
fft() في Octave/MATLAB هي تنفيذ محسَّن لهذه الخوارزمية [1].fft(x)حساب DFT بخوارزمية FFT
ifft(X)التحويل العكسي
fftshift(X)توسيط المكوّن الصفري
abs(X) / angle(X)المقدار والطور
تركيب موجة مربعة من توافقيات فورييه
حرّك K ثم اضغط «تشغيل الكود» — الرسم الناتج يأتي فعلياً من plot() في Octave.
من الزمن إلى التردد: مختبر FFT
ابنِ إشارتك من مكوّنين جيبيين وضوضاء، ثم شغّل الكود لترى طيف fft() الحقيقي.
نظرية Nyquist وظاهرة الطي الترددي (Aliasing)
تنص نظرية Nyquist–Shannon [4] على أن Fs ≥ 2fmax. جرّب كسر الشرط بنفسك.
أثر عدد العينات N على دقة التمييز الترددي
Δf = Fs / N: زيادة N هي الطريقة الوحيدة لتمييز ترددين متقاربين جداً.
النوافذ الزمنية وتسرّب الطيف (Spectral Leakage)
قارن بين نوع النافذة الزمنية وأثرها على تسرّب الطاقة الطيفي.
تحليل إشارة ECG وإزالة تشويش الشبكة الكهربائية
تتركز طاقة QRS بين 10–25 هرتز [5]. أشهر تشويش هو تداخل خط الكهرباء عند 50 هرتز، يُحذف بمرشح Notch في المجال الترددي.
كيف يعمل هذا الموقع تقنياً؟
عند ضغط «تشغيل الكود»، يرسل المتصفح القيم العددية فقط (وليس نصّ كود) إلى الخادم عبر POST /api/run/<lab>. يتحقق الخادم من كل قيمة (يقصّها ضمن الحدود المسموحة دائماً، بصرف النظر عمّا يُرسَل)، يضعها داخل سكربت .m ثابت وموثوق كتبه المطوّر، ثم ينفّذه فعلياً عبر octave-cli بحدود زمنية وذاكرة صارمة (ulimit + مهلة قطع)، ويعيد الصورة الناتجة (PNG) ونص وحدة التحكّم. هذا يمنع تنفيذ أي كود عشوائي من طرف المستخدم مع إبقاء التنفيذ حقيقياً بالكامل.