به نام خدا پردازش گفتار نیمسال اول 59-59 دکتر صامتی دانشکده مهندسی کامپیوتر تمرین سری سوم پیشبینی خطی و کدینگ شکلموج زمان تحویل 32 :آبان 4259 تمرینهای تئوری: سوال .1 می دانیم که قبل از انجام تحلیل پیشبینی خطی ( )LPCاز تکنیک پنجرهگذاری استفاده میشود .به طور دقیقتر ،اگر سیگنال صوت را با ] ، x[nو پنجره را با ] w[nنشان دهیم طوریکه w[n]=0برای n<0یا ،n>=Nبرای تحلیل پیشبینی خطی ابتدا یک قسمت از سیگنال را با استفاده از ]𝑚 𝑥𝑚 [𝑛] = 𝑥[𝑛]𝑤[𝑛 −انتخاب می کنیم و سپس تحلیل را بر روی سیگنال ]𝑛[ 𝑚𝑥 که طول محدود Nرا دارد انجام می دهیم. الف) توضیح دهید چرا از این تکنیک استفاده میشود ؟ چرا تحلیل را روی کل سیگنال ] x[nانجام نمیدهیم ؟ ب) تاثیر نوع پنجره چیست ؟ می دانیم که برای مثال پنجرهی همینگ در دو انتهایش به سمت صفر میل می کند و از آنجایی که در سیگنال اولیه ضرب میشود ،منجر به کاهش اندازه سیگنال در دو سمت (نسبت به وسط پنجره) میشود. ب )1-آیا این مساله مشکلی در محتوای سیگنال ایجاد نمی کند؟ ب )2-چرا با وجود اینکه پنجره مستطیلی این مشکل را ندارد ،در عمل پنجره ی همینگ ترجیح داده میشود؟ پ) تاثیر طول پنجره چیست ؟ چه طولی را می توان بهینه دانست؟ آیا طول بهینه به سن/جنسیت گوینده (در سیگنال گفتار) بستگی دارد ؟ اگر بله ،چگونه ؟ اگر خیر ،چرا ؟ ت) (نمره اضافه) فرض کنید wیک پنجره ی مستطیلی باشد .تبدیل فوریه سیگنال پنجرهشده را بر اساس تبدیل فوریه سیگنال اولیه به دست آورید. الف) سیگنال گفتار ایستا نیست ،بنابراین هرگونه پردازشی باید روی طولهای محدود از این سیگنال انجام شود تا بتوانیم فرض کنیم تا حد خوبی ایستا است. ب) هر پنجره مشخصات خاص خودش را دارد و مطابق آن استفاده می شود .برای مثال ،پنجره همینگ در دو سمت به صفر میل میکند .این مشخصه در واقع یک مزیت است ،چراکه باعث می شود تغییرات ناگهانی ( )sharpدر سیگنال نداشته باشیم .پنجره مستطیلی این مشکل را دارد که سیگنال پنجره شده دچار عدم پیوستگی ( transitionناگهانی از 0به یک عدد بزرگ و برعکس) می شود و بنابراین مولفه های فرکانسی باال (و نامربوط) در اسپکتروم آن ظهور می کند. پ) طول پنجره اگر خیلی کم باشد ،رزولوشن فرکانسی کمی خواهیم داشت به این معنی که نمونههای حاصل از dftکم هستند و بنابراین تحلیل در حوزهی فرکانس با دقت کمتری انجام خواهد شد .از طرف دیگر اگر طول پنجره زیاد باشد، ایستایی سیگنال کمتر و کمتر می شود؛ ضمن اینکه اگر تحلیل ما مبتنی بر واج باشد ممکن است هر فریم شامل بیش از 1یا دو واج شود که تحلیل را با مشکل مواجه می کند. بدیهی است برای اینکه مولفه های فرکانسی بتوانند محاسبه شوند ،فریم مدنظر باید شامل حداقل یک دوره pitchاز سیگنال گفتار باشد .البته برای پنجرههایی مثل hammingکه اندازه سیگنال را تضعیف می کنند باید 2دوره یا بیشتر در پنجره قرار بگیرد .همچنین می دانیم که فرکانس pitchبه طول حنجره بستگی دارد که از طرف دیگر به سن و جنسیت بستگی دارد .بنابراین ،طول پنجره به سن/جنسیت بستگی دارد ولی معموال آن را طوری در نظر می گیرند تا برای عموم افراد مناسب باشد ،به جای اینکه برای گروه خاصی بهینه باشد. sin(𝑤𝑀/2) −𝑗𝑤𝑀/2 𝑁<𝑛≤0 = ) 𝑤𝑗 𝑒(𝑊 → 𝑒 𝑒𝑠𝑖𝑤𝑟𝑒𝑜𝑡ℎ )sin(𝑤/2 )sin(𝑤𝑀/2 )sin(𝑤/2 1 0 { = ]𝑛[𝑤 )𝑤[𝑛 − 𝑚] → 𝑊(𝑒 𝑗𝑤 ) = 𝑒 −𝑗𝑤(𝑚+𝑀/2 𝜋 1 =) 𝜃𝑑) )𝑤∫ 𝑋(𝑒 𝑗𝜃 )𝑊(𝑒 𝑗(𝜃− 𝜋2𝜋 − 𝑤𝑗 𝑒( 𝑚𝑋 سوال .2 همانطور که میدانید مدل واقعی تولید گفتار در واقع یک مدل صفر-قطب می باشد که در زیر مشاهده میکنید .برای مثال ) G(zمعموال در حالتیکه شامل صفر باشد بهتر عمل میکند .همچنین ) H(zدر این نمودار برای واجهایی که از حفرههای فرعی برای تولیدشان استفاده میشود (مثل واج های سایشی/خیشومی) بهتر است دارای صفر باشد. الف) تحقیق کنید چرا در عمل این مدل را با مدل سادهشدهی تمام-قطب تخمین میزنند ؟ ب) در اثر این تخمین چه چیزی را از دست میدهیم ؟ آیا این مساله مشکلی در صدای تولید شده با این مدل (مثال در ووکدرها) ایجاد می کند ؟ پ) فرض کنید در این مدل سادهشده ،تابع سیستم اساس ورودی سیستم ] e[nرا به دست بیاورید. 𝛼 𝑘− 𝑃∑ 𝐻(𝑧) = 1−باشد .رابطهی خروجی سیستم ] s[nبر 𝑧 𝑘𝑎 𝑘=1 پ )1-به این مدل تمام قطب همچنین مدل autoregressiveنیز اطالق میشود .چرا این مدل autoregressive است ؟ پ )2-به نظر شما آیا توجیهی وجود دارد که بر اساس آن بتوان سیگنال پیچیده گفتار را با یک روش autoregressive مدل کرد؟ الف) دو دلیل دارد: .1این کار از نظر ریاضی ،محاسبات و تحلیل ها را بسیار ساده تر می کند. .2می توان نشان داد که با حذف کردن صفرها صرفا فاز سیگنال را از دست می دهیم و از آنجایی که فاز سیگنال گفتار در قابلیت فهم ( )intelligibilityآن تاثیر چندانی ندارد ،می توانیم آنها را حذف کنیم. ب) در قسمت قبل توضیح داده شد. پ) 𝑆(𝑧) = 𝐻(𝑧)𝐸(𝑧) → 𝑆(𝑧)(1 − ∑𝑃𝑘=1 𝑎𝑘 𝑧 −𝑘 ) = 𝛼𝐸(𝑧) → 𝑆(𝑧) − ∑𝑃𝑘=1 𝑎𝑘 𝑧 −𝑘 𝑆(𝑧) = 𝐸(𝑧) 𝑃 𝑃 ]𝑛[𝑒𝛼 𝑠[𝑛] − ∑ 𝑎𝑘 𝑠[𝑛 − 𝑘] = 𝛼𝑒[𝑛] → 𝑠[𝑛] = ∑ 𝑎𝑘 𝑠[𝑛 − 𝑘] + 𝑘=1 𝑘=1 پ )1-به این دلیل است که نمونه های جاری ] s[nاز نمونه های قبلی به صورت خطی محاسبه می شوند و در واقع از دید آماری سیگنال بر روی خودش regressionانجام می دهد. پ )2-بله ولی این توجیه از طریق غیرمستقیم (تحلیل سیستمی) انجام می شود .در واقع ابتدا با استفاده از مدل tube که در سوال نشان داده شده است یک مدل قوی برای تولید گفتار ارائه می شود ،سپس با حذف صفرها و اثبات اینکه این مساله مشکلی ایجاد نمی کند ،مدل ساده شده تمام قطب به دست می آید .بنابراین این autoregressionبه خوبی توجیه می شود. سوال .3 تفاوت روش LPCبرای فشرده سازی سیگنال را با روشهای waveform codingشرح دهید. روش LPCدر واقع یک مدل تولید گفتار ارائه می کند که با تحلیل گفتار ،پارامترهای آن را تخمین می زند و سپس از این پارامترها برای تولید (سنتز) مجدد گفتار استفاده می کند و تالشی برای حفظ شکل موج انجام نمی دهد .در نتیجه کیفیت این روش کمتر است (به خاطر پیچیدگی سیستم تولید گفتار انسان) ولی فشرده سازی آن بیشتر است. در مقابل روشهای waveform codingصرفا تالش در کد کردن شکل موج دارند و محتوای گفتار (یا سیستم تولید گفتار) را مدل نمی کنند. سوال .4 فرض کنید در PCMتعداد Bسطح 𝐵𝑙 𝑙1 , 𝑙2 , … ,برای کوانتیزه کردن داریم ( Bبیتی) .در این صورت داریم: 𝑠̃ = 𝑟𝑖 𝑖𝑓𝑓 𝑙𝑖 < 𝑠 ≤ 𝑙𝑖+1 نشان دهید به ازای 𝑙𝑖 +𝑙𝑖+1 توزیع یکنواخت است. 2 = 𝑖𝑟 خطای MSEکوانتیزه کردن مینیموم می شود .فرض کنید sیک متغیر تصادفی با ابتدا MSEرا محاسبه می کنیم: 𝑠𝑑)𝑠(𝑝 (𝑠 − 𝑟𝑖 )2 𝑙𝑖+1 𝐵 ∫∑ = ] )2 𝑖𝑙 𝑖=1 سپس این تابع را با توجه به 𝑖𝑟 با مشتق گیری کمینه می کنیم و جواب موردنظر به دست میآید. ̃𝑠 𝑀𝑆𝐸 = 𝐸[(𝑠 − سوال .5 در روش DPCMفرض کنید که تخمین به صورت ساده زیر انجام شود: )𝑠̅(𝑛) = 𝜓(𝑠(𝑛 − 1), 𝑠(𝑛 − 2), … ) = 𝑠(𝑛 − 1 که در آن )𝑛(̅𝑠مقدار تخمین زده شده ی ) s(nاست .در نتیجه خطای تخمین عبارت است از: )𝑒(𝑛) = 𝑠(𝑛) − 𝑠̅(𝑛) = 𝑠(𝑛) − 𝑠(𝑛 − 1 نشان دهید که اگر > 0.5 )𝑟𝑠 (1 𝜎𝑠2 )𝑟𝑠 (1 = )𝑟 (0 𝑠 باشد 𝜎𝑒2 < 𝜎𝑠2 ،خواهد بود و در نتیجه متوسط توان سیگنال ) e(nکمتر از ) s(nخواهد بود و در نتیجه به تعداد بیت کمتری برای کوانتیزه کردن آن نیاز است. راه حل :دو طرف رابطه ی ) 𝑒(𝑛) = 𝑠(𝑛) − 𝑠(𝑛 − 1را به توان دو می رسانیم و سپس long-term averageمی گیریم در نتیجه اثبات کامل می شود: → 𝑒𝑒 2 (𝑛) = 𝑠 2 (𝑛) + 𝑠 2 (𝑛 − 1) − 2𝑠(𝑛)𝑠(𝑛 − 1) → 𝜎2𝑒 = 2𝜎2𝑠 − 2𝑟𝑠 (1) → 2𝑟𝑠 (1) − 𝜎2𝑠 = 𝜎2𝑠 − 𝜎2 ∴ → 𝜎𝑒2 < 𝜎𝑠2 ≡ 2𝑟𝑠 (1) − 𝜎𝑠2 > 0 سوال .6 برای سیگنال زیر ،شکل موج خروجی و دنباله بیت دلتا مدوالتور را با فرض clock=10kHzو 𝑡𝑙𝑜𝑉 ∆= 0.2به دست بیاورید. سوال .7 می دانیم که در روش PCMمی توان با استفاده از compandingخطای کوانتیزه سازی را کم کرد؛ آیا می توان به همان ترتیب تکنیک compandingرا برای روش DPCMنیز اعمال کرد؟ اگر نمی توان ،چرا ؟ اگر می توان ،چگونه ؟ آیا همان تاثیر کاهش خطا در PCMرا در اینجا هم خواهیم داشت ؟ توضیح دهید. در روش DPCMمقادیری که کوانتیزه می شوند ،نمونه های ( )sampleسیگنال گفتار نیستند ،بلکه خطای تخمین هر نمونه از سیگنال است ( در واقع سیگنال ) e(nکوانتایز می شود) .و می دانیم که توابع compandingبرای یکواخت کردن توزیع احتمالی یک سیگنال گفتار است ،در حالی که سیگنال ) e(nبه هیچ وجه یک سیگنال گفتار نیست .بنابراین انتظار می رود که compandingدر این مورد تاثیر موردنظر را نداشته باشد. البته به طور کلی در صورتی که سیگنال ) ،e(nیک توزیع احتمالی غیریکنواخت داشته باشد (باید بررسی شود) ،می توان با استفاده از تکنیک ( compandingولی با استفاده از توابعی غیر از توابعی که برای سیگنال گفتار استفاده می شود) آن را یکنواخت کرد و در نتیجه خطای کوانتیزه کردن را کاهش داد.
© Copyright 2025 Paperzz