בעולם המתפתח במהירות של האינטרנט של דברים (IoT) מכשירים, עיבוד אותות יעיל הוא חיוני.ל-סדר נמוך תגובה אימפולסיבית (IIR) מסננים הם אפשרויות פופולריות בשל הפשטות והיעילות החישובית שלהם. מאמר זה מספק מדריך מקיף לעיצוב מסננים אלה, כיסוי תיאוריה, יישום מעשי ושיטות הטובות ביותר לשיפור ביצועי IoT.

מידע על Low-order IIR Filters

מסננים IIR הם מסננים דיגיטליים המאופיינים על ידי משוב, כלומר הפלט שלהם תלוי הן את הקלטים הנוכחיים והעבריים, כמו גם את הפלט הקודם.המונח "סדר נמוך" מתייחס בדרך כלל לסננים עם אחד או שניים או שניים או שניים אפסים - סדר ראשון או מסננים מסדר שני.ה זו מתאימה במיוחד למכשירים מ-IoT מאומנים משאבים, כי הם דורשים פחות פעולות פחות מכפילכות זיכרון דומה (Fite פחות או יותר מאשר מסננים).

מסנן IIR הראשון הזמנה יש פונקציה העברה של הטופס:

(ב) .

מסנן IIR השני (נקרא לעתים קרובות biquad) יש את הטופס:

(ב) 1

(הופנה מהדף ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

מסננים iIR נמוך הצטיין במשימות כגון ירידה רעש, אות חלקה, ובחירת תדר.לדוגמה, מסנן נמוך פאס יכול להסיר רעש גבוה ⁇ מ חיישן טמפרטורה, בעוד מסנן גבוה יכול להסיר את ה- DC בסימן מאיץמטר.הטבע שלהם חוזר מאפשר לגלגל חד- off עם מעט מאוד אפקטיביות, מה שהופך אותם אידיאלי עבור מכשירים מופעלים סוללות שבו כל מיקרו-אמפ של זיכרון הנוכחי וספירה.

עקרונות עיצוב

בחירת מסנן סוג

הבחירה של אבטיפוס מסנן (analog או דיגיטלי) מגדירה את העודף בין שטוחות פס, ירידה בעצימה, ואת לינאריות שלב.

  • (FLT:0) ButterworthFLT:1: מספק פס שטוח מקסימלי ללא ripple.It מציע מולט-off מונוטוני, אבל דורש סדר גבוה יותר כדי להשיג תנופה נתונה לעצירה בהשוואה לסננים צ'בישייב לעתים קרובות העדיפו עבור חיישן אות חיישן שבו דיוק מפוסל הוא קריטי.
  • (ב) (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (FLT:0)BesselveFLT:1; אופטימיזציה לתגובה של שלב ליניארי (עיכוב קבוצתי), שמירה על הצורה של האות בתחום הזמן.עם זאת, מסנני Bessel יש גלגל איטי יותר. אידיאלי עבור יישומים שבהם יש צורך overshooting וצלצולים יש למזער, כגון בלולאות שליטה או צלבים.
  • (ב) ,0) אלאוליטי (Cauer)FLT:1: מספק את ה-Switch התלולה ביותר עבור הזמנה נתונה על ידי מתן ripple בשני פסים ו- stopband.

עבור רוב יישומי IoT מסדר נמוך, Butterworth ופילטרים של צ'בישאר מספקים איזון טוב.העיצוב המסנן מבוצע לעתים קרובות ב- s-domain בזמן מתמשך באמצעות שולחנות אבטיפוס רגילים, ולאחר מכן הופך ל- z-domain ה- tretetime באמצעות שינוי לינארי (עם pre-warping) או דחף בשיטת השחלות.

עיצוב מפתח Parameters

  • (FLT:0)Cutoff Frequency (fc)cioFLT:1: תדירות התגובה גודל המסנן טיפות על ידי 3 dB (עבור נמוך / גובה) חייב להיות נבחר יחסית לתדירות הדגימה (fs) עבור מסננים דיגיטליים, תדירות הנורמלית נע בין 0 ל -0.5 פעמים שיעור הדגימה (Nquist Limit).
  • (ב) ,0 (Fiter Order (N)FLT:1: עבור מסננים מסדר נמוך, N הוא 1 או 2. הזמנות גבוהות ניתן להבין על ידי סדקים מרובים דו-מדומים, אבל המאמר מתמקד בעיצובים חד-ממדיים.
  • (FLT:0) Passband Ripple ו-Stopband AttenuationFLT:1: קריטי עבור צ'בישייב ופילטרים אלפליפטיים. a Common Passband ripple of 0.5 dB מקובל ביישומים רבים של חיישן IoT.הפסק בעצימה של 20-40 dB הוא לעתים קרובות מספיק כדי להסיר מקורות רעש טיפוסיים.
  • (FLT:0)Stability MarginsFLT:1: עם סטויינט קבוע, סיבוב יעיל יכול לדחוף כתמים מחוץ למעגל היחידה.בחר ייצוגים יעילים עם מספיק סיביות (למשל, Q15 או Q31 פורמט) ולוודא מיקומים לאחר הקוונטים.

החלפה בתכנון נמוך

המגבלה העיקרית של מסנני IIR זולים היא ה-Switch ההדרגתי (slope) וקבוצת מעבר רחבה יותר בהשוואה לסננים מסדרים גבוהים יותר. A First-order low-pass filter intenuates רק 20 dB לעשור, בעוד מסנן שלב שני מספק 40 dB לעשור.עבור יישומים רבים - כגון סינון 50/60 ⁇ ראשי לחות מ- נמוך חיישן זמני (בדרך כלל) צורך ב- CPU גבוה יותר, או פילטרים) עלות גבוהה יותר, או עלות, או עלות אבטחה גבוהה יותר, או עלות, או עלות גבוהה יותר, או עלות גבוהה יותר, אם יש צורך, או עלות של סדר אחר, או עלות גבוהה יותר עלות זיכרון RAM (או פילטר) עלות) עלות גבוהה יותר, או עלות גבוהה יותר, עלות גבוהה יותר, או עלות גבוהה יותר, עלות גבוהה יותר, עלות גבוהה יותר, כלומר, עלות פילטרים (או פילטרים) עלות CPU) עבור יישומים של נתונים של נתונים של יותר, אם יש צורך ב-ידי פילטרים (או פילטרים) עלות CPU) עלות גבוהה יותר, עלות פילטרים) עלות CPU)

תהליך העיצוב

תכנון מסנן IIR נמוך עבור מכשיר IoT כרוך כמה שלבים שיטתיים.אנחנו ממחישים זרימת עבודה טיפוסית באמצעות מסנן דו-צדדי נמוך-pass כדוגמה.

שלב 1: מיפוי

Determine את תדירות קצה הפס (fp), תדירות קצה קצה (fs), פס פס ripple (Ap), ו-Apband Attenuation (למשל, אנו עשויים לרצות מסנן נמוך עם קיצוץ של 3dB ב 10 − 0 0 0, עצירה קצה כף רגל לפחות 30 הרץ עם לפחות 20 Btenuation, וקצב של 100 / 0 = 0 = 2 = 0 = 0 = 0 = 2 = 0 = 0 = 2 = 0 = 2 = 0 = 0 = 2 = 2 = 0 = 0 = 0 = 2 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 2 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 0 = 2 = 2 = 0 = 0 = 0 = 0 = 2 = 2 = 0 = 0 = 0 = 0 = 0 = 2 = 2 = 0 = 0 = 0 = 0 = 0 = 0 = 0.10 = 0.10 = 0 = 0 = 0.10 = 0 = 0 = 0 = 0 = 0 = 0 = 0.

שלב 2: בחר פרוטוטיפ ומסדר

בחר סוג מסנן ולמצוא את ההזמנה הנדרשת באמצעות תרשימים או נוסחאות.עבור מסנן Butterworth, ההזמנה N satisfies:

(ב) 2

בדוגמה שלנו, עם AS=20 dB, Ap=3 dB (למעשה ההתייחסות היא לעתים קרובות הנקודה 3-DB), Butterworth הזמנה ראשונה מניב רק 7DB ב 30 הרץ (20DB / decade, יחס 3:1 נותן -11 dB אטמוation, לא מספיק). order II-pworth נותן 40B /de, כך ב × 30 * × 20* × 0102 הוא כמעט .

שלב 3: Determine Analog Prototype פולנים ו- Zeros

עבור דופן שני הזמנה של Butterworth נמוך-pass, הקטבים האנלוגיים הנורמליים נמצאים ב s = -0.70 ± J0.7071 (עבור קיצוץ של 1 rad/s) השתמשו לפני ההארה אם מתכננים באמצעות שינוי דו-לינארי: תדר קריטי מראש ⁇ a = 2 / T) t1.8*T / 1 / 0.01 = â â ¢ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

שלב 4: בינארית - Digital

החל את הפונקציה העברת ההחלפה = (2/T) * (z-1) /(z+1) עבור פונקציה אנלוגית מסדר שני, מניפולציה אלגברהית מניבה את התקני התווך הדיגיטליים. לחלופין, השתמש בנוסחאות ידועות או שולחנות עיצוב. עבור קצב נמוך דו-ק-קאפ עם חיתוך ⁇ c (דיגיטל), coefficients יכול להיות מוגדר כצורה סטנדרטית (צורה:

(ב) ויקרא י"ד: ויקרא י"ד: ויקרא י"ד:5 ויקרא י"ד:2 ויקרא יט:2 ויקרא יט:2 ויקרא יט: ויקרא יט:

עבור 10 הרץ שלנו חיתוך 100 הרץ דגימה, אתא = 0.628, חטא (theta)=0.588. Plugging מספרים מניבים אפקטיביות אשר להבטיח יציבות.כלי כמו FLT:0 אנרכי התקנים מסנן מסנן WizardigFLT 1 או FLT:2TIProFLT 3 , 000 אוטומטי לעשות את הצעד הזה.

שלב 5: קביעת מזהמים עבור קבוע-Point

מיקרובקרים IoT לעתים קרובות חסרים יחידות צף צף.המיר חסכוניים צף לייצוג קבוע, כגון Q15 פורמט (16-bit חתום עם 15 סיביות זעירות). Quantization מציג שגיאה עגולה; לבדוק כי התקני קוהרנטגן הקוונטיים אינם גורמים לאי יציבות.עבור מסנן הזמנה שנייה, אפילו 16 סיביות הוא בדרך כלל מספיק אם המיקומים אינם קרובים מאוד למחזור התחתון.

שלב 6: יישום ההבדל

המבנה הזמני או השני של IIR הוא נפוץ עבור הזמנה נמוכה IIR.השורה הראשונה transposed מומלץ מופחת רעש קוונטי ומניעת זרימה. משוואה ההבדל עבור מסנן הזמנה שנייה הוא:

[01: 51]

כל המשתנים צריכים להיות בקנה מידה מתאים כדי להימנע מזרימה.לנקודת קבוע, להשתמש בקידוד ריצוף או accumulators כפול אם זמין (למשל, 32 סיביות accumulator עבור 16 סיביות והנתונים) ספקים מיקרובקר רבים לספק ספריות DSP אופטימיזציה, כגון ARM CMS-DSP, הכוללים פונקציות מסונכרות עם פונקציות מסוננים כראוי.

יישום בתקני IoT

יישום מסננים זולים של IIR על microcontrollers דורש תשומת לב פריסת זיכרון, חוסר שקיפות, צריכת חשמל.כאן הם שיקולים מעשיים:

המונחים: point Arithmetic Strategies

רוב ARM Cortex-M0/M4 microcontrollers תומכים 32 סיביות פעולה גישה נפוצה היא לאחסן אפקטיביות ונתונים כ 16 סיביות חתום integers בפורמט Q15 (טווח -1.0 עד 0.9999) Multiplications לייצר תוצאות 32 סיביות; עבור דו-quad, השתמש במעבורת כפולה ולאחר מכן לעבור 16 LTate לאחור ל- 16 סיביות זה נמנע ביעילות פונקציות צף כגון:

מינימום זיכרון וקוד

דו-ממדי יחיד דורש אחסון של 5 מזהמים ו- 2 משתנים (עבור רצף ישיר) כלומר 7-10 מילים 16-bit - רשלנות על כל MCU מודרני, הלולאה מסנן ניתן לכתוב בשלוש או ארבעה שורות של קוד C. עבור ערוצים מרובים (למשל, אודיו סטריאו או multi-sensor), לשתף את אותם אפקטיביות אבל לשמור על גישה ליניארית ללא קשקשים.

מבצע זמן אמיתי

מכשירים IoT לעתים קרובות דגימות חיישנים בשיעור נמוך (1 הרץ עד 1 kHz) מסנן דו-קולי יחיד צורך רק כמה מיקרו-שניות של זמן CPU לדגימה, משאיר זמן רב עבור משימות אחרות.עבור זרימת נתונים רציפה, ליישם את המסנן בשגרת שירות להפריע (ISR) או באמצעות buffer מעגלי DMA ייעודי ניתן לשנות על-fly אם המכשיר צריך להתאים את המצב, אך הוא לבצע את זה הוא קבוע.

אופטימיזציה

צריכת חשמל היא דאגה עיקרית עבור טבלאות IoT מופעלות סוללות.הפילטר עצמו תורם מעט מאוד למשיכה כוח הכוללת - לעתים קרובות פחות מ 0.1% של אנרגיית MCU בעת ריצה במהירויות שעון נמוכות. עם זאת, מסנן יכול לאפשר ל- MCU להשתמש בשיעורי דגימות נמוכים יותר או לישון יותר בין דגימות.על ידי הסרת רעש לפני זיהוי הסף, המכשיר יכול לגרום פחות לעתים קרובות, לשקול שימוש אנלוגי אנטי-aliaings לפני פילטרים, לפני פילטרים דיגיטליים, כדי להפחית את דרישות חישוביות.

יתרונות ומסחר של מסננים של Low-EIR

יתרונות

  • (ב) ,0) ללו מורכבות חישובית של מורכבות: בדרך כלל 5 מכפילים לדגימה עבור הזמנה שנייה, בהשוואה לעשרות או מאות עבור מסנן FIR.
  • (ב) ,0) עיבוד FLT:1: מתאים ליישומים בזמן אמת עם שיעורי דגימה גבוהה (למשל, אודיו עד 48 kHz).
  • (ב) [15] דרישות זיכרון מינימליות: רק כמה משתנים ממשלתיים וקורטיזטים, אין צורך ב-Fbuffer.
  • (ב) ,0) ,(א) ,(א) , עיין בספריות MCU DSP; קוד הוא קצר וקל לאמת.
  • (ב) ,0) ,להתרחשות טובה לפי סדר יום ראשון: הזמנה שנייה IIR יכולה לפרט את ה-FIR מסדר גבוה כאשר שלב ליניארי אינו נדרש.

סחר-offs ומגבלות

  • (FLT:0) תגובה שלב לא ליניארית של שלב 1LT: לסננים IIR יש עיכוב קבוצתי תלוי תדירות, אשר יכול לעוות צורות אותות.זה בעייתי ביישומים כמו ECG או מכ"ם שבו שלב מתאם משנה.
  • (FLT:0) חוסר יציבות מבחינה רגשית: קוונטיזציה יעילה, במיוחד בנקודת קבוע, יכולה לדחוף את הקטבים מחוץ למעגל היחידה.
  • (FLT:0) לימיטה של תלול רול-off: עבור הזמנה נתונה, רצועת המעבר היא רחבה יותר משווה ערך FIR עם הרבה טאקים.אם אתה צריך חתך חדה מאוד, אתה חייב לשקד מספר רב של דו-קולות, מורכבות מוגברת.
  • (ב) אין שלב ליניארי שלבFLT:1: מסננים FIR יכולים להשיג שלב ליניארי בדיוק, מה שהופך אותם מועדפים עבור תקשורת נתונים מסוימים עיבוד תמונה.
  • (FLT:0) רגישות לסיבוב סביבות ההרחבה: אליפותטי מסננים ועיצובים גבוהים סובלים משינויים יעילים גדולים עקב הקוונטים, הדורשים דיוק גבוה יותר (למשל, 32 סיביות קבוע או נקודת צף).

למרות אלה עסקאות סחר-offs, רוב משימות סינון חיישן IoT (זמן, לחות, לחץ, רטט, אודיו פשוט) ניתן לשרת כראוי על ידי מסננים iIR זולים מעוצבים היטב.

יישומים מעשיים ודוגמאות

ניכוי רעש בחיישנים טמפרטורה

פלט חיישן טמפרטורה מכיל לעתים קרובות רעש גבוה ⁇ מ ADC קוונטיזציה והתערבות אלקטרומגנטית. A הראשון מסדר נמוך מסנן IIR עם חיתוך של 0.1 הרץ (אם דגימה ב 1 Hz) חלק את הקריאה ללא הוספת lag משמעותי.האפקטים עבור מסנן כזה הם מאוד פשוטים - לעתים קרובות אלפא קבוע שבו yn = * n) + אלפא (1-p) אחד 0.

DC Offset Removal ב Accelerometers

Accelerometers המשמשים מעקב פעילות או ניטור רטט לעתים קרובות יש רכיב DC בשל הכבידה. מסנן גבוה עם חתך נמוך מאוד (למשל, 0.5 הרץ) יכול להסיר את ההתפרצות הזו תוך העברת אותות דינמיים. a Second-order Butterworth גבוה עקפה דו-חמצני מספק גלגל חד- off ליישב במהירות לאחר ההתחלתיזציה.

אודיו מראש הצעות לקודות קוליות

מכשירים דיגיטליים עם מיקרופון משתמשים במסננים מסדר נמוך כחלק משרשרת זיהוי פעילות קול (VAD) מסנן פס-פס (ארקייד של פאס נמוך ופס גבוה) המתמקד בטווח הקול (300–3400 ), מקטין רעש רקע לפני האכלה לתוך גלאי של מילת-התעוררים.הפילטרים חייבים להיות מתוכננים בקפידה כדי למנוע עיוות שלב שיכול להשפיע על המורכבות של תכונות אודיו, לפעמים עדיף על גבי מסנן.

Power Line Noise Rejection

עבור חיישנים המדידה אותות ברמה נמוכה ליד מרכזי AC, מסנן אינץ ' (פס-stop) ב 50/60 הרץ הוא חיוני. מסנן IIR לאנץ 'הסדר השני יכול להיות תוכנן עם מצג צר מאוד. הפונקציה העברה מקומות אפס על מעגל יחידה בתדירות לאנץ '.המסנן דורש משככי דיוק גבוה כי אפסים הם בדיוק על המעגל; נקודה קבועה חייב לטפל זה, לעתים קרובות דורש טיפול בזהירות.

מסקנה

תכנון מסננים זולים עבור מכשירי IoT הוא איזון מעשי בין איכות אותות ושימור משאבים. על ידי בחירת סוג מסנן המתאים והגדרה בקפידה של coefficients, מפתחים יכולים להשיג הסרת רעש יעילה ובחירת תדר עם מינימום CPU וזיכרון טביעת הרגל.הפשטות של ה-IoT הראשון ושנית מסננים מסדרה הופכת אותם אידיאליים עבור חיישנים מופעלים סוללות, צגים בריאים, ומכשירים חכמים תמיד לאחר אימות של יעילות של יישום של כלי עיבוד מיידי של כלי פעולה.