loading...
تازه ترینها
محمد غفوری تبار بازدید : 63 سه شنبه 18 آبان 1395 نظرات (0)

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

کارشناسی ارشد مخابرات سیستم ( پیاده سازی بلادرنگ کدک صحبت استاندارد G.728 بر روی پردازنده TMS320C5402) دسته: فنی و مهندسی
بازدید: 7 بار
فرمت فایل: doc
حجم فایل: 838 کیلوبایت
تعداد صفحات فایل: 109

پایان نامه کارشناسی ارشد مخابرات سیستم ( پیاده سازی بلادرنگ کدک صحبت استاندارد G728 بر روی پردازنده TMS320C5402)در 109 صفحه ورد قابل ویرایش

قیمت فایل فقط 12,500 تومان

خرید

کارشناسی ارشد مخابرات سیستم ( پیاده سازی بلادرنگ کدک صحبت استاندارد 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-1) :   مقایسه اصوات باواك و بی واك. (الف)و(ب) : باواك ، (ج)و(د) : بی واك

 


 

نسبتاً منظم فرمنت ها مربوط می‏شوند.

 

ـ وابستگی های زمان- بلند : كه عمدتاً از طبیعت نیمه متناوب اصوات با واك و تغییرات آرام پریود Pitch ناشی می‏شوند.

 

ـ‌تابع چگالی احتمال صحبت : علیرغم پیچیدگی آماری صحبت می‏توان آن را با توابع چگالی احتمال شناخته شده تقریب زد. شكل لوله صوتی و مد تحریك آن به صورت نسبتاً آرام تغییر می‏كند و بنابراین صحبت را می‏توان به صورت شبه ایستان در دوره های كوتاه زمانی            (حدود 20ms) در نظر گرفت و با یك  فرآیند تصادفی ارگادیك در یك قطعه زمانی كوچك   مدل نمود و طیف مشخصی برای آن در این قطعه زمانی بدست آورد.

 

علاوه بر افزونگی های فوق عامل مهم دیگری كه كاهش نرخ داده سیگنال صحبت را ممكن          می سازد، طبیعت غیر حساس گوش انسان نسبت به بسیاری از ویژگیهای این سیگنال می‏باشد.

 

 

 

- برنامه نویسی اسمبلی بصورت دستی

 

همانطور كه در قسمت قبل دیدیم، كمپایلر C54x حتی با استفاده از optimizer  هم نتوانست اجرای برنامه را به 100 MIPS برساند.  این بدین دلیل است كه در خانواده C54x ،optimizer به حد كافی قوی نیست چراكه ما همین برنامه را با استفاده از optimizer  پردازنده C55x كمپایل كردیم و به حدود 40 MIPS برای اجرای آن برروی C55x نیاز بود.

 

به هرحال باید اجرای این برنامه را به 100 MIPS برسانیم تا بتوان بصورت بلادرنگ آنرا پیاده سازی كرد. در این مرحله تنها راهی كه باقی مانده اینست كه بر روی توابع برنامه و MIIPS آنها و نتایج بدست آمده از مرحله قبل بررسی كرده تا توابع و قسمت هایی كه به نظر میرسد Optimizer نتوانسته خوب بهینه سازد را بصورت دستی برنامه نویسی كنیم . واضح است كه در این مرحله  باید به زبان اسمبلی C54x تسلط كافی داشت تا بتوان كد اسمبلی تولید شده توسط كمپایلر   C54x را بهینه كرد .

 

در ابتدا ملاحظه می شود كه در محاسبات کورلیشن در بعضی از حلقه ها از دستور ضرب/انباشت MAC استفاده نشده و حلقه چند دستوری بوجود آمده است كه می توان آنها را با استفاده از این دستور به حلقه تك سیكلی تبدیل كرد . همچنین در بعضی از حلقه های محاسبه انرژی نیز        می توان از دستور تك سیكلی مجذور SQURA استفاده نمود.با انجام این اصلاحات MIPS برنامه كاهش یافت ولی هنوز فاصله زیادی با مقدار مورد نیاز ما دارد.

 

در این مرحله مهمترین توابع برنامه از نظر MIPS - همانطور که در شکل(5-9) دیده می شود -همچون LevinsonDurbin50() ،HybWin49() ، Block17_18() وBlock14_15() را بصورت دستی بازنویسی کردیم . در اینجا بعنوان نمونه به Block14_15() که کوچکتر است می پردازیم :

 

 همانطور که در کد C این تابع درضمیمه (ب)  دیده می شود ،تابع از 3 حلقه تو در تو تشکیل شده است. حلقه بیرونی NCWD=128 بار ، حلقه میانی IDIM=5 بار و حلقه داخلی از 1تا 5 بار اجرا می گردند. سیکل دستورالعمل این تابع بیش از 32000 است(شکل(5-9)).  در ادامه کد اسمبلی             تولید شده توسط کمپایلربا حد اکثر بهینه سازی و کد بازنویسی شده بصورت دستی در این ضمیمه آورده شده است . در بازنویسی این بلوک به این نکته توجه شده که دستورالعمل های حلقه داخلی به حد اقل برسد چرا که این حلقه در ضریب 128*5=640 ضرب می شود .

 


 


قیمت فایل فقط 12,500 تومان

خرید

برچسب ها : کارشناسی ارشد مخابرات سیستم ( پیاده سازی بلادرنگ کدک صحبت استاندارد G.728 بر روی پردازنده TMS320C5402) , پایان نامه مخابرات سیستم ( پیاده سازی بلادرنگ کدک صحبت استاندارد G728 بر روی پردازنده TMS320C5402) , مقاله مخابرات سیستم ( پیاده سازی بلادرنگ کدک صحبت استاندارد G728 بر روی پردازنده TMS320C5402) , پروژه مخابرات سیستم ( پیاده سازی بلادرنگ کدک صحبت استاندارد G728 بر روی پردازنده TMS320C5402) , تحقیق مخابرات سیستم ( پیاده سازی بلادرنگ کدک صحبت استاندارد

درباره ما
دانلود پروژه , مقاله , تحقیق ، پایان نامه ، طرح توجیهی
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آمار سایت
  • کل مطالب : 6664
  • کل نظرات : 50
  • افراد آنلاین : 177
  • تعداد اعضا : 19
  • آی پی امروز : 452
  • آی پی دیروز : 114
  • بازدید امروز : 2,787
  • باردید دیروز : 240
  • گوگل امروز : 0
  • گوگل دیروز : 2
  • بازدید هفته : 12,919
  • بازدید ماه : 12,919
  • بازدید سال : 131,409
  • بازدید کلی : 1,986,343