DSP 101
M11 · L01
الوحدة 11: الـ multirate signal processing

الـ decimation (التخفيض)

ليه تشيل ملايين الـ samples لما آلاف كفاية؟ الـ decimation بيقلّل الـ sampling rate بمعامل M، وبيوفّر البيانات والتخزين والحساب — بشرط إنك تشيل الأول الـ frequencies اللي هتعمل aliasing.

01 / 11
DSP 101
M11 · L01
الدافع

ليه نقلّل المعدل؟

الـ signal المطلوبة غالبًا أضيق بكتير من نطاق الالتقاط. والمعالجة بمعدل أقل بتوفّر الطاقة والـ memory والوقت.

SDR
التقاط 100 MHz → signal 200 kHz
صوت
96 kHz → 44.1 kHz للتشغيل
ADC
ΣΔ: oversampling وبعدين decimation
02 / 11
DSP 101
M11 · L01
العملية

احتفظ بكل sample رقم M

ارمي M−1 sample من كل M. معدل الخرج = fs/M. شكلها بسيطة — بس الـ frequencies اللي فوق حد الـ Nyquist الجديد هتعمل aliasing يبوّظ كل حاجة.

الـ decimation
y[n]=x[Mn]
03 / 11
DSP 101
M11 · L01
المشكلة

الـ aliasing مالوش رجوع

  • الـ Nyquist الجديد = fs/(2M) — أي حاجة فوقه بتتطوي لتحت
  • 8 kHz → 2 kHz (M=4): مكوّن 2.5 kHz بيتطوي لـ |2500 − 2000| = 500 Hz
  • بيستقر فوق طاقة الـ 500 Hz الأصلية — مينفعش تفصلهم
  • مفيش معالجة بعدين تقدر تلغي الـ aliasing بعد ما يحصل
04 / 11
DSP 101
M11 · L01
الحل

رشّح الأول

طبّق low-pass filter بـ cutoff ωc = π/M قبل ما تشيل الـ samples. ده بيشيل كل حاجة هتعمل aliasing.

الـ cutoff frequency
\omega_c = \dfrac{\pi}{M}
05 / 11
DSP 101
تفاعلي
جرّبه

الـ decimation قدّام عينك

ظبّط M. وشوف الـ spectrum بيتمط إزاي وحدود الـ Nyquist الجديدة بتتغيّر (الخط المتقطّع). والمنطقة المترشّحة باللون الكهرماني.

M4
06 / 11
DSP 101
M11 · L01
الـ frequency domain

مط طيفي

الـ decimation بيجمع M نسخة متزحزحة من الـ spectrum. ولو الدخل band-limited عند π/M، النسخ مبتتداخلش — والـ passband بيتمد عشان ياخد الـ bandwidth الكامل للخرج.

spectrum الخرج
Y(e^{j\omega})=\tfrac{1}{M}\sum_{k=0}^{M-1}X\!\left(e^{j(\omega-2\pi k)/M}\right)
07 / 11
DSP 101
M11 · L01
الكفاءة

الـ polyphase decomposition

متحسبش خرج هترميه على طول. قسّم الـ filter لـ M فرع — كل واحد بيشتغل على معدل 1/M. والتكلفة الكلية بتنزل بمعامل M.

التكلفة
N معامل / M فرع = N/M ضربة لكل sample خرج بدل N
08 / 11
DSP 101
M11 · L01
للمزيد

الـ multistage والـ CIC filters

  • الـ multistage: اعمل decimation ×4 ×4 ×4 بدل ×64 — filters أبسط في كل مرحلة
  • الـ CIC filters: من غير ضرب — جمع وطرح بس، مثالية لـ M بالمئات
  • الـ front-ends بتاعة SDR: 100 MHz → 1 MHz في مرحلة CIC واحدة
  • محوّلات ΣΔ: oversampling بـ 256× وبعدين CIC للـ decimation
09 / 11
DSP 101
الـ decimation

رشّح الأول وبعدين ارمي الـ samples

أربع أسئلة على الـ decimation بمعامل M والـ anti-aliasing filter اللي لازم ييجي قبله.

السؤال 1 من 0
النتيجة 0/0

10 / 11
DSP 101
الجاي
في الدرس الجاي

الـ interpolation (Upsampling)

العملية العكسية: إنك تدخّل samples عشان تعلّي المعدل. هنشوف ليه بندخّل أصفار (مش samples متكرّرة) وإزاي الـ anti-imaging filter بيشيل النسخ اللي مش عايزينها.

11 / 11