Table of Contents
ה-FFTT המהיר (FFT) הוא אחד האלגוריתמים המשתנים ביותר ב- מחשוב מודרני ועיבוד אותות.דחוק על ידי גילברט סטראנג כ"אלגוריתם המספרי החשוב ביותר של חיינו", ה-FFT הפכה את האופן שבו אנו מנתחים ומעבדים אותות על פני אינספור יישומים.A FFT הוא אלגוריתם המנציח את ה-Rtereteertertertererr (DFT) של רצף, או בתאוריה הפוכה (המתאמת) של תצורה בפועל, או להיפך, כלומר, או להיפך, כלומר, הוא סימולציה מעשית, או תצורה של סימולציה (FFT) של סימולציה בפועל, לעתים קרובות, כלומר, כלומר, כלומר, אלגוריתם יעיל של אלגוריתם של סימולציה (FFT) של אלגוריתם (FFT) של אלגוריתם של אלגוריתם יעיל של אלגוריתם (DFT) הוא אלגוריתם (DFT) של אלגוריתם של תצורה יעילה, הוא אלגוריתם (DFT) של אלגוריתם של אלגוריתם של אלגוריתם של תצורה פשוטה, הוא אלגוריתם, הוא אלגוריתם של אלגוריתם, הוא רצף (DFT) של אלגוריתם של רצף (DFT) של רצף (DFT
מהו ה-Frerere Fourier Transform?
Fast Fourier Transform (FFT) הוא אלגוריתם מתמטי שניתוח ביעילות ומדד טווחי תדר של אותות, רטטים וצורות גל אחרות.על ידי המרת קבוצה של דגימות נתונים ממונעות באותה מידה לתוך רצף יחיד, ה-FFT מפחית באופן משמעותי את המאמץ חישובי הנדרש כדי לחשב את ה-DFT (DFT) ואת מטרתו הבסיסית של FFT היא לפרק את הזמן המורכב אותות כדי להבין את התדירות שלהם, מה הם גורמים פוטנציאליים כדי לשנות את התדירות שלהם.
"Fast Fourier Transform" (FFT) היא שיטת מדידה חשובה במדעי המדידה של אודיו ואקוסטיקה.It הופכת אות לרכיבים ספקטרליים בודדים ובכך מספקת מידע תדירות על האות.בניגוד לניתוח אות במחלקת הזמן, שבו אתה רואה כיצד amplitude משתנה לאורך זמן, ניתוח דומיין תדירות חושף את הרכיבים המחזוריים הבסיסיים המרכיבים את האות.
DFT מתקבל על ידי מחיקת רצף של ערכים לרכיבים של תדרים שונים.פעולה זו מועילה בתחומים רבים, אבל מחשוב זה ישירות מההגדרה הוא לעתים קרובות איטי מדי להיות מעשי.זה בדיוק המקום שבו אלגוריתם FFT הופך בלתי חוקי, מה שהופך את מה יהיה חישובים אסרטיביים מבחינה חישובית לפעילות מעשית, בזמן אמת.
פיתוח היסטורי וקרן מתמטית
מקורו של אלגוריתאם
ההיסטוריה של ה-FFT מרתקת ומרחיבת הרבה יותר מהר מאשר רבים מבינים.רעיונות אלה הוחלפו על ידי המתמטיקאי הגרמני קרל פרידריך גאוס בשנת 1805 במהלך המחקר שלו למסלולים של אסטרואידים.עם זאת, הוא לא הצליח ליישם את הרעיונות שלו.הפיתוח של אלגוריתמים מהירים עבור DFT היה מוגדר מראש ב אלגוריתם של קרל פרידריך גאוס שלא פורסם 1805 על מסלול של אסטרואידים ו-Junosternos רצה בדרך כלל תצפיות דומות של ג'יימס קוליוס.
ג'יימס קולי וג'ון טקי פיתחו את האלגוריתם הנפוץ ביותר FFT בשנת 1965.ה-FFT היה מכוסה במשותף על ידי ג'יימס קולי וג'ון וו. Tukey בשנת 1965, בעוד שהאלגוריתם היה בהחלט פריצת דרך, יש לציין כי רבים מהרעיונות הבסיסיים שלה היו סביב במשך זמן מה, אבל העבודה של Cooley ו Tukeys הביאה אותו להסתברות בעידן הדיגיטלי, במיוחד עם עלייתם של אלגוריתם מחשוב דיגיטלי, במיוחד.
יתרונות מורכבים
היתרון העיקרי של FFT על חישוב DFT ישיר הוא המורכבות החישובית מופחתת באופן דרמטי שלה. in Computer Science lingo, FFT להפחית את מספר החישובים הדרושים לבעיה של גודל N מ O(N2) ל O(NlogN) FFT במהירות מצמיד שינויים כאלה על ידי גרימת DFT ממטרה לתוך מוצר של חומרים ספאריים (כמעט אפס) כתוצאה מכך יכול להיות מופחתת נתונים במהירות גבוהה של NN).
כדי להמחיש את ההבדל הדרמטי הזה, שקול דוגמא מעשית.זה ייקח את האלגוריתם המהיר של Fourier להפוך בערך 30 שניות כדי למקם את ה-Rerte Fourier להפוך לבעיה בגודל N= 109. לעומת זאת, האלגוריתם הרגיל יהיה צריך כמה עשורים.שיפור אקספוננציאלי הזה ביעילות חישובית הוא מה שהופך עיבוד אותות בזמן אמתי אפשרי ביישומים מודרניים.
במקום לעבד את נקודת הנתונים של נקודת-על-ידי-נקודת-ב-ב-ב-ב-ב-ב-ב-על-ידי-הנקודה כמו DFT, FFT משתמשת בגישה דיבידנד-ו-conquer כדי לשבור את החישוב לחלקים קטנים יותר, יותר מנוהלים, אשר מפחיתה את המורכבות החישובית של O(N2) ל-O(N) אסטרטגיה זו מתחלקת-coner היא העיקרון הבסיסי שתחת כל האלגוריתמים של FFT, במיוחד האלגוריתם ה-Ty-T.
שם הסרטון: Cooley-Tukey Algorithm
עקרונות הליבה
האלגוריתם Cooley-Tukey, בשם J. W. Cooley ו John Tukey, הוא האלגוריתם המהיר הנפוץ ביותר (FFT) מהיר יותר (FFT) אלגוריתם זה מבטא מחדש את ה-DFTte Fourier Turn (DFT) של גודל מרוכב שרירותי במונחים של DFTs קטנים יותר, recursively, כדי להפחית את זמן חישוב O(N) עבור N (מספרים מוגזים זה הוא מורכב).
ה-FFT המהיר הופך להיות שיטה המאפשרת מחשוב DFT בזמן O(n di n) הרעיון הבסיסי של FFT הוא ליישם דיבידנד וכיבוש.We לחלק את ה- אפקטיביות של הווקטור של הפולנומי לשני וקטורים, recursively compute את DFT עבור כל אחד מהם, ולשלב את התוצאות כדי לחדד את DFT של גישה פולינומית מלאה זה באופן שיטתי יותר.
רדינקס-2 - In-Time
אלגוריתם רדיוקס-2 (DIT) FFT הוא הצורה הפשוטה והנפוצה ביותר של אלגוריתם קולי-Tukey, אם כי אופטימיזציה גבוהה של קולי-Tukey יישום בדרך כלל להשתמש בצורות אחרות של האלגוריתם. רדיאקס-2 DIT מחלק DFT בגודל N לשני DFTs בין- מטושטש (hh בשם "שש-2") בגודל N/2 עם כל אחד מחדש של שלב זה הוא טוב במיוחד כאשר הוא בגודל של 2 פועל.
התצפית המרכזית של קולי וטולקי היא כי הסיכום הזה יכול להיות שבור בדרכים מעניינות.באופן ספציפי, אנו יכולים להפריד את הסיכום אפילו אינדיקציות ואינדיקציות מוזרות. על ידי הפרדת רצף הקלט לאלמנטים משודרגים מוזרים, האלגוריתם יכול לעבד כל תת-קבוצה באופן עצמאי לפני שילוב התוצאות.
וקטור קלט נכתב לראשונה כרצף של שורות, כל שורה המכילה רק שני מרכיבים. ואז כל שורה עוברת את השינוי הארבעייה של גודל 2.האלמנטים וכתוצאה מכך מוכפלים על ידי גורמים twidle.תהליך זה ממשיך באופן חוזר עד שהשינוי כולו הושלם.
הבנת גורמי Twiddle Factors
גורמים Twiddle הם קבועים רב-תכליתיים מורכבים כי לשחק תפקיד מכריע באלגוריתם FFT. יותר ספציפי, "גורמים מחוסנים" המכונה במקור את היסודות של קבועות מורכבים רב-תכליתיים מורכבים פעולות פרפרים של Cooley-Tu FFT, המשמש כדי לשלב מחדש קטן יותר דיסקרטית ארבעה יותר.
על ידי התאמת האיזון בין ה amplitude של גל החטא ואת amplitude של גל cosine, twidle גורמים לשנות את השלב של הסינוס המתקבל מבלי לשנות את ampude. So Twidle Factors מקטין את הגישה "אחד בגודל אחד מתאים לכל" ותקן את השלבים של השלב הקודם של תפוקה, ללא שינוי נכון של מערכת יחסים FEP.
שילוב זה, שנקרא פרפר על ידי מומחי FFT, הוא הניתוח הבסיסי של אלגוריתם Cooley-Tukey הפשוט.החמאה מורכבת להוסיף שני מספרים מורכבים ו חישוב ההבדל שלהם עם ריבוי הכפלה הבאה על ידי מספר מורכב אחר.המבצע הפרפרפי, בשילוב עם כפל חישובי, יוצר את יחידת החישוב הבסיסית של אלגוריתם FFT.
מבצע הפרפר
הפעולה הפרפרפית היא בלוק הבניין הבסיסי של אלגוריתם FFT.האלגוריתם מקבל את המהירות שלו על ידי שימוש מחדש בתוצאות חישובים ביניים כדי לחשב מספר רב של פלטי DFT. Note כי התפוקה הסופית מושגת על ידי + / - שילוב, שהוא פשוט DFT (לעתים נקרא פרפר בהקשר זה). זה שימוש של תוצאות ביניים הוא מה נותן יעילות חישובית שלה.
כל פעולה פרפרית לוקחת שני קלטות מורכבות, חל על גורמים מתאימים twidle, ומייצרת שני פלטים מורכבים באמצעות תוספת ומבצעי תת-קרקעית.יופי של מבנה זה הוא שניתן לחזור עליו בשלבים מרובים, עם כל עיבוד שלב יותר ויותר גדול DFT.המצגת של גרף זרם של פעולות אלה דומה כנפיים של פרפר, ומכאן השם.
יישום FFT: שיקולים מעשיים
אלגוריתאם בחירה
אלגוריתמי FFT פופולריים כוללים את אלגוריתם Cooley-Tukey, אלגוריתם גורם ראשוני FFT, ואלגוריתם FFT של Rader של Rader.ה-FFT הנפוץ ביותר הוא אלגוריתם Cooley-Tukey, אשר מפחית DFT גדול לתוך DFT קטן יותר DFT כדי להגדיל את מהירות החישוב ולהפחית המורכבות. עבור יישומים מעשיים ביותר, האלגוריתם Cooley-Tukey מספק איזון מצוין של יעילות וקלות יישום.
ההגבלה העיקרית של שיטת ה-Varx-2 היא כי היא עובדת רק אם N הוא כוח אינטגרלי של 2.If N= 37 (לדוגמה, שיטה זו אינה יכולה לשמש. שיטת ה-VIX-2 היא רק מקרה מיוחד אחד של השיטה הכללית של Cooley ו- Tukey. במקרה ה-x-2, אנו מחלקים קלט של אורך N ל 2 מהירויות של N/2. כאשר גודלו אינו כוח של שני אלגוריתמים מעורבים, או אלגוריתמים מיוחדים אחרים, יש להשתמש בהם.
באופן כללי יותר, אם N הוא מתפצל על ידי כמה p integer, אנו יכולים לחלק לתוך קלטות של אורך N /p. העיקרון הבסיסי מאחורי גישה זו כללית יותר "מעורבת-radix" הוא זהה: DFTs של המקרים הקטנים יותר משולבים כדי ליצור את המקרה גדול יותר על ידי יישום העיכוב המתאים ("גורם יחיד") לכל אחת.
המונחים:
הכנת אות נכונה היא קריטית לניתוח FFT מדויק.התהליך מתחיל על ידי דגימה האות ב דומיין הזמן.צעד זה כרוך לכידת סדרה של נקודות נתונים המייצגות את האמרה של האות במרווחים קבועים, הידוע בשם קצב הדגימה.
על פי ה- Nyquist Theorem, שיעור הדגימה חייב להיות לפחות פעמיים המרכיב התדירות הגבוה ביותר של האות כדי להימנע מהתאמה (צורה של עיוות שנגרם על ידי תת-מפרק). העיקרון הבסיסי הזה מבטיח כי כל מידע תדירות בסימן המקורי ניתן לכבוי במדויק ולשחזר.
כדי למנוע את זה semearing, בפועל "windowing" מוחל על דגימת האות.שימוש בתפקוד משקל, דגימת האות הוא פחות או יותר בעדינות מופעלת ומחוצה לו.התוצאה היא כי האות המדגם והמאוחר "windowed" מתחיל ומסתיים ב amplitude אפס.winding פונקציות עוזר למזער דליפה מרכזית, אשר מתרחשת כאשר האות הוא מנתח בתוך מספר תקופות של חלון.
אופטימיזציה טכניקות
הקוד שניתן ל-FFT בסיסי הוא יישום די פשטני שניתן להמחיש את המושגים הבסיסיים.זה יכול להיות יעיל הרבה יותר בכמה דרכים, כולל: מראש חישוב וסגנית גורמים "מעודכן", תוך שימוש מחדש בפלט אחד ולא במילוי מחדש של מערךים עבור כל פלט חלקי, וכן על יישום מודרני FFT משתמש אסטרטגיות רבות כדי למקסם את הביצועים.
בפועל, יישומי FFT מודרניים - כגון The Fastest Fourier Transform במערב (FFTW) - משתמשים בשילובים רבים של אסטרטגיות כדי להתאים את זמן החישוב עבור אורך קלט נתון.אלה ספריות אופטימיזציה באופן אוטומטי לבחור את האלגוריתם הטוב ביותר ואת הפרמטרים המבוססים על גודל קלט ספציפי ומאפיינים חומרה, לעתים קרובות להשיג ביצועים קרובים לגבולות התיאורטיים.
ב MATLAB, יישום FFT מותאם לבחירה מבין אלגוריתמים שונים FFT בהתאם לגודל הנתונים והחישוב. MATLAB ו- Simulink תומכים גם ביישום FFT על חומרה ספציפית כגון FPGAs, מעבדים כולל ARM, ו- NVIDIA GPUs, באמצעות קוד אוטומטי. אופטימיזציה ספציפיים חומרה יכול לספק שיפורים משמעותיים עבור יישומים אינטנסיביים חישוביים.
זמן אמת מול פוסט-Processing Applications
עיבוד בזמן אמת FFT
ניתן ליישם את ה-Ferer Transform המהיר (FFT) בהקשרים בזמן אמת ופוסט-מעבדים.ההבדל בין השניים בעיקר תלוי ביישום והדרישות הספציפיות של המשימה בעבודת יד. עיבוד FFT בזמן אמת דורש חישוב מיידי ותגובה, מה שהופך אותו מתאים יישומים אינטראקטיביים ועתיים.
Real-Time FFT משמש יישומים שבהם נדרש מידע בעל תדירות מיידית.דוגמאות כוללות מנתחי ספקטרום בזמן אמת, עיבוד אפקטים אודיו (כמו שוויון בזמן אמת), יישומים מסוימים של תקשורת, ובקרת רעש פעיל. יישומים אלה דורשים מהירויות של שקיפות נמוכה עיבוד עקבי כדי לשמור על ביצועים בזמן אמת.
ביצוע FFT בזמן אמת דורש חומרה מהירה ואלגוריתמים אופטימיזציה, במיוחד כאשר שיעור הנתונים גבוה או גודל FFT גדול. Latency יכול להיות גורם קריטי ביישומים בזמן אמת, כך המערכת חייבת להיות מיועדת לטפל בנתונים בתוך מגבלות הזמן. עיבוד בזמן אמת יכול לספק משוב מיידי, אשר חיוני יישומים מסוימים כגון עיבוד אודיו, מערכות ניטור חי, או מערכות בקרה אקטיבית.
תוצאות חיפוש
עיבוד פוסט הוא בדרך כלל בשימוש כאשר אין צורך מיידי בנתונים הממשתנים, או כאשר נדרש ניתוח אינטנסיבי יותר ומדייקטיבי יותר נדרש.דוגמאות כוללות ניתוח רטט של מכונות (שם נתונים נאספים לאורך זמן ולאחר מכן ניתחו), מחקרים מחקר, ומשימות עיבוד תמונות מסוימות.פוסט-מעבד מאפשר ניתוח מעמיק יותר ללא מגבלות של דרישות ביצועים בזמן אמת.
ללא הגבלת הזמן, ניתוח מפורט או מקיף יותר ניתן לעשות.ניתן לבצע נתונים מחדש עם פרמטרים שונים, אלגוריתמים או מודלים הדרושים.גמישות זו הופכת את אידיאלית לאחר עיבוד מחקר, בקרת איכות, יישומים אבחון מפורטים שבו הדיוק והשלמות חשובים יותר מאשר מהירות.
יישומים נרחבים של FFT
עיבוד דיבור ודיבור
ה-FFT משמש בהקלטה דיגיטלית, דגימה, סינתזה של תוספי ותוכנה לתיקון המגרש.ביישומים אודיו, FFT מאפשר מהנדסים ומפיקים לדמיין ולתפעל את התוכן התדירות של מנתחי ספקטרום משתמשים ב-FFT כדי להציג את הפצת תדירות אותות אודיו בזמן אמת, ומאפשר למהנדסי קול לזהות תדרים בעייתיים, אופטימיזציה, ולהבטיח ערבוב מאוזנות.
טכניקות אלה ניתן להשתמש עבור מגוון של אותות כגון אודיו ודיבור, מכ"ם, תקשורת וסימנים אחרים של נתוני חיישן. FFT משמש גם כצעד ביניים עבור טכניקות עיבוד אותות מורכבים יותר.מערכות זיהוי דיבור משתמשות ב- FFT כדי לחלץ תכונות תדירות המאפיינת סמארטפונים שונים ומילים, ויצרו את הבסיס של ממשקים מבוקרי קול מודרניים.
מנתחים ספציפיים גם להסתמך מאוד על FFT עבור לכידת ולהציג ספקטרום תדירות על מגוון רחב של אותות, מ RF אודיו. אלגוריתם FFT מאפשר לנתחים אלה לעבד כמויות גדולות של נתונים ביעילות, נותן לך תצוגה מפורטת של התנהגות אותות לאורך זמן, עם היכולת לאתר אנמורדים בתדר מסוים.
עיבוד תמונה ודיכוי
בעיבוד תמונות, FFT משמש סינון ודחיסת תמונות.FFT מאפשר גודל הקובץ של תמונות להיות מופחת באמצעות דחיסת תמונות JPEG. על ידי הפיכת נתוני תמונה לתוך מתחם התדר, אלגוריתמים יכולים לזהות ולבטל רכיבים גבוהים קידוד לתרום מעט כדי לתפוס איכות תמונה, השגת הפחתה משמעותית בגודל הקובץ תוך שמירה על נאמנות חזותית.
סינון תמונות מבוסס FFT מאפשר פעולות מתוחכמות כגון זיהוי קצה, ירידה רעש ושיפור תמונה. על ידי מניפולציה רכיבי תדר, מהנדסים יכולים באופן סלקטיבי להגביר או לזרז תדרים מרחביים ספציפיים, המאפשר שליטה מדויקת על המאפיינים תמונה.
תקשורת אלחוטית ותקשורת Wireless
ה-FFT משמש נרחב בתחומים שונים, כולל תקשורת, שבו הוא עוזר בניהול יושרת אות ויעילות שידור נתונים. מערכות תקשורת מודרנית, במיוחד אלה באמצעות חטיבת תדירות אורתורגון (OFDM), מסתמכים במידה רבה על FFT עבור מודולציה והדגמה. של DM, המשמש ב-Wi-Fi, 4G5G רשתות סלולריות, ורדיו דיגיטלי, משתמשים ביעילות FFT כדי לחלק את רוחב הפסים הזמינים ל-Dcrecarretos.
ה-FFT שימש לשלוח גלי רדיו וסימנים מכ"ם כדי למפות את פני השטח של מערכות ונוס רדאר משתמשים ב-FFT כדי לעבד אותות משתקפים, המאפשרים זיהוי ואפיון של אובייקטים מרוחקים. על ידי ניתוח השינויים בתדירות אותות חוזרים, מערכות מכ"ם יכולות לקבוע מהירות אובייקט, מרחק, ומאפיינים אחרים עם דיוק מדהים.
ניתוח והנדסת מכונות
FFTs משמשים לניתוח תקלות, בקרת איכות, ניטור מצב של מכונות או מערכות. בהנדסה מכנית ותחזוקה חיזוי, ניתוח FFT של אותות רטט יכול לזהות תקלות מתפתחות במכונות רוטט, נושאים, הילוכים, ורכיבים מכניים אחרים. על ידי זיהוי דפוסי תדר אופייניים הקשורים סוגים ספציפיים של תקלות, צוותי תחזוקה יכולים לחזות כישלונות לפני שהם מתרחשים, להפחית את הזמן ולמנוע נזק קטסטרופלי.
מערכות רכישת נתונים (DAQs) לעתים קרובות להשתמש FFT בתהליכים שלאחר עיבוד כדי לעזור למהנדסים לנתח תשובות תדרים ברטטים מכניים, בדיקות מבניות, או אקוסטיקה.זה מספק הבנה עמוקה יותר של ביצועי המערכת ומבטיח כי אותות נשארים בתוך פרמטרים מקובלים. מהנדסי סטרקטיאל משתמשים ב-FFT כדי לנתח את הרטטים של בניית הגשר, להבטיח מבנים יכולים לעמוד בפעילות סיסמית ועומסים דינמיים אחרים.
הוא כבר מיושם לעבר קודים אדריכליים כך מבנים עשויים לעמוד בגלים הסיסמית החזקים ביותר.על ידי הבנת תגובת התדירות של מבנים, מהנדסים יכולים לעצב מבנים כי נמנעים מתדרים חוזרים שעלולים להוביל לכישלון קטסטרופלי במהלך רעידות אדמה.
יישומים מדעיים ומתמטיקה
FFT משמש גם בפיסיקה ומתמטיקה כדי לפתור משוואות שונות חלקית (PDEs) תופעות פיזיות רבות מתוארות על ידי משוואות שונות כי הם קשים או בלתי אפשריים לפתור אנליטית. FFT מספק שיטה רבת עוצמה לפתרון משוואות אלה על ידי הפיכתם לתחום התדר, שבו הם לעתים קרובות הופכים משוואות אלגבריות פשוטות יותר.
חלק מהיישומים החשובים של FFT כוללים: אלגוריתמים רב-תחומיים גדולים ו-פולינומיס רב-תכליתי, מטריקס-תועלת-הרובר ל-Toeplitz, circulant ו- matrices מובבנים אחרים, סינון אלגוריתמים מהירים עבור cosine דיסקרטי או חטא הופך.יישומים מתמטיים אלה מרחיבים את התועלת של FFT הרבה מעבר לעיבוד אותות מסורתיים לאלגוריתמים חישוביים ועיצוביים.
זה יכול לשמש כדי להאיץ את הכשרת רשת עצבית מהפכתית.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.ר.להפוך את זה יכול למעשה להאיץ את תהליך ההכשרה של רשתות עצביות מהפכתיות בשימוש בזיהוי תמונות ומשימות ראיית מחשב.
ניתוח פיננסי וכלכלי
יש לו גם יישומים במימון, שבו ניתן להשתמש בו כדי להציג דרך ללמוד תנועות מחירים בזמן אמת. אנליסטים פיננסיים משתמשים FFT כדי לזהות דפוסים מחזוריים בנתונים בשוק, לפרק את סדרות זמן לתוך מגמות ורכיבים עונתיים, ולזהות תקופות באינדיקטורים כלכליים.ניתוח תדר זה ניתוח דו-קיום יכול לחשוף דפוסים מוסתרים שקשה להבחין בנתונים עתירי זמן גולמיים.
דרישות מתפתחות
האלגוריתם המהיר של שאור עבור אופטימיזציה של מחשב קוונטי יש תת-קרקעית כדי למקם DFT של וקטור בינארי.זה מיושם כרצף של 1- או 2bit קוונטית שערים ידועים כיום כ- קוונטים FFT, אשר למעשה Cooley-Tukey FFT הבין כגורם מסוים של ארבעת matrix. Quantum מחשוב מייצג גבול שבו עקרונות FFT הם מותאמים לאלגוריתמים פוטנציאליים, כלומר אלגוריתמים חישוביים פוטנציאליים אלגוריתמים חישוביים.
שינויים מתקדמים ב-FFT וטכניקות
קיצור של Short Time Fourier Transform (STFT)
שינויים של FFT כגון קצר זמן רב ארבעייה להפוך גם לאפשר ניתוח בו זמנית ותחומי תדר.טכניקות אלה ניתן להשתמש עבור מגוון של אותות כגון אודיו ודיבור, מכ"ם, תקשורת, ואותות נתונים אחרים חיישן. STFT מחלק אות לתוך פלחים קצרים ומצמיד את ה-FFT של כל קטע, ומספק מידע בתדר זמן.
שם הסרטון: AFPR-Radix Algorithms
יישומי Active-radix מטפלים בגדלים מורכבים עם מגוון של גורמים (בדרך כלל קטנים) בנוסף לשניים, בדרך כלל מעסיקים את אלגוריתם O(N2) עבור מקרים הבסיס הראשוני של הסיור.חלק קורנקס מתמזג קורנים 2 ו-4, ניצול העובדה כי השינוי הראשון של רדיוקס 2 דורש לא twidle factor, כדי להשיג מה היה ארוך הניתוח הקידוד הנמוך ביותר הידוע עבור ביצועים מתקדמים ואופטימיזציה של שני גדלים ספציפיים.
ראשי התיבות של FFT Algorithms
כאשר שיטת Cooley-Tukey נכשלת היא כאשר אורך קלט N הוא מספר ראשוני (למשל, 37, או 257), ולא ניתן לחלק אפילו לחתיכות. במקרים אלה, שיטות חלופיות פותחו אשר עדיין השיגו זמן ריצה שמאזניים כמו N log N. אלגוריתמים מיוחדים כגון אלגוריתם של ראדר ואלגוריתם של Bluestein מטפלות על ידי שינויים גדולים, ביעילות כי הביצועים FFT נשאר בגודל אופטימלי של לא משנה עד כמה.
הוראות יישום מעשי
בחירת גודל FFT הנכון
בחירת גודל FFT מתאים כרוך איזון של פתרון תדירות, רזולוציה זמן, ויעילות חישובית.גדלים גדולים יותר FFT לספק פתרון תדירות טובה יותר אבל דורש יותר חישוב ולהפחית את ההחלטה זמן. עבור כוח- of-Two גדלים, אלגוריתם הרדינקס-2 מספק ביצועים אופטימליים. כאשר אורך האות הטבעי אינו תואם כוח של שניים, אפס- ⁇ ניתן להשתמש כדי להרחיב את האות לכוח הבא של שני, אם כי זה מציג כמה פריטים יש לשקול.
ניהול זיכרון ו-In-Place Computation
יישום FFT יעיל לעתים קרובות לבצע חישובים במקום, כלומר את הפלט מעדכנת את מערך הקלט כדי למזער את השימוש בזיכרון. גישה זו חשובה במיוחד עבור מערכות משובצות ויישומים בזמן אמת שבו הזיכרון מוגבל.עם זאת, חישובים במקום בדרך כלל תוצאות בסדרות תפוקה מופחתת, הדורשת צעד נוסף ללא הפרעה כדי לשחזר את הסדר הטבעי.
שיקולים ראשוניים
שימו לב, כי אלגוריתם FFT שהוצג כאן פועל בזמן O(n di n) אבל זה לא עובד עבור להכפיל פולינומיסים גדולים שרירותיים עם אפקטיביות גדולה שרירותית או להתרבות של חומרים גדולים שרירותיים גדולים. זה יכול בקלות להתמודד עם פולינומיס של גודל 105 עם מזהמים קטנים, או להכפיל שני מספרים של גודל 106, אשר בדרך כלל מספיק לפתרון בעיות תכנות תחרותיות.
אופטימיזציה של חומרה-Specific Optimizations
יישום FFT על מכשירים לוגיים הניתנים לתוכנה אינו פשוט כמו יישום תוכנה. החלטות נכונות על ההנדסה עסקאות כמו מהירות דיוק או קוד לא יעיל יכול להשפיע על האיכות והביצועים של יישום.עם הכלים MATLAB ו- Simulink Code, קל ליישם FFT על מכשירים חומרה שונים, ממעבדים למטרות כלליות כגון ARM למכשירים מיוחדים יותר כגון FPGA.
מעבדים מודרניים עם SIMD (Single הוראה, מספר נתונים) יכולים לעבד מספר נקודות נתונים בו זמנית, באופן משמעותי מאיץ חישוב FFT. GPU יישום יכול להשיג אפילו מהירות גדולה יותר עבור שינויים גדולים על ידי ניצול מקבילות מסיבית.DSP (DSP (Digital Process) שבבים כוללים לעתים קרובות יחידות FFT ממוחזר חומרה מותאם אישית עבור יישומים לעיבוד אותות בזמן אמת.
מלכודות נפוצות וכיצד להימנע מהם
המונחים: Leakage
בהמרה הארבעה, ההנחה היא שמגזר האות המדגם חוזר על עצמו מעת לעת לתקופה אינסופית של זמן.זה מביא שתי מסקנות: ה-FFT מתאים רק לסימנים תקופתיים.החלק המדגם חייב להכיל מספר שלם של תקופות.כאשר תנאים אלה אינם מובנים, דליפה ספקיתיתית מתרחשת, גרימת אנרגיה מתדירות אחת להתפשט לתוך חלון הסמוך.
המונחים:
עליסוס מתרחש כאשר שיעור הדגימה אינו מספיק כדי ללכוד את רכיבי התדר הגבוהים ביותר בסימן.זה גורם רכיבים גבוהים קידוד להופיע בתדרים נמוכים יותר בפלט FFT, משחית את הניתוח.נכון נגד הפליה המסננים ודבקות בקריטריון Nyquist הם הכרחיים למנוע את החפץ הזה.In בפועל, דגימה בקצב גבוה משמעותית מאשר המינימום מספק שולי אבטחה ופילטרים עיצוביים.
DC Offset ו- Trend Removal
DC offsets (לא אפס פירושו ערכים) ומגמות ליניאריות בסימן קלט יכול לשלוט על הבקתות הנמוכות של פלט FFT, obscuring רכיבים אחרים של עניין. הסרת הערך הממוצע וניתוק האות לפני יישום FFT לעתים קרובות לשפר את איכות הניתוח.צעד זה preמעבד הוא חשוב במיוחד כאשר ניתוח אותות עם רכיבים איטיים או סחף.
פיתוחים עתידיים ודרכים מחקר
מחקר FFT ממשיך להתקדם בחזיתות מרובות.ועידת SIAM על עיבוד במקביל עבור מחשוב מדעי הציג מיניזימפוזיון על "דור הבא FFT Algorithms בתיאוריה ופרקטיקה: יישום מקביל ויישומים" "פגישה זו הביאה יחד מגוון של חוקרים אשר לומדים אלגוריתמים מתקדמים (FFT) ויישומים מקבילים שלהם מתמקדת בקידוד FFT עבור ארכיטקטורות מודרניות, כולל מערכות מחשוב רב-מעבדות, כולל CPU-מחדש, מערכות מחשוב מתקדמות.
בשנת 1971 Schönhage ו-Sasr פיתחו וריאציות עבור מספרים שרירותיים אשר חלים על ה- FFT חוזר באופן חוזר במבנים טבעות פועל ביומן O(n log n) ולאחרונה (ב 2019) הארווי ו- van der Hoeven פרסמו אלגוריתם שפועל ביומן O(n di n) ההתקדמות התיאורטית להמשיך לדחוף את הגבולות של מה שאפשר חישובי, עם השלכות קריפטוגרמטיות, מספר, מתמטיקה ומתמטיקה.
יישומים מתפתחים בלמידה של מכונות, מחשוב קוונטי, וניתוח נתונים גדול הם דרישה אפילו מהר ויעיל יותר יישום FFT. החוקרים בוחנים אלגוריתמים חדשים המנצלים תכונות חומרה ספציפיות, שיטות הסתגלות אשר באופן אוטומטי אופטימיזציה למאפיינים שונים של קלט, ואלגוריתמים משוערים FFT אשר סוחרים דיוק כלשהו לשיפורי מהירות דרמטיים ביישומים שבהם דיוק מושלם אינו נדרש.
מסקנה
חשיבותו של FFT נובעת מהעובדה כי היא עשתה עבודה בתחום התדרים באופן חישובי באותה מידה, כפי שעובד בתחום זמני או מרחבי.יכולת בסיסית זו שינתה אינספור תחומים, מטלקומוניקציה ועד הדמיה רפואית, מהנדסת אודיו ועדה לניתוח פיננסי.הFFT עומד כעדה לאופן שבו אלגוריתם מבריק יכול לחולל מהפכה בתעשיות שלמות ולאפשר לטכנולוגיות אחרות להיות בלתי אפשריות.
Fast Fourier Transform (FFT) הוא כלי חיוני בניתוח אותות מודרני, המאפשר לך לשבור אותות מורכבים זמן דו-קיום לתוך רכיבי התדר שלהם.אם אתה מזהה רעש, ניתוח הרמוניים, או ללמוד אותות מודולים, FFT מפשט את זרימת העבודה שלך ומסייע לך לחשוף תובנות קריטיות.
ככל שיכולות חישוביות ממשיכות להתקדם ויישומים חדשים להופיע, ה-FFT ללא ספק יישאר אבן הפינה של עיבוד אותות דיגיטליים.אם אתה מיישום FFT בסיסי לפרויקט סטודנט או מערכת ביצועים גבוהה עבור יישומים תעשייתיים, העקרונות המפורטים במדריך זה לספק בסיס מוצק לניתוח אותות יעילים.
המסע מתובנותיו המוקדמות של גאוס ליישום מודרני של GPU-מחדש לאורך מיליארדי נקודות נתונים מדגים את הכוח המתמשך של אלגנטיות מתמטית בשילוב עם חדשנות אלגוריתמית.כפי שאנו ממשיכים לדחוף את הגבולות של מה שניתן מבחינה חישובית, ה- Fast Fourier Transform נשאר כלי חיוני להבנת ומניפולציה של תוכן התדר של אותות על פני כל תחום של הנדסה ומקורות נוספים על יישומים נרחבים, אשר דורש הדרכה FFT1, ומעבדה.