کاربردهای تبدیل فوریه

از ویکی جامع پردیس دانشگاهی دانشگاه قم
پرش به: ناوبری، جستجو

کاربردهای تبدیل فوریه

گفته شد که هر تابع متناوب را می توان به صورت سری فوريه که شامل مجموع مؤلفه های سينوسی و کسينوسی با ضرايب مي باشد، بیان نمود. نکته مهم اينکه هر چه مقدار در عبارات یا افزايش يابد منحنی های تنگ تری خواهيم داشت (به شکل 1-7 دقت شود). از اين نکته، نتيجه مهمی گرفته می شود. اگر تابعی با نواحی تنگ يا با جهش های سريع داشته باشيم می توانيم نتيجه بگيريم تابع متناوب ما دارای همسازهايی در فرکانس های بالا (مثلا می باشد و اگر تابعی با شکل نرم[۱] داشته باشيم آنگاه ضرايب متناظر با همسازها يا فرکانس های بالا برابر صفر هستند يا ناچيزند.

هر چند اين نکته در مورد توابع متناوب و سری فوريه بيان شد اما به صورت شهودی می توان آن را در مورد توابع نامتناوب و تبديل فوريه تعميم داد. در مواردی که تابع نامتناوب دارای جهش و تغييرات سريع باشد می توان نتيجه گرفت که یا در مقادیر بزرگ یا دارای مقدار قابل توجه می باشد و بالعکس اگر یا در مقادیر بزرگ دارای مؤلفه بودند می توان نتيجه گرفت تابع دارای تغييرات سريع می باشد. در شکل 1-8 نتايج حاصل از محاسبه برای دو تابع مختلف آورده شده است. همان گونه که ملاحظه می شود تابعی که تغييرات سريع تری داشته است در های بالا مقادير قابل توجه تری داشته است. توجه داريم که به دليل تقارن تنها به نيمی از نمونه های آن بايد توجه می کنيم. به بيان خلاصه تبديل فوريه يک سيگنال نشان دهنده ميزان تغييرات آن می باشد.

(الف)
||
(ب)
||
(ت)

شکل 1-7. مجموع مؤلفه سینوسی به ازای مقادير مختلف .الف) - ب).. - ت)


(الف)
||
(ب)

شکل 1-8. تبديل فوريه به ازاي دو سيگنال گسسته مختلف-

الف)

ب)



در ادامه بحث نکته بسيار مهم و کليدی که در واقع ايده و سرچشمه اکثر کاربردهای تبديل فوريه می باشد را توضيح می دهيم. اين نکته مهم آن است که اکثر سيگنال های طبيعی مانند صدا يا تصوير دارای تغييرات نرم و غير سريع می باشند. با توجه به اين موضوع کاربردهای جالب و متعددی برای تبديل فوريه به وجود آمده است. به عنوان مثال در اينجا به دو کاربرد اشاره می شود.

  • بالا بردن کيفيت سيگنال: همان گونه که گفته شد اکثر سيگنال های طبيعی دارای طبيعت تغيير نرم هستند. در مقابل اختلالات و نويزهايی که اين سيگنال ها دچار آن می شوند (مانند خِش خِش های صوتی) دارای آهنگ تغييرات شديد می باشند. اگر سیگنال، اطلاعات مهمی در فرکانس های بالا نداشته باشد و از سيگنال نويزی شده تبديل فوريه گرفته و مؤلفه های فرکانس بالای آن را صفر کنیم، می توانيم بگوييم تغييرات سريع يا نويزها را حذف کرده ایم. اگر چه ممکن است با این کار، به کيفيت سيگنال اصلی (بدون نويز) هم آسيب وارد شود اما چون اين سيگنال در فرکانس های بالا مقادير کمی دارد اين تخريب، چندان قابل توجه نخواهد بود.
  • فشرده سازی[۲] : فرض کنيد يک سيگنال گسسته با 1000 نمونه داشته باشيم. از اين سيگنال تبديل فوريه می گيريم. نتيجه با 1000 مؤلفه خواهد بود. از اين 1000 مؤلفه، 500 مؤلفه اول را انتخاب می کنيم و با انجام تبديل فوريه معکوس به ای با 500 نمونه می رسيم. در اينجا حذف فرکانس های بالا با توجه به اينکه سيگنال در آنها مقادير قابل توجهی ندارد مشکل مهمی ايجاد نمی کند. اما ما توانسته ايم تعداد را از 1000 نمونه به 500 نمونه کاهش دهيم. به اين عمل فشرده سازی گفته می شود.

مثال 1-21. برنامه زير يک صدا را می خواند و مقداری از نويز موجود آن را حذف می کند.


[s Fs]=wavread('noisy1.wav');
wavplay(2*s)
S=fft(s);
S_amp=abs(S);
S_phase=atan2(imag(S),real(S));
len=length(s);
S_amp(fix(len/4):fix(len/2))=0;
S_phase(fix(len/4):fix(len/2))=0;

for i=2:fix((len-1)/2)
    S_amp(len-i)=S_amp(i);
    S_phase(len-i)=-S_phase(i);
end
S2=S_amp.*exp(j.*S_phase);
s2=abs(ifft(S2));
wavplay(2*s2,Fs)


فایل سیگنال نویزی،noisy1.wav نام دارد که در سی ‏دی همراه کتاب وجود دارد.

بعد از اجرای برنامه زير مشاهده می شود که هر چند صدای حذف نويز شده ميزان نويز (خش خش) کمتری دارد اما به کيفيت صدای اصلی هم آسيب وارد شده است. علت آن است که مؤلفه های فرکانس بالا را کلا صفر گرفته ايم و در نتيجه بخش هايی از داده که در فرکانس بالا هستند هم تحت تأثير قرار گرفته اند. يک راه بهتر می تواند اين باشد که همه آنها را يکباره صفر نکنيم بلکه به صورت خطی آنها را تضعيف کنيم تا در نهايت صفر شوند.

مثال 1-22. برنامه زير يک فايل صوتی را مي خواند. بعد از تبديل فوريه گرفتن، نيمه بالای فرکانسی را حذف می کند. به اين ترتيب اگر تعداد نمونه های صوت اوليه بود اکنون نمونه برای تبديل فوريه خواهيم داشت. همچنين بعد از گرفتن عکس تبديل فوريه به صدايی دست خواهيم يافت که تعداد نمونه هايش نصف اولی است و در واقع فشرده شده است. در برنامه هم صدای اوليه و هم صدای فشرده شده پخش می شود.


[s Fs]=wavread('Do.wav');
wavplay(2*s)
S=fft(s);
len=length(S);
S1=S(1:fix(len/4));
for i=2:fix((len-1)/4)
    S1 (len/2-i)=S1(i);
end
s1=ifft(S1);
wavplay(2*real(s1),Fs/2);
wavwrite(real(s1),'222.wav');


در قسمت های ديگر کتاب با کاربردهای مهم ديگری از تبديل فوريه آشنا می شويم. همچنین برای آشنايی بیشتر با تبدیل فوریه و انواع آن به کتاب‏های مربوط به پردازش سیگنال مانند (Oppenheim & Willsky, 1996) و (Oppenheim & Schafer, 2009) مراجعه نمایید.


پاورقی

  1. Smooth
  2. Compression