Eu tenho a tarefa relacionada à transformação Radon, que contém uma subtarefa que usa reamostragem por meio de DFT.
Vamos considerar o sinal discretizado não periódico (Fig.1) (por exemplo, a sequência de pixels) com 515 pixels de comprimento. Na minha implementação para reamostragem contém as seguintes etapas:
- Deslocamento à esquerda cíclico (Fig.2).
- Adicione zeros ao centro para que o comprimento do sinal se torne 2 ^ n (no nosso caso, 1024-515 = 509 zeros, devemos adicionar) (Fig. 3).
- Obtenha DFT deste sinal (Fig. 4).
- Deslocamento à direita cíclico. (para mudar as frequências baixas para o centro) (Fig.5)
Figura 1
Figura 2
Fig.3
Fig.4
Fig.5
A questão principal:
Por que devemos executar a mudança cíclica do sinal e adicionar zeros exatamente no centro? (Eu assumi o que isso tornava o sinal periódico). Zeropadding faz espectro DFT de interpolação, está correto? (Perguntei e alguém diz o que não é bem assim) Talvez alguém possa explicar de maneira simples o que acontece com o sinal após o zeropadding.
Fiz algumas experiências em um Matlab e descobri que qualquer outra sequência de ações não pode dar o resultado necessário.
Agora vamos considerar dois casos:
a) (ESTA VARIEDADE CORRETA) Temos o sinal discretizado não periódico (por exemplo, a sequência de pixels) que será cíclica deslocada para zeros à esquerda e preenchidos no centro, após o qual será obtida a DFT a partir disso e a mudança para trás.
b) Temos o sinal discretizado não periódico (por exemplo, as seqüências de pixels definidas) que serão preenchidos com zeros da esquerda e da direita depois disso será obtido DFT a partir disso.
Qual a diferença desses espectros DFT?
Eu li alguns livros, mas não encontrei a resposta do caso deste zeropadding. Parece que isso só pode ser encontrado por experiência própria.
Resposta no livro:
AC Kak e Malcolm Slaney, Princípios de Imagem Tomográfica Computadorizada, Sociedade de Matemática Industrial e Aplicada, 2001 na página 25
fonte
Respostas:
Mudar os pontos de dados (fftshift) e zerar o centro exato da abertura da FFT possui a propriedade de que todos os componentes pares (simétricos) com referência ao centro dos dados originais acabam na parte real do resultado complexo da FFT , e todos os componentes ímpares terminam na parte imaginária. por exemplo, a razão de uniformidade / estranheza é preservada, o que permite que a fase (com referência ao centro da janela) seja facilmente interpolada.
Ser capaz de interpolar a fase é importante no caso de uma FFT com preenchimento zero, porque o preenchimento zero interpola também a magnitude espectral. Como o preenchimento zero resulta em um resultado FFT interpolado, isso significa que quaisquer pontos de resultado FFT não interpolados originais precisarão ser interpolados do resultado preenchido com zero. Sem um desvio da FFT dos dados não preenchidos e zero, esses resultados interpolados serão diferentes dos resultados da FFT não interpolados (em fase).
Essa técnica é um resultado simples (nível de dever de casa ou questionário) da propriedade FT de que uma mudança em um domínio é uma modulação de frequência complexa no outro domínio.
fonte
@ Roman: a partir da minha experiência, seja no domínio do tempo ou no domínio da frequência, a interpolação (digamos pelo fator 2) resulta em maior frequência de amostragem (sinal de aumento de amostragem, (2 * Fs)). Para a interpolação no domínio do tempo, inserimos zeros em amostras alternativas, da mesma forma que inserimos zeros porque estamos convertendo o sinal em uma frequência de amostragem mais alta, deixando a largura de banda do sinal intocada. O motivo exato para o "preenchimento central" está relacionado ao índice FFT versus o índice de banda base (BB). por exemplo, sinal BW fm e frequência de amostragem Fs, no domínio da frequência, temos o sinal fm centrado em + NFs e -NFs onde N é um número inteiro (0,1,2 ...). O sinal em torno de DC (sinal da banda base) ocupa de -fm / 2 a fm / 2 e o sinal em Fs ocupa de Fs-fm / 2 a Fs + fm / 2 e assim por diante, todas essas réplicas carregam a mesma informação. Em vez de considerar -fm / 2 em DC, estamos considerando Fs-fm / 2 (ambos são iguais), apenas a diferença é positiva ou negativa. Finalmente, o sinal que consideramos é {[DC para fm / 2] [Fs-fm / 2 para Fs]} por esse motivo, preenchemos zeros extras (depende do fator de ampliação) entre [fm / 2 a Fs-fm / 2] por mantendo o sinal original fm intacto.
fonte
Se eu tiver uma saída do filtro passa-banda e quiser convertê-lo novamente no domínio do tempo.
Também é a abordagem correta do deslocamento cíclico para a esquerda e zeros no meio antes de aplicar a janela e converter novamente no domínio do tempo?
fonte