Perché usare una finestra di Hann o Bartlett?


9

Supponiamo che stiamo progettando un filtro FIR passa-basso e che io voglia usare una di queste tre finestre: Bartlett, Hann o Hamming. Da Oppenheim & Schafer's Discrete-Time Signal Processing, 2nd Ed , p. 471:}

inserisci qui la descrizione dell'immagine

Tutti e tre forniscono la stessa larghezza di banda di transizione:

Δω=8πN
dove N è l'ordine del filtro ed è assunto abbastanza grande.

Tuttavia, il superamento (chiamiamolo δ) è diverso per ogni finestra, vale la seguente disuguaglianza:

δHamming<δHann<δBartlett

Quindi se usiamo una finestra di Hamming, otteniamo il più piccolo superamento e una banda di transizione con larghezza Δω. Se utilizziamo una delle altre due finestre, la larghezza della banda di transizione è la stessa, ma aumenta il superamento.

Questo mi porta a pensare che non esiste un caso in cui si utilizzi una finestra Hann o Bartlett, poiché quella di Hamming è migliore di loro: migliora un aspetto (δ), rimane lo stesso in un altro (Δω).

La domanda è: perché qualcuno dovrebbe scegliere una finestra Hann o Bartlett se una Hamming può sempre essere usata?


Potresti fornire qualche chiarimento: hai riferimenti per queste equazioni? Cosa intendi per "superamento" in questo contesto?
Martin Thompson,

@MartinThompson Ho appena aggiunto il riferimento. Per overshoot intendo il picco della risposta in frequenza a causa della discontinuità del filtro passa-basso ideale che si cerca di approssimare.
Tendero,

Risposte:


10

Nel rivedere fred harris Figure di merito per varie finestre (Tabella 1 in questo link ) l'Hamming viene confrontato con l'Hanning (Hann) a vari valori diα e da ciò è chiaro che l'Hanning fornirebbe un maggiore rifiuto della banda di arresto (con il classico Hann α=2e dalla tabella la caduta del lobo laterale è di -18 dB per ottava). Ho fornito il collegamento in quanto puoi vedere molte altre considerazioni relative alla scelta di una finestra per varie applicazioni.

Il risultato di questo è evidente quando si confrontano i kernel per una finestra di Hann e Hamming di 51 campioni usando Matlab / Octave. Nota il primo livello di sidelobe più alto con Hann ma complessivamente un rifiuto significativamente maggiore:

Noccioli

Personalmente, non userei nessuna finestra per la progettazione del filtro. Se ci fosse una finestra, userei la finestra di Kaiser, o preferibilmente firls. Vedi la progettazione del filtro FIR: Window vs Parks-McClellan e Least-Squares per la relativa discussione.

Ho coinvolto un Hann da 26 campioni con un Hamming 26 per trovare un campione "Hann-Hamming" alternativo con il seguente risultato:

trama comparativa Hann-Hamming, Hann, Hamming

AGGIORNAMENTO: Questo Hann-Hamming non (generalmente) supera una finestra di Kaiser di simile larghezza del lobo principale:

Hann-Hamming vs Kaiser

Ho quindi provato quello che chiamo un "SuperKaiser" in cui ho contorto due finestre Kaiser di lunghezza inferiore per trovare una finestra di tocco alternativa 51 con il seguente risultato. Ciò è stato fatto coinvolgendo Kaiser (26,5,5) con Kaiser (26,5,5) in modo tale che SuperKaiser (51,5,5) = conv (kaiser (26,5,5), kaiser (26,5,5). A prima vista sembra in generale supera il kaiser (51,12), abbinando la larghezza del lobo principale e offrendo una reiezione della banda di arresto superiore su gran parte della banda di arresto. Un'integrazione del rumore totale della banda di arresto nell'ipotesi di AWGN è interessante per vedere se questa nuova finestra è superiore in quella condizione (la zona relativa sotto i primi due laterali in cui SuperKaiser è inferiore compensa completamente tutto il miglioramento della banda di arresto rimanente?). Se avrò tempo aggiungerò quella valutazione. Interessante! Come sottolineato da @A Concerned Citizen,

SuperKaiser


Ciao Dan, grazie per la tua risposta. Quel tavolo ha qualcosa che mi sembra strano. Credevo che la finestra di Hann fosse definita in modo univoco . In quel documento, sembra che abbia un parametro variabileα. Da dove viene? Se variamoα, la finestra è ancora una funzione di Hann in senso stretto?
Tendero,

@Tendero fred harris spiega in dettaglio a pagina 181 nella sezione link C per il Cosα(X) windows, e lì dice che la finestra di Hann è specificamente con α=2. L'ho reso più chiaro nella risposta, grazie!
Dan Boschen,

@Tendero Quindi, in sostanza, quello che penso mancasse dalla tua tabella di riferimento, ma una considerazione importante è la caduta del lobo laterale. Ciò è particolarmente preoccupante per le applicazioni di multicampionamento poiché possono esserci molte bande di alias che si piegano, quindi un roll-off rapido aiuta a ridurre al minimo la crescita del rumore. Inoltre, nell'interesse di ridurre al minimo il rumore generale in presenza di AWGN (solo), un roll-off più veloce a scapito di un primo lobo più elevato di solito vincerebbe.
Dan Boschen,

Quel confronto intrigante mi ha fatto ripetere, ma non sono riuscito a ottenere gli stessi risultati. Poi ho dato un'occhiata più da vicino e sembra che non abbini da vicino il parametro di Kaiser. Usando il Asdesign, mi sono avvicinato molto con As=108.5for N=32e N[hann]=17, N[ham]=16ma i lati laterali della finestra contorta sono ineguali e oscillano sopra Kaiser. Ho visto persone "mescolare" due o più finestre, ma come mezzo aritmetico o geometrico, mai contorto. Tuttavia, i risultati sono impressionanti.
un cittadino interessato il

@aconcernedcitizen Sì, qualcosa non andava bene e in effetti stavo usando troppo velocemente 30 e 31 per creare una finestra di tocco 51 "equivalente": Quello che stavo facendo era confrontare una finestra di 60 campioni con una Kaiser di 51 tap - Non è giusto! Ho aggiornato il post coinvolgendo 26 e 26, il che si traduce in 51 campioni che sarebbero quindi un confronto equo, e ovviamente Kaiser sembra vincere per le prestazioni complessive (anche se non ho attraversato un rumore di banda totale integrato). La convoluzione sembra una scelta naturale in quanto si traduce in una moltiplicazione delle risposte in frequenza, equivalente alla cascata di due finestre.
Dan Boschen,

2

Se c'è un attaccante con conoscenza della finestra e cerca di focalizzare lo spettro del rumore in modo da minimizzare il tuo S / N, allora una soluzione minimax, come una finestra di Hamming, potrebbe essere il contatore ottimale.

Gran parte del rumore tende a non essere intenzionalmente dannoso, rendendo una soluzione minimax meno ottimale, almeno statisticamente parlando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.