Por exemplo, para encontrar freqüências de pico, parece válido usar métodos de interpolação com banda limitada nos compartimentos DFT complexos, ou separadamente em suas partes reais e imaginárias, e calcular as magnitudes ou magnitudes ao quadrado dos resultados. Mas e quanto à interpolação limitada por banda das magnitudes dos caixotes do lixo (não acho que isso seja válido) ou de suas magnitudes ao quadrado (talvez válidas)? Por válido, quero dizer que os valores perfeitamente interpolados devem ser iguais aos encontrados, calculando-os a partir de uma DFT maior de uma versão preenchida com zero do sinal no domínio do tempo.
A primeira abordagem garante um resultado não negativo, ao contrário das demais se a interpolação não for perfeita, consulte esta pergunta sobre interpolação não- negativa ou positiva com banda limitada .
fonte
Respostas:
Os pontos interpolados da DFT podem ser calculados usando um produto escalar de algumas amostras ao redor da região do pico com um vetor de interpolação pré-calculado. O vetor de interpolação é determinado pela localização da amostra interpolada desejada, levando em consideração a quantidade necessária de preenchimento zero, etc., etc.
Esta técnica e a metodologia para calcular os vetores de interpolação são abordadas no apêndice B deste documento:
http://ericjacobsen.org/FTinterp.pdf
Espero que isto ajude um pouco.
fonte
Primeiro, uma demonstração de que os quadrados de ambos
igual
mas os quadrados de suas sinceras interpolações diferem (Fig. 1):
Figura 1. Quadrados de interpolações sinc de
Isso demonstra que, em geral, não é possível recuperar o quadrado de um sinal de banda limitada de suas amostras uniformes colhidas na frequência de amostragem crítica do sinal de banda limitada.
Vamos testar diferentes abordagens de interpolação no Octave. O padrão ouro de interpolação com banda limitada é DFT – zero-pad – DFT:
O último conjunto de números são os valores de magnitude calculados a partir de caixas no domínio da frequência perfeitamente interpoladas. Vamos tentar interpolar a magnitude :
Parece um pouco fora. Agora vamos tentar interpolar a magnitude ao quadrado :
Não está apenas desativado, mas também
sqrt()
retornou um número complexo para um valor interpolado negativo. Então, é a única maneira válida de interpolar os valores da posição?Vamos dar mais uma chance, tentando interpolar os dados do domínio de frequência ampliados por um fator de 2. Por causa da transformação de comprimento uniforme, isso exige a duplicação da "amostra Nyquist", portanto, peça desculpas se o código está ficando difícil de ler.
O acima é o que queremos. Vamos tentar interpolar a magnitude ampliada em 2x :
Ainda está desligado. Vamos tentar interpolar 2x ao quadrado a amplitude ampliada por amostra :
Agora funciona perfeito! A mensagem de levar para casa é fazer a ampliação da amostra (zero no domínio do tempo) pelo menos por um fator de dois antes de tentar interpolar no domínio da frequência e interpolar a magnitude ao quadrado em vez da magnitude. Funciona porque assumir a magnitude ao quadrado é o mesmo que multiplicar cada valor de bin pelo seu complexo conjugado. A conjugação complexa preserva a largura de banda da função de banda ilimitada representada pelos dados; portanto, a multiplicação dobra a "largura de banda no domínio do tempo" porque é equivalente à convolução no domínio do tempo. Observe que, ao escolher o método de interpolação, a magnitude quadrada ampliada de 2x ainda é amostrada criticamente; portanto, a amostragem adicional adicional deve facilitar muito a interpolação precisa.
Eu quase respondi minha própria pergunta, mas aceitarei mais informações como resposta!
PS Acabei de descobrir que também existe
interpft
, o que faz a interpolação com menos sintaxe.Utilizando informações adicionais
A interpolação torna-se mais fácil ou até exata com informações adicionais sobre os dados, por exemplo, que é um sinc com deslocamento de tempo crítico e amostrado criticamente. Nesse caso, dadas as duas amostrasα pouco antes e γ logo após a maior amostra, o tempo - 1 < d< 1 do pico pode ser calculado por:
com o que significa que o sinc é alterado exatamente para o tempo da maior amostra. A mesma interpolação pode ser feita à metade da taxa de amostragem, que é a frequência de amostragem crítica da função subjacente cuja magnitude é igual à de um sinc com desvio no tempo, com as duas amostras sucessivas de maior valor e do quadrado do valor absoluto da função subjacente:d= 0 α β
As fórmulas não são afetadas pelo dimensionamento da amplitude dos dados. Para a estimativa de frequência, você raramente teria um sinc mudado no tempo puramente real, mas se o fizer, existem fórmulas de interpolação exatas para ele .
fonte