فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

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

اختصاصی از فایلکو دانلود مقاله پیاده سازی بلادرنگ کدک صحبت استاندارد 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 –معرفی سیگنال صحبت
صحبت در اثر دمیدن هوا از ریه ها به سمت حنجره و فضای دهان تولید می‏شود. در طول این مسیر در انتهای حنجره، تارهای صوتی قرار دارند. فضای دهان را از بعد از تارهای صوتی ، لوله صوتی می‏نا مند که در یک مرد متوسط حدود cm 17 طول دارد . در تولید برخی اصوات تارهای صوتی کاملاً باز هستند و مانعی بر سر راه عبور هوا ایجاد نمی‏کنند که این اصوات را اصطلاحاً اصوات بی واک می‏نامند. در دسته دیگر اصوات ، تارهای صوتی مانع خروج طبیعی هوا از حنجره می‏گردند که این باعث به ارتعاش درآمدن تارها شده و هوا به طور غیر یکنواخت و تقریباً پالس شکل وارد فضای دهان می‏شود. این دسته از اصوات را اصطلاحاً باواک می‏گویند.
فرکانس ارتعاش تارهای صوتی در اصوات باواک را فرکانس Pitch و دوره تناوب ارتعاش تارهای صوتی را پریود Pitch می‏نامند. هنگام انتشار امواج هوا در لوله صوتی، طیف فرکانس این امواج توسط لوله صوتی شکل می‏گیرد و بسته به شکل لوله ، پدیده تشدید در فرکانس های خاصی رخ می‏دهد که به این فرکانس های تشدید فرمنت می‏گویند.
از آنجا که شکل لوله صوتی برای تولید اصوات مختلف، متفاوت است پس فرمنت ها برای اصوات گوناگون با هم فرق می‏کنند. با توجه به اینکه صحبت یک فرآیند متغییر با زمان است پس پارامترهای تعریف شده فوق اعم از فرمنت ها و پریود Pitch در طول زمان تغییر می‏کنند به علاوه مد صحبت به طور نامنظمی از باواک به بی واک و بالعکس تغییر می‏کند. لوله صوتی ، همبستگی های زمان-کوتاه ، در حدود 1 ms ، درون سیگنال صحبت را در بر می‏گیرد. و بخش مهمی از کار کدکننده های صوتی مدل کردن لوله صوتی به صورت یک فیلتر زمان-کوتاه می‏باشد. همان طور که شکل لوله صوتی نسبتاً آهسته تغییر می‏کند، تابع انتقال این فیلتر مدل کننده هم نیاز به تجدید ، معمولاً در هر 20ms یکبارخواهد داشت.
در شکل (1-1 الف) یک قطعه صحبت باواک که با فرکانس 8KHz نمونه برداری شده است دیده می‏شود. اصوات باواک دارای تناوب زمان بلند به خاطر پریود Pitch هستند که نوعاً بین 2ms تا 20ms می‏باشد. در اینجا پریود Pitch در حدود 8ms یا 64 نمونه است. چگالی طیف توان این قطعه از صحبت در شکل (1-1 ب) دیده می‏شود[3].
اصوات بی واک نتیجه تحریک نویز مانند لوله صوتی هستند و تناوب زمان- بلند اندکی را در بر دارند ، همانگونه که در شکل های (1-1 ج) و (1-1 د) دیده می‏شود ولی همبستگی زمان کوتاه به خاطر لوله صوتی در آنها هنوز وجود دارد.
بطورکلی سیگنال صحبت دارای افزونگی زیادی است که ناشی از عوامل ذیل هستند:
ـ وابستگی های زمان-کوتاه : این وابستگی ها عمدتاً به کندی تغییرات صحبت با زمان و ساختار
( الف) (ب)
(ج) (د)
شکل (1-1) : مقایسه اصوات باواک و بی واک. (الف)و(ب) : باواک ، (ج)و(د) : بی واک

 

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

 

 

 

 

 

 

 

 

 

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

شکل (1-2): مدل تولید صحبت در LPC

 

با شرکت دادن بهره G در این فیلتر داریم:

 

که در آن p مرتبه فیلتر است. اگر S(n) خروجی فیلتر مدل صحبت و e(n) تحریک ورودی باشد، معادله فوق را در حوزه زمان به صورت زیر می‏توان نوشت:

به عبارت دیگر هر نمونه صحبت به صورت ترکیب خطی از نمونه های قبلی قابل بیان است و این دلیل نام گذاری کدینگ پیشگویی خطی (LPC) می‏باشد.

 

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

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

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

شکل (1-4): نمایش چند پنجره معروف

 

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

 


شکل (1-5) : پوشش طیفی نمونه اصوات باواک

 


1-2-3- تخمین پارامترهای LPC
در اینجا لازم است که پارامترهای مدل LPC یعنی ضرایب ai فیلتر و بهره G تعیین گردند. اگر

تخمین S(n) از روی نمونه های قبلی باشد، ضرایب ai را چنان تعیین می‏کنیم که خطای

روی همه نمونه های موجود مینیمم گردد. این مینیمم سازی ما را به معادلات خطی زیر می‏رساند:

و یا در فرم ماتریسی
R.a = -r
در معادلات فوق تعریف زیر را داریم:

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

در اینجا تضمین نمی‏شود که ماتریس R معکوس پذیر باشد و ممکن است که سیستم معادلات فوق جواب نداشته باشد. در این حالت فیلتر LPC ناپایدار می‏شود. از این رو در اینجا بیش از این به روش کواریانس نمی‏پردازیم.
راه سوم روش Burg است که امتیاز عدم استفاده از پنجره را در روش کواریانس با امتیاز روش اتوکورلیشن یعنی تضمین پایداری فیلتر ، ترکیب می‏کند. این روش از ساختار مشبک فیلتر تمام قطب استفاده می‏کند[1] .
جواب دستگاه معادلات فوق را می‏توان با یکی از روش های کلاسیک آنالیز عددی مثل حذف گوسی بدست آورد. اما چون R یک ماتریس Toeplitz است می‏توان از روشی مؤثر بنام روش تکرار Durbin سود جست که بصورت زیر ضرائب فیلتر را تولید می کند :

که در آن ، ضریب j ام فیلتردر تکرار i ام و E(i) خطای پیشگویی مرتبه i است و بدین ترتیب ضرایب فیلتر بصورت زیر بدست خواهند آمد:

روش تکرار Durbin پارامترهای را که ضرایب انعکاس نامیده می‏شوند و E(p) را بدست می‏دهد که مربع بهره پیشگویی G و مورد نیاز فیلتر سنتز می‏باشد:

و چون داریم :

می‏توانیم به جای E(p) ،r(0) را کد کرده و ارسال داریم و از آنجا به بهره G برسیم و این ترجیح داده می‏شود زیرا حساسیت r(0) به نویز کوانتیزاسیون کمتر از G است.
ضرایب انعکاس Ki یا PARCOR (برای PARtial CORrelation) نقش مهمی در تحلیل LPC دارند و دارای خواص زیر هستند:
1- ضرایب انعکاس Ki معادل با ضرایب فیلتر ai هستند . به عبارت دیگر می‏توان K را به a و برعکس تبدیل کرد :
K به a :

 


a به K :

 

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

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

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

 

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

 

 

 

 

 

 

 

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

 

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

 

شکل (2-2) : مقا یسه کیفیت صحبت روشهای کدینگ صحبت

 


Year of Operation Type of Coder Application Rate (kbps)
1972 PCM ‍PSTN (1st Generation) 64
1984 ADPCM PSTN (2nd Generation) 32
1992 LD-CELP PSTN (3rd Generation) 16
1985 APC INMARSAT-B 16
1991 RPE-LTP GSM 13
1990 MPLPC Skyphone 9.6
1992 VSELP North American Mobile 8
1993 MBE-CELP INMARSAT-M
(land mobile) 6.4
1991 CELP U.S. Gov.Fed.Standard 4.8
1991 Vector Adaptive Predictive Coding VAPC NASA MSAT-X
(mobile satellite) 4.8

 

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

 

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

 

در این کدرها کدینگ به صورت نمونه به نمونه انجام می شود ، عملکرد آنها همانند کوانتیزاسیون بوسیله نسبت سیگنال به نویز (SNR) اندازه گیری می شود. کدینگ های شکل موج برای صحبت، به نرخ بیت های بالای 16kbps محدود می شود و بخاطر سادگی و پیاده سازی آسان ، فراگیر شده اند .
اولین استاندارد جهانی کدینگ صحبت استاندارد G.711 64 kbps PCM ، با کمپندینگ u-law برای امریکای شمالی و A-law برای اروپا، یک کدر شکل موج بوده و هنوز هم کاربرد زیادی در سیستم های مخابراتی دیجیتال دارد . از آنجا که کیفیت صحبتPCM 64 kbps عالی می باشد ، معمولا مرجعی برای مقایسه دیگر کدرهای صحبت با نرخ بیت پایین تر قرار می گیرد . کدر بعدی که توسطCCITT استاندارد شده PCM تفاضلی تطبیقی (ADPCM ) 32 kbps می باشد . کاهش نرخ بیت به نصف در این کدر، از طریق اعمال پیشگویی و کوانتیز اسیون تطبیقی حاصل شده است.

 

2-2-2- کدرهای صوتی (Vocoders)
بر خلاف کدرهای شکل موج ، کدرهای صوتی خیلی به صحبت وابسته هستند و در اصولشان هم سعی ندارند که شکل موج اصلی صحبت را حفظ نمایند . یک کدرصوتی از یک آنالیزکننده و یک سنتزکننده تشکیل شده است . آنالیزکننده از صحبت اصلی یک دسته پارامتررا که نمایش دهنده مدل تولید صحبت هستند ، استخراج نموده و آنها را ارسال می کند و در گیرنده ، صحبت با استفاده از این پارامترها بازسازی می شود.
در شکل(2-3) مدل تولید صحبت در کدرهای صوتی نشان داده شده است . لوله صوتی بصورت یک فیلتر متغیر با زمان نمایش داده می شود. برای قطعات بی واک صحبت،این فیلتر بایک منبع نویز سفید تحریک می گردد و برای قطعات باواک صحبت بوسیله یک قطار پالس باپریود pitch تحریک می شود.
کدرهای صوتی معمولا در محدوده 2.4kbps کار می کنند و کیفیت قابل قبول آنها از صدای طبیعی فاصله دارد . از معروفترین آنها می توان کدرصوتی استاندارد LPC-10 2.4kbps را نام برد[5].

شکل (2-3) : مدل تولید صحبت درکدرهای صوتی

 

سیستم های حوزه فرکانس هم، مانند کدرهای صوتی فرمنت درپردازش صحبت بکار می روند . کدرهای صوتی فرمنت صحبت را با تحریک یک دسته از فیلترهای میانگذر که پهنای باند و فرکانس مرکزی آنها با فرمنت های صحبت منطبق هستند ، سنتر می کنند و عملکرد آنها به تعیین مکان دقیق فرمنت ها بستگی دارد.
2-2-3- کدرهای مختلط
کدرهای مختلط که از ویژگی های هر دوروش کدینگ صوتی و کدینگ شکل موج استفاده می کنند به دو دسته حوزه فرکانس و حوزه زمان تقسیم بندی می شوند :
الف- کدرهای مختلط حوزه فرکانس
ایده اصلی در کدینگ حوزه فرکانس ،تقسیم طیف صحبت به باندهای فرکانسی یا مؤلفه هایی با استفاده از بانک فیلتر و یا یک بلوک تبدیل می باشد .در مرحله دیکدینگ ، این مؤلفه های فرکانسی برای بازسازی یک کپی از شکل موج ورودی ، از طریق مجموع بانک فیلترها یا تبدیل معکوس ، استفاده می شوند.

 

- کدینگ زیر باندی و تبدیل تطبیقی
دو روش معروف کدینگ صحبت در حوزه فرکانس ، کدینگ زیر باندی (SBC ) و کدینگ تبدیل تطبیقی (ATC )هستند . اصول پایه در هر دو روش تقسیم طیف صحبت ورودی به تعدادی باند فرکانسی است که هر یک جداگانه کد می شوند . درSBC یک بانک فیلتر به صحبت ورودی اعمال می شود تا آنرا به 4تا16 باند فرکانسی تقسیم نماید. ATC یا بعبارت دیگر روش بلوک تبدیل ، تبدیلی به اندازه نوعی 128تا 256 نمونه را بکار می برد تا تفکیک فرکانسی بهتری را فراهم آورد .
در کدینگ زیر باندی بعد از تقسیم طیف صحبت ورودی به تعدادی زیر باند ، هرزیرباند چندتایکی ،کوانتیره ، کد و مالتی پلکس و سپس ارسال می گردد. در گیرنده این زیر باندها دیمالتی پلکس ، دیکد و بوسیله درونیابی به فرکانس اولیه خود برمی گردند . سیگنالهای زیر باندی حاصل سپس با هم جمع می شوند تا تقریبی از صحبت اصلی را بوجود آورند . در شکل (2-4) بلوک دیاگرام اینکدر و دیکدر زیر باندی نشان داده شده است .

 

 

 

 

 

 

 

 

 

 

 

شکل(2-4) بلوک دیاگرام یک کدر زیر باندی نمونه

 

کدرهای تبدیل تطبیقی (ATC) یک روش پیچیده تر آنالیز حوزه فرکانس هستند که شامل بلوکی از تبدیل های قطعات پنجره شده صحبت ورودی می باشند . هر قطعه با یک دسته از ضرائب تبدیل نمایش داده می شود که جداگانه کوانتیزه و ارسال می گردند .درگیرنده این ضرائب کوانتیزه و تبدیل معکوس شده تا یک کپی از قطعه اصلی را بازسازی نماید. سپس قطعات مجاور به هم متصل شده تا صحبت سنتز شده را شکل دهند . در شکل (2-5) بلوک دیاگرام یک کدر ATC نشان داده شده است .

 

 

 

 

 

 

 

 

 

 

 


شکل (2-5) : بلوک دیاگرام یک کدر تبدیل تطبیقی

 

کدرهای SBC وATC که در بالا بحث شدند، صحبت با کیفیت بالا در 16kpbs تولید می کنند اما کیفیت صحبت در نرخ بیت حدود 8kbps بدلیل عدم حضور پیشگویی Pitch افت می کند بنابراین محدوده عملیاتی آنها را 16kpbs تا 9.6kbps در نظر می گیرند .

 

ب) کدرهای مختلط حوزه زمان
کدرهای مختلط حوزه زمان از روش پیشگویی خطی استفاده می کنند . با بکار گیری یک مدل منبع- فیلتر که فرض می کند صحبت نتیجه تحریک یک فیلتر متغیر با زمان بوسیله یک قطار پالس پریودیک برای اصوات باواک و یا یک منبع نویز تصادفی برای اصوات بی واک است ، می توان مشخصات آماری سیگنال صحبت را بسیار دقیق مدل کرد.
روش کدینگ پیشگویی تطبیقی(APC ) که در شکل (2-6) نشان داده شده است ، در اصل توسط schroeder , Atal ابداع شده است واز پیشگویی های زمان کوتاه و زمان بلند هردودرآن استفاده شده است[1]. سیگنال تحریک حاصل بعد از فیلتر معکوس شدن به صورت نمونه به نمونه کوانتیزه می شود. روش APC برای نرخ بیت حدود kbps 16 طراحی شده و در سیستم اینمارست B ازAPC 16kbps به همراه کدینگ کانال Reed-Solomon استفاده شده است[5].
عملکرد APC در نرخ بیت های پایین افت می کند زیرا بیشتر ظرفیت کدینگ آن صرف کدینگ سیگنال مانده می شود . به منظور کاهش ظرفیت مورد نیاز برای کد کردن سیگنال مانده ، کدرهایی با تحریک مانده با عنوان RELP مورد بررسی قرار گرفتند .

 



شکل (2-6) : بلوک دیاگرام کدر پیشگویی تطبیقی(APC)
همانطور که در شکل (2-7) دیده می شود . کدر RELP در اصل یک APC است به جز اینکه تنها بخشی از (بخش فرکانس پایین) سیگنال مانده در آن ارسال می گردد. ایده RELP در این است که می توان فرض کرد ، اطلاعات سیگنال مانده در نواحی فرکانس پایین (باند پایه) متمرکز شده اند و بنابراین باکد کردن تنها این قسمت می توان نرخ بیت کدینگ را کاهش داد.


شکل (2-7) : بلوک دیاگرام کدر RELP

 

از اینرو در اینکدر سیگنال باند پایه بوسیله فیلتر پایین گذر و کوانتیزاسیون استخراج می شود . در دیکدر سیگنال باند پایه با استفاده از روش بازسازی فرکانس بالا [5] به سیگنال تمام باند، تبدیل می شود .ویژگی اصلی روش RELP ، توانایی کار در شرایط خیلی بد نویز زمینه می باشد و عملکرد شنیداری خوب آن محدود به 9.6 kbps و بالاتر است .
روشهای کدینگ صحبت که تا کنون بررسی شده اند بر مبنای آنالیز و سنتز هستند . یعنی سیگنال صحبت آنالیز می شود تا پارامترهای سیگنال بدون افزونگی ، از آن استخراج گردد و سپس سیگنال باقیمانده کوانتیزه و ارسال می گردد و در دیکدر عمل عکس صورت می گیرد . این روش کدینگ، استخراج پارامترها را از پروسه کوانتیزاسیون جدا می سازد و بنابراین کنترل بر روی اعوجاج ها به کنترل زیر سیستم های جدا از هم محدود می شود .
برای داشتن کنترل بهتر بر روی تمام پروسه کدینگ، یعنی برای مینیم کردن خطای کلی در سیگنال صحبت سنتز شده ، روشهای آنالیز باسنتز) (AbS منظور می شوند . در روش AbS در طرف فرستنده یک دیکدر محلی وجود دارد که در آن صحبت سنتز شده برای آنالیز موجود می باشد .
روش های AbS-LPC مختلفی وجود دارد و اولین روش گزارش شده LPC چند پالسی (MPLPC ) می باشد که در شکل (2-8) نشان داده شده است . تعیین محل پالسها و دامنه آنها بوسیله یک پروسه AbS انجام می شود . یک نمونه از MPLPCدر سرویس هوایی Skyphone با نرخ بیت 9.6kbps و کدینگ FEC کانولوشنال با نرخ ، بکار گرفته شده است . عیب عمده MPLPC بار محاسباتی نسبتا زیاد آن است. ترکیبی از MPLPCو RELP که برای پیاده سازی ساده تر باشد توسط Kroon گزارش شده که به LPC با تحریک پالس منظم [RPELPC ] موسوم است .
تحریک بهینه در این کدر ، پالس هایی با فاصله برابر و دامنه های مختلف می باشد که بار محاسباتی آنرا کاهش می دهد. این الگوریتم کارآمد از نظر محاسباتی ، برای سیستم موبایل GSM از میان بقیه الگوریتم های موجود انتخاب شده است [5] .

 

 

فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد

تعداد صفحات این مقاله 96   صفحه

پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید


دانلود با لینک مستقیم


دانلود مقاله پیاده سازی بلادرنگ کدک صحبت استاندارد G.728 بر روی پردازنده TMS320C5402
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد