31.03.2014 Views

שיפור מודל פרמטרי לקידוד אותות שמע בקצבים נמוכים - SIPL - הטכניון

שיפור מודל פרמטרי לקידוד אותות שמע בקצבים נמוכים - SIPL - הטכניון

שיפור מודל פרמטרי לקידוד אותות שמע בקצבים נמוכים - SIPL - הטכניון

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

האלגוריתם המתואר בסעיף זה הוא אחד משני רעיונות למציאת תדרים יסודיים,‏ שפותחו במהלך<br />

העבודה ‏(האלגוריתם השני מתואר בסעיך<br />

.(6.6<br />

האלגוריתם מבוסס על חיפוש הרמוניות בתחום התדר.‏ הקלט למערכת הוא קבוצה של תדרים,‏<br />

המחושבת במודל הסינוסואידלי.‏ האלגוריתם מחפש תדר ‏(או מספר תדרים)‏ שכפולותיו יחפפו עם<br />

מספר רב של איברי קבוצת התדרים.‏ ההרמוניות צריכות להיות רציפות כמה שיותר,‏ כלומר יש<br />

למנוע מצבים בהם חסרים הרמוניות.‏<br />

האלגוריתם מפיק מספר תדרים,‏ חלקם הם תדרים יסודיים,‏ חלקם כפולות שלהם וחלקן חלוקה<br />

שלמה של תדר יסודי.‏ לא בהכרח כל התדרים היסודיים נמצאים,‏ וזאת בגלל רזולוציית תדר<br />

מוגבלת.‏<br />

מתוך התדרים ‏(תפוקות)‏ בוחרים את התדרים שנותנים את התוצאות הטובות ביותר מבחינת<br />

דחיסה,‏ לא בהכרח תדרים יסודיים עצמם,‏ לפעמים חלוקה שלמה של התדרים.‏<br />

לדוגמה,‏ אות הכולל את התדרים היסודיים:‏<br />

.330Hz ,220Hz<br />

לעיתים,‏ עדיף יהיה לבחור בתדר המשותף לשניהם,‏ ,110Hz משיקולי דחיסה בלבד.‏ לעיתים עדיף<br />

יהיה לייצג רק אחד מהם,‏ למשל רק את<br />

,330Hz<br />

כיוון שלתדר היסודי השני ישנן מעט הרמוניות,‏<br />

או שהתדר 330Hz חופף עם מרבית ההרמוניות של .220Hz<br />

לכן,‏ לא בהכרח נעדיף את התדרים היסודיים האמיתיים,‏ אלא את התדרים שיתנו את ייצוג<br />

המתאים ביותר,‏ משיקולי דחיסה.‏<br />

האלגוריתם מתואר<br />

בשלבים הבאים,‏<br />

כאשר הקלט הוא קבוצה של M<br />

תדרים<br />

‏(המופקת במודל<br />

הסינוסיואידלי),‏ שתסומן ע"י<br />

.{ F} M i = 1<br />

{ F} M i 1<br />

בהנחה שתדרי הבסיס נמוכים מ-‏ ,2000Hz<br />

=<br />

הקטנים מ<br />

בוחרים את כל התדרים מתוך<br />

•<br />

תדר יסודי.‏<br />

2000Hz ונסמנם ב-‏<br />

.optional_pitches<br />

כל אחד מהתדרים האלו יכול להיות<br />

מייצרים מטריצה A בגודל .size(optional_pitchs) x 10 כל שורה במטריצה מייצגת את<br />

אחד התדרים בקבוצה<br />

,option_pitchs<br />

התדר.‏ במטריצה יש שני ערכים אפשריים:‏<br />

כאשר קיימת הרמוניה.‏<br />

וכל עמודה מייצגת את מספר ההרמוניה של<br />

.'1' '0' או '0'<br />

במקרה שאין הרמוניה ו-‏<br />

'1'<br />

•<br />

קיום של הרמוניה מוגדר כאשר כפולה של תדר יסודי רחוקה מתדר בקבוצה<br />

סטייה מקסימלית.‏ נהוג להשתמש בסטייה של 1% מהתדר עצמו.‏<br />

חישוב המטריצה A נעשה לפי,‏<br />

{ F} M i = 1<br />

עד<br />

A<br />

n,<br />

m<br />

⎧ 1 , Fi<br />

− m⋅option_<br />

pitchesn<br />

< D<br />

= ⎨<br />

⎩0<br />

, else<br />

(6.7)<br />

- 68 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!