پایان نامه پياده سازی بلادرنگ کدک صحبت استاندارد G.728 بر روی پردازنده TMS320C5402
چکيده
کدک صحبت استاندارد G.728 ، يک کدک کم تاخير است که صحبت با کيفيت عالی را در نرخ بيت 16 kbps ارائه می دهد و برای شبکه های تلفن ماهواره ای و اينترنت و موبايل که به تاخير زياد حساس هستند ، مناسب است. در اين رساله به پياده سازی بلادرنگ اينکدر و ديکدر G.728 بصورت دوطرفه کامل ( Full Duplex ) بر روی پردازنده TMS320C5402 می پردازيم .
روشی ترکيبی برای برنامه نويسی TMS ارائه می شود که در آن زمان وپيچيدگی برنامه نويسی نسبت به برنامه نويسی دستی به 30% کاهش می يابد . در اين روش پس از برنامه نويسی و شبيه سازی مميزثابت الگوريتم کدک به زبان C ، با استفاده از نرم افزار ( Code Composer Studio ) CCS ، برنامه به زبان اسمبلی ترجمه شده و بهينه سازی دستی در کل کد اسمبلی صورت می گيرد . سپس بعضی از توابع مهم برنامه از نظر MIPS ، بصورت دستی به زبان اسمبلی بازنويسی می شوند تا برنامه بصورت بلادرنگ قابل اجرا گردد . در پايان نتايج اين پياده سازی ارائه می شود .
کلمات کليدی
کدينگ و فشرده سازی صحبت ، پياده سازی بلادرنگ ، DSP ، TMS320C5402 ، برد DSK
فهرست
– مقدمه 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 –معرفي سيگنال صحبت
صحبت در اثر دميدن هوا از ريه ها به سمت حنجره و فضاي دهان توليد ميشود. در طول اين مسير در انتهاي حنجره، تارهاي صوتي[1] قرار دارند. فضاي دهان را از بعد از تارهاي صوتي ، لوله صوتي[2] مينا مند كه در يك مرد متوسط حدود cm 17 طول دارد . در توليد برخي اصوات تارهاي صوتي كاملاً باز هستند و مانعي بر سر راه عبور هوا ايجاد نميكنند كه اين اصوات را اصطلاحاً اصوات بي واك [3] مينامند. در دسته ديگر اصوات ، تارهاي صوتي مانع خروج طبيعي هوا از حنجره ميگردند كه اين باعث به ارتعاش درآمدن تارها شده و هوا به طور غير يكنواخت و تقريباً پالس شكل وارد فضاي دهان ميشود. اين دسته از اصوات را اصطلاحاً باواك[4] ميگويند.
فركانس ارتعاش تارهاي صوتي در اصوات باواك را فركانس Pitch و دوره تناوب ارتعاش تارهاي صوتي را پريود Pitch مينامند. هنگام انتشار امواج هوا در لوله صوتي، طيف فركانس اين امواج توسط لوله صوتي شكل ميگيرد و بسته به شكل لوله ، پديده تشديد در فركانس هاي خاصي رخ ميدهد كه به اين فركانس هاي تشديد فرمنت[5] ميگويند.
از آنجا كه شكل لوله صوتي براي توليد اصوات مختلف، متفاوت است پس فرمنت ها براي اصوات گوناگون با هم فرق ميكنند. با توجه به اينكه صحبت يك فرآيند متغيير با زمان است پس پارامترهاي تعريف شده فوق اعم از فرمنت ها و پريود Pitch در طول زمان تغيير ميكنند به علاوه مد صحبت به طور نامنظمي از باواك به بي واك و بالعكس تغيير ميكند. لوله صوتي ، همبستگي هاي زمان-كوتاه ، در حدود 1 ms ، درون سيگنال صحبت را در بر ميگيرد. و بخش مهمي از كار كدكننده هاي صوتي مدل كردن لوله صوتي به صورت يك فيلتر زمان-كوتاه ميباشد. همان طور كه شكل لوله صوتي نسبتاً آهسته تغيير ميكند، تابع انتقال اين فيلتر مدل كننده هم نياز به تجديد[6] ، معمولاً در هر 20ms يکبارخواهد داشت.
در شكل (1-1 الف) يك قطعه صحبت باواك كه با فركانس 8KHz نمونه برداري شده است ديده ميشود. اصوات باواك داراي تناوب زمان بلند به خاطر پريود Pitch هستند كه نوعاً بين 2ms تا 20ms ميباشد. در اينجا پريود Pitch در حدود 8ms يا 64 نمونه است. چگالي طيف توان اين قطعه از صحبت در شكل (1-1 ب) ديده ميشود[3].
اصوات بي واك نتيجه تحريك نويز مانند لوله صوتي هستند و تناوب زمان- بلند اندكي را در بر دارند ، همانگونه كه در شكل هاي (1-1 ج) و (1-1 د) ديده ميشود ولي همبستگي زمان كوتاه به خاطر لوله صوتي در آنها هنوز وجود دارد.
بطوركلي سيگنال صحبت داراي افزونگي[7] زيادي است كه ناشي از عوامل ذيل هستند:
ـ وابستگي هاي زمان-كوتاه : اين وابستگي ها عمدتاً به كندي تغييرات صحبت با زمان و ساختار
[1] Vocal Cords
[2] Vocal Tracts
[3] Unvoiced
[4] Voiced
[5] Formant
[6] Update
[7] Redundancy
نقد و بررسیها
هنوز بررسیای ثبت نشده است.