تبدیل فوریه یکی از مفید ترین ابزار های ریاضی در زمینه های مختلف علوم و مهندسی است. تبدیل فوریه در پردازش سیگنال، فیزیک، ارتباطات، مباحث نوری ، پردازش صدا و تصویر و خیلی از زمینه های دیگر کاربرد دارد.

اما کار تبدیل فوریه چیست ؟ این تکنیک، یک تابع یا مجموعه ای از اطلاعات را از حوزه زمان یا نمونه (sample) به حوزه فرکانس منتقل می کند. این بدان معناست که تبدیل فوریه میتواند بخش فرکانسی را برای یک مجموعه از اطلاعات زمانی نمایش دهد. در این پست ما قصد داریم به مبحث تبدیل فوریه در پردازش صوت بپردازیم.

پردازش سیگنال

پردازش سیگنالهای دیجیتال یکی از مهم ترین و پرکاربردترین مباحث در زمینه ی مهندسی است و در خیلی رشته ها مانند مکانیک و ریاضی و برق و ….کاربرد دارد که در راستای این موضوع می توان از نرم افزار متلب استفاده کرد. اگر بخواهیم هر پردازشی روی یک سیگنال یا داده یا رشته اعداد اعمال کنیم (مثلا یک سیگنال را ببریم یا به سیگنال دیگری وصل کنیم و …) باید از ابزاری استفاده کنیم که تولباکس پردازش دیجیتال نرم افزار Matlab یکی از آنهاست.

سیگنال چیست؟

هرکمیت متغیری در زمان یا مکان که بتوان آن را اندازه گیری کرد سیگنال گویند. مثلا صوت کمیتی است که متغیر در زمان و قابل اندازه گیری است. پس صوت یک سیگنال است.

پردازش سیگنال های دیجیتال چیست؟

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

تبدیل فوریه سریع

تبدیل فوریه گسسته (DFT) اطلاعات گسسته را از حوزه نمونه ها به حوزه فرکانس منتقل می کند. تبدیل فوریه سریع ( fast fourier transform ) یک راه بهینه برای انجام DFT است که به اختصار به آن FFT می گوییم. امروزه عموميت و شهرت FFT بوسيله‌‌‌‌ي تنوع گسترده‌‌‌‌ي حوزه‌‌‌‌هاي کاربردي آن به اثبات رسيده است. علاوه بر کاربردهاي مرسوم پردازش سيگنال راداري، ارتباطي و کلامي، حوزه‌‌‌‌هاي کابرد جديد FFT شامل مهندسي پزشکي، تصويربرداري، داده‌‌‌‌هاي بازار سهام، طيف‌‌‌‌سنجي، متالوژي، تحليل سيستم‌‌‌‌هاي غيرخطي، تحليل مکانيکي، تحليل ژئوفيزيکي، شبيه‌‌‌‌سازي، سنتز صدا، و تعيين تغييرات وزن در توليد کاغذ از خمير مي‌‌‌‌باشد. روشن است که متون کاربردي نمي‌‌‌‌تواند وارد عمق چنين گستره‌‌‌‌اي از فنّاوري گردد. الگوریتم های بسیار زیادی برای اجرای FFT وجود دارد. متلب از FFT برای یافتن بخش فرکانسی سیگنال های گسسته استفاده می کند.

ما در این پست می خواهیم با یک مثال نحوه عملکرد FFT برای آنالیز یک فایل صوتی در متلب را نمایش دهیم . ما در این مثال ابتدا یک صدای کوتاه از یک نت موسقیایی را لود می کنیم که شما نیز می توانید این قطعه را از اینجا دانلود نمایید. این مثال به شما نشان می دهد که تبدیل فوریه چگونه در این حوزه عمل می کند و نحوه پیاده سازی آن را در نرم افزار Matlab فرا می گیرید.

در گام اول می توانیم اطلاعات فایل صوتی خود را با دستور audioinfo به دست آوریم:

اطلاعات مختلفی از جمله روش فشرده سازی، نرخ نمونه برداری ، تعداد کل نمونه ها ، طول و تعداد بیت در هر نمونه و همچنین عنوان فایل صوتی در دسترس است. برای مثال با استفاده از کد زیر می توانیم عنوانی را به فایل صوتی خود نسبت بدهیم :

در ادامه کدهای کامل برای مثال این پست به صورت زیر است :

با استفاده از تابع wavread فایل صوتی مورد نظر باز می شود که این تابع اطلاعات نمونه گیری شده، فرکانس نمونه گیری و تعداد بیت های استفاده شده در مبدل A/D را بر میگرداند. توجه کنید که که پسوند .wav این بار در آدرس دهی فایل آورده نشده است . فرکانس نمونه گیری برای تفسیر اطلاعات فایل مهم است.

FFT با تابع fft انجام می شود. در این مثال تنها دامنه FFt ذخیره می شود. تابع fft امکان تعیین تعداد نقاط خروجی FFT را میدهد اما برای این مثال تعداد ورودی و جروجی ها با هم برابر است.

در خط ۱۴ نیمی از نقاط FFT نادیده گرفته می شوند. در خط های بعدی از کد بالا ، نمودار ها را در حوزه زمان و فرکانس رسم می کند . نتیجه کد های بالا به صورت زیر می باشد. تصویر اول(به ترتیب از چپ به راست) حوزه زمان و تصویر دوم حوزه فرکانس را نمایش می دهد.

تبدیل فوریه در پردازش صوت

در این پست به مبحث تبدیل فوریه در پردازش صوت پرداختیم و طیف زمانی یک سیگنال صوتی را به حوزه فرکانس بردیم . در شکل های بالا می توانیم طیف های زمان و فرکانس را ببینیم.

image_pdfدانلود pdf این مقالهimage_printچاپ این مقاله

این خبر را به اشتراک بگذارید :