پایان نامه کارشناسی ارشد مخابرات سیستم پیاده سازی بلادرنگ کدک صحبت استاندارد G.728 بر روی پردازنده TMS320C5402 

 
 
 
 
 
 
 
 
چکیده    
کدک صحبت استاندارد G.728 ، یک کدک کم تاخیر است که صحبت با کیفیت عالی را در نرخ بیت 16 kbps ارائه می دهد و برای شبکه های تلفن ماهواره ای و اینترنت و موبایل که به تاخیر زیاد حساس هستند ، مناسب است. در این رساله به پیاده سازی بلادرنگ اینکدر و دیکدر  G.728 بصورت دوطرفه کامل ( Full Duplex ) بر روی پردازنده TMS320C5402 می پردازیم .
روشی ترکیبی برای برنامه نویسی TMS ارائه می شود که در آن  زمان وپیچیدگی برنامه نویسی نسبت به برنامه نویسی دستی به 30%  کاهش می یابد . در این روش پس از برنامه نویسی و شبیه سازی ممیزثابت الگوریتم کدک به زبان C ، با استفاده از نرم افزار  ( Code Composer Studio ) CCS ، برنامه به زبان اسمبلی ترجمه شده و بهینه سازی دستی در کل کد اسمبلی صورت می گیرد . سپس بعضی از توابع مهم برنامه از نظر MIPS ، بصورت دستی به زبان اسمبلی بازنویسی می شوند تا برنامه بصورت بلادرنگ قابل اجرا گردد . در پایان نتایج این پیاده سازی ارائه می شود .
 
 
 
 
 
 
 
 
 
کلمات کلیدی

کدینگ و فشرده سازی صحبت 

پیاده سازی بلادرنگ 

DSP

 TMS320C5402

برد DSK

 
 
 
 
 
 
 
 
 مقدمه
امروزه در عصر ارتباطات و گسترش روزافزون استفاده از شبكه های تلفن ،موبایل و اینترنت در جهان ومحدودیت پهنای باند در شبكه های مخابراتی ، كدینگ و فشرده سازی صحبت امری اجتناب ناپذیر است . در چند دهه اخیر روشهای كدینگ مختلفی پدیدآمده اند ولی بهترین و پركاربردترین آنها كدك های آنالیزباسنتز هستند كه توسط 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 می پردازیم.
 
 
 
 
 
 
 
 
 
 
 
فهرست
- مقدمه 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