قراءة
وضع القصص

الـ signals الرقمية المنتشرة

~10 دقايق قراءة الدرس 1 من الوحدة 3

أبجدية الـ discrete-time signals

الوحدة اللي فاتت ثبّتت إزاي الـ signal (الإشارة) المستمرة بتتحوّل لسلسلة أرقام عن طريق الـ sampling والـ quantization. والوحدة التالتة بتبدأ بسؤال أساسي: إيه أنواع الـ discrete-time signals اللي عندنا أصلًا؟ زي ما الأبجدية اللاتيني بتدّيك مجموعة محدودة من الحروف بتتبني منها كل الكلمات، مجموعة صغيرة من الـ signals الرقمية المعيارية هي المفردات اللي بيتبني منها كل حاجة في الـ DSP.

الـ sequences الأساسية دي — الـ unit impulse، والـ unit step، والـ exponential، والـ sinusoid — مش مجرد أفكار نظرية في الكتب؛ دي بتظهر طول الوقت في التطبيقات العملية: الـ exponentials بتوصف الشحن والتفريغ، والـ sinusoids بتمثّل أي signal دورية، والـ unit impulse هي حجر الأساس في تحليل الأنظمة. وإنك تفهمها كويس شرط لكل اللي جاي بعدها: الـ convolution (الالتواء)، وتحويل Z، والـ filters، وتحويل فورييه — كلهم في الآخر بيرجعوا لسؤال واحد: الأنظمة بتستجيب إزاي للـ signals الأساسية دي؟

الـ signal 1
الـ unit impulse (النبضة الوحدوية) δ[n]
واحد عند n = 0، وصفر في أي حتة تانية. الطوبة الأساسية.
الـ signal 2
الـ unit step (الدرجة الوحدوية) u[n]
صفر لـ n < 0، وواحد لـ n ≥ 0. بتمثّل التشغيل والقفل.
الـ signal 3
الـ exponential (الأسيّة) x[n] = Aαn
بتكبر أو بتصغر بشكل هندسي. قيمها حقيقية أو مركّبة.
الـ signal 4
الـ sinusoid (الجيبيّة) x[n] = A cos(ωn + φ)
النسخة الرقمية من الـ sinusoid في الزمن المستمر.

الـ unit impulse: δ[n]

الـ unit impulse (النبضة الوحدوية) (واسمها كمان Kronecker delta أو الـ discrete impulse) هي أبسط signal رقمية ليها معنى: بتساوي واحد عند الـ index صفر وصفر عند أي index تاني. ومع إنها بسيطة — أو يمكن عشان هي بسيطة — هي أهم signal في التحليل في الزمن المنفصل.

تعريف الـ unit impulse
\delta[n] = \begin{cases} 1 & n = 0 \\ 0 & n \neq 0 \end{cases}
الـ Kronecker delta: سنّة واحدة ارتفاعها واحد عند نقطة الأصل، وصفر في أي حتة تانية. وعلى عكس الـ Dirac delta في الزمن المستمر، هي رقم عادي جدًا — ومش محتاجة نظرية الـ generalized functions عشان تتعامل معاها.

زحزح الـ impulse لأي index n0 بإنك تكتب δ[n − n0]: سنّة واحدة عند n = n0. والـ impulse المتزحزحة دي بتنقّي قيمة أي sequence عند الـ index ده بالظبط: x[n] · δ[n − n0] = x[n0] · δ[n − n0]. وخاصية الـ sifting (الغربلة) دي هي سبب إن الـ impulse مفيدة جدًا — لأن أي sequence ممكن تتكتب كمجموع متضروب في أوزان من impulses متزحزحة:

تفكيك الـ signal لـ impulses (الـ sifting)
x[n] = \sum_{k=-\infty}^{\infty} x[k]\,\delta[n - k]
أي discrete-time signal هي تراكب من impulses متزحزحة ومتضروبة في أرقام. وعشان كده الـ impulse response بتاع نظام LTI بيحدّد سلوكه كله: لو عرفت النظام بيرد إزاي على impulse واحدة، تعرف بيرد إزاي على أي حاجة.

الـ unit step: u[n]

الـ unit step (الدرجة الوحدوية) بتساوي صفر لكل الـ indices السالبة وواحد لكل الـ indices اللي مش سالبة. وبتمثّل تشغيل حاجة في النظام — signal بـ«تفتح» عند n = 0 وتفضل مفتوحة. ومرتبطة جامد بالـ impulse: الـ impulse هي أول فرق للـ step، والـ step هي المجموع التراكمي (التكامل الرقمي) للـ impulse.

تعريف الـ unit step
u[n] = \begin{cases} 1 & n \geq 0 \\ 0 & n < 0 \end{cases}
صفر قبل n = 0، وواحد من n = 0 ورايح.
العلاقة بين الـ impulse والـ step
\delta[n] = u[n] - u[n-1]
δ[n] = u[n] − u[n−1]: أول فرق للـ step.

الـ unit step بتتستخدم كتير عشان تعبّر عن الـ causal signals (الإشارات السببية) — الـ signals اللي بتبدأ عند زمن محدود وبتكمّل بعده. لو ضربت أي sequence في u[n − n0] بتلغي كل حاجة قبل الـ index n0، فبتخلّي الـ signal عمليًا تبدأ عند n0. وهتشوف الكتابة دي في كل نظرية الـ filters وتحليل الأنظمة، عشان تقول إن sequence exponential أو sinusoid اتشغّلت عند الزمن صفر.

الـ exponential sequences

الـ exponential sequence (المتتالية الأسية) شكلها x[n] = Aαn، حيث A هو الـ amplitude الابتدائي وα هو الأساس. والسلوك كله معتمد على قيمة |α|:

|α| < 1: الـ sequence بتصغر ناحية الصفر كل ما n تزيد. ودي الحالة المستقرة — الطاقة في الـ signal بتقل بشكل هندسي. والـ exponential اللي بتصغر بتمثّل الـ impulse response بتاع recursive filter مستقر من الدرجة الأولى.

|α| = 1: الـ sequence لا بتكبر ولا بتصغر. لو α = 1 الـ signal ثابتة (ودي الـ unit step)؛ ولو α = −1 الـ signal بتتبادل بين +A و−A كل sample؛ ولو α = ejω بترسم دايرة الوحدة في المستوى المركّب (ودي الـ complex sinusoid، اللي هنشوفها بعد شوية).

|α| > 1: الـ sequence بتكبر من غير حدود — الحالة غير المستقرة. والـ signals دي بتطلع من أنظمة مش مستقرة أو من عمليات recursive بتتباعد.

الـ exponential sequence الحقيقية
x[n] = A\,\alpha^n, \quad \alpha \in \mathbb{R}
الـ exponential الحقيقية مع |α| < 1 بتصغر؛ و|α| > 1 بتكبر؛ و|α| = 1 مقدارها ثابت. وα السالبة بتخلّي الـ signal تتبادل (تذبذب عند الـ Nyquist frequency f_s/2).
الـ complex exponential

لما α = rejω، الـ exponential sequence بتبقى x[n] = A·rn·ejωn. المقدار r بيتحكّم في الكبر أو الصغر، والزاوية ω (راديان/sample) بتتحكّم في frequency التذبذب. ولو أخدت الجزء الحقيقي بيطلعلك A·rn·cos(ωn)، يعني sinusoid ليها غلاف بيصغر (r < 1) أو بيكبر (r > 1) مع الزمن. والـ complex exponentials هي الـ eigenfunctions (الدوال الذاتية) بتاعة أنظمة LTI — أساس تحويل Z وتحويل فورييه الرقمي.

الـ sinusoidal sequences

الـ discrete-time sinusoid بتتكتب x[n] = A cos(ωn + φ)، حيث A هو الـ amplitude، وω هي الـ discrete-time frequency بالراديان لكل sample، وφ هو الـ phase بالراديان. ودي النسخة الرقمية المباشرة من الـ sinusoid في الزمن المستمر x(t) = A cos(2πft + φ): حط t = nTs هيطلعلك ω = 2πf/fs = 2πfTs.

الـ discrete-time sinusoid
x[n] = A\cos(\omega n + \varphi)
ω هي الـ discrete-time frequency بالراديان/sample. الدورة الكاملة الواحدة من x[n] ممتدة على 2π/ω sample. والنطاق ω ∈ [−π, π] بيغطّي كل الـ frequencies المختلفة في الزمن المنفصل.

الـ sinusoids الرقمية ليها خاصيتين بيفاجئوا المهندس المتعوّد على الزمن المستمر. أولًا، الـ sinusoid عند الـ frequency ω هي هي بالظبط اللي عند ω + 2πk لأي عدد صحيح k — يعني لو زوّدت 2π على الـ frequency بترجعلك نفس الـ sequence مش حاجة غيرها. تانيًا، ω = π هي أعلى frequency ممكن تتمثّل في نظام samples معيّن، وبتقابل الـ Nyquist frequency fs/2. وعند الـ frequency دي الـ sinusoid بتبقى +1، −1، +1، −1، … يعني بتتبادل مع كل sample.

الـ frequency الرقمية قصاد الـ frequency المستمرة

الـ frequency المستمرة f بتتقاس بالهرتز: بتعدّ دورات التذبذب الكاملة في الثانية. أما الـ frequency الرقمية ω فمالهاش وحدات، بتتقاس بالراديان/sample. والعلاقة بينهم عن طريق فترة الـ sampling Ts = 1/fs:

العلاقة بين الـ frequencies
\omega = \frac{2\pi f}{f_s} = 2\pi f T_s
ω = 2πf / f_s — متطبّعة على الـ sampling rate.
حد نايكويست
\omega_{\max} = \pi \;\Leftrightarrow\; f_{\max} = \frac{f_s}{2}
ω = π بتقابل f_s/2 — أعلى frequency في نظام الـ samples.

والتطبيع ده ليه نتيجة مهمة: نفس الـ sequence الرقمية x[n] = cos(πn/4) بتمثّل frequency فيزيائية مختلفة حسب الـ sampling rate. لو اتاخدت samples عند 8 كيلوهرتز تبقى نغمة 1 كيلوهرتز؛ ولو عند 44.1 كيلوهرتز تبقى نفس الـ sequence نغمة 5.5 كيلوهرتز. الـ sequence الرقمية لوحدها مش شايلة أي frequency فيزيائية جوّاها — المعنى الفيزيائي موجود بس لما تجمع الـ sequence مع الـ sampling rate.

نطاق الـ frequency [−π, π]

كل الـ discrete-time sinusoids المختلفة واقعة في النطاق ω ∈ [−π, π]. والـ frequencies اللي برا النطاق ده نسخ aliased من frequencies جوّاه. ودي نظرية نايكويست في صورتها الترددية: فوق π راديان لكل sample مفيش أي معلومة جديدة — تكرار وبس.

−π ≤ ω < π  ↔  −fs/2 ≤ f < fs/2

الـ signals الدورية قصاد غير الدورية

الـ discrete-time signal x[n] دورية بفترة N لو x[n + N] = x[n] لكل n، حيث N عدد صحيح موجب. ومش كل sinusoid رقمية دورية — ودي فرق جوهري عن الزمن المستمر اللي فيه كل sinusoid دورية لازم.

الـ sinusoid الرقمية x[n] = A cos(ωn + φ) دورية لو وبس لو 2π/ω نسبة كسرية — يعني 2π/ω = N/k لأعداد صحيحة موجبة N وk. والفترة الأساسية هي أصغر N بتحقق ده.

شرط الـ periodicity
x[n+N] = x[n] \;\Leftrightarrow\; \frac{2\pi}{\omega} = \frac{N}{k},\; k,N \in \mathbb{Z}^+
عشان الـ sinusoid عند الـ frequency ω تبقى دورية، لازم 2π/ω يبقى عدد نسبي. لو ω/2π = k/N في أبسط صورة، يبقى الفترة الأساسية N sample.

مثلًا: ω = π/4 بتدّي 2π/ω = 8، يعني الفترة 8 samples — دورية تمامًا. بس ω = 1 راديان/sample بتدّي 2π/1 = 2π ودي عدد غير نسبي، فـ cos(n) مش دورية: عمرها ما بتتكرّر بالظبط. والتفصيلة الصغيرة دي مهمة في الـ DFT، اللي فيه بنفترض الـ periodicity من غير ما نقول.

الدرس الجاي بيستعرض خصائص الأنظمة: يعني إيه النظام الـ discrete-time يبقى linear، أو time-invariant، أو causal، أو stable، أو مالوش memory — وليه أنظمة LTI مهمة أوي كده في الـ DSP.

أهم النقط
  • الـ unit impulse δ[n] بتساوي 1 عند n = 0 و0 في أي حتة تانية؛ وأي sequence ممكن تتكتب كمجموع impulses متزحزحة ومتضروبة في أوزان (تفكيك الـ impulse).
  • الـ unit step u[n] بتساوي 1 لـ n ≥ 0؛ وهي المجموع التراكمي للـ impulse، والـ impulse هي أول فرق للـ step: δ[n] = u[n] − u[n−1].
  • الـ exponential الحقيقية Aαn: بتصغر لو |α| < 1، وثابتة لو |α| = 1، وبتكبر لو |α| > 1.
  • الـ complex exponentials ejωn هي الـ eigenfunctions بتاعة أنظمة LTI؛ مقدارها |α| بيحدّد الاستقرار، وزاويتها ω بتحدّد frequency التذبذب.
  • الـ frequency الرقمية ω (راديان/sample) مرتبطة بالـ frequency المستمرة بـ ω = 2πf/fs؛ والنطاق الفريد هو [−π, π].
  • الـ sinusoid الرقمية دورية بس لو 2π/ω عدد نسبي؛ غير كده مش دورية حتى لو بانت sinusoid تمامًا.
اللي بعده خصائص الـ systems نظرة عامة على الموديول اللي فات إعادة البناء والـ DAC (المحوّل الرقمي-التناظري)