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