پردازش گفتار به نام خدا نیمسال اول 59-59 دکتر صامتی تمرین سری سوم پیشبینی خطی و کدینگ شکلموج دانشکده مهندسی کامپیوتر زمان تحویل: 32 آبان 4259 تمرینهای تئوری: سوال 1. می دانیم که قبل از انجام تحلیل پیشبینی خطی )LPC( از تکنیک پنجرهگذاری استفاده میشود. به طور دقیقتر اگر سیگنال صوت را با x[n] و پنجره را با w[n] نشان دهیم طوریکه w[n]=0 برای 0>n یا n>=n برای تحلیل پیشبینی خطی ابتدا یک قسمت از سیگنال را با استفاده از [m x m [n] = x[n]w[n انتخاب می کنیم و سپس تحلیل را بر روی سیگنال [n] x m که طول محدود N را دارد انجام می دهیم. الف( توضیح دهید چرا از این تکنیک استفاده میشود چرا تحلیل را روی کل سیگنال x[n] انجام نمیدهیم ب( تاثیر نوع پنجره چیست می دانیم که برای مثال پنجرهی همینگ در دو انتهایش به سمت صفر میل می کند و از آنجاییکه در سیگنال اولیه ضرب میشود منجر به کاهش اندازه سیگنال در دو سمت )نسبت به وسط پنجره( میشود. ب- 1 ( آیا این مساله مشکلی در محتوای سیگنال ایجاد نمی کند ب- 2 ( چرا با وجود اینکه پنجره مستطیلی این مشکل را ندارد در عمل پنجره ی همینگ ترجیح داده میشود پ( تاثیر طول پنجره چیست چه طولی را می توان بهینه دانست آیا طول بهینه به سن/جنسیت گوینده )در سیگنال گفتار( بستگی دارد اگر بله چگونه اگر خیر چرا ت( )نمره اضافه( فرض کنید w یک پنجره ی مستطیلی باشد. تبدیل فوریه سیگنال پنجرهشده را بر اساس تبدیل فوریه سیگنال اولیه به دست آورید. الف( سیگنال گفتار ایستا نیست بنابراین هرگونه پردازشی باید روی طولهای محدود از این سیگنال انجام شود تا بتوانیم فرض کنیم تا حد خوبی ایستا است.
ب( هر پنجره مشخصات خاص خودش را دارد و مطابق آن استفاده می شود. برای مثال پنجره همینگ در دو سمت به صفر میل میکند. این مشخصه در واقع یک مزیت است چراکه باعث می شود تغییرات ناگهانی )sharp( در سیگنال نداشته باشیم. پنجره مستطیلی این مشکل را دارد که سیگنال پنجره شده دچار عدم پیوستگی transition( ناگهانی از 0 به یک عدد بزرگ و برعکس( می شود و بنابراین مولفه های فرکانسی باال )و نامربوط( در اسپکتروم آن ظهور می کند. پ( طول پنجره اگر خیلیکم باشد رزولوشن فرکانسیکمی خواهیم داشت به این معنیکه نمونههای حاصل از dftکم هستند و بنابراین تحلیل در حوزهی فرکانس با دقتکمتری انجام خواهد شد. از طرف دیگر اگر طول پنجره زیاد باشد ایستایی سیگنال کمتر و کمتر می شود ضمن اینکه اگر تحلیل ما مبتنی بر واج باشد ممکن است هر فریم شامل بیش از 1 یا دو واج شود که تحلیل را با مشکل مواجه می کند. بدیهی است برای اینکه مولفه های فرکانسی بتوانند محاسبه شوند فریم مدنظر باید شامل حداقل یک دوره pitch از سیگنال گفتار باشد. البته برای پنجرههایی مثل hamming که اندازه سیگنال را تضعیف می کنند باید 2 دوره یا بیشتر در پنجره قرار بگیرد. همچنین می دانیمکه فرکانس pitch به طول حنجره بستگی داردکه از طرف دیگر به سن و جنسیت بستگی دارد. بنابراین طول پنجره به سن/جنسیت بستگی دارد ولی معموال آن را طوری در نظر می گیرند تا برای عموم افراد مناسب باشد به جای اینکه برای گروه خاصی بهینه باشد. سوال 2. w[n] = { 1 0 n < N 0 otherwise W(ejw ) = sin(wm/2) sin (w/2) e jwm/2 w[n m] W(e jw sin(wm/2) jw(m+m/2) ) = e sin (w/2) π X m (e jw ) = 1 2π X(ejθ )W(e j(θ w) )dθ π همانطور که میدانید مدل واقعی تولید گفتار در واقع یک مدل صفر-قطب می باشد که در زیر مشاهده میکنید. برای مثال G(z) معموال در حالتیکه شامل صفر باشد بهتر عمل میکند. همچنین H(z) در این نمودار برای واجهاییکه از حفرههای فرعی برای تولیدشان استفاده میشود )مثل واج های سایشی/خیشومی( بهتر است دارای صفر باشد.
الف( تحقیق کنید چرا در عمل این مدل را با مدل سادهشدهی تمام-قطب تخمین میزنند ب( در اثر این تخمین چه چیزی را از دست میدهیم آیا این مساله مشکلی در صدای تولید شده با این مدل )مثال در ووکدرها( ایجاد می کند = H(z) باشد. رابطهی خروجی سیستم s[n] بر α پ( فرض کنید در این مدل سادهشده تابع سیستم 1 P 1=k a k z k اساس ورودی سیستم e[n] را به دست بیاورید. پ- 1 ( به این مدل تمام قطب همچنین مدل autoregressive نیز اطالق میشود. چرا این مدل autoregressive است پ- 2 ( به نظر شما آیا توجیهی وجود داردکه بر اساس آن بتوان سیگنال پیچیدهگفتار را با یک روش autoregressive مدل کرد الف( دو دلیل دارد: این کار از نظر ریاضی محاسبات و تحلیل ها را بسیار ساده تر می کند. می توان نشان داد که با حذفکردن صفرها صرفا فاز سیگنال را از دست می دهیم و از آنجاییکه فاز سیگنال گفتار در قابلیت فهم )intelligibility( آن تاثیر چندانی ندارد می توانیم آنها را حذف کنیم..1.2 ب( در قسمت قبل توضیح داده شد. پ( S(z) = H(z)E(z) S(z)(1 P k=1 a k z k ) = αe(z) S(z) P a k z k S(z) = E(z) k=1
P P s[n] a k s[n k] = αe[n] s[n] = a k s[n k] + αe[n] k=1 k=1 پ- 1 ( به این دلیل استکه نمونه های جاری s[n] از نمونه های قبلی به صورت خطی محاسبه می شوند و در واقع از دید آماری سیگنال بر روی خودش regression انجام می دهد. پ- 2 ( بله ولی این توجیه از طریق غیرمستقیم )تحلیل سیستمی( انجام می شود. در واقع ابتدا با استفاده از مدل tube که در سوال نشان داده شده است یک مدل قوی برای تولید گفتار ارائه می شود سپس با حذف صفرها و اثبات اینکه این مساله مشکلی ایجاد نمی کند مدل ساده شده تمام قطب به دست می آید. بنابراین این autoregression به خوبی توجیه می شود. سوال 3. تفاوت روش LPC برای فشرده سازی سیگنال را با روشهای waveform coding شرح دهید. روش LPC در واقع یک مدل تولید گفتار ارائه میکند که با تحلیلگفتار پارامترهای آن را تخمین می زند و سپس از این پارامترها برای تولید )سنتز( مجددگفتار استفاده میکند و تالشی برای حفظ شکل موج انجام نمی دهد. در نتیجه کیفیت این روش کمتر است )به خاطر پیچیدگی سیستم تولید گفتار انسان( ولی فشرده سازی آن بیشتر است. در مقابل روشهای waveform coding صرفا تالش در کد کردن شکل موج دارند و محتوایگفتار )یا سیستم تولید گفتار( را مدل نمی کنند. سوال 4. فرض کنید در PCM تعداد B سطح l 1, l 2,, l B برای کوانتیزه کردن داریم )B بیتی(. در این صورت داریم: s = r i iff l i < s l i+1 r i = l i+l i+1 نشان دهید به ازای 2 توزیع یکنواخت است. خطای MSE کوانتیزه کردن مینیموم می شود. فرض کنید s یک متغیر تصادفی با ابتدا MSE را محاسبه می کنیم: l i+1 MSE = E[(s s ) 2 ] = (s r i ) 2 p(s)ds B i=1 l i سپس این تابع را با توجه به r i با مشتق گیری کمینه می کنیم و جواب موردنظر به دست میآید.
s (n) = ψ(s(n 1), s(n 2), ) = s(n 1) سوال 5. در روش DPCM فرض کنید که تخمین به صورت ساده زیر انجام شود: که در آن ( s (nمقدار تخمین زده شده ی s(n) است. در نتیجه خطای تخمین عبارت است از: e(n) = s(n) s (n) = s(n) s(n 1) r s (1) = r s(1) r s (0) σ 2 2 خواهد بود و در نتیجه متوسط توان سیگنال e(n) کمتر باشد e < σ s نشان دهید که اگر σ2 > 0.5 s از s(n) خواهد بود و در نتیجه به تعداد بیت کمتری برای کوانتیزه کردن آن نیاز است. راه حل: دو طرف رابطه ی (1 s(n e(n) = s(n) را به توان دو می رسانیم و سپس long-term average می گیریم در نتیجه اثبات کامل می شود: e 2 (n) = s 2 (n) + s 2 (n 1) 2s(n)s(n 1) σ e 2 = 2σ s 2 2r s (1) 2r s (1) σ s 2 = σ s 2 σ e 2 σ e 2 < σ s 2 2r s (1) σ s 2 > 0 سوال 6. برای سیگنال زیر شکل موج خروجی و دنباله بیت دلتا مدوالتور را با فرض clock=10khz و = 0.2 Volt به دست بیاورید. سوال 7.
می دانیم که در روش PCM می توان با استفاده از companding خطای کوانتیزه سازی را کم کرد آیا می توان به همان ترتیب تکنیک companding را برای روش DPCM نیز اعمالکرد اگر نمی توان چرا اگر می توان چگونه آیا همان تاثیر کاهش خطا در PCM را در اینجا هم خواهیم داشت توضیح دهید. در روش DPCM مقادیریکهکوانتیزه می شوند نمونه های )sample( سیگنالگفتار نیستند بلکه خطای تخمین هر نمونه از سیگنال است ( در واقع سیگنال e(n) کوانتایز می شود(. و می دانیمکه توابع companding برای یکواخت کردن توزیع احتمالی یک سیگنالگفتار است در حالیکه سیگنال e(n) به هیچ وجه یک سیگنالگفتار نیست. بنابراین انتظار می رود که companding در این مورد تاثیر موردنظر را نداشته باشد. البته به طور کلی در صورتی که سیگنال e(n) یک توزیع احتمالی غیریکنواخت داشته باشد )باید بررسی شود( می توان با استفاده از تکنیک companding )ولی با استفاده از توابعی غیر از توابعی که برای سیگنال گفتار استفاده می شود( آن را یکنواخت کرد و در نتیجه خطای کوانتیزه کردن را کاهش داد.