Como estimar uma função de transferência a partir de uma resposta de frequência somente de magnitude?

11

Dada uma resposta de frequência arbitrária, que métodos de processamento de sinal podem existir que possam adivinhar, estimar ou determinar uma função de transferência (pólo e constelação zero) que fornece uma aproximação "razoavelmente boa" (para alguns critérios de qualidade de estimativa) a essa resposta de frequência? Que meios existem para estimar o número de pólos e zeros necessários para uma dada função de transferência mais uma determinada permissão de erro de aproximação? Ou como determinar se essas restrições não podem ser atendidas, se possível?

Se a resposta de frequência fornecida foi realmente produzida por uma função de transferência conhecida, algum desses métodos convergirá para essa função de transferência original? E se a resposta de frequência fornecida estivesse sujeita a erros de medição (supostos gaussianos)?

Suponha que você trabalhe no plano Z com espectro amostrado, embora respostas contínuas no domínio também possam ser interessantes.

Adicionado: Os métodos de solução são diferentes se apenas a magnitude da resposta em frequência for fornecida (por exemplo, uma solução com qualquer resposta de fase é permitida)?

Adicionado: O último problema é o que mais me interessa, dada uma resposta de magnitude conhecida ao redor do círculo unitário, mas uma resposta de fase desconhecida / não medida, o sistema medido pode ser estimado e, em caso afirmativo, em que condições?

hotpaw2
fonte
Você está tentando aproximar uma resposta de frequência arbitrária como um espectro racional? Isso é (b [0] + b [1] z ^ -1 ...) / (1 + a [1] z ^ -1 ...)? Nesse caso, isso geralmente é chamado de modelagem ARMA. É mais difícil do que a modelagem de RA porque a autocorrelação de um sinal tende a ser não linearmente relacionada aos coeficientes da média móvel (os b [] ', ou zeros). Se minha suposição estiver correta, posso escrever uma resposta mais formal.
Bryan
@Bryan: Sim. Tentei sugerir que declarar que uma solução "pólo e zero" (uma função de transferência racional) era adequada (de preferência apenas se melhor que um pólo todo ou toda solução / estimativa zero do mesmo grau).
hotpaw2
H(ω)H(f)H(s)
@Dilip Sarwate: Dado H (w) apenas para o círculo unitário (isso é redundante?), Resolva / calcule uma representação completa do plano z. Felizmente, isso é consistente com a minha declaração original da pergunta.
hotpaw2
1
Sua adição muda as coisas. Pólos e zeros podem mudar com a resposta de magnitude permanecendo a mesma. O exemplo mais comum disso é quando se está projetando um filtro de fase mínimo. Isso normalmente envolve pegar um sistema existente e refletir os pólos e zeros dentro do círculo unitário. Isso muda apenas a resposta da fase, não a resposta da magnitude.
Bryan

Respostas:

14

Uma abordagem seria usar o método de mínimos quadrados no domínio da frequência (FDLS) . Dado um conjunto de amostras (complexas) da resposta de frequência de um sistema em tempo discreto e uma ordem de filtro escolhida pelo projetista, o método FDLS usa a otimização linear de mínimos quadrados para resolver o conjunto de coeficientes (que são mapeados diretamente para conjuntos de polos) e zeros) para o sistema cuja resposta em frequência corresponde à resposta desejada com o erro quadrático total mínimo.

N

H(ω)=H(z)|z=ejω

H(z)z

H(z)=k=0Nbkzk1+k=1Nakzk

A resposta de frequência é, portanto:

H(ω)=k=0Nbkejkω1+k=1Nakejkω

Reorganize o acima para obter:

k=0NbkejkωH(ω)(1+k=1Nakejkω)=0

2N+1bkakH(ω)ω

ωm[0,2π),m=0,1,,M1M>2N+1M2N+1)ωk

k=0NbkejkωkH(ωk)(1+k=1Nakejkωk)=0

H(ωk)ωkbkakH(ω)

Essa técnica tem algumas vantagens:

  • Qualquer resposta de frequência complexa arbitrária (magnitude e fase) pode ser usada como modelo. Se você tiver apenas uma restrição de magnitude, poderá escolher uma resposta de fase, como fase linear.

  • ak

  • A técnica é muito simples de implementar e é facilmente parametrizável com base na ordem do sistema desejada.

  • N

Você pode estender um pouco esse método para usar a otimização de mínimos quadrados ponderados, se necessário; isso permitiria especificar regiões da resposta em frequência cujo erro de aproximação é mais ponderado que outros. Isso permite que você controle com mais rigidez as áreas de faixa de passagem / faixa de faixa e, ao mesmo tempo, incline mais áreas de "não se importe".

Jason R
fonte
1
Excelente resposta !! A "arte" ao criar designs de filtro com erro mínimo quadrado é definir corretamente o que exatamente é o "erro". Isso é controlado através da escolha da grade de frequência correta, dos fatores de ponderação em frequências específicas e da adição de mais restrições ao comportamento fora da banda e também para manter os pólos dentro do círculo da unidade.
Hilmar 24/05
O problema com esta solução em potencial é que, se a fase for desconhecida sobre uma função de transferência existente, o FDLS poderá convergir para a solução errada se a fase errada for assumida, independentemente da precisão com que a ordem seja corretamente adivinhada ou se a resposta de magnitude for medida.
hotpaw2
@ hotpaw2: Isso é de se esperar. Se você não sabe nada sobre a resposta de fase, há um número infinito de soluções igualmente válidas (ou seja, elas teriam a resposta de magnitude correta). Você precisará de algumas informações para orientá-lo para o que você considera a solução mais apropriada.
Jason R
@ JasonR: As únicas soluções corretas devem ser as permutações de inverter pólos / zeros dentro / fora, que é um número finito para qualquer sistema de ordem finita (existente).
hotpaw2
6

Meus colegas tiveram ótimos resultados com o ajuste de vetores :

O ajuste de vetor é um método numérico robusto para aproximação racional no domínio da frequência. Permite identificar modelos de espaço de estados diretamente a partir de respostas de frequência medidas ou calculadas, para sistemas de entrada / saída únicos ou múltiplos. A aproximação resultante garantiu pólos estáveis ​​que são reais ou vêm em pares conjugados complexos.

Nós o usamos para conversão FIR para IIR.

Para aplicações menos exigentes, você pode usar apenas o ajuste de mínimos quadrados não lineares para um número fixo de pólos e zeros. Isso é implementado no Matlab como invfreqse invfreqz.

nibot
fonte
0

Outra abordagem: plote a resposta de frequência e ajuste-a da melhor maneira possível. Isso poderia ser feito muito rapidamente para uma solução aproximada ou, em algum sentido elaborado de mínimos quadrados, para um melhor ajuste. GTH

G Heydt
fonte