سفارش تبلیغ
صبا ویژن

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

 

برای دریافت پروژه اینجا کلیک کنید

  پایان نامه پیاده سازی بلادرنگ کدک صحبت استاندارد G.728 بر روی پردازنده TMS320C5402 در pdf دارای 103 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد پایان نامه پیاده سازی بلادرنگ کدک صحبت استاندارد G.728 بر روی پردازنده TMS320C5402 در pdf   کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

توجه : توضیحات زیر بخشی از متن اصلی می باشد که بدون قالب و فرمت بندی کپی شده است

 

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

مقدمه
فصل 1 : بررسی و مدل سازی سیگنال صحبت
1-1- معرفی سیگنال صحبت
1-2- مدل سازی پیشگویی خطی
1-2-1- پنجره کردن سیگنال صحبت
1-2-2- پیش تاکید سیگنال صحبت
1-2-3- تخمین پارامترهای LPC

فصل 2 : روش ها و استانداردهای کدینگ صحبت
2-1- مقدمه
2-2- روش های کدینگ
2-2-1- کدرهای شکل موج
2-2-2- کدرهای صوتی
2-2-3- کدرهای مختلط
الف- کدرهای مختلط حوزه فرکانس
ب- کدرهای مختلط حوزه زمان

فصل 3 : کدر کم تاخیر LD-CELP
3-1- مقدمه
3-2- بررسی کدرکم تاخیر LD-CELP
3-2-1- LPC معکوس مرتبه بالا
3-2-2- فیلتر وزنی شنیداری
3-2-3- ساختار کتاب کد
3-2-3-1- جستجوی کتاب کد
3-2-4- شبه دیکدر
3-2-5- پست فیلتر
فصل 4 : شبیه سازی ممیزثابت الگوریتم به زبان C
4-1- مقدمه
4-2- ویژگی های برنامه نویسی ممیزثابت
4-3- ساده سازی محاسبات الگوریتم
4-3-1- تطبیق دهنده بهره
4-3-2- محاسبه لگاریتم معکوس
4-4- روندنمای برنامه
4-4-1- اینکدر
4-4-2- دیکدر
فصل 5 : پیاده سازی الگوریتم برروی DSP
5-1- مقدمه
5-2- مروری بر پیاده سازی بلادرنگ
5-3- چیپ های DSP
5-3-1- DSP های ممیزثابت
5-3-2- مروری بر DSP های خانواده TMS
5-3-2-1- معرفی سری TMS320C54x
5-4- توسعه برنامه بلادرنگ
5-5- اجرای برنامه روی برد توسعه گر C5402 DSK
5-5-1- بکارگیری ابزارهای توسعه نرم افزار
5-5-2- استفاده از نرم افزارCCS
5-5-3- نتایج پیاده سازی
5-6- نتیجه گیری و پیشنهاد
- ضمائم
- ضمیمه (الف) : دیسکت برنامه های شبیه سازی ممیز ثابت به زبان C و
پیاده سازی کدک به زبان اسمبلی
- ضمیمه (ب) : مقایسه برنامه نویسی C و اسمبلی
- مراجع

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] زیادی است  که ناشی از عوامل ذیل هستند

ـ وابستگی های زمان-کوتاه  : این وابستگی ها عمدتاً به کندی تغییرات صحبت با زمان و ساختارنسبتاً منظم فرمنت ها مربوط می‏شوند

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

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

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

1-2- مدل سازی  پیشگویی خطی


          روش کدینگ پیشگویی خطی (LPC[8])  مبتنی بر مدل تولید صحبت در کد کننده های صوتی می‏باشد که در اینجا در شکل (1-2) نشان داده شده است. برای استفاده از مدل لازم است که معلوم شود سیگنال با واک است یا بی‏واک و اگر با واک است پریود Pitch مجاسبه گردد. تفاوت اصلی بین LPC و سایر کدکننده های صوتی  در مدل کردن لوله صوتی است. در تحلیل LPC ، لوله صوتی به صورت یک فیلتر دیجیتال تمام قطب در نظر گرفته می‏شود.[4,1]

1-2-1- پنجره کردن سیگنال صحبت

روش LPC هنگامی دقیق است که به سیگنالهای ایستان[9] اعمال شود، یعنی به سیگنالهایی که رفتار آنها در زمان تغییر نمی‏کند. هر چند که این موضوع در مورد صحبت صادق نیست، اما برای اینکه بتوانیم روش LPC را بکار ببریم، سیگنال صحبت را به قسمت های کوچکی بنام   ”فریم” تقسیم می‏کنیم که این فریم ها شبه ایستان هستند. شکل (1-3) مثالی از قسمت بندی سیگنال صحبت را نشان می‏دهد. این قسمت بندی با ضرب کردن سیگنال صحبت  S(n) ، در سیگنال  پنجره W(n) انجام می‏شود

معروف ترین انتخاب برای پنجره ، پنجره همینگ (Hamming) به صورت زیر است

در اینجا N ، طول پنجره دلخواه به نمونه و عموماً در محدوده  160-320 انتخاب می‏گردد   که 240 یک مقدار نوعی می‏باشد . در شکل (1-4) چند پنجره معروف نشان داده شده است

معمولاً پنجره های متوالی برروی هم همپوشانی دارند و فاصله بین آنها را پریود فریم می‏گویند. مقادیر نوعی برای پریود فریم 10-30ms می‏باشد. این انتخاب به نرخ بیت و کیفیت صحبت دلخواه ما بستگی خواهد داشت. هر چه پریود فریم کوچکتر باشد، کیفیت بهتری خواهیم داشت

 

1-2-2- پیش تاکید سیگنال صحبت

شکل (1-5) یک توزیع طیفی نمونه سیگنال صحبت را برای اصوات باواک نشان می‏دهد. با توجه به افت طیف در فرکانس های بالا وضعیف بودن فرکانس های بالا در طیف صحبت ، تحلیل  LPC در فرکانس های بالا عملکرد ضعیفی خواهد داشت. برای تقویت مؤلفه های فرکانس بالا صحبت ، آن را از یک فیلتر بالا گذر با تابع انتقال  که فیلتر پیش تاکید نامیده می‏شود، عبور می‏دهیم. مقدار نوعی ضریب a معمولاً  در نظر گرفته می‏شود

اگر S(n) سیگنال ورودی باشد، سیگنال پیش تأکید شده  خواهد شد

1-2-3- تخمین پارامترهای LPC

در اینجا لازم است که پارامترهای مدل LPC یعنی ضرایب ai فیلتر و بهره G تعیین گردند. اگر تخمین S(n) از روی نمونه های قبلی باشد، ضرایب ai را چنان تعیین می‏کنیم که خطایروی همه نمونه های موجود مینیمم گردد. این مینیمم سازی ما را به معادلات خطی زیر می‏رساند

کهr(i) ،  iامین اتوکورلیشن سیگنال می‏باشد و فرض شده که S(n)  به طول N پنجره شده است. این فرمولاسیون به روش اتوکورلیشن معروف است و ماتریس R در آن یک ماتریس Toeplitz می‏باشد.  چنین ماتریسی غیرمنفرد و همیشه معکوس پذیر است و در نتیجه  همواره می‏‏توانیم جوابی به صورت a = -R-1r داشته باشیم

روش دیگری نیز بنام روش کواریانس وجود دارد. در این روش سیگنال صحبت S(n) پنجره نمی‏شود و به جای اتوکورلیش های r(i) ، کواریانس های r(i,j) برای عنصر (i,j) ماتریس R محاسبه می‏گردد

در اینجا تضمین نمی‏شود که ماتریس R معکوس پذیر باشد و ممکن است که سیستم معادلات فوق جواب نداشته باشد. در این حالت فیلتر LPC ناپایدار می‏شود. از این رو در اینجا بیش از این به روش کواریانس نمی‏پردازیم

راه سوم روش Burg است که امتیاز عدم استفاده از پنجره را در روش کواریانس با امتیاز روش اتوکورلیشن یعنی تضمین پایداری فیلتر ، ترکیب می‏کند. این روش از  ساختار مشبک[10]    فیلتر تمام قطب  استفاده می‏کند[1]

جواب دستگاه معادلات فوق را می‏توان با یکی از روش های کلاسیک آنالیز عددی مثل حذف گوسی بدست آورد. اما چون R یک ماتریس Toeplitz است می‏توان از روشی مؤثر بنام روش تکرار Durbin سود جست که بصورت زیر ضرائب فیلتر را تولید می کند

    2ـ برای یک فیلتر پایدار یعنی یک فیلترLPC   که همه قطب های آن داخل دایره واحد باشد داریم

که این شرط بسیار مهمی است چرا که با اطمینان از اینکه Ki  بین –1 و +1 است حتی            بعد از کوانیتزاسیون ، پایداری فیلتر تضمین خواهد شد. به علاوه محدوده (-1 , +1) کار کوانیتزاسیون را ساده‏تر می‏کند. ولی ai ها دارای چنین ویژگی نیستند که پایداری فیلتر را تضمین نمایند و کوانیتزاسیون ai ها می‏تواند موجب ناپایداری ‏شود

فصل

روش ها و استاندارهای کدینگ صحبت

 2-1- مقدمه

کدینگ دیجیتال صحبت  موضوع تحقیقات بیش از سه دهه اخیر بوده و  روش های زیادی برای کدینگ صحبت پدید آمده است .کیفیت صحبت و نرخ بیت دو عامل اساسی هستند که بطور مستقیم با هم درگیر می باشند و هر چه نرخ بیت پایین تر بیاید ، از کیفیت صحبت کاسته می شود. برای سیستم هایی که به شبکه تلفن متصل می شوند ، صحبت کد شده باید دارای کیفیت خوب  باشد تا با استانداردهای ITU[11] مطابقت داشته باشد اما برای سیستم های محدود مانند شبکه های تجاری خصوصی و سیستم های نظامی ، ممکن است عامل نرخ بیت مهمتر از کیفیت بالای صحبت باشد . از ویژگیهای سیستم های کدینگ صحبت ، تأخیر کدینگ می باشد  که مقدار آن به کیفیت مورد نیاز سیستم ارتباط نزدیک دارد .تأخیر کدینگ شامل تاخیر الگوریتمی (بافر کردن صحبت برای آنالیز)، تاخیر محاسباتی (زمان لازم برای پردازش و ذخیره کردن نمونه های صحبت) و تاخیر مربوط به ارسال و انتقال می باشد . تاخیر اندک در   سیستم های مخابراتی باعث کاهش اثراکو در آن سیستم می شود. از ویژگیهای دیگر سیستم ها توانایی آنها برای ارسال داده    در باند صوتی است . چرا که مشخصه های آماری و طیف فرکانسی داده باند صوتی کاملا  با سیگنال صحبت تفاوت دارد

2-2- روشهای کدینگ

روشهای  کدینگ صحبت را می توان به چند دسته اصلی که در شکل (2-1) نشان داده شده است تقسیم بندی نمود. از این میان سه دسته اصلی که با خط پر نشان داده شده اند موضوع تحقیقاتی بیشتری هستند . این روشها سیگنال صحبت را آنالیز کرده افزونگی های آنرا حذف نموده و بخش های غیر زائد صحبت را به روشی کد می کنند که از نظر شنیداری قابل قبول باشد.کدرهای شکل موج[12] نوعا نرخ بیت بالایی دارند و صحبت بازسازی شده را با کیفیت خیلی خوب ارائه می دهند. کدرهای صوتی[13] در نرخ بیت های خیلی پایین کار می کنند و صحبت را از طریق سنتز بازسازی می کنند . کدرهای مختلط ترکییبی  از تکنیک های  صوتی و  شکل موج را       بکار می گیرند و صحبت با کیفیت خوب را در نرخ بیت های میانی ارائه می دهند

در شکل (2-2) کیفیت صحبت بر حسب نرخ بیت برای سه دسته اصلی کدینگ یعنی کدینگ شکل موج  ، کدینگ صوتی و کدینگ مختلط نشان داده شده است . همچنین خلاصه ای از کاربردهای روشهای در حال کار و آنهایی که در حال توسعه می باشند در جدول (2-1) گردآوری شده است [5]

Year of Operation

Type of Coder

Application

Rate (kbps)

 

PCM

‍PSTN (1st Generation)

 

 

ADPCM

PSTN (2nd Generation)

 

 

LD-CELP

PSTN (3rd Generation)

 

 

APC

INMARSAT-B

 

 

RPE-LTP

GSM

 

 

MPLPC

Skyphone

 

 

VSELP

North American Mobile

 

 

MBE-CELP

INMARSAT-M

(land mobile)

 

 

CELP

U.S. Gov.Fed.Standard

 

 

Vector Adaptive Predictive Coding   VAPC

NASA  MSAT-X

(mobile satellite)

 

جدول (2-1): استاندارد های کدینگ صحبت

2-2-1- کدرهای شکل موج

[1]  Vocal Cords

[2] Vocal Tracts

[3] Unvoiced

[4] Voiced

[5] Formant

[6]  Update

[7]  Redundancy

[8]  Linear Predictive Coding

[9]  Stationary

[10]  Lattice

[11]  International Telecommunication Union (CCITT)

[12]  Waveform Coders

[13]  Vocoders

 

برای دریافت پروژه اینجا کلیک کنید

کلمات کلیدی :