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

چکيده
کدک صحبت استاندارد G.728 ، يک کدک کم تاخير است که صحبت با کيفيت عالی را در نرخ بيت ۱۶ kbps ارائه می دهد و برای شبکه های تلفن ماهواره ای و اينترنت و موبايل که به تاخير زياد حساس هستند ، مناسب است. در اين رساله به پياده سازی بلادرنگ اينکدر و ديکدر G.728 بصورت دوطرفه کامل ( Full Duplex ) بر روی پردازنده TMS320C5402 می پردازيم .

روشی ترکيبی برای برنامه نويسی TMS ارائه می شود که در آن زمان وپيچيدگی برنامه نويسی نسبت به برنامه نويسی دستی به ۳۰% کاهش می يابد . در اين روش پس از برنامه نويسی و شبيه سازی مميزثابت الگوريتم کدک به زبان C ، با استفاده از نرم افزار ( Code Composer Studio ) CCS ، برنامه به زبان اسمبلی ترجمه شده و بهينه سازی دستی در کل کد اسمبلی صورت می گيرد . سپس بعضی از توابع مهم برنامه از نظر MIPS ، بصورت دستی به زبان اسمبلی بازنويسی می شوند تا برنامه بصورت بلادرنگ قابل اجرا گردد . در پايان نتايج اين پياده سازی ارائه می شود .

کلمات کليدی

 

کدينگ و فشرده سازی صحبت ، پياده سازی بلادرنگ ، DSP ، TMS320C5402 ، برد DSK

فهرست
– مقدمه ۴
فصل ۱ : بررسی و مدل سازی سيگنال صحبت
۱-۱- معرفی سيگنال صحبت ۶
۱-۲- مدل سازی پيشگويی خطی ۱۰

۱-۲-۱- پنجره کردن سيگنال صحبت ۱۱
۱-۲-۲- پيش تاکيد سيگنال صحبت ۱۳
۱-۲-۳- تخمين پارامترهای LPC 14

فصل ۲ : روش ها و استانداردهای کدينگ صحبت
۲-۱- مقدمه ۱۵
۲-۲- روش های کدينگ ۱۹
۲-۲-۱- کدرهای شکل موج ۲۱
۲-۲-۲- کدرهای صوتی ۲۲ ۲-۲-۳- کدرهای مختلط ۲۴
الف- کدرهای مختلط حوزه فرکانس ۲۷
ب- کدرهای مختلط حوزه زمان ۲۹

فصل ۳ : کدر کم تاخير LD-CELP
3-1- مقدمه ۳۴
۳-۲- بررسی کدرکم تاخير LD-CELP 36
3-2-1- LPC معکوس مرتبه بالا ۳۹
۳-۲-۲- فيلتر وزنی شنيداری ۴۲
۳-۲-۳- ساختار کتاب کد ۴۲
۳-۲-۳-۱- جستجوی کتاب کد ۴۳
۳-۲-۴- شبه ديکدر ۴۵
۳-۲-۵- پست فيلتر ۴۶
فصل ۴ : شبيه سازی مميزثابت الگوريتم به زبان C
4-1- مقدمه ۴۹
۴-۲- ويژگی های برنامه نويسی مميزثابت ۵۰
۴-۳- ساده سازی محاسبات الگوريتم ۵۳
۴-۳-۱- تطبيق دهنده بهره ۵۴
۴-۳-۲- محاسبه لگاريتم معکوس ۵۸
۴-۴- روندنمای برنامه ۵۹
۴-۴-۱- اينکدر ۶۳
۴-۴-۲- ديکدر ۶۹
۵-۱- مقدمه ۷۴
۵-۲- مروری بر پياده سازی بلادرنگ ۷۵
۵-۳- چيپ های DSP 76
5-3-1- DSP های مميزثابت ۷۷
۵-۳-۲- مروری بر DSP های خانواده TMS320 78
5-3-2-1- معرفی سری TMS320C54x 79

۵-۴- توسعه برنامه بلادرنگ ۸۱
۵-۵- اجرای برنامه روی برد توسعه گر C5402 DSK 82
5-5-1- بکارگيری ابزارهای توسعه نرم افزار ۸۴
۵-۵-۲- استفاده از نرم افزارCCS 86
5-5-3- نتايج پياده سازی ۹۴
۵-۶- نتيجه گيری و پيشنهاد ۹۷
– ضمائم
– ضميمه (الف) : ديسکت برنامه های شبيه سازی مميز ثابت به زبان C و
پياده سازی کدک به زبان اسمبلی – ضميمه (ب) : مقايسه برنامه نويسی C و اسمبلی ۹۸
– مراجع ۱۰۳

– مقدمه
امروزه در عصر ارتباطات و گسترش روزافزون استفاده از شبكه هاي تلفن ،موبايل و اينترنت در جهان ومحدوديت پهناي باند در شبكه هاي مخابراتي ، كدينگ و فشرده سازي صحبت امري اجتناب ناپذير است . در چند دهه اخير روشهاي كدينگ مختلفي پديدآمده اند ولي بهترين و پركاربردترين آنها كدك هاي آناليزباسنتز هستند كه توسط 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 ) مبتني بر مدل توليد صحبت در كد كننده هاي صوتي مي‏باشد كه در اينجا در شكل (۱-۲) نشان داده شده است. براي استفاده از مدل لازم است كه معلوم شود سيگنال با واك است يا بي‏واك و اگر با واك است پريود Pitch مجاسبه گردد. تفاوت اصلي بين

LPC و ساير كدكننده هاي صوتي در مدل كردن لوله صوتي است. در تحليل LPC ، لوله صوتي به صورت يك فيلتر ديجيتال تمام قطب در نظر گرفته مي‏شود.[۴,۱].

شكل (۱-۲): مدل توليد صحبت در LPC

با شركت دادن بهره G در اين فيلتر داريم:

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

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

۱-۲-۱- پنجره كردن سيگنال صحبت
روش LPC هنگامي دقيق است كه به سيگنالهاي ايستان اعمال شود، يعني به سيگنالهايي كه رفتار آنها در زمان تغيير نمي‏كند. هر چند كه اين موضوع در مورد صحبت صادق نيست، اما براي اينكه بتوانيم روش LPC را بكار ببريم، سيگنال صحبت را به قسمت هاي كوچكي بنام “فريم” تقسيم مي‏كنيم كه اين فريم ها شبه ايستان هستند. شكل (۱-۳) مثالي از قسمت بندي سيگنال صحبت را نشان مي‏دهد. اين قسمت بندي با ضرب كردن سيگنال صحبت S(n) ، در سيگنال پنجره W(n) انجام مي‏شود.

شكل (۱-۳) : قسمت بندي سيگنال صحبت

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

در اينجا N ، طول پنجره دلخواه به نمونه و عموماً در محدوده ۱۶۰-۳۲۰ انتخاب مي‏گردد كه ۲۴۰ يك مقدار نوعي مي‏باشد . در شكل (۱-۴) چند پنجره معروف نشان داده شده است.
معمولاً پنجره هاي متوالي برروي هم همپوشاني دارند و فاصله بين آنها را پريود فريم مي‏ويند. مقادير نوعي براي پريود فريم ۱۰-۳۰ms مي‏باشد. اين انتخاب به نرخ بيت و كيفيت صحبت دلخواه ما بستگي خواهد داشت. هر چه پريود فريم كوچكتر باشد، كيفيت بهتري خواهيم داشت.

شكل (۱-۴): نمايش چند پنجره معروف

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

شكل (۱-۵) : پوشش طيفي نمونه اصوات باواك

۱-۲-۳- تخمين پارامترهاي 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 است كه امتياز عدم استفاده از پنجره را در روش كواريانس با امتياز روش اتوكورليشن يعني تضمين پايداري فيلتر ، تركيب مي‏كند. اين روش از ساختار مشبك فيلتر تمام قطب استفاده مي‏كند[۱] .
جواب دستگاه معادلات فوق را مي‏توان با يكي از روش هاي كلاسيك آناليز عددي مثل حذف گوسي بدست آورد. اما چون 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 دارند و داراي خواص زير هستند:
۱- ضرايب انعكاس Ki معادل با ضرايب فيلتر ai هستند . به عبارت ديگر مي‏توان K را به a و برعكس تبديل کرد :
K به a :

a به K :

۲ـ براي يك فيلتر پايدار يعني يك فيلترLPC كه همه قطب هاي آن داخل دايره واحد باشد داريم:

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

و كوانيتزاسيون ai ها مي‏تواند موجب ناپايداري ‏شود.
فصل۲
روش ها و استاندارهاي كدينگ صحبت

۲-۱- مقدمه
كدينگ ديجيتال صحبت موضوع تحقيقات بيش از سه دهه اخير بوده و روش هاي زيادي براي كدينگ صحبت پديد آمده است .كيفيت صحبت و نرخ بيت دو عامل اساسي هستند كه بطور مستقيم با هم درگير مي باشند و هر چه نرخ بيت پايين تر بيايد ، از كيفيت صحبت كاسته مي ش

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

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

شكل (۲-۱) : دسته بندي روشهاي كدينگ

كدرهاي شكل موج نوعا نرخ بيت بالايي دارند و صحبت بازسازي شده را با كيفيت خيلي خوب ارائه مي دهند. كدرهاي صوتي در نرخ بيت هاي خيلي پايين كار مي كنند و صحبت را از طريق سنتز بازسازي مي كنند . كدرهاي مختلط ترکييبی از تكنيك هاي صوتي و شكل موج را بكار مي گيرند و صحبت با كيفيت خوب را در نرخ بيت هاي مياني ارائه مي دهند.
در شكل (۲-۲) كيفيت صحبت بر حسب نرخ بيت برای سه دسته اصلي كدينگ يعني كدين

گ شكل موج ، كدينگ صوتي و كدينگ مختلط نشان داده شده است . همچنين خلاصه اي از كاربردهاي روشهای در حال كار و آنهايي كه در حال توسعه مي باشند در جدول (۲-۱) گردآوري شده است [۵] .

شكل (۲-۲) : مقا يسه كيفيت صحبت روشهاي كدينگ صحبت

۱۹۹۱ 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

جدول (۲-۱): استاندارد هاي كدينگ صحبت

۲-۲-۱- كدرهاي شكل موج
كدرهاي شكل موج تلاش مي كنند كه شكل كلي سيگنال صحبت را حفظ نمايند. اين كدرها مي توانند هر شكل موجی در باند صوتي را قبول كنند و صرفا مختص صحبت نيستند . از آنجا كه

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

۲-۲-۲- كدرهاي صوتي (Vocoders)

بر خلاف كدرهاي شكل موج ، كدرهاي صوتي خيلي به صحبت وابسته هستند و در اصولشان هم سعي ندارند كه شكل موج اصلي صحبت را حفظ نمايند . يك كدرصوتي از يك آناليزکننده و يك سنتزکننده تشكيل شده است . آناليزکننده از صحبت اصلي يك دسته پارامتررا كه نمايش دهنده مدل توليد صحبت هستند ، استخراج نموده و آنها را ارسال مي كند و در گيرنده ، صحبت با استفاده از اين پارامترها بازسازي مي شود.

در شكل(۲-۳) مدل توليد صحبت در كدرهاي صوتي نشان داده شده است . لوله صوتي بصورت يك فيلتر متغير با زمان نمايش داده مي شود. براي قطعات بي واك صحبت،اين فيلتر بايك منبع نويز سفيد تحريك مي گردد و براي قطعات باواك صحبت بوسيله يك قطار پالس باپريود pitch تحريك مي شود.
كدرهاي صوتي معمولا در محدوده ۲٫۴kbps كار مي كنند و كيفيت قابل قبول آنها از صداي

طبيعي فاصله دارد . از معروفترين آنها می توان كدرصوتي استاندارد LPC-10 2.4kbps را نام برد[۵].

شكل (۲-۳) : مدل توليد صحبت دركدرهاي صوتي

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

– كدينگ زير باندي و تبديل تطبيقي
دو روش معروف كدينگ صحبت در حوزه فركانس ، كدينگ زير باندي (SBC ) و كدينگ تبديل تطبيقي (ATC )هستند . اصول پايه در هر دو روش تقسيم طيف صحبت ورودي به تعدادي باند فركانسي است كه هر يك جداگانه كد مي شوند . درSBC يك بانك فيلتر به صحبت ورودي اعمال مي شود تا آنرا به ۴تا۱۶ باند فركانسي تقسيم نمايد. ATC يا بعبارت ديگر روش بلوك تبديل ، تبديلي به اندازه نوعي ۱۲۸تا ۲۵۶ نمونه را بكار مي برد تا تفكيك فركانسي بهتري را فراهم آورد .
در كدينگ زير باندي بعد از تقسيم طيف صحبت ورودي به تعدادي زير باند ، هرزيرباند چندتايكي ،كوانتيره ، كد و مالتي پلكس و سپس ارسال مي گردد. در گيرنده اين زير باندها ديمالتي پلكس ، ديكد و بوسيله درونيابي به فركانس اوليه خود برمي گردند . سيگنالهاي زير باندي حاصل سپس با هم جمع مي شوند تا تقريبي از صحبت اصلي را بوجود آورند . در شكل (۲-۴) بلوك دياگرام اينكدر و ديكدر زير باندي نشان داده شده است .

شكل(۲-۴) بلوك دياگرام يك كدر زير باندي نمونه

 

كدرهاي تبديل تطبيقي (ATC) يك روش پيچيده تر آناليز حوزه فركانس هستند كه شامل بلوكي از تبديل هاي قطعات پنجره شده صحبت ورودي مي باشند . هر قطعه با يك دسته از ضرائب تبديل نمايش داده مي شود كه جداگانه كوانتيزه و ارسال مي گردند .درگيرنده اين ضرائب كوانتيزه و تبديل معكوس شده تا يك كپي از قطعه اصلي را بازسازي نمايد. سپس قطعات مجاور به هم متصل شده تا صحبت سنتز شده را شكل دهند . در شكل (۲-۵) بلوك دياگرام يك كدر ATC نشان داده شده است .

 

شكل (۲-۵) : بلوك دياگرام يك كدر تبديل تطبيقي

كدرهاي SBC وATC كه در بالا بحث شدند، صحبت با كيفيت بالا در ۱۶kpbs توليد مي كنند اما كيفيت صحبت در نرخ بيت حدود ۸kbps بدليل عدم حضور پيشگويي Pitch افت مي كند بنابراين محدوده عملياتي آنها را ۱۶kpbs تا ۹٫۶kbps در نظر مي گيرند .

ب) كدرهاي مختلط حوزه زمان
كدرهاي مختلط حوزه زمان از روش پيشگويي خطي استفاده مي كنند . با بكار گيري يك مدل منبع- فيلتر كه فرض مي كند صحبت نتيجه تحريك يك فيلتر متغير با زمان بوسيله يك قطار پالس پريوديك براي اصوات باواك و يا يك منبع نويز تصادفي براي اصوات بي واك است ، مي توان مشخصات آماري سيگنال صحبت را بسيار دقيق مدل كرد.
روش كدينگ پيشگويي تطبيقي(APC ) كه در شكل (۲-۶) نشان داده شده است ، در اصل توسط schroeder , Atal ابداع شده است واز پيشگويي هاي زمان كوتاه و زمان بلند هردودرآن استفاده شده است[۱]. سيگنال تحريك حاصل بعد از فيلتر معكوس شدن به صورت نمونه به نمونه كوانتيزه مي شود. روش APC براي نرخ بيت حدود kbps 16 طراحي شده و در سيستم اينمارست B ازAPC 16kbps به همراه كدينگ كانال Reed-Solomon استفاده شده است[۵].
عملكرد APC در نرخ بيت هاي پايين افت مي كند زيرا بيشتر ظرفيت كدينگ آن صرف كدينگ سيگنال مانده مي شود . به منظور كاهش ظرفيت مورد نياز براي كد كردن سيگنال مانده ، كدرهايي با تحريك مانده با عنوان RELP مورد بررسي قرار گرفتند .

 

شكل (۲-۶) : بلوك دياگرام كدر پيشگويي تطبيقي(APC)
همانطور كه در شكل (۲-۷) ديده مي شود . كدر RELP در اصل يك APC است به جز اينكه تنها بخشي از (بخش فركانس پايين) سيگنال مانده در آن ارسال مي گردد. ايده RELP در اين است كه مي توان فرض كرد ، اطلاعات سيگنال مانده در نواحي فركانس پايين (باند پايه) متمركز شده اند و بنابراين باكد كردن تنها اين قسمت مي توان نرخ بيت كدينگ را كاهش داد.