به نام خدا
بازشناسی گفتار
نیمسال دوم 59-59
دکتر صامتی
دانشکده مهندسی کامپیوتر
پاسخ تمرین سری اول
پردازش front-endگفتار
زمان تحویل 26 :اسفند 9359
سوال .1می دانیم که قبل از انجام تحلیل پیشبینی خطی ( )LPCاز تکنیک پنجرهگذاری استفاده میشود .به طور دقیقتر ،اگر
سیگنال صوت را با ]𝑛[𝑥 و پنجره را با ]𝑛[𝑤 نشان دهیم طوریکه
𝑛 ≤ 𝑁 & 𝑓𝑜𝑟 𝑛 < 0
𝑤[𝑛] = 0
برای تحلیل پیشبینی خطی ابتدا یک قسمت از سیگنال را با استفاده از ]𝑚 𝑥𝑚 [𝑛] = 𝑥[𝑛]𝑤[𝑛 −انتخاب می کنیم و سپس
تحلیل را بر روی سیگنال ]𝑛[ 𝑚𝑥 که طول محدود 𝑁 را دارد انجام میدهیم.
الف) توضیح دهید چرا از این تکنیک استفاده میشود؟ چرا تحلیل را روی کل سیگنال ]𝑛[𝑥 انجام نمیدهیم؟
ب) تاثیر نوع پنجره چیست؟ میدانیم که برای مثال پنجرۀ همینگ در دو انتهایش به سمت صفر میل میکند و از آنجایی
که در سیگنال اولیه ضرب میشود ،منجر به کاهش اندازه سیگنال در دو سمت (نسبت به وسط پنجره) میشود.
ب )1-آیا این مساله مشکلی در محتوای سیگنال ایجاد نمی کند؟
ب )2-چرا با وجود اینکه پنجره مستطیلی این مشکل را ندارد ،در عمل پنجرۀ همینگ ترجیح داده میشود؟
پ) تاثیر طول پنجره چیست؟ چه طولی را می توان بهینه دانست؟ آیا طول بهینه به سن/جنسیت گوینده (در سیگنال
گفتار) بستگی دارد ؟ اگر پاسخ مثبت است ،چگونه؟ اگر غیر اینصورت ،علت را شرح دهید؟
ت) فرض کنید wیک پنجره ی مستطیلی باشد .تبدیل فوریه سیگنال پنجره گذاری شده را بر اساس تبدیل فوریه سیگنال
اولیه به دست آورید
پاسخ:
الف) سیگنال گفتار ایستا نیست ،بنابراین هرگونه پردازشی باید روی طولهای محدود از این سیگنال انجام شود تا بتوانیم فرض
کنیم تا حد خوبی ایستا است.
ب) هر پنجره مشخصات خاص خودش را دارد و مطابق آن استفاده میشود .برای مثال ،پنجره همینگ در دو سمت به صفر میل
میکند .این مشخصه در واقع یک مزیت است ،چراکه باعث میشود تغییرات ناگهانی ( )sharpدر سیگنال نداشته باشیم .پنجره
مستطیلی این مشکل را دارد که سیگنال پنجره شده دچار عدم پیوستگی ( transitionناگهانی از صفر به یک عدد بزرگ و
برعکس) میشود و بنابراین مولفه های فرکانسی باال (و نامربوط) در اسپکتروم آن ظهور می کند
پ) طول پنجره اگر خیلی کم باشد ،رزولوشن فرکانسی کمی خواهیم داشت به این معنی که نمونههای حاصل از DFTکم هستند
و بنابراین تحلیل در حوزۀ فرکانس با دقت کمتری انجام خواهد شد .از طرف دیگر اگر طول پنجره زیاد باشد ،ایستایی سیگنال
کمتر میشود؛ ضمن اینکه اگر تحلیل ما مبتنی بر واج باشد ممکن است هر فریم شامل بیش از 1یا دو واج شود که تحلیل را با
مشکل مواجه میکند .بدیهی است برای اینکه مولفههای فرکانسی بتوانند محاسبه شوند ،فریم مدنظر باید شامل حداقل یک دوره
pitchاز سیگنال گفتار باشد .البته برای پنجرههایی مثل hammingکه اندازه سیگنال را تضعیف میکنند باید 2دوره یا بیشتر
در پنجره قرار بگیرد .همچنین میدانیم که فرکانس pitchبه طول حنجره بستگی دارد که از طرف دیگر به سن و جنسیت بستگی
دارد .بنابراین ،طول پنجره به سن/جنسیت بستگی دارد ولی معموالً آن را طوری در نظر میگیرند تا برای عموم افراد مناسب باشد،
به جای اینکه برای گروه خاصی بهینه باشد.
ت)
𝑀𝜔
𝜔𝑗sin ( 2 ) −
𝑁<𝑛≤0
𝜔𝑗
2
= ) 𝑒(𝑊 →
𝑒 𝜔
𝑜. 𝑤.
) sin ( 2
𝑀𝜔
) 2
𝜔
) sin ( 2
( 𝑀 sin
) −𝑗𝜔(𝑚+
2
𝑒
=)
𝜔𝑗
1
{ = ]𝑛[𝑤
0
𝑒(𝑊 → ]𝑚 𝑤[𝑛 −
𝜋 1
𝜃𝑑) )𝜔∫ 𝑋(𝑒 𝑗𝜃 )𝑊(𝑒 𝑗(𝜃−
𝜋2𝜋 −
= ) 𝜔𝑗 𝑒( 𝑚𝑋
سوال .2یک سیگنال صوتی با نرخ نمونهبرداری 22222نمونه در ثانیه ،نمونهبرداری شده است (𝑧𝐻𝐾 .)𝐹𝑠 = 20همچنین
طول قابها برای آنالیز کپسترال 22میلیثانیه و میزان همپوشانی قابها %02میباشد .اگر جهت محاسبۀ DFTاز FFTبا
پایۀ 2استفاده شده باشد ،در اینصورت:
الف) تعداد نمونههای گفتار استفاده شده در هر segmentچقدر است؟
ب) نرخ قاب در آنالیز اسپکترال زمان کوتاه را محاسبه کنید؟
ج) سایز DFTو FFTمورد نیاز به منظور حصول اطمینان از عدم رخداد time-aliasingچقدر است؟
پاسخ:
الف) تعداد نمونههای یک گفتار 22میلیثانیهای با نرخ نمونه برداری 22222نمونه در ثانیه
𝑒𝑙𝑝𝑚𝑎𝑠
𝑒𝑙𝑝𝑚𝑎𝑠 = 400
𝑐𝑒𝑠
20 ∗ 10−3 𝑠𝑒𝑐 ∗ 20,000
نمونه دارد.
ب) از آن جا که تعداد shiftمیان دو قاب متوالی گفتار 12میلیثانیه (معدل 222نمونه با نرخ نمونهبرداری 22222نمونه در
ثانیه) نرخ قاب برابرست با:
1
1
1
=
= 100
−3
𝑐𝑒𝑠 𝑓𝑟𝑎𝑚𝑒 𝑠ℎ𝑖𝑓𝑡 10 ∗ 10
𝑐𝑒𝑠
= 𝑒𝑡𝑎𝑟 𝑒𝑚𝑎𝑟𝑓
ج) برای جلوگیری از وقوع time-aliasingدر هنگام استفاده از DFTبرای ارطیابی تبدیل فوریه زمان کوتاه ،نیاز داریم که طول
DFTحداقل به اندازه قاب باشد .همچنین با توجه به قسمت الف ،ما نیاز داریم که DFTاستفاده شده ،حداقل 022نقطهای
باشد .از آنجا که ما از FFTمرتبه دو استفاده میکنیم ،لذا از نظر تئوری به 012 FFTنقطهای (کوچکترین عدد توان 2بزرگتر
از )022برای محاسبۀ DFTبدون time-aliasingنیاز داریم .پس در هر مرحله با zero paddingبه تعداد = 512 − 400
112صفر ،طول قابها را از 022به 012افزایش میدهیم .از آنجا که سیگنال گفتار از نوع حقیقی میباشد ،ما همچنین میتوانیم
از FFTبا اندازه 202نقطه (به کمک اعمال یک مرحلۀ پیشپردازش و پسپردازش و بهرهمندی از FFTمختلط) استفاده کنیم.
سوال .3معادله دیفرانسیل زیر را در نظر بگیرید:
𝑝
)𝑛(𝛿𝐺 ℎ(𝑛) = ∑ 𝑎𝑘 ℎ[𝑛 − 𝑘] +
𝑘=1
اگر تابع خودهمبستگی ( )autocorrelationبه صورت
∞
)𝑚 𝑅̂ (𝑚) = ∑ ℎ(𝑛)ℎ(𝑛 +
𝑚=0
تعریف شود ،در اینصورت ثابت کنید𝑅̂ (𝑚) = 𝑅̂ (−𝑚) ،
پاسخ:
∞
∞
)𝑚 𝑅̂ (𝑚) = ∑ ℎ(𝑛)ℎ(𝑛 + 𝑚) = ∑ ℎ(𝑛)ℎ(𝑛 +
∞𝑚=−
𝑚=0
به علت علّی بودن )𝑛( .ℎبا اعمال 𝑚 𝑛′ = 𝑛 +داریم:
∞
)𝑅̂ (𝑚) = ∑ ℎ(𝑛′ − 𝑚)ℎ(𝑛′
𝑚=𝑛′
همچنین به ازای ( 𝑚 < 0و باتوجه به علّی بودن ) )ℎ(𝑛′خواهیم داشت:
−1
∑ ℎ(𝑛′ − 𝑚)ℎ(𝑛′) = 0
𝑚=𝑛′
پس
∞
)𝑚(𝑅̂ (𝑚) = ∑ ℎ(𝑛′ − 𝑚)ℎ(𝑛′) = 𝑅̂ (−𝑚) = ℎ(−𝑚) ∗ ℎ
𝑛′=0
سوال .4اگر سیگنال ]𝑛[𝑥 را داشته باشیم ،کپستروم مختلط آن (]𝑛[̂𝑥) در حوزه ( zتبدیل )Zاز رابطۀ زیر بدست میآید:
)𝑧(𝑋 𝑋̂(𝑧) = log
میدانیم کپستروم مختلط یک سیگنال با استفاده از DFTقابل محاسبه است .همچنین رابطۀ بازگشتیای وجود دارد که ]𝑛[̂𝑥 را
مستقیماً از روی ]𝑛[𝑥 بدست میآورد .هدف این سوال اثبات رابطۀ بازگشتی میان ]𝑛[̂𝑥 و ]𝑛[̂𝑥 است .این رابطه به دو طریق
قابل محاسبه میباشد:
الف) نشان دهید رابطۀ بین ]𝑛[̂𝑥 و ]𝑛[𝑥 از رابطۀ زیر بدست میآید:
]𝑛[𝑥𝑛 = ]𝑛[𝑥 ∗ ]𝑛[̂𝑥𝑛
ب) اگر ]𝑛[̂𝑥 minimum phase ،باشد در اینصورت نشان دهید ،رابطۀ بین ]𝑛[̂𝑥 و ]𝑛[𝑥 از رابطۀ زیر بدست میآید:
𝑛<0
𝑛=0
𝑛>0
0
]log 𝑥[0
𝑛−1
]𝑛[𝑥 = ]𝑛[̂𝑥
1
−
]𝑘 ∑ 𝑘𝑥̂[𝑘]𝑥[𝑛 −
]{𝑥[0] 𝑛𝑥[0
𝑘=0
(راهنمایی :برای 𝑛 = 0از قضیه مقدار اولیه استفاده نمایید ← )𝑧(𝑋 ).𝑥[0] = lim
∞→𝑧
پاسخ:
الف)
∞
𝑛𝑋(𝑧) = ∑ 𝑥[𝑛]𝑧 −
∞𝑛=−
∞
𝑑
𝑋(𝑧) = ∑ −𝑛𝑥[𝑛]𝑧 −𝑛−1
𝑧𝑑
∞𝑛=−
∞
𝑑
𝑛−𝑧 𝑋(𝑧) = ∑ −𝑛𝑥[𝑛]𝑧 −
𝑧𝑑
∞𝑛=−
𝑑
)𝑧(𝑋
𝑧𝑑
𝑧−
𝑇𝑍
↔ ]𝑛[𝑥𝑛 ⟹
همچنین داریم:
)𝑧(𝑋 𝑋̂(𝑧) = log
𝑑
𝑑
𝑑 1
= )𝑧(̂𝑋
= )𝑧(𝑋 log
)𝑧(𝑋
𝑧𝑑
𝑧𝑑
𝑧𝑑 )𝑧(𝑋
𝑑
𝑑
= )𝑧(̂𝑋
)𝑧(𝑋
𝑧𝑑
𝑧𝑑
)𝑧(𝑋
𝑑
𝑑
)𝑧(𝑋 𝑧𝑋̂(𝑧)] 𝑋(𝑧) = −
𝑧𝑑
𝑧𝑑
𝑧[−
]𝑛[𝑥𝑛 = ]𝑛[𝑥 ∗ ]𝑛[̂𝑥𝑛
ب) اگر ]𝑛[𝑥 minimum phase ،باشد ،آنگاه )𝑧(𝑋 خارج از دایرۀ واحد نه صفر دارد و نه قطب .پس هر دو عبارت ]𝑛[𝑥 و
]𝑛[̂𝑥 علّی هستند ،این بدین معناست که:
گام :1
𝑛<0
𝑥[𝑛] = 0
𝑛<0
𝑥̂[𝑛] = 0
براساس قضیه مقدار اولیه داریم:
گام :2
]𝑥̂[𝑛] = lim 𝑋̂(𝑧) = lim [log 𝑋(𝑧)] = lim [log(𝑥[0] + 𝑥[1]𝑧 −1 + ⋯ )] = log 𝑥[0
∞→𝑧
∞→𝑧
∞→𝑧
با توجه به نتیجۀ قسمت الف داریم:
∞
]𝑘 𝑛𝑥[𝑛] = 𝑛𝑥̂[𝑛] ∗ 𝑥[𝑛] = ∑ 𝑘𝑥̂[𝑘]𝑥[𝑛 −
∞𝑘=−
∞
1
]𝑘 𝑥[𝑛] = ∑ 𝑘𝑥̂[𝑘]𝑥[𝑛 −
𝑛
∞𝑘=−
∞∑ را به صورت زیر تغییر داد:
با توجه به گام اول ،میتوان حدود … ∞𝑘=−
𝑛−1
𝑛
𝑘=0
𝑘=0
1
1
]𝑥[𝑛] = ∑ 𝑘𝑥̂[𝑘]𝑥[𝑛 − 𝑘] = ∑ 𝑘𝑥̂[𝑘]𝑥[𝑛 − 𝑘] + 𝑥̂[𝑛]𝑥[0
𝑛
𝑛
گام :3
𝑛−1
]𝑛[𝑥
1
= ]𝑘[̂𝑥
−
]𝑘 ∑ 𝑘𝑥̂[𝑘]𝑥[𝑛 −
]𝑥[0] 𝑛𝑥[0
𝑘=0
سوال .5فرض کنید طول یک قطعه کوچک گفتار که با ] s[nنمایش میدهیم برابر با Nباشد و طول DFTآن که با ] S[kنشان
می دهیم برابر با Mباشد .همچنین فرض کنید تعداد فیلترهای مل (فیلترهای مثلثی شکل که در اسالید درس مشاهده شد) برابر
با Lباشد.
الف) نشان دهید که کپستروم حقیقی این سیگنال ] c[nاز طریق رابطه زیر محاسبه می شود:
𝑀−1
0≤𝑛 ≤𝑀−1
𝜋2
𝑐[𝑛] = ∑ log|𝑆[𝑘]| cos ( 𝑘𝑛) ,
𝑀
𝑘=0
ب) فرض کنید لگاریتم انرژی فیلترهای مل را با 𝐿 𝑋𝑘 , 𝑘 = 1,2, … ,نشان دهیم .در این صورت رابطه ای برای محاسبه ضرایب
MFCCکه با 𝐿 𝑌𝑖 , 𝑖 = 1,2, … ,نشان می دهیم بنویسید.پاسخ:
الف) میدانیم که رابطۀ کلی ]𝑛[𝑐 برابرست با:
}|}]𝑛[𝑥{𝐹|𝑐[𝑛] = 𝐹 −1 {log
این رابطه را میتوان در شکل زیر مشاهده نمود:
پس میتوان نوشت:
𝑀−1
𝜋2
𝜋2
))𝑛𝑘 ( 𝑛𝑖𝑠𝑗 = ∑ log|𝑆(𝑘)| (cos ( 𝑘𝑛) +
𝑀
𝑀
𝑀−1
𝜋2
𝑛𝑘
𝑀
𝑀−1
𝑗
𝑒|)𝑘(𝑆|𝑐[𝑛] = ∑ log
𝑘=0
𝑘=0
𝑀−1
𝜋2
𝜋2
)𝑛𝑘 ( 𝑛𝑖𝑠 |)𝑘(𝑆|= ∑ log|𝑆(𝑘)| cos ( 𝑘𝑛) + 𝑗 ∑ log
𝑀
𝑀
𝑘=0
𝑘=0
با توجه به اینکه کپستروم حقیقی مورد نظر است ،لذا داریم:
𝑀−1
𝜋2
)𝑛𝑘 ( 𝑐[𝑛] = ∑ log|𝑆(𝑘)| cos
𝑀
𝑘=0
ب) با توجه به گامهای بدست آوردن ضرایب MFCCداریم:
𝐿
𝜋
1
)) 𝑌𝑖 = ∑ 𝑋𝑘 cos (𝑖 (𝑘 −
𝐿
2
𝑘=1
© Copyright 2026 Paperzz