تبدیل فوریه زمان-کوتاه

**تبدیل فوریه زمان-کوتاه**  که به اختصار **STFT** نامیده می‌شود، یک تبدیل مرتبط با فوریه است که برای مشخص کردن فرکانس سینوسی و فاز مناطق محلی یک موج در حال تغییر استفاده می‌شود.

## تعریف
### تبدیل زمان پیوسته
در حالت زمان پیوسته، تابعی که تبدیل می‌شود ابتدا در یک تابع پنجره که تنها در یک زمان بسیار کوتاه صفر نیست، ضرب می‌شود. با لغزاندن تابع پنجره بر روی محور زمان، از سیگنالی که از نتیجهٔ این ضرب به دست می‌آید تبدیل فوریه (که یک تابع یک بعدی است.) گرفته می‌شود که در واقع نمایش دو بعدی از تابع را ایجاد می‌کند. به زبان ریاضی:

\mathbf{STFT}\{x(t)\}(\tau,\omega) \equiv X(\tau, \omega) = \int_{-\infty}^{\infty} x(t) w(t-\tau) e^{-j \omega t} \, dt 

در اینجا w(t) تابع پنجره است. برای تابع پنجره معمولاً از تابع پنجره هن یا پنجره گاوسی در اطراف صفر استفاده می‌شود. x(t) نیز سیگنالی است که تبدیل خواهد شد. X(\tau, \omega) که همان تبدیل فوریهٔ x(t)w(t-\tau) است در واقع تابعی مختلط بوده که فاز و اندازه سیگنال نسبت به زمان را مشخص می‌کند.

در صورتی که اندازهٔ تبدیل STFT را به توان ۲ برسانیم، نشان‌دهنده طیف‌نگاره (Spectrogram) تابع خواهد بود:

\operatorname{spectrogram}\{x(t)\}(\tau, \omega) \equiv |X(\tau, \omega)|^2 

### تبدیل زمان گسسته
در حالت زمان گسسته، داده‌های تابعی که تبدیل می‌شود را می‌توان به راحتی به تکه‌های جدا تقسیم کرد (این تکه‌ها معمولاً با هم تداخل دارند تا از وقوع خطا در قسمت‌های مرزی بین دو تکه جلوگیری شود). هر تکهٔ جداشده با فوریه تبدیل می‌شود و نتایج مختلط به دست آمده به یک ماتریس افزوده می‌شوند که فاز و اندازه سیگنال در هر زمان و فرکانس را نگه‌داری می‌کند. به زبان ریاضی:

\mathbf{STFT}\{x[n]\}(m,\omega)\equiv X(m,\omega) = \sum_{n=-\infty}^{\infty} x[n]w[n-m]e^{-j \omega n} 

مانند حالت پیوسته در اینجا نیز x[n] سیگنال ورودی تبدیل و w[n] تابع پنجره می‌باشد. در این حالت متغیر m گسسته و متغیر \omega پیوسته است. اما از آنجایی که این تبدیل معمولاً در  رایانه‌ها برای محاسبهٔ تبدیل فوریه سریع استفاده می‌شود، هر دو متغیر گسسته و کوانتیزه خواهند بود.

## تبدیل معکوس
تبدیل زمان کوتاه معکوس‌پذیر است. رایج‌ترین روش معکوس کردن این تبدیل استفاده از روش هم‌پوشانی جمع (Overlap Add یا OLA) است.

### تبدیل زمان پیوسته
با داشتن طول و تعریف تابع پنجره w(t)، به مساحت زیر تابع پنجره نیاز داریم:

 \int_{-\infty}^{\infty} w(\tau) \, d\tau  = 1

از این فرمول به راحتی ۲ رابطهٔ زیر به دست خواهد آمد:

 \int_{-\infty}^{\infty} w(t-\tau) \, d\tau  = 1 \quad \forall \ t 

***و***

 x(t) = x(t) \int_{-\infty}^{\infty} w(t-\tau) \, d\tau  = \int_{-\infty}^{\infty} x(t) w(t-\tau) \, d\tau 

تبدیل فوریه پیوسته این‌گونه تعریف می‌شود:

 X(\omega) = \int_{-\infty}^{\infty} x(t) e^{-j \omega t} \, dt 

اگر تابع x(t) را جایگزین تابع جدید به دست آمده در فرمول بالا کنیم، خواهیم داشت:

 X(\omega) = \int_{-\infty}^{\infty} \left[ \int_{-\infty}^{\infty} x(t) w(t-\tau) \, d\tau \right] \, e^{-j \omega t} \, dt 

 = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} x(t) w(t-\tau) \, e^{-j \omega t} \, d\tau \, dt 

اکنون با تغییر جای ۲ انتگرال خواهیم داشت:

 X(\omega) = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} x(t) w(t-\tau) \, e^{-j \omega t} \, dt \, d\tau 

 = \int_{-\infty}^{\infty} \left[ \int_{-\infty}^{\infty} x(t) w(t-\tau) \, e^{-j \omega t} \, dt \right] \, d\tau 

 = \int_{-\infty}^{\infty} X(\tau, \omega) \, d\tau. 

بنابراین تبدیل فوریه را می‌توان به صورت نوعی جمع از تمامی مقادیر STFT برای تابع x(t) در نظر گرفت. از آنجایی که معکوس تبدیل فوریه به صورت زیر تعریف می‌شود:

 x(t)  = \frac{1}{2 \pi} \int_{-\infty}^{\infty} X(\omega) e^{+j \omega t} \, d\omega 

می‌توان با استفاده از x(t) به دست آمده، فرمول‌های زیر را به‌دست آورد:

 x(t)  = \frac{1}{2 \pi} \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} X(\tau, \omega) e^{+j \omega t} \, d\tau \, d\omega 

***یا***

 x(t)  = \int_{-\infty}^{\infty} \left[ \frac{1}{2 \pi} \int_{-\infty}^{\infty} X(\tau, \omega) e^{+j \omega t} \, d\omega \right] \, d\tau 

با مقایسه با فرمول‌های بالا می‌بینیم که موجک تابع x(t) به‌صورت زیر تعریف می‌شود:

 x(t) w(t-\tau)  = \frac{1}{2 \pi} \int_{-\infty}^{\infty} X(\tau, \omega) e^{+j \omega t} \, d\omega 

این موجک در واقع فوریه معکوس X(\tau, \omega) برای \tauهای ثابت است.
## منابع

* 

## پیوند به بیرون
* DiscreteTFDs – software for computing the short-time Fourier transform and other time-frequency distributions
* Singular Spectral Analysis - MultiTaper Method Toolkit - a free software program to analyze short, noisy time series.
* kSpectra Toolkit for Mac OS X from SpectraWorks
* Time stretched short time Fourier transform for time frequency analysis of ultra wideband signals
* A BSD-licensed Matlab class to perform STFT and inverse STFT

رده:پردازش سیگنال
رده:تبدیل
رده:آنالیز فوریه
رده:تحلیل زمان–بسامد