Por que alguém usaria uma janela de Hann ou Bartlett?

9

Suponha que estamos projetando um filtro FIR passa-baixo e quero usar uma dessas três janelas: Bartlett, Hann ou Hamming. De Oppenheim & Schafer's Discrete-Time Signal Processing, 2ª Ed. , P. 471:}

insira a descrição da imagem aqui

Todos os três fornecem a mesma largura de banda de transição:

Δω=8πN
onde é a ordem do filtro e é considerado grande o suficiente.N

No entanto, o overshoot (vamos chamá-lo ) é diferente para cada janela, e a seguinte desigualdade é válida:δ

δHumammEung<δHumann<δBumarteuett

Portanto, se usarmos uma janela Hamming, obteremos o menor overshoot e uma banda de transição com width . Se usarmos uma das outras duas janelas, a largura da banda de transição será a mesma, mas o excesso aumentará.Δω

Isso me leva a pensar que não há caso em que alguém usaria uma janela Hann ou Bartlett, pois a janela Hamming é melhor que elas: melhora um aspecto ( ), permanece o mesmo em outro ( )δΔω

A pergunta é: por que alguém escolheria uma janela de Hann ou Bartlett se uma de Hamming sempre pode ser usada?

Tendero
fonte
Você poderia fornecer algum esclarecimento - você tem referências para essas equações? O que você quer dizer com "superação" neste contexto?
Martin Thompson
@MartinThompson Acabei de adicionar a referência. Por ultrapassagem, quero dizer o pico da resposta em frequência devido à descontinuidade do filtro passa-baixa ideal que se tenta aproximar.
Tendero

Respostas:

10

Ao revisar as Figuras de Mérito de Fred Harris para várias janelas (Tabela 1 neste link ), Hamming é comparado ao Hanning (Hann) em vários valores deα e a partir disso fica claro que o Hanning proporcionaria maior rejeição à banda de parada (o clássico Hann é com α=2e da tabela a queda do lobo lateral é de -18 dB por oitava). Forneci o link, pois você pode ver muitas outras considerações envolvidas na escolha de uma janela para vários aplicativos.

O resultado disso é aparente ao comparar os kernels para uma janela de 51 amostras de Hann e Hamming usando Matlab / Octave. Observe o nível mais alto do primeiro lóbulo lateral com Hann, mas a rejeição é significativamente maior no geral:

Kernels

Pessoalmente, eu não usaria nenhuma janela para o design do filtro. Se alguma janela, eu usaria a janela Kaiser, ou preferencialmente firls. Consulte Design do filtro FIR: Window vs Parks-McClellan e Least-Squares para a discussão relacionada.

Eu convolvi uma Hann de 26 amostras com uma Hamming 26 para criar uma amostra alternativa de 51 "Hann-Hamming" com o seguinte resultado:

lote comparativo Hann-Hamming, Hann, Hamming

ATUALIZAÇÃO: Esse Hann-Hamming (geralmente) não supera uma janela Kaiser de largura semelhante no lóbulo principal:

Kaiser vs Hann-Hamming

Tentei então o que chamo de "SuperKaiser", onde convolvi duas janelas Kaiser de menor comprimento para criar uma janela alternativa de 51 torneiras com o seguinte resultado. Isso foi feito convolvendo Kaiser (26,5,5) com Kaiser (26,5,5), de modo que SuperKaiser (51,5,5) = conv (kaiser (26,5,5), kaiser (26,5,5). À primeira vista, geralmente parece supera o kaiser (51,12), correspondendo à largura do lóbulo principal e fornecendo rejeição superior à faixa de parada na maior parte da faixa de parada.É interessante uma integração do ruído total da faixa de parada sob a premissa de AWGN, para ver se essa nova janela é superior nessas condições (a área relativa sob os dois primeiros lóbulos laterais, onde o SuperKaiser é inferior, compensa completamente toda a melhoria restante da banda de parada?). Se tiver tempo, acrescentarei essa avaliação. Interessante! Como o @A Cidadão em causa astutamente apontou,

SuperKaiser

Dan Boschen
fonte
Oi Dan, obrigado pela sua resposta. Essa mesa tem algo que me parece estranho. Eu acreditava que a janela de Hann era definida univocamente . Nesse artigo, parece que ele tem um parâmetro variávelα. De onde isso vem? Se variarmosα, a janela ainda é uma função Hann, estritamente falando?
Tendero
O @Tendero fred harris explica em detalhes na página 181 na seção C do link para Cosα(X) janelas, e lá ele diz que a janela Hann é especificamente com α=2. Eu deixei isso mais claro na resposta, obrigado!
Dan Boschen
@ Tendero Então, o que eu acho que faltava na sua tabela de referência, mas uma consideração importante é a queda do lobo lateral. Isso é particularmente preocupante em aplicativos com várias amostragens, já que pode haver muitas faixas de alias que se dobram, portanto, um roll-off rápido ajuda a minimizar o crescimento de ruído. Também no interesse de minimizar o ruído geral na presença de AWGN (apenas), uma saída mais rápida às custas de um primeiro lobo mais alto geralmente venceria.
Dan Boschen
Essa comparação intrigante me fez repetir, mas não consegui os mesmos resultados. Então, olhei mais de perto e parece que você não correspondeu ao parâmetro de Kaiser. Usando o Asdesign, cheguei muito perto com As=108.5para N=32e N[hann]=17, N[ham]=16mas os lóbulos laterais da janela convolved são desiguais e eles oscilar acima Kaiser de. Já vi pessoas "misturando" duas janelas ou mais, mas como aritmética ou média geométrica, nunca foram convoluídas. Ainda assim, os resultados são impressionantes.
um cidadão preocupado
@aconcernedcitizen Sim, algo não estava certo sobre isso e, de fato, eu estava usando muito rapidamente 30 e 31 para criar uma janela de torneira "equivalente" 51: O que eu estava fazendo era comparar uma janela de 60 amostras com uma 51 torneira Kaiser- Não é justo! Atualizei o post convocando 26 e 26, o que resulta em 51 amostras, o que seria uma comparação justa e, é claro, o Kaiser parece ganhar pelo desempenho geral (embora eu não tenha passado por um ruído total de banda de parada). A participação parece uma escolha natural, pois resulta na multiplicação das respostas de frequência, equivalente a duas janelas em cascata.
precisa saber é o seguinte
2

Se houver um invasor com conhecimento da janela e tentando focar o espectro de ruído para minimizar seu S / N, uma solução minimax, como uma janela Hamming, pode ser o contador ideal.

A maioria dos ruídos costuma não ser tão intencionalmente maliciosa, tornando uma solução minimax menos ideal, pelo menos estatisticamente falando.

hotpaw2
fonte