بهبود صحبت با روش تفريق طيفي- شرح روش، فرضها و محدوديتها

اصولاً تفريق طيفی روشی است برای بازيافت طيف توان يا طيف اندازة يک سيگنال که با نويز نوع جمع شونده[1] آغشته شده است. اصول کار بر مبنای تخمين اندازة طيف فرکانسی سيگنال صحبت خالص، مي‎باشد. اين تخمين بوسيله تفريق اندازة طيف نويز از اندازة طيف سيگنال صحبت آغشته به نويز بدست مي‎آيد. اطلاعات مربوط به طيف نويز از روی اندازهگيری سيگنال در لحظات سکوت صحبت بدست مي‎آيد. جهت بدست آوردن لحظات سکوت، الگوريتمهای متعددی مطرح گرديده است. رابينر و سامبور[49] در الگوريتم خود با استفاده از ميزان عبور از صفر و آستانه انرژی ابتدا و انتهای کلمه را با دقّت خوبی مشخّص کرده‎اند. با مشخّص بودن ابتدا و انتهای کلام، مشخّصات لحظات سکوت قابل اندازهگيری و محاسبه است. روش ديگر محاسبه لحظات سکوت، استفاده از آستانه انرژی بهتنهايی است. تعيين آستانه مورد نظر از روی محاسبه انرژی سکوت در ابتدای صحبت بدست مي‎آيد. برای کاربردهای بهبود صحبت و کاهش نويز محيطی از سيگنال صحبت، استفاده از روش دوّم جهت تعيين لحظات سکوت، مي‎تواند کارآمد باشد. در اين صورت حجم محاسباتی کاهش يافته و الگوريتم سريعتر اجرا مي‎شود. با استفاده از تبديل فوريه نمونه‌های سکوت، طيف نويز تخمين زده مي‎شود. برای محاسبه تبديل فوريه  از DFT يا گونه سريع آن FFT استفاده مي‎شود.

       در اين روش فرضهای زير در نظر گرفته شده‌اند:  الف– نويز زمينه با سيگنال صحبت جمع پذير است.  ب-  نويز محيطی به طور محلی ايستان باقی مي‎ماند، يعنی متوسط آماری اندازة طيفی نويز در غياب صحبت، با متوسط آماری اندازة طيفی نويز در حضور صحبت مساوی مي‎باشد. اگر محيط به يک محيط ايستان جديد تغيير يابد، بايد زمان کافی ( حدود 300 ميلی ثانيه ) سکوت وجود داشته باشد تا بتوان متوسط آماری اندازة طيفی نويز زمينه جديد را تخمين زد و بايد صحبت جديد بعد از اين زمان ارائه گردد[3]. با توجّه به فرضهای مزبور، مراحل انجام الگوريتم به ترتيب زير است:  ابتدا سيگنال صحبت توسط ميکروفون ضبط مي‎شود. سپس نمونه‌ها با همپوشانی 50% (نوعاً) پنجره مي‎شوند. اندازة طيف داده‌های پنجره شده، محاسبه گرديده و در لحظاتی که صحبت وجود ندارد، طيف اندازه يا توان نويز تخمين زده مي‎شود. پس از تفريق طيف، نمونه‌های حاصل به حوزة زمان آورده شده و پنجرههای زمانی حاصل شده با استفاده از تکنيک همپوشانی و افزودن (OLA)[2] کنار هم قرار گرفته و صحبت بهبود يافته قابل دسترس خواهد بود[51]. بلوک دياگرام ساده شده سيستم در شکل (3-1) ديده مي‌شود.

 

 

توجّه شود که اگر سيگنال ايستان باشد، برای محاسبه طيف آن مي‎توان از تبديل فوريه معمولی در يک محدوده زمانی وسيع استفاده کرد. اما اگر سيگنال ايستان نباشد، تنها در صورتی مي‎توان طيف آنرا محاسبه کرد که در فواصل کوتاه زمانی بتوان آنرا ايستان فرض نمود و در آن فواصل کوتاه بايد از تبديل فوريه کوتاه مدت استفاده کرد. سيگنال صحبت را مي‎توان حدود 20 ميلی ثانيه ايستان فرض نمود[52]. (به اين بازة زمانی قاب مي‎گويند.) سرعت بيان گوينده باعث تغييرات طول قاب ايستان بودن صحبت مي‎شود. فرض کنيد در يک قاب 10 ميلی ثانيهای طيف صحبت که در پنجره مستطيلی ضرب شده، محاسبه شود. در اين صورت طيف صحبت با طيف پنجره تداخل کرده و مشخّصه طيفی را خراب مي‎کند. برای رفع اين مشکل بايد نمونه‌های زمانی صحبت را در پنجرهای غيرمستطيلی ضرب کرد، به طوری که در حوزة فرکانس توان گلبرگهای فرعی ناچيز باشد تا طيف صحبت را خراب نکند. برای سيگنال صحبت پنجره‌های قابل استفاده بيشتر همينگ[3] و هنينگ[4] مي‎باشد[51]. مسئله ديگر انتخاب طول پنجره است. طبق تحقيقات به عمل آمده، طول پنجره بايد بيش از دو برابر بالاترين دورة تناوب گام صحبت باشد[53]. دورة تناوب گام بسته به افراد مختلف متفاوت است و تا حدود 16 ميلی ثانيه تغيير مي‎کند. اين محدوده تغييرات دورة تناوب گام به فرکانس صحبت افراد، نوع جنسيت و حالات روحی گوينده بستگی دارد. با توجّه به تغييرات دورة تناوب گام، به طور متوسط طول پنجره را بين 24 تا 40 ميلی ثانيه مي‎توان در نظر گرفت. تبديل فوريه در قابها انجام مي‎گيرد و از آنجا که محاسبه طيفی بايد روی نمونه‌های بيش از دو برابر دورة تناوب گام صحبت صورت پذيرد از پنجره استفاده مي‎کنيم. در واقع پنجره باعث مي‎شود نمونه‌های قابهای مجاور در محاسبه طيف قاب مورد نظر دخالت کرده و در نتيجه طيف بهتری از سيگنال صحبت را شامل شود. با توجّه به اينکه طول پنجره 40 ميلی ثانيه و طول قاب 20 ميلی ثانيه در نظر گرفته مي‎شود، اگر پنجره‌ها با هم 50% تداخل داشته باشند، مشخّصه طيفی هر قاب به طور قابل قبولی محاسبه مي‎شود[3].  شکل (3-2) نحوة پنجره کردن را نشان مي‎دهد[51][54].

بين طول پنجره و مشخّصه طيفی سيگنال يک بده-بستان[5] وجود دارد. با بزرگ شدن طول پنجره فرض ايستان بودن صحبت غير واقعی تر شده و دقّت زمانی سيگنال کاهش مي‎يابد و اگر طول پنجره کوچک شود، دقّت در حوزة فرکانس کم مي‎شود. نکته ديگر اينکه عمل تفريق طيفی در واقع تفريق دامنه‎هاست و با فاز کاری ندارد. معمولاً فاز اوّليه يعنی فاز طيف آغشته به نويز به عنوان فاز تفريق طيفی در نظر گرفته مي‎شود. اين روال به منظور سادگی محاسبات و پيچيده نشدن فرمولهاست، چرا که گوش انسان به فاز حساسيت چندانی ندارد. توجّه شود که تفريق طيفی را مي‎توان هم بر روی “طيف توان” و هم “طيف اندازه” انجام داد که دو روش تفاوت چندانی با هم ندارند. محاسبات و فرمولهای بکار رفته در بخش سوم آورده شده است[8][18][51].

3-2-1   خطای طيفي

خطای طيف سيگنال حذف نويز شده نسبت به طيف سيگنال صحبت خالص در هر پنجره را خطای طيفی مي‎ناميم. خطای طيفی به دليل وجود خطا در تخمين نويز بوجود مي‎آيد و اشکالی که بوجود مي‎آورد اينست که اندازة طيف تخمينی نويز لزوما از اندازة طيف سيگنال نويزی کوچکتر نمي‎باشد (در حالی که در واقع اينگونه است؛ زيرا سيگنال نويزی حاصلجمع سيگنال خالص و نويز مي‎باشد.) بنابراين پس از تفريق ممکن است طيف دامنه هميشه دارای مقادير مثبت نبوده و دارای مقادير منفی نيز باشد. در بسياری از سيستمها اين مسئله توسط انجام تصحيح‌های نيم موجی يا تمام موجی اصلاح مي‎شود؛ يعنی بخشهای منفی را صفر در نظر مي‎گيرند و يا فقط مقدار قدر مطلق آنرا در نظر مي‎گيرند. اين فرآيند يکسوسازی غيرخطي، در توزيع سيگنال بازيابی شده، اعوجاج بوجود مي‎آورد. هر چه نسبت سيگنال به نويز (SNR) کمتر باشد، ميزان اعوجاج بيشتر مي‎شود[8]. روشهای برطرف کردن اين اشکال در بخشهای بعد مورد بررسی قرار گرفته است.

[1] Additive

[2] Overlap & Add

[3] Hamming

[4] Hanning

[5] Trade-off

 

 

 

لینک دانلود فایل کامل

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.