اربط ثلاث مِنصّات تفاعلية في سلسلة تأثيرات صوتية واحدة — صمّم مرشِّح FIR منخفض التمرير واقرأ زمن التأخير الذي يضيفه، وحلّل خرجه بتحويل STFT واقرأ دقّة التردّد، ثم أضِف مرحلة IIR رنينية واقرأ هل تبقى مستقرّة. توقَّع كل رقم قبل أن تُظهره الشاشة، ودوّن سلسلتك في النهاية.
سلسلة المعالجة تعاقُبٌ: كل مرحلة تحوّل الإشارة وتسلّمها للتالية، فتتفاعل المراحل. مرشِّح FIR يحدّ نطاق الصوت لكنه يؤخّر كل عيّنة بمقدار تأخيره الجُمعي الثابت (N-1)/2 — زمن تأخيرٍ ترثه بقيّة السلسلة. وتحويل STFT الذي يفحص النتيجة يقايض طول النافذة بدقّة التردّد f_s/N. أمّا مرحلة التغذية الراجعة (IIR) فتشحذ الرنين بثمنٍ زهيد، لكن فقط إذا بقيت أقطابها داخل دائرة الوحدة |z| = 1 — وإلّا انفجرت السلسلة كلّها. هذا المشروع هو التفاعل: طوّل المرشِّح يكبر زمن التأخير؛ وقلّص نافذة التحليل تخشُن الدقّة؛ وادفع قطب الرنّان للخارج تُفقَد الاستقرارية.
افتح كلّ مِنصّة من الثلاث في لسان تبويب. تُسمّي كل خطوة أدناه المِنصّة الوحيدة التي تقرأها والاختيار الوحيد الذي تتّخذه فيها؛ واترك كل مؤشّر آخر على قيمته الافتراضية لتطابق أرقامُك هذه الأرقام. تعمل السلسلة كلّها عند f_s = 16000 Hz.
1 Filter designer -> Low-pass FIR, fs = 16000 Hz, cutoff = 0.10 f_s, Taps N = 101
2 Spectrogram -> fs = 16000 Hz, window N = 1024 3 Pole-zero -> Resonator preset
اقرأ ثلاثة أرقام عبر الألسنة الثلاثة: لوحة التأخير الجُمعي في مصمّم المرشِّحات، وقراءة دقّة التردّد في المخطّط الطيفي، وحكم الاستقرار في لوحة الأقطاب والأصفار.
في مصمّم المرشِّحات اضبط مرشِّح FIR منخفض التمرير عند f_s = 16000 Hz، وتردّد قطع 0.10 f_s، مع Taps N = 101. مرشِّح FIR المتناظر (النوع الأول) يؤخّر كل تردّد بالمقدار نفسه (N-1)/2 من العيّنات. توقَّع ذلك التأخير، ثم اقرأ لوحة التأخير الجُمعي.
لوحة التأخير الجُمعي خطٌّ مسطّح عند (N-1)/2 = (101-1)/2 = 50 samples — كل عيّنة تراها السلسلة لاحقًا تصل متأخّرةً 50 عيّنة. هذا هو تصميم العرض ذو الطور الخطّي، لا رقمٌ مكتوب باليد.
مرِّر الإشارة المرشَّحة إلى المخطّط الطيفي. اضبط f_s = 16000 Hz ونافذةً طولها N = 1024 عيّنة. تغطّي كل خانة DFT مقدار f_s/N هرتز. توقَّع تلك الدقّة، ثم اقرأ قراءة الدقّة.
دقّة التردّد هي f_s/N = 16000 / 1024 = 15.625 Hz لكل خانة — دقيقةٌ بما يكفي لأن يقع تردّد قطع المرشِّح 1600 Hz بوضوحٍ قرب الخانة 102. هذه f_s/N الخاصّة بالعرض، لا رقمٌ مكتوب باليد.
أضِف تعزيزًا رنينيًّا بمرشِّح IIR كآخر مرحلة: حمِّل نموذج Resonator في مِنصّة الأقطاب والأصفار، وأبقِ قفل الأزواج المرافِقة مُفعَّلًا. التغذية الراجعة قد تنفجر، فتوقَّع هل أكبر نصف قطر للأقطاب max|p_k| داخل دائرة الوحدة، ثم اقرأ لوحة الحكم.
تقرأ لوحة الحكم STABLE: أكبر نصف قطر للأقطاب هو max|p_k| = 0.95، وهو داخل دائرة الوحدة |z| = 1 تمامًا، فتستقرّ السلسلة كلّها. هذا هو حساب العرض العقدي نفسه، لا رقمٌ مكتوب باليد.
افتح المِنصّات الثلاث وشغّل التعاقُب بنفسك: طوّل المرشِّح وراقب خطّ التأخير الجُمعي المسطّح يرتفع، وقلّص نافذة التحليل وراقب دقّة التردّد تخشُن، ثم ادفع قطب الرنّان نحو دائرة الوحدة وراقب الحكم ينقلب من مستقرّ إلى غير مستقرّ.
تصميم السلسلة مجموعة مراحلَ والأرقام التي تنتج عنها. دوّن سلسلتك — املأ كل فراغ من المِنصّات، ثم أضِف جملةً واحدة من التعليل. هذا هو المُخرَج؛ ولا يوجد رقمٌ تقرأه من الشاشة هنا.
Stage 1 FIR filter ..... Taps N = 101, cutoff 0.10 f_s group delay ... ______ samples
Stage 2 STFT analysis .. fs = 16000 Hz, N = 1024 resolution .... ______ Hz
Stage 3 IIR resonator .. Resonator preset max|p_k| ...... ______ stable? Y / N
Total latency .......... which stage dominates it? __________
Design note ............ which knob would you change first, and why? __________
ثم غيّر شيئًا واحدًا — مُعامِلات أكثر، أو نافذةً أقصر، أو قطبًا أقرب من الدائرة — ولاحظ أيّ الأرقام الثلاثة تحرّك وبأي مقدار. هذا الاقتران هو كامل درس المشروع.