Keywords: Speech Coding & Compression, Real Time Implementation, DSP,
TMS320C5402, DSK Board
 
چکیده   
کدک صحبت استاندارد 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] قرار دارند. فضای دهان را از بعد از تارهای صوتی ، لوله صوتی[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].

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...