Ters Ayrık Fourier Dönüşümü Hesaplayıcı
Frekans domenindeki bileşenleri X[k] bu ücretsiz Ters Ayrık Fourier Dönüşümü (IDFT) hesaplayıcıyla zaman domeni dizisi x[n]'ye geri dönüştürün. Virgülle ayrılmış gerçek veya karmaşık değerleri girin ve sonucu anında alın.
IDFT Zaman Domenu Sinyal Yeniden Yapılandırıcısı
Ters Ayrık Fourier Dönüşümü Formülü
Burada:
- \(x[n]\) — \(n\) indeksindeki zaman domeni örnek değeri
- \(X[k]\) — \(k\) indeksindeki frekans domeni (spektral) bileşeni
- \(N\) — toplam örnek sayısı, girilen değer sayısına eşittir
- \(j\) — sanal birim, \(j^2 = -1\)
- \(n\) — zaman domenindeki örnek indeksi (\(0 \le n \le N-1\))
- \(k\) — frekans kutusu (bin) indeksi (\(0 \le k \le N-1\))
Bu, IDFT'nin standart tanımıdır: her zaman domeni örneği, \(1/N\) ile ölçeklenmiş karmaşık üstellerle ağırlandırılmış tüm spektral bileşenlerin toplamıdır. Ayrık Fourier Dönüşümünü (DFT) tam olarak tersine çevirir.
Ters DFT – Hesaplama Örneği
Örnek: frekans domeni dizisi \(X[k] = 1, 0, 0, 0\) (hesaplayıcının varsayılan değerleri), dolayısıyla \(N = 4\).
\[ x[n] = \frac{1}{4} \sum_{k=0}^{3} X[k]\, e^{j 2\pi kn/4} = \frac{1}{4} \left( X[0] \cdot e^{j 0} \right) = \frac{1}{4} \cdot 1 = 0.25 \]
Yalnızca \(X[0]\) sıfırdan farklı olduğu için her örnek aynı katkıyı alır.
Sonuç: \(x[n] = 0.25, 0.25, 0.25, 0.25\) — sabit (DC) bir dizi. Tek bir sıfırdan farklı kutu olan \(X[0]\) her zaman düz bir sinyal üretir.
İkinci örnek (karmaşık girişli): \(X[k] = 1+2j,\; 0,\; -1,\; 0\).
\[ x[0] = \tfrac{1}{4}\left[(1+2j) + 0 + (-1) + 0\right] = 0.5j \]
Sonuç: \(x[n] = 0.5j,\; 0.5+0.5j,\; 0.5j,\; 0.5+0.5j\). Tekrarlayan desene dikkat: 0 ve 2 numaralı kutular spektrumun çift (eşlenik simetrik) bileşenleridir.
Hesaplayıcı Nasıl Kullanılır?
- Frekans domeni değerlerinizi Frekans domeni değerleri alanına virgülle ayrılmış bir liste olarak girin; örneğin
1, 0, 0, 0veya1+2j, 0, -1, 0. - Düz gerçek sayılar (
3,-2.5) veyaa+bjbiçiminde karmaşık sayılar (1+2j,-1-1.5j) kullanın. Yalnızca sanal bir değer2jolarak yazılabilir. Karmaşık bir sayının içinde boşluk kullanmayın. - Hesapla düğmesine tıklayın.
- Yeniden yapılandırılmış diziyi Zaman domeni dizisi x[n] sonuç alanında okuyun. Çıktı, girdiğiniz değer sayısıyla tam olarak aynı sayıda örnek içerir ve \(x[0], x[1], \ldots, x[N-1]\) sırasındadır.
Ters Ayrık Fourier Dönüşümü Nedir?
Ters Ayrık Fourier Dönüşümü (IDFT), bir sinyalin frekans domeni gösterimini zaman domeni geri eşleyen işlemdir. Karşılığı olan DFT, \(N\) zaman örneklerinden oluşan bir diziyi \(N\) karmaşık spektral katsayıya ayrıştırır; IDFT bu süreci tersine çevirerek özgün örnekleri spektrumdAN yeniden oluşturur. DFT'yi ve ardından IDFT'yi (burada kullanılan aynı \(1/N\) ölçeklemesiyle) uygulamak, yuvarlama hatası dışında sinyali tam olarak geri verir.
IDFT'nin önemi, modern sinyal işleminin büyük bölümünün frekans domeninde gerçekleşmesinden gelir. Süzgeçler (filtreler) genlik yanıtını şekillendirerek tasarlanır, haberleşme sistemleri verileri belirli frekans kutularına modüle eder ve ses kodlayıcıları (MP3 veya AAC gibi) sinyalleri spektral katsayılar olarak saklar. Tüm bu işlemlerin sonunda, işlenmiş spektrumu yeniden duyabileceğiniz veya iletebileceğiniz örneklere dönüştüren adım IDFT'dir. Pratikte bu, aynı sonuçları çok daha hızlı üreten FFT algoritmasıyla hesaplanır; bu hesaplayıcı doğrudan toplamı uygular, bu da öğrenme ve doğrulama için idealdir.
Birkaç özelliği bildikten sonra çıktıyı yorumlamak kolaydır. \(X[0]\) kutusu DC (ortalama) bileşenini temsil eder; bu nedenle büyük bir \(X[0]\), sabit ofsetli bir sinyal verir. Daha yüksek kutular daha hızlı salınımlara karşılık gelir: \(k\) kutusu \(N\) örnek boyunca \(k\) tam tur tamamlar. Giriş spektrumu eşlenik simetrikse — yani \(X[N-k] = X[k]^*\) — yeniden yapılandırılan sinyal tamamen gerçeldir; gerçek dünyadaki sinyallerin simetrik spektrumlar üretmesinin nedeni budur. Yukarıdaki ikinci örnekteki gibi asimetrik giriş, karmaşık değerli örnekler üretir.
Varsayımlar, Sınırlamalar ve İpuçları
- Normalize etme kuralı: hesaplayıcı \(1/N\) çarpanını yalnızca ters dönüşüme uygular ("ileri 1/N'siz, ters 1/N'li" kuralı). DFT tanımınız iki tarafta da \(1/\sqrt{N}\) kullanıyorsa, karşılaştırmak için çıktıyı \(\sqrt{N}\) ile ölçekleyin.
- Nokta sayısı: \(N\), girdiğiniz virgülle ayrılmış değerlerin sayısına eşittir. İstenen uzunluğa ulaşmak için sıfırlarla doldurun — bir domendeki sıfır doldurma diğer domende interpolasyon sağlar.
- Karmaşık sayı biçimi: sanal birim için
ideğiljkullanın ve boşluk bırakmayın:2-3jgeçerlidir,2 - 3igeçerli değildir. - Duyarlılık: sonuçlar 4 ondalık basamakla gösterilir. Teorik olarak gerçek olan çıktılardaki çok küçük kalıntı sanal kısımlar (örneğin
0.0000j) normal yuvarlama artefaktlarıdır. - Pratik boyut: doğrudan \(O(N^2)\) hesabı birkaç yüz noktaya kadar olan diziler için uygundur; büyük spektrumlarda FFT uygulaması kullanın.
İyi bir sağlama testi: 1, 1, 1, 1 gibi düz bir spektrum girin — IDFT, sabit bir spektrum bir darbenin DFT'sü olduğu için \(1, 0, 0, 0\) biçiminde tek bir darbe döndürmelidir.
WPCalc ayrıca, paralel direnç hesaplayıcısından ve seri endüktans hesaplayıcısından AC devre analizi için gerçek ve reaktif güç hesaplayıcısına kadar çeşitli diğer mühendislik araçlarını sunar.
Sıkça Sorulan Sorular
IDFT'yi elle nasıl hesaplarım?
Her çıktı örneği için, tüm spektral değerleri bir karmaşık üstellerle çarpın ve toplayın. Örneğin N = 4 ve X[k] = 2, 0, 1, 0 için: x[0] = (2 + 1)/4 = 0,75 olurken, x[1] = (2 + 1·e^{jπ/2})/4 = (2 + j)/4 = 0,5 + 0,25j. Aynı işlemi n = 2 ve n = 3 için tekrarlayın. Her üssü değerlendirmek için Euler formülünü \( e^{j\theta} = \cos\theta + j\sin\theta \) kullanın, ardından her toplamı N'ye bölün.
Gerçek bir sinyal beklerken sonucum neden karmaşık çıkıyor?
IDFT, yalnızca spektrum eşlenik simetrik olduğunda, yani \( X[N-k] = X[k]^* \) olduğunda tamamen gerçek örnekler döndürür. N = 8 için X[7], X[1]'in eşleniği; X[6], X[2]'nin eşleniği olmalıdır ve bu şekilde devam eder; ayrıca X[0] ve X[4] gerçek olmalıdır. 1, 2, 3, 4 gibi rastgele bir liste girerseniz bu simetri bozulur ve çıktı meşru olarak sanal kısımlar içerir. Aksi halde gerçek olan çıktılardaki 0.0000j gibi çok küçük kalıntılar yalnızca yuvarlama artefaktlarıdır.
IDFT ile IFFT arasındaki fark nedir?
Tam olarak aynı şeyi hesaplarlar. IFFT yalnızca, IDFT toplamını \( O(N^2) \) yerine \( O(N \log N) \) işlemle değerlendiren hızlı bir algoritmadır (ters Hızlı Fourier Dönüşümü). Sonuçlar kayan nokta yuvarlaması dışında aynıdır. Bu hesaplayıcı doğrudan toplamı kullandığı için birkaç yüz nokta veya daha az sayıdaki diziler için en uygunudur; daha uzun spektrumlarda FFT tabanlı yazılım kullanın.
Değerlerim diğer araçlara göre N veya √N katı neden farklı çıkıyor?
Farklı DFT/IDFT tanımları ölçekleme çarpanını farklı yerlere koyar. Bu hesaplayıcı, ileri DFT'nin ölçeklenmediği ve ölçeklemeyi \( 1/N \) çarpanını ters dönüşümün taşıdığı "ters 1/N'li" kuralını kullanır. Bazı araçlar (NumPy'nin ifft'si gibi) aynısını yapar, ancak diğerleri her iki dönüşümde de \( 1/\sqrt{N} \) kullanır veya \( 1/N \) çarpanını ileri dönüşüme koyar. Sonuçlar farklıysa, uzlaştırmak için N veya \( \sqrt{N} \) ile çarpın veya bölün.
Negatif veya aralık dışı frekans kutuları ne anlama gelir?
DFT spektrumu N periyoduyla periyodiktir; bu nedenle N-1'i aşan bir kutu indeksi başa sarar: \( X[N+k] = X[k] \). Negatif frekanslar dizinin üst yarısında saklanır. Örneğin N = 8 için 6 numaralı kutu -2 frekansını, 7 numaralı kutu -1 frekansını temsil eder. -N/2'den N/2-1'e kadar listelenmiş iki taraflı bir spektrumunuz varsa, negatif frekans kutularını listenin sonuna taşıyacak şekilde yeniden sıralayın ve sonra girin.
Daha az değer veya tek sayıda değer girebilir miyim?
Evet — N, yazdığınız virgülle ayrılmış değerlerin sayısıdır ve tek veya çift olabilir. İkinin kuvveti olma zorunluluğu yoktur (bu kısıtlama yalnızca bazı FFT algoritmaları için geçerlidir, doğrudan IDFT toplamı için değildir). 5 gibi tek bir değer girerseniz N = 1 olur ve yalnızca o değerin 1'e bölümü, yani 5 döner. Belirli bir uzunluğa ihtiyacınız varsa sıfırlarla doldurun: spektrumu sıfırla doldurmak, yeniden yapılandırılan sinyali interpolasyonla örnekler.
Sonucun doğru olduğunu nasıl doğrulayabilirim?
Hızlı bir kontrol, çıktıya ileri DFT uygulamaktır — özgün girdinizi 4 ondalık basamaklık yuvarlama dışında tam olarak geri kazanmalısınız. Başka bir test: 1, 1, 1, 1 girin ve çıktının 1, 0, 0, 0 darbesi olduğunu doğrulayın, çünkü düz bir spektrum bir darbenin DFT'südür. Ayrıca çıktı örneklerinin ortalamasının \( X[0]/N \) değerine eşit olduğunu kontrol edin, çünkü sıfır numaralı kutu her zaman DC (ortalama) bileşenini kodlar.