923 views
عنوان :
تعداد صفحات :۱۰۶
نوع فایل : ورد و قابل ویرایش
کدک صحبت استاندارد G.728 ، یک کدک کم تاخیر است که صحبت با کیفیت عالی را در نرخ بیت ۱۶ kbps ارائه می دهد و برای شبکه های تلفن ماهواره ای و اینترنت و موبایل که به تاخیر زیاد حساس هستند ، مناسب است. در این رساله به پیاده سازی بلادرنگ اینکدر و دیکدر G.728 بصورت دوطرفه کامل ( Full Duplex ) بر روی پردازنده TMS320C5402 می پردازیم .
در این گزارش به پیاده سازی بلادرنگ کدک صحبت کم تاخیر G.728 بر روی پردازنده TMS320C5402 پرداختیم. در این راه پس از بررسی روش های کدینگ صحبت ومطالعه الگوریتم کدینگ LD-CELP ، این الگوریتم را به زبان C و بصورت ممیزثابت شبیه سازی نمودیم .سپس برد توسعه گر C5402 DSK و نرم افزار ( Code Composer Studio ) CCS و امکانات آنرا معرفی و نحوه اجرای برنامه بر روی برد را بیان کردیم .با استفاده از نرم افزار CCS برنامه کدک به زبان C را به کد اسمبلی ترجمه و بر روی TMS اجرا نموده و دیدیم که کمپایلر C54X با حداکثر قدرت بهینه سازی هم نمی تواند برنامه را بصورت بلادرنگ اجرا نماید . از اینرو توابع مهم برنامه از نظر MIPS را بصورت دستی به زبان اسمبلی بازنویسی کردیم. در نتیجه MIPS بعضی از توابع به نصف و بعضی به یک سوم کاهش یافت و برنامه بصورت بلادرنگ قابل اجرا گردید.
بعنوان اولین پیشنهاد می توان با اعمال تغییراتی در ساختار کتاب کد ۱۶ kb/s LD-CELP آنرا به یک کدک با نرخ بیت متغیر تبدیل نمود که جزئیات آن در Annex H توصیه نامه G.728 آورده شده است. چنین کدکی با نرخ بیت متغیر برای شبکه های موبایل و اینترنت مناسب است.
کلمات کلیدی: کدینگ و فشرده سازی صحبت ، پیاده سازی بلادرنگ ، DSP ، TMS320C5402 ، برد DSK
– مقدمه ۴
فصل ۱ : بررسی و مدل سازی سیگنال صحبت
۱-۱- معرفی سیگنال صحبت ۶
۱-۲- مدل سازی پیشگویی خطی ۱۰
۱-۲-۱- پنجره کردن سیگنال صحبت ۱۱
۱-۲-۲- پیش تاکید سیگنال صحبت ۱۳
۱-۲-۳- تخمین پارامترهای LPC ۱۴
فصل ۲ : روش ها و استانداردهای کدینگ صحبت
۲-۱- مقدمه ۱۵
۲-۲- روش های کدینگ ۱۹
۲-۲-۱- کدرهای شکل موج ۲۱
۲-۲-۲- کدرهای صوتی ۲۲
۲-۲-۳- کدرهای مختلط ۲۴
الف- کدرهای مختلط حوزه فرکانس ۲۷
ب- کدرهای مختلط حوزه زمان ۲۹
فصل ۳ : کدر کم تاخیر LD-CELP
۳-۱- مقدمه ۳۴
۳-۲- بررسی کدرکم تاخیر LD-CELP ۳۶
۳-۲-۱- LPC معکوس مرتبه بالا ۳۹
۳-۲-۲- فیلتر وزنی شنیداری ۴۲
۳-۲-۳- ساختار کتاب کد ۴۲
۳-۲-۳-۱- جستجوی کتاب کد ۴۳
۳-۲-۴- شبه دیکدر ۴۵
۳-۲-۵- پست فیلتر ۴۶
فصل ۴ : شبیه سازی ممیزثابت الگوریتم به زبان C
۴-۱- مقدمه ۴۹
۴-۲- ویژگی های برنامه نویسی ممیزثابت ۵۰
۴-۳- ساده سازی محاسبات الگوریتم ۵۳
۴-۳-۱- تطبیق دهنده بهره ۵۴
۴-۳-۲- محاسبه لگاریتم معکوس ۵۸
۴-۴- روندنمای برنامه ۵۹
۴-۴-۱- اینکدر ۶۳
۴-۴-۲- دیکدر ۶۹
فصل ۵ : پیاده سازی الگوریتم برروی DSP
۵-۱- مقدمه ۷۴
۵-۲- مروری بر پیاده سازی بلادرنگ ۷۵
۵-۳- چیپ های DSP ۷۶
۵-۳-۱- DSP های ممیزثابت ۷۷
۵-۳-۲- مروری بر DSP های خانواده TMS320 ۷۸
۵-۳-۲-۱- معرفی سری TMS320C54x ۷۹
۵-۴- توسعه برنامه بلادرنگ ۸۱
۵-۵- اجرای برنامه روی برد توسعه گر C5402 DSK ۸۲
۵-۵-۱- بکارگیری ابزارهای توسعه نرم افزار ۸۴
۵-۵-۲- استفاده از نرم افزارCCS ۸۶
۵-۵-۳- نتایج پیاده سازی ۹۴
۵-۶- نتیجه گیری و پیشنهاد ۹۷
– ضمائم
– ضمیمه (الف) : دیسکت برنامه های شبیه سازی ممیز ثابت به زبان C و
پیاده سازی کدک به زبان اسمبلی
– ضمیمه (ب) : مقایسه برنامه نویسی C و اسمبلی ۹۸
– مراجع ۱۰۳
۱- Panos E. Papamichalis, “Practical Approaches to Speech Coding “, Prentice-Hall Inc. ,1987.
۲-B.S. Atal & R.Remde “A new model of LPC excited for producing natural-sounding speech at low bit rates”, Proc.ICASSP pp.614-617 ۱۹۸۲٫
۳-Jason P. Woodard , “Digital Speech Coding” , Mini-Thesis , Department of Electronics & Computer Science, University of Southampton, Jun 1994.
۴-J.Makhoul “Linear Prediction: A Tutorial Review ” Proc. IEEE,vol 63,
No.4,pp.561-580 Apr 1975.
۵- Kondoz A.M,” Digital Speech , Coding of low bit rate communication Systems”, Chichester Wiley 2000
۶- Chen,Cox & Lin,”A Low-Delay CELP Coder for the CCITT 16 kb/s Speech Coding Standard”,IEEE Jour. On Selected Area in Comm.,vol.10,no.5 ,June 92.
۷- L.Hanzo,A.Somerville & Jason P. Woodard, “Voice Compression and Communication”,IEEE series on Digital & Mobile,2001
۸- Schroeder & Atal ,”Code-Excited linear Prediction (CELP):High quality speech at very low bit rates”,IEEE,ICASSP,pp.937-940,1985.
۹- ITU,”Coding of Speech at 16 kbps using Low-Delay Code Excited Linear Prediction “, ITU (CCITT) Recommendation G.728, 1992.
۱۰- ITU,” G.728 Annex G , 16 kbps Fixed Point specification “, 11/94.
۱۱- TI, “TMS320C54x Assembly language tools user guide .
۱۲- TI, ” TMS320C54x DSP reference set, volume 1: CPU”, spru131,.
۱۳- TI, ” TMS320C54x DSP reference set, volume 2: Mnemonic instruction set”, spru172, .
۱۴- TI, “Code Composer user guide”,spru 328,.
۱۵- TI, “C5402 DSK user guide” ,.
۱۶- TI,” DSP product tree” , .
۱۷- TCTS Lab,” The LD-CELP at 16kb/s (ITU-T G.728)”,Coding research group homepage ,.
۱۸- ITU,”G.728 Annex H:variable bit rate LD-CELP operation mainly for DCME at rates less than 16 kb/s”,5/99.
امروزه در عصر ارتباطات و گسترش روزافزون استفاده از شبکه های تلفن ،موبایل و اینترنت در جهان ومحدودیت پهنای باند در شبکه های مخابراتی ، کدینگ و فشرده سازی صحبت امری اجتناب ناپذیر است . در چند دهه اخیر روشهای کدینگ مختلفی پدیدآمده اند ولی بهترین و پرکاربردترین آنها کدک های آنالیزباسنتز هستند که توسط Atal & Remedeدر سال ۱۹۸۲ معرفی شدند [۲] . اخیرا مناسبترین الگوریتم برای کدینگ صحبت با کیفیت خوب در نرخ بیت های پائین و زیر ۱۶ kbps ، روش پیشگویی خطی باتحریک کد (CELP) می باشد که در سال ۱۹۸۵ توسط Schroeder & Atal معرفی شد [۸] و تا کنون چندین استاندارد مهم کدینگ صحبت بر اساس CELP تعریف شده اند .
در سال ۱۹۸۸ CCITT برنامه ای برای استانداردسازی یک کدک ۱۶ kbps با تاخیراندک و کیفیت بالا در برابر خطاهای کانال آغاز نمود و برای آن کاربردهای زیادی همچون شبکه PSTN ،ISDN ،تلفن تصویری و غیره در نظر گرفت . این کدک در سال ۱۹۹۲ توسط Chen et al. تحت عنوان LD-CELP معرفی شد[۶] و بصورت استاندارد G.728 در آمد[۹] و در سال ۱۹۹۴ مشخصات ممیز ثابت این کدک توسط ITU ارائه شد[۱۰] . با توجه به کیفیت بالای این کدک که در آن صحبت سنتزشده از صحبت اولیه تقریبا غیرقابل تشخیص است و کاربردهای آن در شبکه های تلفن و اینترنت و ماهواره ای در این گزارش به پیاده سازی این کدک می پردازیم .
در فصل اول به معرفی وآنالیز سیگنال صحبت پرداخته می شود و در فصل دوم روش ها و استانداردهای کدینگ بیان می شوند . در فصل سوم کدک LD-CELP را بیشتر بررسی می کنیم و در فصل چهارم شبیه سازی ممیز ثابت الگوریتم به زبان C را بیان می نمائیم. ودر پایان در فصل ۵ به نحوه پیاده سازی بلادرنگ کدکG.728 بر روی پردازنده TMS320C5402 می پردازیم.
صحبت در اثر دمیدن هوا از ریه ها به سمت حنجره و فضای دهان تولید میشود. در طول این مسیر در انتهای حنجره، تارهای صوتی[۱] قرار دارند. فضای دهان را از بعد از تارهای صوتی ، لوله صوتی[۲] مینا مند که در یک مرد متوسط حدود cm 17 طول دارد . در تولید برخی اصوات تارهای صوتی کاملاً باز هستند و مانعی بر سر راه عبور هوا ایجاد نمیکنند که این اصوات را اصطلاحاً اصوات بی واک [۳] مینامند. در دسته دیگر اصوات ، تارهای صوتی مانع خروج طبیعی هوا از حنجره میگردند که این باعث به ارتعاش درآمدن تارها شده و هوا به طور غیر یکنواخت و تقریباً پالس شکل وارد فضای دهان میشود. این دسته از اصوات را اصطلاحاً باواک[۴] میگویند.
فرکانس ارتعاش تارهای صوتی در اصوات باواک را فرکانس Pitch و دوره تناوب ارتعاش تارهای صوتی را پریود Pitch مینامند. هنگام انتشار امواج هوا در لوله صوتی، طیف فرکانس این امواج توسط لوله صوتی شکل میگیرد و بسته به شکل لوله ، پدیده تشدید در فرکانس های خاصی رخ میدهد که به این فرکانس های تشدید فرمنت[۵] میگویند.
از آنجا که شکل لوله صوتی برای تولید اصوات مختلف، متفاوت است پس فرمنت ها برای اصوات گوناگون با هم فرق میکنند. با توجه به اینکه صحبت یک فرآیند متغییر با زمان است پس پارامترهای تعریف شده فوق اعم از فرمنت ها و پریود Pitch در طول زمان تغییر میکنند به علاوه مد صحبت به طور نامنظمی از باواک به بی واک و بالعکس تغییر میکند. لوله صوتی ، همبستگی های زمان-کوتاه ، در حدود ۱ ms ، درون سیگنال صحبت را در بر میگیرد. و بخش مهمی از کار کدکننده های صوتی مدل کردن لوله صوتی به صورت یک فیلتر زمان-کوتاه میباشد. همان طور که شکل لوله صوتی نسبتاً آهسته تغییر میکند، تابع انتقال این فیلتر مدل کننده هم نیاز به تجدید[۶] ، معمولاً در هر ۲۰ms یکبارخواهد داشت.
در شکل (۱-۱ الف) یک قطعه صحبت باواک که با فرکانس ۸KHz نمونه برداری شده است دیده میشود. اصوات باواک دارای تناوب زمان بلند به خاطر پریود Pitch هستند که نوعاً بین ۲ms تا ۲۰ms میباشد. در اینجا پریود Pitch در حدود ۸ms یا ۶۴ نمونه است. چگالی طیف توان این قطعه از صحبت در شکل (۱-۱ ب) دیده میشود[۳].
اصوات بی واک نتیجه تحریک نویز مانند لوله صوتی هستند و تناوب زمان- بلند اندکی را در بر دارند ، همانگونه که در شکل های (۱-۱ ج) و (۱-۱ د) دیده میشود ولی همبستگی زمان کوتاه به خاطر لوله صوتی در آنها هنوز وجود دارد.
بطورکلی سیگنال صحبت دارای افزونگی[۷] زیادی است که ناشی از عوامل ذیل هستند:
ـ وابستگی های زمان-کوتاه : این وابستگی ها عمدتاً به کندی تغییرات صحبت با زمان و ساختار
نسبتاً منظم فرمنت ها مربوط میشوند.
ـ وابستگی های زمان- بلند : که عمدتاً از طبیعت نیمه متناوب اصوات با واک و تغییرات آرام پریود Pitch ناشی میشوند.
ـتابع چگالی احتمال صحبت : علیرغم پیچیدگی آماری صحبت میتوان آن را با توابع چگالی احتمال شناخته شده تقریب زد. شکل لوله صوتی و مد تحریک آن به صورت نسبتاً آرام تغییر میکند و بنابراین صحبت را میتوان به صورت شبه ایستان در دوره های کوتاه زمانی (حدود ۲۰ms) در نظر گرفت و با یک فرآیند تصادفی ارگادیک در یک قطعه زمانی کوچک مدل نمود و طیف مشخصی برای آن در این قطعه زمانی بدست آورد.
علاوه بر افزونگی های فوق عامل مهم دیگری که کاهش نرخ داده سیگنال صحبت را ممکن می سازد، طبیعت غیر حساس گوش انسان نسبت به بسیاری از ویژگیهای این سیگنال میباشد.
روش کدینگ پیشگویی خطی (LPC[8]) مبتنی بر مدل تولید صحبت در کد کننده های صوتی میباشد که در اینجا در شکل (۱-۲) نشان داده شده است. برای استفاده از مدل لازم است که معلوم شود سیگنال با واک است یا بیواک و اگر با واک است پریود Pitch مجاسبه گردد. تفاوت اصلی بین LPC و سایر کدکننده های صوتی در مدل کردن لوله صوتی است. در تحلیل LPC ، لوله صوتی به صورت یک فیلتر دیجیتال تمام قطب در نظر گرفته میشود.[۴,۱].
روش LPC هنگامی دقیق است که به سیگنالهای ایستان[۹] اعمال شود، یعنی به سیگنالهایی که رفتار آنها در زمان تغییر نمیکند. هر چند که این موضوع در مورد صحبت صادق نیست، اما برای اینکه بتوانیم روش LPC را بکار ببریم، سیگنال صحبت را به قسمت های کوچکی بنام “فریم” تقسیم میکنیم که این فریم ها شبه ایستان هستند. شکل (۱-۳) مثالی از قسمت بندی سیگنال صحبت را نشان میدهد. این قسمت بندی با ضرب کردن سیگنال صحبت S(n) ، در سیگنال پنجره W(n) انجام میشود.
معروف ترین انتخاب برای پنجره ، پنجره همینگ (Hamming) به صورت زیر است:
در اینجا N ، طول پنجره دلخواه به نمونه و عموماً در محدوده ۱۶۰-۳۲۰ انتخاب میگردد که ۲۴۰ یک مقدار نوعی میباشد . در شکل (۱-۴) چند پنجره معروف نشان داده شده است.
معمولاً پنجره های متوالی برروی هم همپوشانی دارند و فاصله بین آنها را پریود فریم میگویند. مقادیر نوعی برای پریود فریم ۱۰-۳۰ms میباشد. این انتخاب به نرخ بیت و کیفیت صحبت دلخواه ما بستگی خواهد داشت. هر چه پریود فریم کوچکتر باشد، کیفیت بهتری خواهیم داشت.
[۱] Vocal Cords
[۲] Vocal Tracts
[۳] Unvoiced
[۴] Voiced
[۵] Formant
[۶] Update
[۷] Redundancy
[۸] Linear Predictive Coding
[۹] Stationary
[۱۰] Lattice
[۱۱] International Telecommunication Union (CCITT)
[۱۲] Waveform Coders
[۱۳] Vocoders
جهت دریافت و خرید متن کامل مقاله و تحقیق و پایان نامه مربوطه بر روی گزینه خرید انتهای هر تحقیق و پروژه کلیک نمائید و پس از وارد نمودن مشخصات خود به درگاه بانک متصل شده که از طریق کلیه کارت های عضو شتاب قادر به پرداخت می باشید و بلافاصله بعد از پرداخت آنلاین به صورت خودکار لینک دنلود مقاله و پایان نامه مربوطه فعال گردیده که قادر به دنلود فایل کامل آن می باشد .
ارسال نظر