Czy zwyczajowo koryguje się wzmocnienie okna?

9

Zastanów się, jak zdefiniowane jest okno Hanninga:

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

Według tej definicji ma zysk 0,5, co jest po prostu średnią wartością współczynników. Natomiast okna Flattop, zgodnie z definicją, zyskują jedność, prawdopodobnie z założenia.

Wydaje się właściwe skalowanie okna Hanninga 2-krotnie, ale nigdzie go nie omawiałem. Wydaje się, że wszystkie okna powinny być skalowane dla uzyskania jedności.

W praktyce, czy okna zazwyczaj są korygowane pod kątem wzmocnienia? Jeśli nie, dlaczego nie?

EDYTOWAĆ:

Ponieważ nikt nie udzielił odpowiedzi, rozwinę się trochę.

Łatwo jest znaleźć dokumenty, które informują o zyskach z bardziej powszechnych okien. Ale nigdzie nie widziałem, aby ktoś odnosił się do korekcji wzmocnienia przed użyciem go do analizy spektralnej. Może zawsze brakowało mi tego stwierdzenia lub wszyscy zakładają, że korekta wzmocnienia jest oczywistym wymogiem.

Wydaje się, że rozsądnym rozwiązaniem jest ustawienie wzmocnienia okna na jedność, aby zachować poziom energii sygnału. Ponadto, w jaki sposób można porównać różne okna dla dokładności amplitudy, jeśli jedno ma wzmocnienie 0 dB, podobnie jak Flattop, a drugie ma prawie 10 dB straty, podobnie jak Gauss.

Okna są również szeroko stosowane do projektowania filtrów FIR. W tym zastosowaniu powinno być jasne, że sygnał, który ma być okienkowany, impuls cynkowy, ma większość swojej energii w środku okna. W związku z tym okno niewiele robi, aby zmniejszyć całkowitą energię impulsu cynkowego. Tak więc, kiedy jest stosowany do projektowania filtrów, nie chcemy wzmocnienia jedności, a raczej amplitudę piku jedności, jak ma to większość okien, z wyjątkiem spłaszczeń. Coś innego niż amplituda piku jedności wpływałaby na wzmocnienie wynikowego filtra FIR.

user5108_Dan
źródło
1
Zależy to od aplikacji i sposobu zastosowania okna (np. Przez pomnożenie lub splot). Niektóre popularne typy normalizacji to skalowanie do jedności wzmocnienia DC lub do energii jednostkowej.
Jason R
Miałem na myśli aplikowanie przez mnożenie.
user5108_Dan
2
Z powodu przegryzienia wzmocnienie okna nie jest stałe dla wszystkich częstotliwości, w zależności od okna. Dlatego każde skalowanie zależy od rodzaju przeprowadzanej analizy.
hotpaw2
Jak nazywasz zysk okna?
Yves Daoust,
2
Zysk okna, jak rozumiem, to średnia wartość współczynników (tj. Suma / N). Oto dwa artykuły, które używają tej definicji Fred Harris (patrz tabela 1 dla porównania korzyści okna) i Max Planck Inst (zobacz ich definicję i zastosowanie S1). Ta definicja wydaje się wystarczająco jasna, jeśli popatrzysz na efekt zastosowania okna do czystej fali sinusoidalnej.
user5108_Dan

Odpowiedzi:

3

Tak, zwyczajowo koryguje się wzmocnienie okna, z wyjątkiem niektórych przypadków, o których powiem później. (Jeśli interesuje Cię tylko względna amplituda, oczywiście nie musisz korygować wzmocnienia).

Ponieważ okno zmniejsza wzmocnienie pierwotnego sygnału (dziedzina czasu), amplituda uzyskana przez FFT musi zostać skorygowana. Na przykład, jeśli korzystasz z okna Hanninga, musisz pomnożyć wszystkie amplitudy przez 2 (odwrotność 0,5). Jak rozumiem, większość pakietów oprogramowania dla FFT automatycznie koryguje używane okno.

Jednak taka korekta jest dobra tylko wtedy, gdy wszystkie interesujące częstotliwości są rozłożone w oknie dziedziny czasu. Załóżmy na przykład, że masz 1024 dane ze wszystkimi poziomami sygnału równymi zero, z wyjątkiem punktu # 512, który ma wartość 1 (sygnał impulsowy). Oczywiście wszystkie okna nic nie robią z danymi. Jeśli więc skorygujesz amplitudy wzmocnienia okna (pomnóż przez 2), skończysz z przeszacowaniem amplitudy. Jeśli wszystkie twoje 1024 dane są zerowe, z wyjątkiem pierwszego punktu o wartości 1, to każdy punkt ma wartość zero po okienkowaniu i tracisz sygnał.

Tak więc, jeśli masz do czynienia z przypadkowymi sygnałami, a wszystkie składowe częstotliwości powinny leżeć prawie równomiernie na całej długości sygnału, musisz (lub powinieneś) skorygować wzmocnienie używanego okna.

J-Matthew
źródło
Dziękuję Ci. Tak właśnie myślałem, że tak powinno być, ale nigdzie tego nie widziałem.
user5108_Dan
1

Jednym ze sposobów „korekcji wzmocnienia okna” jest zrobienie tego w definicji okna. co to by znaczyło? korygując zysk gdzie ? przy jakiej częstotliwości? w DC? jeśli korygujesz wzmocnienie okna w DC, oznacza to, że wszystkie współczynniki dodają do 1.

n=+w[n]=1

lub

+w(t) dt=1
Robert Bristol-Johnson
źródło
Czy mówisz, że wzmocnienie okna jest funkcją częstotliwości? Obliczam wzmocnienie okna jako sumę współczynnika podzielonego przez N, średnią. Chcę, żeby to była 1, a nie suma, jak wykazaliście. Zatem współczynnik korekcji wzmocnienia dla Hanninga wynosi 2. Kiedy używam okien z korekcją wzmocnienia z fft, otrzymuję prawidłowe wartości amplitudy. Co znaczy; wszystkie testowane okna dają te same amplitudy dla każdego komponentu widmowego i wszystkie zgadzają się z nieokiennym fft. Jeśli używam okien z nieskorygowanym wzmocnieniem, wszystkie dają różne wyniki i tylko flattop daje prawidłowe wartości amplitudy.
user5108_Dan
„Czy mówisz, że wzmocnienie okna jest funkcją częstotliwości?” cóż, tylko jeśli nie jest stałe lub jeśli nie jest stałe w . ale jeśli którykolwiek z nich zmienia się, gdy zmienia się częstotliwość, to z definicji wzmocnienie okna jest funkcją częstotliwości. korekcja wzmocnienia dla okna Hann może wynosić ponieważ bez niej wzmocnienie w DC wynosi .
W(f)=w(t)ej2πftdt
f
W(ejω)=n=w[n]ejωn
ω212
robert bristow-johnson
Z mojego punktu widzenia wzmocnienie okna Hann wynosi 1/2 na wszystkich częstotliwościach, nie tylko DC. Innymi słowy, każdy składnik widmowy w fft jest o 6 dB niższy niż powinien. Kiedy używam okna płaskiego, które ma wzmocnienie jedności, każda składowa widmowa jest na właściwym poziomie. Muszę robić coś zupełnie nie tak.
user5108_Dan
nie wiem, jak to widzisz. jak korzystasz z okna Hann? w jakich miejscach oryginalnego sygnału stosujesz okno, a następnie co robisz z danymi okienkowanymi?
Robert Bristol-Johnnson
Tworzę sygnał wielotonowy, a następnie wyświetlam okno w ten sposób, w którym N = 1024 sig (n) = 1 + sin (50 * n * 2 * Pi / N) + sin (75 * n * 2 * Pi / N) wygrywa (n) = 0,5 - 0,5 * cos (n * 2 * Pi / (N-1)) windowed_sig (n) = sig (n) * win (n) Następnie biorę fft z windowed_sig. Wyniki wyglądają poprawnie. Po prostu fft sygnałów okienkowych wydaje się być błędny. Błąd wynosi 6 dB dla okna Hann, około 10 dB dla Gaussa i 0 dB dla flattopa.
user5108_Dan
0

Współczynnik połówkowy normalizuje się do amplitudy jednostkowej.

Yves Daoust
źródło
To nie daje odpowiedzi na pytanie. Aby skrytykować lub poprosić autora o wyjaśnienia, zostaw komentarz pod postem.
jojek
@jojek: nie ma potrzeby dłuższego wyjaśniania, jest to elementarne pytanie.
Yves Daoust,
Zgadzam się tutaj z Yves: pytanie wydaje się elementarne. Ta odpowiedź z pewnością wskazuje na błędność wypowiedzi pytającego By this definition, it has a gain of 0.5.
Peter K.
@PeterK .: dzięki za wsparcie. W końcu pomyliłem się, odpowiadając na bezsensowne pytanie: „zysk” okna nie jest zdefiniowany.
Yves Daoust,
1
@PeterK .: dzięki, zrobię to sam, w zależności od odpowiedzi OP na moją prośbę o wyjaśnienia.
Yves Daoust,