Bir pencerenin kazancını düzeltmek geleneksel midir?


9

Hanning penceresinin nasıl tanımlandığını düşünün:

0.5 - 0.5 * cos(n*2*Pi/(N-1))

Bu tanım ile, katsayıların ortalama değeri olan 0.5'lik bir kazancı vardır. Buna karşılık, Flattop pencereleri, tanımlandığı gibi, muhtemelen tasarım gereği birlik kazancına sahiptir.

Hanning penceresini 2 kat ölçeklendirmek uygun görünebilir, ancak bunun hiçbir yerde tartışıldığını görmedim. Bütün pencerelerin birlik kazanımı için ölçeklenmesi gerektiği anlaşılıyor.

Uygulamada, pencereler genellikle kazançları için düzeltilir mi? Değilse, neden olmasın?

DÜZENLE:

Kimse cevap vermediği için biraz ayrıntıya gireceğim.

Daha yaygın pencerelerin kazanımını bildiren makaleler bulmak oldukça kolaydır. Ama hiçbir yerde spektral analiz için kullanmadan önce kimsenin kazancı düzeltmeye başvurduğunu görmedim. Belki de bu ifadeyi her zaman özledim ya da herkes açık bir gereklilik olarak düzeltme kazanır.

Bir pencerenin kazancını birliğe ayarlamak, sinyalin enerji seviyesinin korunması için sağduyu gibi görünüyor. Ayrıca, biri düz tabanda olduğu gibi 0 dB kazancı varsa ve diğeri Gauss'un yaptığı gibi yaklaşık 10 dB kaybına sahipse çeşitli pencereleri genlik doğruluğu için nasıl karşılaştırabilir.

Windows ayrıca FIR filtre tasarımı için yaygın olarak kullanılmaktadır. Bu uygulamada, pencerelenecek sinyalin, samimi bir nabız, enerjisinin çoğunu pencerenin merkezinde olduğu açık olmalıdır. Sonuç olarak, pencere, nabzın toplam enerjisini azaltmak için çok az şey yapar. Bu nedenle, filtre tasarımı için kullanıldığında, birlik kazancı istemiyoruz, ancak düz pencereler hariç çoğu pencerede olduğu gibi birlik tepe genliği istemiyoruz. Birlik tepe genliği dışında bir şey, elde edilen FIR filtresinin kazancını etkileyecektir.


1
Uygulamaya ve pencerenin nasıl uygulanacağına bağlıdır (örn. Çarpma veya katlama yoluyla). Bazı yaygın normalleştirme türleri, DC kazancını veya birim enerjiyi ölçeklendirmektir.
Jason R

Çarpma yoluyla başvurmaya atıfta bulunuyordum.
user5108_Dan

2
Taraklama nedeniyle pencerenin kazancı, pencereye bağlı olarak tüm frekanslarda sabit değildir. Bu nedenle herhangi bir ölçeklendirme, yapılan analizin türüne bağlıdır.
hotpaw2

Pencerenin kazancına ne diyorsunuz ??
Yves Daoust

2
Bir pencerenin kazanımı, anladığım kadarıyla, katsayıların ortalama değeridir (yani Sum / N). İşte bu tanımı Fred Harris (pencere kazanımlarının karşılaştırılması için tablo 1'e bakınız) ve Max Planck Inst (S1 tanımlarına ve kullanımına bakınız ) kullanan iki makale . Saf bir sinüs dalgasına pencere uygulama etkisine bakarsanız bu tanım yeterince net görünüyor.
user5108_Dan

Yanıtlar:


3

Evet, daha sonra başvurduğum bazı durumlar dışında, bir pencere kazancını düzeltmek gelenekseldir. (Sadece göreceli genlikle ilgileniyorsanız, elbette kazanç için düzeltmenize gerek yoktur.)

Pencere orijinal sinyalin (zaman alanı) kazancını azalttığından, FFT aracılığıyla elde edilen genliğin düzeltilmesi gerekir. Örneğin, Hanning penceresini kullanıyorsanız, tüm genlikleri 2 ile çarpmanız gerekir (0.5'in tersi). Anladığım kadarıyla, FFT yazılım paketlerinin çoğu kullanılan pencere için otomatik olarak düzeltiliyor.

Bununla birlikte, bu tür bir düzeltme yalnızca ilgili tüm frekanslar zaman alanı penceresi boyunca dağıldığında iyidir. Örneğin, 1 değerine (darbe sinyali) sahip olan # 512 noktası hariç tüm sinyal düzeylerinde 1024 veri bulunduğunu varsayın. Açıkçası, herhangi bir pencere veri için hiçbir şey yapmaz. Yani, pencere kazancı genliklerini düzeltirseniz (2 ile çarpın), o zaman genliğin aşırı tahmin edilmesiyle sonuçlanırsınız. 1024 verileriniz 1 değerine sahip ilk nokta dışında sıfırsa, her nokta pencereden sonra sıfır değerine sahiptir ve sinyali kaybedersiniz.

Dolayısıyla, rastgele sinyallerle uğraşıyorsanız, tüm frekans bileşenlerinin sinyalin uzunluğu boyunca neredeyse eşit bir şekilde uzanması beklenirse, kullandığınız pencerenin kazancı için düzeltmeniz gerekir (veya yapmanız gerekir).


Teşekkür ederim. Durum böyle olduğunu düşündüm, ama bunun hiçbir yerde ifade edildiğini hiç görmemiştim.
user5108_Dan

1

"bir pencerenin kazancını düzeltmenin" bir yolu bunu pencerenin tanımında yapmaktır. bu ne anlama geliyor? kazancı düzeltmek nerede ? de bu frekans? DC? DC'de bir pencerenin kazancını düzeltirseniz, bu, tüm katsayıların 1'e eklediği anlamına gelir.

n=+w[n]=1

veya

+w(t) dt=1

Bir pencerenin kazancının frekansın bir işlevi olduğunu mu söylüyorsunuz? Katsayının toplamının N'ye, ortalamaya bölünmesiyle bir pencere kazanırım. Gösterdiğiniz gibi, toplam değil 1 olmasını istiyorum. Böylece bir Hanning için kazanç düzeltme faktörü 2'dir. Bir fft ile kazanç düzeltmeli pencereler kullandığımda, doğru genlik değerlerini alıyorum. Söylenmek istenen; test ettiğim tüm pencereler her spektral bileşen için aynı genlikleri verir ve hepsi penceresiz bir fft ile aynı fikirde olur. Düzeltilmemiş kazançlı pencereler kullanırsam, hepsi farklı sonuçlar verir ve sadece flattop doğru genlik değerlerini verir.
user5108_Dan

"Bir pencerenin kazancının frekansın bir işlevi olduğunu mu söylüyorsunuz?" sadece
W(f)=w(t)ej2πftdt
ile sabit değil f ya da eğer
W(ejω)=n=w[n]ejωn
sabit değil ω. ancak frekans değiştiğinde bunlardan herhangi biri değişirse, tanım gereği, pencerenin kazancı frekansın bir fonksiyonudur. Hann penceresi için kazanç düzeltmesi2onsuz, kazanç, çünkü DC'de olduğu12.
robert bristow-johnson

Gördüğüm gibi, Hann penceresinin kazancı sadece DC değil, tüm frekanslarda 1/2. Başka bir deyişle, fft içindeki her spektral bileşen olması gerekenden 6 dB daha düşüktür. Birlik kazancı olan bir düz pencere kullandığımda, her spektral bileşen doğru seviyededir. Tamamen yanlış bir şey yapmalıyım.
user5108_Dan

nasıl gördüğünü bilmiyorum. Hann pencerenizi nasıl kullanıyorsunuz? orijinal sinyalinizin hangi yerlerinde pencereyi uyguluyorsunuz ve sonra pencereli verilerle ne yapıyorsunuz?
robert bristow-johnson

Çok tonlu bir sinyal oluşturuyorum, sonra bu şekilde pencereliyorum, burada N = 1024 sig (n) = 1 + sin (50 * n * 2 * Pi / N) + sin (75 * n * 2 * Pi / N) kazan (n) = 0,5 - 0,5 * cos (n * 2 * Pi / (N-1)) windowed_sig (n) = sig (n) * win (n) Sonra windowed_sig'in fft'ini alıyorum. Sonuçlar doğru görünüyor. Sadece pencereli sinyallerin fft hatası gibi görünüyor. Hata bir Hann penceresi için 6 dB, bir Gauss için yaklaşık 10 dB ve bir flattop için 0 dB'dir.
user5108_Dan

0

Yarı faktör birim genliğe normalleşir.


Bu soruya bir cevap sağlamaz. Bir yazardan eleştiri veya açıklama istemek için gönderilerinin altına bir yorum bırakın.
jojek

@jojek: daha uzun bir açıklamaya gerek yok, bu temel bir soru.
Yves Daoust

Burada Yves'e katılıyorum: soru temel görünüyor. Ve bu cevap kesinlikle sorucının ifadesinin yanlışlığını gösterir By this definition, it has a gain of 0.5.
Peter K.

@PeterK .: destek için teşekkürler. Sonuçta, anlamsız bir soruyu cevaplamakta yanılmışım: bir pencerenin "kazancı" tanımlanmamış.
Yves Daoust

1
@PeterK .: teşekkürler, OP'nin açıklama isteğime ne yanıt verdiğine bağlı olarak kendim yapacağım.
Yves Daoust
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.