Table of Contents
מבוא ל- VHDL ו-FPGA טכנולוגיה עבור טבלאות דיבור
טכנולוגיית זיהוי קול עברה ממעבדות ניסיוניות למכשירים יומיומיים כגון טלפונים חכמים, רמקולים חכמים, מערכות מידע רכב, ורכזות אוטומציה ביתית. בעוד שהכרה קולית מבוססת תוכנה הפועלת על מעבדים למטרות כלליות היא נפוצה, הביקוש לעוצמה נמוכה, כוח נמוך, ועיבוד בזמן אמת דחף מפתחים לחקור האצה.
VHDL מאפשר למעצבים לתאר את ההיבטים המבניים וההתנהגותיים של מעגלים דיגיטליים, משערים לוגיים פשוטים ועד מכונות ממשלתיות סופיות מורכבות ו-Fitual Process ליבות עיבוד אותות.FPGAs, שנבנה ממערך של בלוקים לוגיים ניתנים להגדרה וחיבורים ניתנים להתאמה, ניתן לנסח מחדש כמעט על פני ה-VHDL עם FPGAs מאפשר למהנדסים לזהות קול שפועלים עם תזמון ומקבילות מסיביות, מהשינוי כוח, והופכים אותם למתקנים כוח מתאים למתקנים.
הבנת תפקיד FPGAs בזיהוי הקול
מערכות זיהוי קולי מסורתיות מסתמכות על מעבדי אותות דיגיטליים (DSPs) או מעגלים משולבים ספציפיים יישומים (ASICs) בעוד ASICs מציעים ביצועים מצוינים עבור פונקציה קבועה, הם חסרים גמישות. DSPs, מצד שני, הם ניתנים לתוכנה אך סידורי בטבע, הגבלת דרך חישוב עבור אודיו רב ערוצים בזמן אמת. FPGAs לגשר זה: הם מספקים ביצועים ברמת חומרה ללא עלויות מתקדמות של הנדסה ומקבילה.
FPGAs הם במיוחד מתאים עבור השלבים הקדמיים של מערכת זיהוי קול, הכוללים המרה אנלוגית-לדיגיטלית, סינון, מסגרת, ומיצוי תכונה.שלבים אלה נהנים מנתיבים נתונים מקבילים צינורות עמוק, שניהם מתאימים טבעיים עבור בד FPGA.
יתרונות ומיומנות באמצעות חישוב
אחת הסיבות משכנעות ביותר להשתמש ב-FPGA עבור זיהוי קולי היא עצלות. במערכת תוכנה, דגימות אודיו חייב להיות מבולבל, מועבר לזיכרון, מעובד על ידי CPU. כל צעד מציג עיכובים משתנים. על FPGA, זרם הנתונים אודיו יכול לזרום ישירות דרך צינור VHDL שעוצב עם מהירויות של שעון ⁇ .
בניית קו צינור זיהוי הקול עם VHDL
מערכת זיהוי קול מלאה המיושמת ב- VHDL יכולה להישבר לכמה שלבים נפרדים.כל שלב מתוכנן כישות VHDL משלה עם ממשקים מוגדרים היטב, המאפשרת בדיקות מודולריות ושימוש חוזר.
רכישת אודיו וקידום
הקלט לכל מערכת זיהוי קולי הוא אות אודיו שנתפס על ידי מיקרופון.בעיצוב מבוסס VHDL, השלב הראשון כרוך מצופה עם ממיר אנלוגי-ל-דיגיטלי (ADC) באמצעות פרוטוקול סטנדרטי כגון I2S או SPI. ישות VHDL מטפל בתזמון של שעון הנתונים, מילת בחירה וקווי נתונים סידורי נתונים סידוריים, מהמיר את ה biterial לתוך דגימות מקבילות או פילטר דיגיטלי (I) לעתים קרובות קידוד ראשון (D-D) קידוד אלקטרוני-I).
חסימת וחלון
אותות דיבור הם לא estationary לאורך זמן רב, כך אודיו הנכנס מחולק למסגרות קצרות, בדרך כלל 20-30 מילישניות אורך. מסגרות Adjacent בדרך כלל חופפות על ידי 50% כדי למנוע לאבד מידע על מסגרת. ב VHDL, זה מושג באמצעות חיץ משמרת המכיל את הדגימות N.
Fast Fourier Transform (FFT) יישום VHDL
Fast Fourier Transform הוא עמוד השדרה של ניתוח תדירות-דומיין עבור דיבור. יישום FFT ב VHDL דורש ניהול זהיר של גורמים twidle, חמאה, והזמנות נתונים. בעוד שניתן לכתוב מותאם אישית לחלוטין FFT מגרד, מעצבים רבים פרמטרים ממונף VHDL ליבות שניתן לסנתז עבור גדלים שונים וספירת נתונים.
האלגוריתם של ה-VHDL-2 Decimation-in-time (DIT) פופולרי עבור יישומי VHDL בגלל המבנה הרגיל שלה.כל שלב פרפר מבצע ריבוי מורכב אחד ושני תוספות מורכבות. על ידי צינורות של השלבים החמאה ושימוש בלוק כפול-פורט עבור אחסון נתונים, עיצוב VHDL יכול למקם FFT בזמן אמת עבור דגימות עד 16 kAPP3x לפחות עבור יישום 1FX.
Mel-Frequency Cepstral Coefficients (MFCC) הפקה
MFCCs הם התכונות הנפוצות ביותר במערכות זיהוי הקול המודרני.לאחר FFT ממיר כל מסגרת לתחום התדר, ספקטרום הכוח ממפה בסולם האבטיח באמצעות בנק של מסננים משולשים.מאזני האבטיחים דומים לתפיסה בתדר הלא-לינארית של האוזן האנושית, עם יותר החלטה בתדרים נמוכים יותר.
DCT מפחית את המימד של הווקטור המאפיין תוך שמירה על המידע המפחיד ביותר.בצנרת VHDL, DCT הוא לעתים קרובות מקובע באמצעות סדרה של צעדים מורכבים עם שולחנות תצפית יעילים.ה וקטורס ה-MFCC וכתוצאה מכך, בדרך כלל 12 עד 20 קידודים למסגרת, מועברים לשלב המדוייקטיבי של מיצוי קרן המטבע הבינלאומית כולו יכול להיות מיושם כמו phostotstots גדול יותר, ו-L.
תבנית התאמת וזיהוי לוגיקה
ברגע שקטורים תכונה מופקים, המערכת חייבת להחליט איזו מילה או טלפון הם מתאימים. שתי גישות עיקריות משמשות בדרך כלל במערכות מבוססות FPGA: מודלים מוסתרים של מרקוב (HMMs) ורשתות עצביות.
מודלים נסתרים של Markov בHardware
HMMs היו המודל הסטטיסטי הדומיננטי להכרה בדיבור במשך עשרות שנים. An HMM מייצג יחידות דיבור (טלפונים או מילים) כסדרה של מדינות, כל אחת עם התפלגות הסתברות קשורה על המרחב המאפיין. אלגוריתם Viterbi משמש למצוא את הרצף הסביר ביותר של מדינות בהתחשב ברצף של וקטורים מתודולוגיים נצפו.
מנגנוני רשת נידור
מערכות זיהוי קוליות עדכניות יותר משתמשות ברשתות עצביות עמוקות (DNN) כגון רשתות עצביות מבוכות (CNN) או רשתות עצביות חוזרות ונשנות (RNN) עם תאים לטווח קצר ארוך (LSTM) FPGAs משמשים יותר ויותר כמו מאיצים ברשת עצבית רשומים כי ניתן להגדיר כדי להתאים את זרימת הנתונים המדויקת של רשת עליון.
התייחסות טובה לרשת העצבית של FPGAs היא ה-FLT:0Xilinx Vitis AI מסגרתFLT:1, אשר מספק ליבות IP טרום-אופטימיות עבור ארכיטקטורות רשת נפוצות. בעוד Vitis AI משתמש C / C++ ו- Open for high-level design, החומרה הבסיסית עדיין מיושמת ב-RTL, לעתים קרובות מיוצרת באופן אוטומטי מ-VL.
עיצוב זרימה ושיקולים
בניית מערכת זיהוי קול ב VHDL כוללת יותר מאשר רק כתיבת קוד RTL.זרימת העיצוב כוללת סימולציה, סינתזה, מיקום והמסלול, ניתוח תזמון, ובדיקת חומרה.כל שלב מציג מגבלות המשפיעות על הביצועים הסופיים של המערכת.
סימבול ו-Verification
סימולציה VHDL חיונית כדי לאמת כי כל מודול מתנהג כראוי לפני ביצוע חומרה. Testbenches להאכיל נתוני אודיו דגימה, לעתים קרובות מאוחסנים במערך זיכרון או לקרוא מתוך קובץ, לתוך העיצוב תחת בדיקה. את התכונות והחלטות הפלט או הכרה הם בהשוואה להערות זהב המפורטות בשפה ברמה גבוהה כגון MATLAB או Python. גישה זו תופסת שגיאות לוגיקה, פגמים, צינורות, והחלטות זיהוי על פני תנאי מוקדם של עיצוב.
סינתזה ו- משאבים Utilization
כאשר synthesizing VHDL קוד עבור FPGA, הכלים העיצוביים ממפה את התיאור RTL על המשאבים הפיזיים של מכשיר היעד: טבלאות חיפוש (LUTs), טבלאות, חסימות, ו DSP פרוסות. צינורות זיהוי קולי דורשים בכל הקטגוריות האלה.FFT דורש חסימות מרובות לאחסון יעיל, הבנק של פילטרים בית הספר לצרוך קיבולת נמוכה של DSPK עבור שימוש ב-pK יכול להיות מתאים עבור שימוש ב-px.
תזמון ותזמון קליק
כדי להשיג תדרי שעון גבוהים וקביעת דרךput, יש להוסיף את רישומי הצינור בין שלבים חישוביים.ב VHDL, זה נעשה באופן ידני על ידי רישום הפלט של כל בלוק משולב. שרשרת החילוץ של MFCC, למשל, ייתכן שיהיה עקבי של כמה מאות מחזורי שעון, אבל ברגע שהצנרת מלאה, תכונה אחת מיוצרת ללא מרווחים נוספים של טבלאות אדפטמות, או עיצוב סביר יותר של שעון.
יישומים אמיתיים ומקריות
הכרה קולית מבוססת FPGA באמצעות VHDL מצאה את דרכה לכמה יישומים מסחריים ותעשייתיים שבהם שקיפות נמוכה ויעילות כוח הן דבר חשוב ביותר.
גילוי מילים ברמקולים חכמים
דוברים חכמים רבים ליישם גלאי תגובה קטנה על FPGA כדי להימנע מעירה מעבד הראשי ללא צורך. FPGA מפעילה רשת עצבית קלה או HMM שמקשיב מילת מפתח מסוימת (כגון "Hey Siri" או "Alexa") רק כאשר מילת ההתעוררות מזוהה הוא מעבד היישום הראשי המופעל על ידי גישה זו מצמצם צריכת כוח עמידה, אשר קריטי עבור סוללות מופעלת עבור פונקציות אחרות של גלאי VHD רק עבור עיצוב.
מפקדי קול לרכב
סביבות הרכב הן רועשות ודורשות זיהוי קולי חזק שפועל בזמן אמת. FPGAs משמשים בכלי רכב מתקדמים כדי לעבד מיקרופון עבור beamforming ו ביטול רעש לפני ההכרה. VHDL מודולים להתמודד עם האלגוריתם עיכוב ו-sum beamforming, אשר מיישר את האותות ממיקרופון מרובים וסכום אותם כדי לשפר את הקול של הדובר תוך כדי הגדלת רעש וכתוצאה מכך גל הוא הכרה דומה צינורות רכב שתואר על ידי FPGA סטנדרטי לחלוטין.
בקרת קול תעשייתית
במפעלים ובמחסנים, בקרת קול מאפשרת הפעלה ללא ידיים של מערכות ניהול מלאי ותעשיות ניהול מלאי.סביבות תעשייתיות יכולות להיות מאובקות, לחות או בכפוף להתערבות אלקטרומגנטית, מה שהופך פלטפורמות מחשוב מסורתיות לא אמינות. FPGAs, אשר הן חזקות באופן טבעי והן יכולות להיות קשות נגד קרינה, מתאימים היטב להגדרות אלה. VHDL-based Voice זיהוי מערכות מודעות קוליות מבוססות על בסיס סביבה כזאת כוללות בדרך כלל קודים תיקון שגיאות ושעון כדי להבטיח הפעלה רציפה.
אתגרים ופתרונות מעשיים
בעוד היתרונות של שילוב VHDL ו-FPGA הם משמעותיים, יש לטפל במספר אתגרים כדי לבנות מערכת זיהוי קולית מוכנה.
Algorithm Complexity in Hardware
יישום אלגוריתמים כמו ה-Vierbi decoder או backpropagation עבור רשתות עצביות ב- VHDL מורכב יותר מכתיבה תוכנה שווה ערך.המעצב חייב לנהל במפורש כל נתיב נתונים, אות בקרה ומכונה המדינה. גישה אחת כדי להפחית את המורכבות הזו היא להשתמש סינתזה ברמה גבוהה (HLS) כלים שיוצרים VHDL מ- C++s. בעוד HLS שולטים בחלק מהאדריכלות הנמוכות, עדיין מחוספסת את הביצועים של ה-L.
זיכרון Constraints
FPGAs יש מוגבל זיכרון על שבב בהשוואה ל- CPUs ו- GPUs. סטינג מודלים אקוסטיים, כגון דגמי תערובת Gaussian (GMMs) בשימוש במערכות מבוססות HMM, יכול במהירות למצות את בלוק ה- RAM הזמין. Solutions כוללים מודלים דחוסים באמצעות קוונטיזציה (למשל, צמצום משקל מנקודת מבט צף של 32 סיביות ל- 16 סיביות או 8bit קבוע), אחסון של מעבד זיכרון DGA, או 2 משימות זיכרון RAM.
ניהול חשמל ו-Thermal Management
החלפת FPGA מהירה גבוהה בשיעורים מעל 200 מ"הרץ מתפזר חום משמעותי, במיוחד כאשר פרוסות DSP פעיל. מערכות זיהוי קולי המיועדות למכשירים ניידים או לבישים חייב לפעול בתוך תקציבים תרמיים הדוקים.טכניקות כגון גלי שעון, בידוד אופרות, וקצב מתח יכול להיות מיושם ברמת VHDL כדי להפחית את הכוח הדינמי.בנוסף, בחירת FP עם ביצועים נמוכים כגון: icereipre, עוזר ל-Cvreipific, ללא תפקוד.
אספקת כלים וערכת פיתוח
מהנדסים המתחילים פרויקט זיהוי קולי ב- VHDL צריכים לבחור לוח פיתוח עם חומרי אודיו ומשאבים לוגיים מספיקים. אפשרויות פופולריות כוללות את לוח Xilinx Pynq-Z2 (Zynq FPGA עם אודיו Codec), את ה-Tasic DE10-Nano (Intel Cyclo VFPGA עם כרטיס הבת אודיו), ואת Digi Baslents 3 (סעיף 7GA עם אודיו אדפר).
עבור התוכנה Toolchain, Xilinx Vivado או חבילת ראשי Intel Quartus מספק סינתזה, סימולציה, ו debugging סביבות. Both כלים לתמוך VHDL וכולל גנרטורים IP מובנה עבור FFT, FIR מסננים, ואבני זיכרון. חלופה קוד פתוח הוא סימולטור GHDL משולב עם Yosys עבור Logsis, אם כי עבודה זו היא פחות מורכבת עבור עיצובים (VFD) הוא מדריך פתוח עם LTUDVLUD הוא מדריך פתוח הוא מדריך פתוח הוא LTUD הוא מדריך (VLUDVLGLTUDVLGLTUDVLUDVLN) הוא סימולטור משולב עם סימולטור משולב עם סימולטור משולב עם סימולטור 1DVVVLGLTUDVVVVR) משולב עם סימולטור משולב עם Yosys עבור סימולטור משולב עם Yosys עבור סימולטור משולב עם Yosys עבור סימולטור משולב עם Yosys עבור סימולציה הוא מדריך משולב עם Yosys עבור סימולטור משולב עם Yosys עבור סימולציה הוא מדריך גמישהשילוב עם Yosys עבור סימולציה הוא מדריך הוא מדריך הוא מדריך הוא מדריך גמישהה
בדיקות ומתודולוגיות אימות
בדיקת מערכת זיהוי קול על FPGA דורש הן בדיקות פונקציונליות וביצועים. בדיקות פונקציונליות כרוך האכלה קבצי אודיו מוקלט מראש באמצעות הצינור והשוואה תוצאות ההכרה לתוויתות הצפויות.זה יכול להיות אוטומטי באמצעות תסריט Python ששולח נתונים אודיו על UART או USB ל- FPGA וקורא חזרה את הפלט.
בדיקות ביצועים מודדות בזמן אמת באמצעות לוח ומזל. An oscilloscope או מנתח לוגיקה יכול ללכוד את הזמן מתחילת פקודה מדוברת לטענה של דגל הכרה.עבור מערכות שחייבות לפעול בקצב מדגם של 16 k עם גודל מסגרת של 20 מ"תות (320 דגימות למסגרת), הצינור חייב לעבד כל מסגרת בתוך 20 מ"ר שניות.
צעד אימות נוסף הוא לבדוק את המערכת בתנאים אקוסטיים שונים, כולל רמות רעש רקע שונות, מגדרי רמקולים, ומדגישים. עיצוב VHDL חזק יכלול תכונות כגון בקרת רווח אוטומטית (AGC) ודיכוי רעש המסנן בשלב טרום עיבוד. AGC יכול להיות מיושם עם מכונה VHDL כי לפקח על האות amplitude ומתאים מכפיל קו יעיל כדי לשמור על טווח בתוך רמת היעד.
כיוונים עתידיים ל-VHDL-Driven Voice Recognition
הנוף של חומרה זיהוי קול ממשיך להתפתח.כמה מגמות מצביעות על שימוש גדול עוד יותר של VHDL ו- FPGAs בתחום זה.
רשתות FPGA
ככל שרשתות עצביות לגדול יותר ויותר מסוגלות, יש דחיפה לכיוון מיפוי מערכות זיהוי דיבור מקצה לקצה, מ אודיו גולמי לטקסט, על FPGA יחיד.מערכות אלה מחליפות את צינור ה-MFCC + HMM עם רשת עמוקה שלמדת תכונות ישירות מן הגלפור. יישום רשתות כאלה ב- VHDL דורש שימוש יעיל מאוד של DSPs וזיכרון.
Multi-Microphone ו-ספאטי Audio Processing
מערכות זיהוי קולי עתידי ישתמשו במערך של מיקרופון לביצוע סינון מרחבי, מיקום מקור קול, והתאמה מתאימה ל- VHDL מתאים היטב למשימות אלה כי הם כרוכים בזרמים נתונים מקבילים מרובים מהמיקרופוןs. FPGA יחיד יכול לעבד את כל הערוצים בו זמנית, החל עיכובים בזמן וגורמי משקל כדי להגביר את האות בכיוון מסוים.
« « « אינטגרציה AI ו- TinyML
תנועת ה- TinyML דוחפת את למידת המכונה למיקרו-בקרים בעלי כוח נמוך ו-FPGAs. VHDL יישום של רשתות עצביות זעירות, שמוטב להתאים ל-1,000 LUTs וכמה קילויבי זיכרון, מאפשרת זיהוי קולי במכשירים המופעלים על סוללות שחייב להימשך חודשים.שילוב של בקרת רמות נמוכות של VHDL והיכולת של FPGA להורדת גישה מושכת לכימיקלים אלה (מסלולאריכים לכימיקלים).
מסקנה
VHDL נשאר אחת מהשפות הנתמכות והנפוצות ביותר ליישום מערכות דיגיטליות מורכבות ב-FPGAs, והכרה קולית היא בין היישומים התובעניים ביותר ומתגמלים. מממשק אודיו ברמה נמוכה לתבנית גבוהה המתאימה ללוגיקה, כל שלב של צינור זיהוי דיבור יכול להיות מובא ב-VHDL ו-Samstize על FPGA כדי להשיג ביצועים, גמישות, ויעילות כי תוכנה על מעבד כללי לא יכול להיות מסוגל לפעול עם פונקציות עיצוב יעיל, בעוד שמעבדים לא יכול להיות זהיר, תוך כדי לתקן את תהליכי ניקוי, ופתרון יעיל.
עבור מהנדסים המעוניינים לחקור את התחום הזה עוד יותר, החל עם גלאי מפתח מבוסס MFCC פשוט ולהוסיף בהדרגה דפוס מתוחכם יותר התאמה או שכבות רשת עצבית היא דרך מוכחת.זמינות של לוחות פיתוח FPGA סבירים, ספריות קוד פתוח VHDL לעיבוד אותות, ותיעוד מקיף יותר ממוכרי FPGA הופך את השדה נגיש עבור מעצבים חומרה מנוסים אלה חדשים עיצוב דיגיטלי.