بررسی سیستم پیاده سازی بلادرنگ کدک صحبت استاندارد G.728 بر روی پردازنده TMS320C5402
بررسی پیاده سازی بلادرنگ کدک صحبت استاندارد G728 |
![]() |
دسته بندی | برق |
فرمت فایل | docx |
حجم فایل | 850 کیلو بایت |
تعداد صفحات فایل | 101 |
بررسی سیستم پیاده سازی بلادرنگ کدک صحبت استاندارد 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