عالمين من الـ signals
في الدرس اللي فات، اتعلّمنا إن الـ signals (الإشارات) كميات بتتغيّر مع الوقت وشايلة معلومات. دلوقتي قدامنا سؤال أساسي: إزاي نمثّل الـ signals دي؟ الإجابة بتتقسم لطريقتين مختلفين — تناظري ورقمي — وفهم الفرق بينهم أساسي لكل حاجة جاية في الـ signal processing.
العالم الفيزيائي تناظري بطبعه. موجات الصوت والنور والحرارة والإشعاع الكهرومغناطيسي كلهم بيتغيّروا باستمرار — بنعومة ومن غير فجوات. بس الكمبيوترات والموبايلات والأجهزة الرقمية اللي بنستخدمها كل يوم بتشتغل بطريقة مختلفة خالص: بتشتغل بـأرقام منفصلة. وحكاية التكنولوجيا الحديثة، من نواحي كتير، هي حكاية إزاي اتعلّمنا نربط العالمين دول ببعض.
الـ signals التناظرية مستمرة في الزمن وفي الـ amplitude (السعة) — تقدر تاخد أي قيمة في أي لحظة. الـ signals الرقمية منفصلة في الزمن وفي الـ amplitude — موجودة بس عند لحظات معيّنة ومتقدرش تاخد غير مجموعة محدودة من القيم.
تناظرية = مستمرة في كل حتة | رقمية = خطوات منفصلة في الزمن والقيمةالـ signals التناظرية: العالم المستمر
الـ signal التناظرية ليها قيمة عند كل نقطة في الزمن، والـ amplitude بتاعها ممكن ياخد أي قيمة جوه مدى مستمر. فكّر في صوت الكمنجة: الوتر وهو بيهتز بيعمل موجات ضغط ناعمة ومتصلة في الهوا. عند كل لحظة — مش بس عند لحظات معيّنة، لأ عند كل نقطة في الزمن مهما كانت صغيرة — ضغط الهوا ليه قيمة محددة.
الـ signals التناظرية هي اللغة الأصلية للعالم الفيزيائي. درجة الحرارة مبتنطّش من 20.0°م لـ 20.1°م — بتعدّي بنعومة على كل قيمة في النص. والفولت في الدايرة الكهربية بيتغيّر باستمرار. وشدة النور بتتغيّر بالتدريج والشمس ماشية في السما. دول كلهم كميات تناظرية.
تاريخيًا، أول تكنولوجيات اتصالات كانت كلها تناظرية. التلغراف (في التلاتينات من القرن الـ 19)، والتليفون (1876)، وراديو AM (1906)، والتلفزيون التناظري (في العشرينات من القرن الـ 20) كلهم كانوا بيبعتوا ويستقبلوا signals مستمرة. واسطوانات الفينيل بتخزّن المزيكا كمجرى مستمر شكله نفس شكل موجة الصوت الأصلية. التناظري جميل في إنه أمين للطبيعة — بس عنده قيود كبيرة.
الـ signals الرقمية: العالم المنفصل
الـ signal الرقمية هي سلسلة من القيم المنفصلة، ليها قيمة بس عند نقط معيّنة في الزمن، ومحصورة في مجموعة محدودة من مستويات الـ amplitude. بدل المنحنى الناعم المستمر بتاع الـ signal التناظرية، الـ signal الرقمية هي سلسلة أرقام — سلّم مش منحدر.
الـ signals الرقمية هي لغة الكمبيوتر. أي معلومة رقمية — نص أو صور أو صوت أو فيديو — في الآخر بتتمثّل كسلسلة من الـ binary digits (الأرقام الثنائية) أو الـ bits: آحاد وأصفار. يعني مثلًا signal الصوت الرقمية على الـ CD (CD) عبارة عن 44,100 رقم في الثانية، كل واحد متمثّل بـ 16 bit. الأرقام دي بتقرّب الموجة التناظرية الأصلية لدرجة إن ودانك متقدرش تفرّق.
الثورة الرقمية محصلتش عشان الـ signals الرقمية "أحسن" بطبعها من التناظرية. حصلت عشان الـ signals الرقمية ممكن تتعالج وتتخزّن وتتنسخ وتتبعت بثبات ومرونة الـ signals التناظرية ببساطة متقدرش توصلّهم.
الفروق الأساسية
| الخاصية | تناظري | رقمي |
|---|---|---|
| الزمن | مستمر | منفصل (متاخد منه samples) |
| الـ amplitude | دقة لانهائية | مستويات محدودة (quantized) |
| الـ noise | بتتراكم مع النسخ | ممكن تتولّد من جديد بالظبط |
| التخزين | الوسيط المادي بيبوظ مع الوقت | نسخ مظبوطة من غير ما تبوظ |
| المعالجة | دواير hardware (ثابتة) | خوارزميات software (مرنة) |
| الـ bandwidth | كفء مع الـ signals البسيطة | محتاج bandwidth أكبر (بس ممكن يتضغط) |
مقاومة الـ noise (الضوضاء) يمكن تكون أهم ميزة للـ signals الرقمية. لما تنسخ signal تناظرية — زي إنك تنسخ شريط كاسيت — بيتضاف noise في كل خطوة، والجودة بتقل مع كل جيل. أما الـ signals الرقمية فممكن تتنسخ بالظبط: الـ bit يا 0 يا 1، وشوية noise صغيرين مش هيغيّروا قراءته. وعشان كده صورة JPEG بتبان هي هي سواء كانت الأصلية أو النسخة رقم مليون.
المرونة ميزة حاسمة تانية. الـ filter (المرشح) التناظري دايرة مادية — لو عايز تغيّر سلوكه لازم تعيد تصميم الـ hardware (العتاد). إنما الـ filter الرقمي software — تقدر تغيّره بتعديل كام سطر code. وقابلية البرمجة دي هي اللي بتخلّي الأجهزة الحديثة بتعمل حاجات كتير: نفس hardware الموبايل يقدر يشغّل آلاف خوارزميات signal processing مختلفة.
من التناظري للرقمي: الـ sampling والـ quantization
بما إن العالم الفيزيائي تناظري والكمبيوتر رقمي، محتاجين طريقة نحوّل بيها بين الاتنين. والـ analog-to-digital conversion (التحويل من تناظري إلى رقمي) أو ADC فيه خطوتين أساسيين: الـ sampling (الاعتيان) والـ quantization (التكميم).
الـ sampling معناه إنك تقيس الـ amplitude بتاع الـ signal التناظرية كل فترة زمنية ثابتة. بدل ما تعرف الـ signal عند كل لحظة، بتاخد "لقطات" بمعدّل ثابت. وعدد اللقطات في الثانية اسمه الـ sampling rate (معدل الاعتيان) (أو الـ sampling frequency)، وبيتقاس بالهرتز.
طب المفروض ناخد samples بسرعة قد إيه؟ السؤال ده ليه إجابة دقيقة، بتدّيهالنا نظرية نايكويست-شانون للـ sampling:
لو أخدت samples ببطء زيادة (أقل من الـ Nyquist rate)، هيطلعلك aliasing (تداخل الترددات) (aliasing) — الـ signal اللي هتبنيها تاني هيبقى فيها frequencies مزيّفة مكانتش في الأصلية. وعشان كده صوت الـ CD بيستخدم sampling rate بـ 44,100 هرتز: السمع البشري أقصاه حوالي 20,000 هرتز، فـ 44,100 > 2 × 20,000، والنظرية بتتحقق بهامش صغير.
الـ quantization هي الخطوة التانية: إنك تودّي الـ amplitude المستمر بتاع كل sample لأقرب قيمة في مجموعة محدودة من المستويات. لو عندك B bit لكل sample، بيبقى عندك 2B مستوى ممكن:
الـ quantization لازم يدخّل غلطة صغيرة — الـ quantization noise (ضوضاء التكميم) — لأننا بنقرّب قيم مستمرة لمستويات منفصلة. وكل ما تستخدم bits أكتر، الغلطة دي بتصغر. كل bit زيادة بيضاعف عدد المستويات تقريبًا وبيزوّد حوالي 6 ديسيبل في الـ signal-to-noise ratio (نسبة الإشارة إلى الضوضاء).
أمثلة من الواقع
التحوّل من التناظري للرقمي غيّر صناعات بحالها. ودي شوية من أوضح الأمثلة:
الفينيل قصاد الـ CD — اسطوانة الفينيل بتخزّن الصوت كمجرى مستمر محفور في البلاستيك. والـ CD بيخزّن نفس الصوت كـ 44,100 sample رقمي في الثانية، كل واحد بدقة 16 bit. الفينيل نسخة تناظرية مثالية (نظريًا)، بس بيبوظ مع كل تشغيلة. والـ CD تقريب quantized، بس صوته هو هو في أول تشغيلة وفي التشغيلة رقم عشرة آلاف.
الراديو التناظري قصاد الرقمي — راديو AM وFM بيبعتوا الصوت كموجات كهرومغناطيسية مستمرة. والراديو الرقمي (DAB، HD Radio) بيبعت streams رقمية مضغوطة. الراديو التناظري بيضعف بالتدريج مع المسافة (وِش أكتر)، أما الرقمي يا يشتغل تمام يا يقطع خالص — مفيش ضعف بالتدريج.
الفيلم قصاد الكاميرا الرقمية — فيلم التصوير بيلقط النور على طبقة كيميائية مستمرة بدقة عمليًا لانهائية. وحسّاس الكاميرا الرقمية بيلقط النور في شبكة من الـ pixels المنفصلة. الفيلم ليه جمال تناظري، بس الكاميرات الرقمية بتدّيك مراجعة فورية وتعديل سهل وتكلفة تقريبًا صفر لكل صورة.
التليفون التناظري قصاد الرقمي — الخطوط الأرضية القديمة كانت بتنقل صوتك كـ signal كهربية بتتغيّر باستمرار. أنظمة التليفون الحديثة (VoIP، والموبايل) بتحوّل صوتك لـ samples رقمية، وتضغطها، وتبعت packets على الشبكات، وتبني الصوت تاني في الناحية التانية. والطريقة الرقمية هي اللي بتخلّي مكالمات الفيديو والتشفير والـ routing العالمي ممكنين — ولا حاجة فيهم عملية مع التناظري.
ليه العالم راح للرقمي
الثورة الرقمية مقامتش على ميزة واحدة — قامت على مميزات كتير اتجمّعت. النسخ المظبوط معناه مفيش خسارة من جيل لجيل. وأكواد الـ error correction (تصحيح الأخطاء) تقدر تكتشف أخطاء الإرسال وتصلّحها لوحدها. وخوارزميات الضغط (MP3، JPEG، H.264) بتقلّل احتياجات التخزين والـ bandwidth بشكل كبير. والتشفير بيحمي الخصوصية والأمان. ومرونة الـ software معناها إن نفس الـ hardware ممكن يتبرمج تاني لمهام جديدة.
ويمكن الأهم من كده، إن الـ signals الرقمية بتكبر مع قانون مور. كل ما الـ transistors بتصغر وترخص، المعالجة الرقمية بتبقى أقوى. أما الدواير التناظرية فمبتستفيدش من ده بنفس الطريقة — المكثّف هيفضل مكثّف، مهما صغّرت الـ transistors اللي حواليه.
ومع ذلك، التناظري مختفاش. أي نظام رقمي لسه محتاج مكوّنات تناظرية على أطرافه — المايكات والسماعات والـ antennas والحسّاسات والشاشات كلهم بيشتغلوا في العالم التناظري. والطريقة الحديثة هجين: تناظري على الأطراف، ورقمي في النص.
المميزات والـ trade-offs
مميزات التناظري: دقة لانهائية (مفيش quantization error)، مش محتاج تحويل ADC/DAC، الـ latency قليلة بطبعها، وبيضعف بالتدريج في الأماكن اللي فيها noise (الـ signal بيزيد فيها الـ noise بس مبتختفيش فجأة).
مميزات الرقمي: نسخ مظبوط، مقاومة للـ noise، سهولة في التخزين والإرسال، معالجة قابلة للبرمجة، error correction، تشفير، وضغط. والأنظمة الرقمية بتتحسّن مع تطوّر الحوسبة وممكن تتحدّث بالـ software.
الـ trade-offs (المقايضات) في الرقمي: الـ sampling بيحط حدود على الـ bandwidth (متقدرش تلقط frequencies أعلى من fs/2). والـ quantization بيدخّل noise. وتحويل ADC/DAC بيزوّد latency وتكلفة. والأنظمة الرقمية محتاجة bandwidth أكبر بكتير عشان الإرسال الخام من نظيرتها التناظرية — مع إن الضغط عادةً بيعوّض ده وزيادة.
لا التناظري ولا الرقمي "أحسن" في كل الأحوال. العالم الفيزيائي تناظري، بس المعالجة الرقمية بتدّي مرونة وثبات ملهمش مثيل. والأنظمة الحديثة بتستخدم الاتنين: واجهات تناظرية على الأطراف، ومعالجة رقمية في القلب.
- الـ signals التناظرية مستمرة في الزمن والـ amplitude؛ والرقمية منفصلة في الاتنين — بيتاخد منها samples على فترات ثابتة وبتتعملها quantization لمستويات محدودة.
- نظرية نايكويست-شانون بتقول إن الـ signal لازم يتاخد منها samples بمعدّل على الأقل ضعف أعلى frequency فيها عشان تقدر تتبني تاني بالظبط.
- الـ quantization بيودّي الـ amplitudes المستمرة لمستويات منفصلة، وبيدخّل quantization noise. bits أكتر لكل sample يعني دقة أعلى (كل bit بيضيف ~6 ديسيبل من الـ SNR).
- الـ signals الرقمية بتدّي مقاومة للـ noise ونسخ مظبوط وضغط وتشفير ومرونة software — وده سبب إن العالم راح للرقمي.
- الأنظمة الحديثة هجين: تناظرية عند الواجهات الفيزيائية (المايكات، السماعات، الـ antennas) ورقمية للمعالجة والتخزين والإرسال.