فرمت فایل:word (قابل ویرایش)
تعداد صفحات :101
فهرست مطالب :
- مقدمه 4
فصل 1 : بررسی و مدل سازی سیگنال صحبت
1-1- معرفی سیگنال صحبت 6
1-2- مدل سازی پیشگویی خطی 10
1-2-1- پنجره کردن سیگنال صحبت 11
1-2-2- پیش تاکید سیگنال صحبت 13
1-2-3- تخمین پارامترهای LPC 14
فصل 2 : روش ها و استانداردهای کدینگ صحبت
2-1- مقدمه 15
2-2- روش های کدینگ 19
2-2-1- کدرهای شکل موج 21
2-2-2- کدرهای صوتی 22 2-2-3- کدرهای مختلط 24
الف- کدرهای مختلط حوزه فرکانس 27
ب- کدرهای مختلط حوزه زمان 29
فصل 3 : کدر کم تاخیر LD-CELP
3-1- مقدمه 34
3-2- بررسی کدرکم تاخیر LD-CELP 36
3-2-1- LPC معکوس مرتبه بالا 39
3-2-2- فیلتر وزنی شنیداری 42
3-2-3- ساختار کتاب کد 42
3-2-3-1- جستجوی کتاب کد 43
3-2-4- شبه دیکدر 45
3-2-5- پست فیلتر 46
فصل 4 : شبیه سازی ممیزثابت الگوریتم به زبان C
4-1- مقدمه 49
4-2- ویژگی های برنامه نویسی ممیزثابت 50
4-3- ساده سازی محاسبات الگوریتم 53
4-3-1- تطبیق دهنده بهره 54
4-3-2- محاسبه لگاریتم معکوس 58
4-4- روندنمای برنامه 59
4-4-1- اینکدر 63
4-4-2- دیکدر 69
فصل 5 : پیاده سازی الگوریتم برروی DSP
5-1- مقدمه 74
5-2- مروری بر پیاده سازی بلادرنگ 75
5-3- چیپ های DSP 76
5-3-1- DSP های ممیزثابت 77
5-3-2- مروری بر DSP های خانواده TMS320 78
5-3-2-1- معرفی سری TMS320C54x 79
5-4- توسعه برنامه بلادرنگ 81
5-5- اجرای برنامه روی برد توسعه گر C5402 DSK 82
5-5-1- بکارگیری ابزارهای توسعه نرم افزار 84
5-5-2- استفاده از نرم افزارCCS 86
5-5-3- نتایج پیاده سازی 94
5-6- نتیجه گیری و پیشنهاد 97
- ضمائم
- ضمیمه (الف) : دیسکت برنامه های شبیه سازی ممیز ثابت به زبان C و
پیاده سازی کدک به زبان اسمبلی - ضمیمه (ب) : مقایسه برنامه نویسی C و اسمبلی 98
- مراجع 103
- مقدمه
امروزه در عصر ارتباطات و گسترش روزافزون استفاده از شبکه های تلفن ،موبایل و اینترنت در جهان ومحدودیت پهنای باند در شبکه های مخابراتی ، کدینگ و فشرده سازی صحبت امری اجتناب ناپذیر است . در چند دهه اخیر روشهای کدینگ مختلفی پدیدآمده اند ولی بهترین و پرکاربردترین آنها کدک های آنالیزباسنتز هستند که توسط Atal & Remedeدر سال 1982 معرفی شدند [2] . اخیرا مناسبترین الگوریتم برای کدینگ صحبت با کیفیت خوب در نرخ بیت های پائین و زیر 16 kbps ، روش پیشگویی خطی باتحریک کد (CELP) می باشد که در سال 1985 توسط Schroeder & Atal معرفی شد [8] و تا کنون چندین استاندارد مهم کدینگ صحبت بر اساس CELP تعریف شده اند .
در سال 1988 CCITT برنامه ای برای استانداردسازی یک کدک 16 kbps با تاخیراندک و کیفیت بالا در برابر خطاهای کانال آغاز نمود و برای آن کاربردهای زیادی همچون شبکه PSTN ،ISDN ،تلفن تصویری و غیره در نظر گرفت . این کدک در سال 1992 توسط Chen et al. تحت عنوان LD-CELP معرفی شد[6] و بصورت استاندارد G.728 در آمد[9] و در سال 1994 مشخصات ممیز ثابت این کدک توسط ITU ارائه شد[10] . با توجه به کیفیت بالای این کدک که در آن صحبت سنتزشده از صحبت اولیه تقریبا غیرقابل تشخیص است و کاربردهای آن در شبکه های تلفن و اینترنت و ماهواره ای در این گزارش به پیاده سازی این کدک می پردازیم .
در فصل اول به معرفی وآنالیز سیگنال صحبت پرداخته می شود و در فصل دوم روش ها و استانداردهای کدینگ بیان می شوند . در فصل سوم کدک LD-CELP را بیشتر بررسی می کنیم و در فصل چهارم شبیه سازی ممیز ثابت الگوریتم به زبان C را بیان می نمائیم. ودر پایان در فصل 5 به نحوه پیاده سازی بلادرنگ کدکG.728 بر روی پردازنده TMS320C5402 می پردازیم.
فصل 1
بررسی و مدل سازی سیگنال صحبت
1-1 –معرفی سیگنال صحبت
صحبت در اثر دمیدن هوا از ریه ها به سمت حنجره و فضای دهان تولید میشود. در طول این مسیر در انتهای حنجره، تارهای صوتی قرار دارند. فضای دهان را از بعد از تارهای صوتی ، لوله صوتی مینا مند که در یک مرد متوسط حدود cm 17 طول دارد . در تولید برخی اصوات تارهای صوتی کاملاً باز هستند و مانعی بر سر راه عبور هوا ایجاد نمیکنند که این اصوات را اصطلاحاً اصوات بی واک مینامند. در دسته دیگر اصوات ، تارهای صوتی مانع خروج طبیعی هوا از حنجره میگردند که این باعث به ارتعاش درآمدن تارها شده و هوا به طور غیر یکنواخت و تقریباً پالس شکل وارد فضای دهان میشود. این دسته از اصوات را اصطلاحاً باواک میگویند.
فرکانس ارتعاش تارهای صوتی در اصوات باواک را فرکانس Pitch و دوره تناوب ارتعاش تارهای صوتی را پریود Pitch مینامند. هنگام انتشار امواج هوا در لوله صوتی، طیف فرکانس این امواج توسط لوله صوتی شکل میگیرد و بسته به شکل لوله ، پدیده تشدید در فرکانس های خاصی رخ میدهد که به این فرکانس های تشدید فرمنت میگویند.
از آنجا که شکل لوله صوتی برای تولید اصوات مختلف، متفاوت است پس فرمنت ها برای اصوات گوناگون با هم فرق میکنند. با توجه به اینکه صحبت یک فرآیند متغییر با زمان است پس پارامترهای تعریف شده فوق اعم از فرمنت ها و پریود Pitch در طول زمان تغییر میکنند به علاوه مد صحبت به طور نامنظمی از باواک به بی واک و بالعکس تغییر میکند. لوله صوتی ، همبستگی های زمان-کوتاه ، در حدود 1 ms ، درون سیگنال صحبت را در بر میگیرد. و بخش مهمی از کار کدکننده های صوتی مدل کردن لوله صوتی به صورت یک فیلتر زمان-کوتاه میباشد. همان طور که شکل لوله صوتی نسبتاً آهسته تغییر میکند، تابع انتقال این فیلتر مدل کننده هم نیاز به تجدید ، معمولاً در هر 20ms یکبارخواهد داشت.
در شکل (1-1 الف) یک قطعه صحبت باواک که با فرکانس 8KHz نمونه برداری شده است دیده میشود. اصوات باواک دارای تناوب زمان بلند به خاطر پریود Pitch هستند که نوعاً بین 2ms تا 20ms میباشد. در اینجا پریود Pitch در حدود 8ms یا 64 نمونه است. چگالی طیف توان این قطعه از صحبت در شکل (1-1 ب) دیده میشود[3].
اصوات بی واک نتیجه تحریک نویز مانند لوله صوتی هستند و تناوب زمان- بلند اندکی را در بر دارند ، همانگونه که در شکل های (1-1 ج) و (1-1 د) دیده میشود ولی همبستگی زمان کوتاه به خاطر لوله صوتی در آنها هنوز وجود دارد.
بطورکلی سیگنال صحبت دارای افزونگی زیادی است که ناشی از عوامل ذیل هستند:
ـ وابستگی های زمان-کوتاه : این وابستگی ها عمدتاً به کندی تغییرات صحبت با زمان و ساختار
ـ وابستگی های زمان- بلند : که عمدتاً از طبیعت نیمه متناوب اصوات با واک و تغییرات آرام پریود Pitch ناشی میشوند.
ـتابع چگالی احتمال صحبت : علیرغم پیچیدگی آماری صحبت میتوان آن را با توابع چگالی احتمال شناخته شده تقریب زد. شکل لوله صوتی و مد تحریک آن به صورت نسبتاً آرام تغییر میکند و بنابراین صحبت را میتوان به صورت شبه ایستان در دوره های کوتاه زمانی (حدود 20ms) در نظر گرفت و با یک فرآیند تصادفی ارگادیک در یک قطعه زمانی کوچک مدل نمود و طیف مشخصی برای آن در این قطعه زمانی بدست آورد.
علاوه بر افزونگی های فوق عامل مهم دیگری که کاهش نرخ داده سیگنال صحبت را ممکن می سازد، طبیعت غیر حساس گوش انسان نسبت به بسیاری از ویژگیهای این سیگنال میباشد.
1-2- مدل سازی پیشگویی خطی
روش کدینگ پیشگویی خطی (LPC ) مبتنی بر مدل تولید صحبت در کد کننده های صوتی میباشد که در اینجا در شکل (1-2) نشان داده شده است. برای استفاده از مدل لازم است که معلوم شود سیگنال با واک است یا بیواک و اگر با واک است پریود Pitch مجاسبه گردد. تفاوت اصلی بین LPC و سایر کدکننده های صوتی در مدل کردن لوله صوتی است. در تحلیل LPC ، لوله صوتی به صورت یک فیلتر دیجیتال تمام قطب در نظر
1-2-1- پنجره کردن سیگنال صحبت
روش LPC هنگامی دقیق است که به سیگنالهای ایستان اعمال شود، یعنی به سیگنالهایی که رفتار آنها در زمان تغییر نمیکند. هر چند که این موضوع در مورد صحبت صادق نیست، اما برای اینکه بتوانیم روش LPC را بکار ببریم، سیگنال صحبت را به قسمت های کوچکی بنام "فریم" تقسیم میکنیم که این فریم ها شبه ایستان هستند. شکل (1-3) مثالی از قسمت بندی سیگنال صحبت را نشان میدهد. این قسمت بندی با ضرب کردن سیگنال صحبت S(n) ، در سیگنال پنجره W(n) انجام میشود.
معروف ترین انتخاب برای پنجره ، پنجره همینگ (Hamming) به صورت زیر است:
در اینجا N ، طول پنجره دلخواه به نمونه و عموماً در محدوده 160-320 انتخاب میگردد که 240 یک مقدار نوعی میباشد . در شکل (1-4) چند پنجره معروف نشان داده شده است.
معمولاً پنجره های متوالی برروی هم همپوشانی دارند و فاصله بین آنها را پریود فریم میگویند. مقادیر نوعی برای پریود فریم 10-30ms میباشد. این انتخاب به نرخ بیت و کیفیت صحبت دلخواه ما بستگی خواهد داشت. هر چه پریود فریم کوچکتر باشد، کیفیت بهتری خواهیم داشت.
شکل (1-4): نمایش چند پنجره معروف
1-2-2- پیش تاکید سیگنال صحبت
شکل (1-5) یک توزیع طیفی نمونه سیگنال صحبت را برای اصوات باواک نشان میدهد. با توجه به افت طیف در فرکانس های بالا وضعیف بودن فرکانس های بالا در طیف صحبت ، تحلیل LPC در فرکانس های بالا عملکرد ضعیفی خواهد داشت. برای تقویت مؤلفه های فرکانس بالا صحبت ، آن را از یک فیلتر بالا گذر با تابع انتقال که فیلتر پیش تاکید نامیده میشود، عبور
فصل2
روش ها و استاندارهای کدینگ صحبت
2-1- مقدمه
کدینگ دیجیتال صحبت موضوع تحقیقات بیش از سه دهه اخیر بوده و روش های زیادی برای کدینگ صحبت پدید آمده است .کیفیت صحبت و نرخ بیت دو عامل اساسی هستند که بطور مستقیم با هم درگیر می باشند و هر چه نرخ بیت پایین تر بیاید ، از کیفیت صحبت کاسته می شود. برای سیستم هایی که به شبکه تلفن متصل می شوند ، صحبت کد شده باید دارای کیفیت خوب باشد تا با استانداردهای ITU مطابقت داشته باشد اما برای سیستم های محدود مانند شبکه های تجاری خصوصی و سیستم های نظامی ، ممکن است عامل نرخ بیت مهمتر از کیفیت بالای صحبت باشد . از ویژگیهای سیستم های کدینگ صحبت ، تأخیر کدینگ می باشد که مقدار آن به کیفیت مورد نیاز سیستم ارتباط نزدیک دارد .تأخیر کدینگ شامل تاخیر الگوریتمی (بافر کردن صحبت برای آنالیز)، تاخیر محاسباتی (زمان لازم برای پردازش و ذخیره کردن نمونه های صحبت) و تاخیر مربوط به ارسال و انتقال می باشد . تاخیر اندک در سیستم های مخابراتی باعث کاهش اثراکو در آن سیستم می شود. از ویژگیهای دیگر سیستم ها توانایی آنها برای ارسال داده در باند صوتی است . چرا که مشخصه های آماری و طیف فرکانسی داده باند صوتی کاملا با سیگنال صحبت تفاوت دارد .
2-2- روشهای کدینگ
روشهای کدینگ صحبت را می توان به چند دسته اصلی که در شکل (2-1) نشان داده شده است تقسیم بندی نمود. از این میان سه دسته اصلی که با خط پر نشان داده شده اند موضوع تحقیقاتی بیشتری هستند . این روشها سیگنال صحبت را آنالیز کرده افزونگی های آنرا حذف نموده و بخش های غیر زائد صحبت را به روشی کد می کنند که از نظر شنیداری قابل قبول باشد.
مقدمه:
مهمترین کاربرد سیستمهای بلادرنگ در رابطه با عملیات کنترل پردازش است . خاصیت مهم سیستم عاملهای بلادرنگ این است که هر فعل و انفعال با کامپیوتر بایستی یک پاسخ در مدت زمانی که از قبل تعیین شده است دریافت دارد . سیستم بایستی بتواند این زمان پاسخ را گارانتی بکند (عواقب زمان پاسخ بد در رابطه با سیستمی که یک هواپیما و یا یک کارخانه شیمیایی را کنترل میکند را میتوان براحتی تصور کرد ) . مسئله زمان پاسخ در عمل به این معناست که معمولاً نرم افزار بصورت خاص-منظور است و به کاربرد بخصوصی اختصاص یافته است . دستگاههای جنبی چنین سیستمهایی نیز به احتمال قوی دستگاههای بخصوصی هستند . مثلاً ممکن است که از وسایل حس کننده که با سیگنالهای آنالوگ عمل می کنند به جای ترمینالهای عادی استفاده شوند.
فهرست مطالب:
فصل اول : زمانبندی بلادرنگ
مقدمه
مشخصات سیستم های بلادرنگ
زمانبندی بلادرنگ
رویکردهای ایستای مبتنی بر جدول
رویکردهای ایستای مبتنی بر اولویت و با قبضه کردن
رویکردهای پویا بر اساس برنامه ریزی
رویکردهای پویا با بهترین کوشش
زمانبندی ایستا مبتنی بر جدول
زمانبندی ایستای مبتنی بر اولویت و با قبضه کردن
زمانبند مهلت زمانی
زمانبندی Linux
زمانبندی Unix SVR4
فصل دوم : الگوریتم های برنامه ریزی و حمایت سیستم های اجرایی برای سیستم های بلادرنگ
خلاصه
برنامه ریزی بلادرنگ
متریک های اجرا در سیستم های بلادرنگ
الگوهای برنامه ریزی
الگوریتمهای برنامه ریزی برای این الگوها
برنامه ریزی ثابت Table –Driven
برنامه ریزی priority driven preemptive
برنامه ریزی دینامیک
برنامه ریزی Best –Effort دینامیک
موضوعات برنامه ریزی مهم
برنامه ریزی با محدودیتهای توان خطا
برنامه ریزی با احیای منابع
سیستم اجرایی بلادرنگ
هسته های کوچک ، سریع و اختصاصی
توسعه های زمان واقعی برای سیستم های اجرای بازرگانی
سیستم های اجرای تحقیق
هسته MARS
هسته SPRING
هستهMARUTI
هسته ARTS
فصل سوم : بررسی ارتباط میان اجزای یک سیستم جامع بلادرنگ
خلاصه
شرح عملگرهای بهبودیافته
تشریح مطالعات تجربی
فصل چهارم : منابع
فهرست جدول ها و شکلها :
شکل 1 – 1 : زمانبندی یک فرایند بلادرنگ
شکل 1 – 2 : زمانبندی وظیفه های بلادرنگ متناوب با مهلتهای زمانی کامل شدن
شکل 1 – 3 : زمانبندی وظیفه های بلادرنگ نامتناوب با مهلتهای زمانی در شروع
شکل 1 – 4 : مثالی از زمانبندی Linux
شکل 1 – 5: طبقه های اولویت در SVR4
جدول 1 -1 : اطلاعات اجرای دو وظیفه متناوب
جدول1 – 2: اطلاعات اجرای پنج وظیفه نامتناوب
شکل 3– 1: معماری سیستم جامع
شکل 3 – 2 : پروتکل ارتباط RS- 232C
شکل 3 – 3: خطای checksum
شکل 3 – 4 : زمان تزریق خطا
شکل 3 – 5 : عملگرهای جهش یافته
شکل 3 – 6 : مثالی از CRM
شکل 3 – 7 : مثالی از CRH
جدول 3 – 1: رابط میان RTOS و برنامه
جدول 3 – 2 : محل تزریق خطا
جدول 3 – 3 : RTOS و برنامه های کاربردی
جدول 3 – 4 : تعداد رابطهای بین RTOS و برنامه
فرمت فایل:word (قابل ویرایش)
تعداد صفحات :101
فهرست مطالب :
- مقدمه 4
فصل 1 : بررسی و مدل سازی سیگنال صحبت
1-1- معرفی سیگنال صحبت 6
1-2- مدل سازی پیشگویی خطی 10
1-2-1- پنجره کردن سیگنال صحبت 11
1-2-2- پیش تاکید سیگنال صحبت 13
1-2-3- تخمین پارامترهای LPC 14
فصل 2 : روش ها و استانداردهای کدینگ صحبت
2-1- مقدمه 15
2-2- روش های کدینگ 19
2-2-1- کدرهای شکل موج 21
2-2-2- کدرهای صوتی 22 2-2-3- کدرهای مختلط 24
الف- کدرهای مختلط حوزه فرکانس 27
ب- کدرهای مختلط حوزه زمان 29
فصل 3 : کدر کم تاخیر LD-CELP
3-1- مقدمه 34
3-2- بررسی کدرکم تاخیر LD-CELP 36
3-2-1- LPC معکوس مرتبه بالا 39
3-2-2- فیلتر وزنی شنیداری 42
3-2-3- ساختار کتاب کد 42
3-2-3-1- جستجوی کتاب کد 43
3-2-4- شبه دیکدر 45
3-2-5- پست فیلتر 46
فصل 4 : شبیه سازی ممیزثابت الگوریتم به زبان C
4-1- مقدمه 49
4-2- ویژگی های برنامه نویسی ممیزثابت 50
4-3- ساده سازی محاسبات الگوریتم 53
4-3-1- تطبیق دهنده بهره 54
4-3-2- محاسبه لگاریتم معکوس 58
4-4- روندنمای برنامه 59
4-4-1- اینکدر 63
4-4-2- دیکدر 69
فصل 5 : پیاده سازی الگوریتم برروی DSP
5-1- مقدمه 74
5-2- مروری بر پیاده سازی بلادرنگ 75
5-3- چیپ های DSP 76
5-3-1- DSP های ممیزثابت 77
5-3-2- مروری بر DSP های خانواده TMS320 78
5-3-2-1- معرفی سری TMS320C54x 79
5-4- توسعه برنامه بلادرنگ 81
5-5- اجرای برنامه روی برد توسعه گر C5402 DSK 82
5-5-1- بکارگیری ابزارهای توسعه نرم افزار 84
5-5-2- استفاده از نرم افزارCCS 86
5-5-3- نتایج پیاده سازی 94
5-6- نتیجه گیری و پیشنهاد 97
- ضمائم
- ضمیمه (الف) : دیسکت برنامه های شبیه سازی ممیز ثابت به زبان C و
پیاده سازی کدک به زبان اسمبلی - ضمیمه (ب) : مقایسه برنامه نویسی C و اسمبلی 98
- مراجع 103
- مقدمه
امروزه در عصر ارتباطات و گسترش روزافزون استفاده از شبکه های تلفن ،موبایل و اینترنت در جهان ومحدودیت پهنای باند در شبکه های مخابراتی ، کدینگ و فشرده سازی صحبت امری اجتناب ناپذیر است . در چند دهه اخیر روشهای کدینگ مختلفی پدیدآمده اند ولی بهترین و پرکاربردترین آنها کدک های آنالیزباسنتز هستند که توسط Atal & Remedeدر سال 1982 معرفی شدند [2] . اخیرا مناسبترین الگوریتم برای کدینگ صحبت با کیفیت خوب در نرخ بیت های پائین و زیر 16 kbps ، روش پیشگویی خطی باتحریک کد (CELP) می باشد که در سال 1985 توسط Schroeder & Atal معرفی شد [8] و تا کنون چندین استاندارد مهم کدینگ صحبت بر اساس CELP تعریف شده اند .
در سال 1988 CCITT برنامه ای برای استانداردسازی یک کدک 16 kbps با تاخیراندک و کیفیت بالا در برابر خطاهای کانال آغاز نمود و برای آن کاربردهای زیادی همچون شبکه PSTN ،ISDN ،تلفن تصویری و غیره در نظر گرفت . این کدک در سال 1992 توسط Chen et al. تحت عنوان LD-CELP معرفی شد[6] و بصورت استاندارد G.728 در آمد[9] و در سال 1994 مشخصات ممیز ثابت این کدک توسط ITU ارائه شد[10] . با توجه به کیفیت بالای این کدک که در آن صحبت سنتزشده از صحبت اولیه تقریبا غیرقابل تشخیص است و کاربردهای آن در شبکه های تلفن و اینترنت و ماهواره ای در این گزارش به پیاده سازی این کدک می پردازیم .
در فصل اول به معرفی وآنالیز سیگنال صحبت پرداخته می شود و در فصل دوم روش ها و استانداردهای کدینگ بیان می شوند . در فصل سوم کدک LD-CELP را بیشتر بررسی می کنیم و در فصل چهارم شبیه سازی ممیز ثابت الگوریتم به زبان C را بیان می نمائیم. ودر پایان در فصل 5 به نحوه پیاده سازی بلادرنگ کدکG.728 بر روی پردازنده TMS320C5402 می پردازیم.
فصل 1
بررسی و مدل سازی سیگنال صحبت
1-1 –معرفی سیگنال صحبت
صحبت در اثر دمیدن هوا از ریه ها به سمت حنجره و فضای دهان تولید میشود. در طول این مسیر در انتهای حنجره، تارهای صوتی قرار دارند. فضای دهان را از بعد از تارهای صوتی ، لوله صوتی مینا مند که در یک مرد متوسط حدود cm 17 طول دارد . در تولید برخی اصوات تارهای صوتی کاملاً باز هستند و مانعی بر سر راه عبور هوا ایجاد نمیکنند که این اصوات را اصطلاحاً اصوات بی واک مینامند. در دسته دیگر اصوات ، تارهای صوتی مانع خروج طبیعی هوا از حنجره میگردند که این باعث به ارتعاش درآمدن تارها شده و هوا به طور غیر یکنواخت و تقریباً پالس شکل وارد فضای دهان میشود. این دسته از اصوات را اصطلاحاً باواک میگویند.
فرکانس ارتعاش تارهای صوتی در اصوات باواک را فرکانس Pitch و دوره تناوب ارتعاش تارهای صوتی را پریود Pitch مینامند. هنگام انتشار امواج هوا در لوله صوتی، طیف فرکانس این امواج توسط لوله صوتی شکل میگیرد و بسته به شکل لوله ، پدیده تشدید در فرکانس های خاصی رخ میدهد که به این فرکانس های تشدید فرمنت میگویند.
از آنجا که شکل لوله صوتی برای تولید اصوات مختلف، متفاوت است پس فرمنت ها برای اصوات گوناگون با هم فرق میکنند. با توجه به اینکه صحبت یک فرآیند متغییر با زمان است پس پارامترهای تعریف شده فوق اعم از فرمنت ها و پریود Pitch در طول زمان تغییر میکنند به علاوه مد صحبت به طور نامنظمی از باواک به بی واک و بالعکس تغییر میکند. لوله صوتی ، همبستگی های زمان-کوتاه ، در حدود 1 ms ، درون سیگنال صحبت را در بر میگیرد. و بخش مهمی از کار کدکننده های صوتی مدل کردن لوله صوتی به صورت یک فیلتر زمان-کوتاه میباشد. همان طور که شکل لوله صوتی نسبتاً آهسته تغییر میکند، تابع انتقال این فیلتر مدل کننده هم نیاز به تجدید ، معمولاً در هر 20ms یکبارخواهد داشت.
در شکل (1-1 الف) یک قطعه صحبت باواک که با فرکانس 8KHz نمونه برداری شده است دیده میشود. اصوات باواک دارای تناوب زمان بلند به خاطر پریود Pitch هستند که نوعاً بین 2ms تا 20ms میباشد. در اینجا پریود Pitch در حدود 8ms یا 64 نمونه است. چگالی طیف توان این قطعه از صحبت در شکل (1-1 ب) دیده میشود[3].
اصوات بی واک نتیجه تحریک نویز مانند لوله صوتی هستند و تناوب زمان- بلند اندکی را در بر دارند ، همانگونه که در شکل های (1-1 ج) و (1-1 د) دیده میشود ولی همبستگی زمان کوتاه به خاطر لوله صوتی در آنها هنوز وجود دارد.
بطورکلی سیگنال صحبت دارای افزونگی زیادی است که ناشی از عوامل ذیل هستند:
ـ وابستگی های زمان-کوتاه : این وابستگی ها عمدتاً به کندی تغییرات صحبت با زمان و ساختار
ـ وابستگی های زمان- بلند : که عمدتاً از طبیعت نیمه متناوب اصوات با واک و تغییرات آرام پریود Pitch ناشی میشوند.
ـتابع چگالی احتمال صحبت : علیرغم پیچیدگی آماری صحبت میتوان آن را با توابع چگالی احتمال شناخته شده تقریب زد. شکل لوله صوتی و مد تحریک آن به صورت نسبتاً آرام تغییر میکند و بنابراین صحبت را میتوان به صورت شبه ایستان در دوره های کوتاه زمانی (حدود 20ms) در نظر گرفت و با یک فرآیند تصادفی ارگادیک در یک قطعه زمانی کوچک مدل نمود و طیف مشخصی برای آن در این قطعه زمانی بدست آورد.
علاوه بر افزونگی های فوق عامل مهم دیگری که کاهش نرخ داده سیگنال صحبت را ممکن می سازد، طبیعت غیر حساس گوش انسان نسبت به بسیاری از ویژگیهای این سیگنال میباشد.
1-2- مدل سازی پیشگویی خطی
روش کدینگ پیشگویی خطی (LPC ) مبتنی بر مدل تولید صحبت در کد کننده های صوتی میباشد که در اینجا در شکل (1-2) نشان داده شده است. برای استفاده از مدل لازم است که معلوم شود سیگنال با واک است یا بیواک و اگر با واک است پریود Pitch مجاسبه گردد. تفاوت اصلی بین LPC و سایر کدکننده های صوتی در مدل کردن لوله صوتی است. در تحلیل LPC ، لوله صوتی به صورت یک فیلتر دیجیتال تمام قطب در نظر
1-2-1- پنجره کردن سیگنال صحبت
روش LPC هنگامی دقیق است که به سیگنالهای ایستان اعمال شود، یعنی به سیگنالهایی که رفتار آنها در زمان تغییر نمیکند. هر چند که این موضوع در مورد صحبت صادق نیست، اما برای اینکه بتوانیم روش LPC را بکار ببریم، سیگنال صحبت را به قسمت های کوچکی بنام "فریم" تقسیم میکنیم که این فریم ها شبه ایستان هستند. شکل (1-3) مثالی از قسمت بندی سیگنال صحبت را نشان میدهد. این قسمت بندی با ضرب کردن سیگنال صحبت S(n) ، در سیگنال پنجره W(n) انجام میشود.
معروف ترین انتخاب برای پنجره ، پنجره همینگ (Hamming) به صورت زیر است:
در اینجا N ، طول پنجره دلخواه به نمونه و عموماً در محدوده 160-320 انتخاب میگردد که 240 یک مقدار نوعی میباشد . در شکل (1-4) چند پنجره معروف نشان داده شده است.
معمولاً پنجره های متوالی برروی هم همپوشانی دارند و فاصله بین آنها را پریود فریم میگویند. مقادیر نوعی برای پریود فریم 10-30ms میباشد. این انتخاب به نرخ بیت و کیفیت صحبت دلخواه ما بستگی خواهد داشت. هر چه پریود فریم کوچکتر باشد، کیفیت بهتری خواهیم داشت.
شکل (1-4): نمایش چند پنجره معروف
1-2-2- پیش تاکید سیگنال صحبت
شکل (1-5) یک توزیع طیفی نمونه سیگنال صحبت را برای اصوات باواک نشان میدهد. با توجه به افت طیف در فرکانس های بالا وضعیف بودن فرکانس های بالا در طیف صحبت ، تحلیل LPC در فرکانس های بالا عملکرد ضعیفی خواهد داشت. برای تقویت مؤلفه های فرکانس بالا صحبت ، آن را از یک فیلتر بالا گذر با تابع انتقال که فیلتر پیش تاکید نامیده میشود، عبور
فصل2
روش ها و استاندارهای کدینگ صحبت
2-1- مقدمه
کدینگ دیجیتال صحبت موضوع تحقیقات بیش از سه دهه اخیر بوده و روش های زیادی برای کدینگ صحبت پدید آمده است .کیفیت صحبت و نرخ بیت دو عامل اساسی هستند که بطور مستقیم با هم درگیر می باشند و هر چه نرخ بیت پایین تر بیاید ، از کیفیت صحبت کاسته می شود. برای سیستم هایی که به شبکه تلفن متصل می شوند ، صحبت کد شده باید دارای کیفیت خوب باشد تا با استانداردهای ITU مطابقت داشته باشد اما برای سیستم های محدود مانند شبکه های تجاری خصوصی و سیستم های نظامی ، ممکن است عامل نرخ بیت مهمتر از کیفیت بالای صحبت باشد . از ویژگیهای سیستم های کدینگ صحبت ، تأخیر کدینگ می باشد که مقدار آن به کیفیت مورد نیاز سیستم ارتباط نزدیک دارد .تأخیر کدینگ شامل تاخیر الگوریتمی (بافر کردن صحبت برای آنالیز)، تاخیر محاسباتی (زمان لازم برای پردازش و ذخیره کردن نمونه های صحبت) و تاخیر مربوط به ارسال و انتقال می باشد . تاخیر اندک در سیستم های مخابراتی باعث کاهش اثراکو در آن سیستم می شود. از ویژگیهای دیگر سیستم ها توانایی آنها برای ارسال داده در باند صوتی است . چرا که مشخصه های آماری و طیف فرکانسی داده باند صوتی کاملا با سیگنال صحبت تفاوت دارد .
2-2- روشهای کدینگ
روشهای کدینگ صحبت را می توان به چند دسته اصلی که در شکل (2-1) نشان داده شده است تقسیم بندی نمود. از این میان سه دسته اصلی که با خط پر نشان داده شده اند موضوع تحقیقاتی بیشتری هستند . این روشها سیگنال صحبت را آنالیز کرده افزونگی های آنرا حذف نموده و بخش های غیر زائد صحبت را به روشی کد می کنند که از نظر شنیداری قابل قبول باشد.