עיבוד אות דיגיטאלי (DSP)
מאמר המסביר מהו עיבוד אות ספרתי, הדגמת המרת אות אנלוגי לאות דיגיטאלי, סקירת שיטות ואלגוריתמים לעיבוד אות דיגיטאלי.
מהו עיבוד אות ספרתי
עיבוד אות סיפרתי (דיגיטאלי) , או באנגלית DSP- Digital Signal Processing הינו תחום העוסק בייצוג ספרתי של אותות מסוגים שונים, ועיבודם לפי אלגוריתמים שונים.
הכוונה ב"אותות" הוא לכל צורה של קידוד של מידע, למשל אותות של קול דיבור שהינם גלי קול המתפשטים במרחב ומקודדים בתוכם את המידע שרצה המדבר להעביר. דוגמא נוספת היא גלי רדיו שהם שדות אלקטרו-מגנטיים המקודדים בתוכם את המידע של השיר המושמע.
עיבוד אותות ספרתי מתחלק לתת תחומים בהם עיבוד תמונה,עיבוד קולות דיבור.
במאמר זה אסביר כיצד תופעה פיזיקאלית (המקודדת בתוכה אותות) הופכת לאות דיגיטאלי, ואתן מספר דוגמאות לכך. לאחר מכן אראה מספר ישומים ושיטות לעיבוד המידע הדיגיטאלי.
דוגמה לתהליך עיבוד אות:
כאשר זמרת שרה למיקרופון מתבצעים השלבים הבאים:
מיתרי הקול בגרונה של הזמרת נעים בצורה מסויימת וגורמים לשינויי "הלם" באוויר או מה שנקרא גלי קול. גלים אלה מקודדים את האותות שהם המילים או השיר שהזמרת שרה.
גלי הקול מתקדמים במרחב "דרך האוויר" עד שמגיעים למיקרופון. בתוך המקרופון ישנה ממברנה עדינה שחשה את השינויים העדינים בלחץ האוויר כתוצאה מגלי הקול שפוגעים בה. שינויי אלה יוצרים שדה אלקטרומגנטי חלש ובסופו של דבר (התהליך המדוייק מחוץ למסגרת מאמר זה) הופכים לזרם חשמלי חלש. ניתן במקרה זה לומר שהמיקרופון הוא ה"חיישן" של המערכת. לאחר מכן האות החשמלי יעבור דרך פילטרים ומגברים שישפרו את איכות ועוצמת האות ויסננו רעשים ראשוניים.
הזרם החשמלי הוא אות חשמלי אנאלוגי הצופן בתוכו את אותם אותות ששרה הזמרת. אות אנאלוגי זה יגיע לרכיב ADC שתפקידו לקחת את האות האנלוגי, לדגום אותו ולהפוך אותו לאות דיגיטאלי. כעת אותות השיר ששרה הזמרת מקודדים בצורה דיגיטאלית – שורה ארוכה של בייטים של מידע.
על מידע דיגיטאלי זה ניתן להפעיל פילטרים דיגיטאלים ושיטות חישוב ועיבוד מתמטיות שונות כדי לשפר את איכות הקול, להגביר אותו, להוסיף אפקטים מסויימים כמו הד ומתיחה של הקול ועוד. לאחר מכן האותות הדיגיטאלים יכולים להיות מומרים שוב לאותות אנאלוגיים (באמצעות DAC) ומשם לרמקולים, או להישמר בצורה דיגיטאלית על קובץ במחשב או דיסק.
מאותות פזיקאליים לאותות דיגיטאליים
בטבע המידע אותו אנחנו רוצים לקלוט ולעבד הוא תופעה פיזיקאלית כלשהיא, למשל, במקרה של אותות שהם תמונות או ווידאו, המידע בצורתו הפיזיקאלית הוא גלי אור הנעים במרחב. במקרה שהאותות הם קולות דיבור, הרי שהתופעה הפיזיקאלית היא התפשטות גלי קול במרחב.
השלב הראשון, אם כן הוא להפוך את אותות פיזיקליים אלה לאותות חשמליים.
רכיבים ההופכים אותות פיזיקליים לחשמליים נקראים חיישנים.
חיישנים
חיישן הוא רכיב הרגיש לתופעה פיזיקלית כל שהיא (לחץ, קרינה, טמפרטורה, שדה אלקטרומגנטי, ועוד) ומסוגל להמיר אותה לתופעה חשמלית (זרם חשמלי, מתח, התנגדות, קיבול, תדירות שונות ועוד).
ישנם מספר רב מאוד של חיישנים המסוגלים להפוך תופעות פיזיקליות שונות לאותות חשמליים שונים. ישנן שיטות שונות, טווחי פעולה שונים, רמות דיוק שונות ועוד הבדלים רבים. אך התכלית של כולם זהה- המרת תופעה פיזיקאלית לחשמלית.
מתאמים
השלב הבא הוא המרת האות החשמלי שקיבלנו מהחיישן והכנתו לדגימה.
האות החשמלי שקיבלנו מהחיישן יכול להיות חלש מאוד, עם הפרעות ובצורות שונות (זרם,מתח,התנגדות, קיבול ועוד) בשלב הראשון נרצה להפוך את האות לגל חשמלי בעל אמפליטודה משתנה, כלומר שרמת המתח על הקו בכל נקודת זמן תשתנה כתלות בתופעה הפיזיקאלית.
כמו כן נרצה שעוצמת האות תהיה בטווח מתחים הידוע לנו, ושהאות יעבור סינון ראשוני של הפרעות.
כל אלה נעשים באמצעות מגברים ופילטרים אנאלוגיים שונים.
פעולות אלה מתאמות בין האות המתקבל לחיישן לרכיב הבא – הדוגם, ולכן מכלול הרכיבים המבצעים אותם נקרא מתאם.
ביציאת המתאם אנו מקבלים אות חשמלי אנאלוגי כשהמתח כתלות בזמן מקודד את הרמות או השינויים של האות הפיזיקאלי הנקלט בחיישן.
הפיכת אות אנלוגי לדיגיטאלי
אות דיגיטלי הוא אות שניתן לקידוד באמצעות שתי רמות של מידע, או כפי שרובנו מכירים 0 לוגי ו 1 לוגי.
פעולת הפיכת אות אנאלוגי לדיגיטאלי נקראת דגימה, ומבוצעת ברכיבים הנקראים ADC
Analog to Digital Converter, אסביר את אופן הפעולה שהם בקצרה:
כל פרק זמן קבוע ומוגדר מראש (תדירות הדגימה) האות האנאלוגי נדגם, כלומר ערכו באותה נק' זמן "נשמר".
לדוגמא, באיור למטה, הציר האופקי הוא ציר הזמן (נניח שהוא ביחידות של 1 מילי-שנייה), האות החשמלי הוא הקו האדום, וידוע לנו שהוא יכול להשתנות בין 0 ל 5 וולט (ציר האנכי). בכל 1 מילי שנייה (תדירות של 1KHZ, רמת המתח של האות נדגמת, (לדוגמא ביחידת זמן מס' 7 רמת המתח של האות היא 3.6V וביחידת זמן 16
היא 1.7V). הדגימה מתבצעת באמצעות טעינת קבל קטן לפרק משך זמן קצר. לאחר זמן הדגימה מנותק הקבל מכניסת האות ומבוצעת דיסקרטיזציה. מכיוון שבאופן סיפרתי מספר הספרות הבינאריות ליצוג מספר הוא סופי, נאלצים ליצור קירוב מסויים. למשל אם נייצג את ערך האות שלנו בכל נקודת זמן במספר בינארי בן 8 ספרות – נוכל ליצג באמצעות 2 בחזקת 8 ערכים – שהם 256 ערכים דיסקרטיים. לכן, אם טווח המדידה שלנו הוא 5V כמו בדוגמה, נוכל לשמור הפרשים של 5V/256 שזה בקירוב 20mV . רמת דיוק זו היא הרזולוציה של הדגימה. קל לראות שככל שנקצה יותר סיביות לשמירת כל ערך, כך הרזולוציה תגדל, ונוכל להבחין בשינויים קטנים יותר באות הנדגם.
אופן הפעולה החשמלי של הדגימה מחוץ למסגרת מאמר זה, רק אציין שהמטען שנאגר בקבל בפרק הזמן שהיה מחובר לאות נפרק וע"פ המטען שבו מזוהה רמת המתח המתאימה והופכת לייצוג של מספר בינארי.

נחזור על שני המושגים העיקריים:
קצב הדגימה - הקצב בו מבוצעות הדגימות של האות האנאלוגי. ככל שקצב זה גבוה יותר כך יהיו לנו יותר ערכים ובכך יותר מידע לגבי האות המקורי.
משפט ניקוויסט אומר שיש לדגום אות בקצב של לפחות פי שתיים מתדר התופעה ע"מ שנוכל לשחזר אותו כראוי. לדוגמה אם אנו למשל דוגמים קולות הניתנים לשמיעה ע"י בני אדם, הרי שהתדר המקסמאלי הינו 20KHZ לכן נצטרך לדגום אותות אלה בקצב של לפחות 40KHZ (רצוי לדגום בתדר יותר גבוה).
רזולוצית הדגימה - ככל שנרצה דיוק יותר טוב בערכי הדגימה ויחס הפרדה טוב יותר בין ערכים קרובים (רזולוציה) כך נצטרך יותר סיביות לשמירת המידע. ככל שהדגימה נעשת בקצב גבוה יותר וברזולוציה גבוהה יותר כך היא מדוייקת יותר.
דוגמא: אם נדגום אות בעל שונות של 5V ונרצה רזולוציה של 20mV נצטרך לכל דגימה 5/20m=250 רמות של מתח ולכן נצטרך 8 סיביות כלומר בייט אחד. אם נרצה לדגום אות זה ב 50KHZ נצטרך זיכרון של 50KByte עבור כל שנייה.