Tengo la tarea relacionada con la transformación de radón que contiene una subtarea que utiliza remuestreo mediante DFT.
Consideremos la señal discretizada no periódica (Fig. 1) (por ejemplo, la cadena de píxeles) que tiene 515 píxeles de longitud. En mi implementación para remuestreo contiene los siguientes pasos:
- Desplazamiento cíclico a la izquierda (Fig. 2).
- Agregar ceros al centro para que la longitud de la señal se convierta en 2 ^ n (en nuestro caso 1024-515 = 509 ceros debemos agregar) (Fig. 3).
- Obtenga DFT de esta señal (Fig. 4).
- Desplazamiento cíclico a la derecha. (para cambiar las bajas frecuencias al centro) (Fig.5)
Figura 1
Figura 2
Fig. 3
Fig.4
Fig.5
La pregunta principal:
¿Por qué debemos realizar un desplazamiento cíclico de la señal y agregar ceros exactamente en el centro? (Supuse que esto hacía que la señal fuera periódica) Zeropadding hace interpolación del espectro DFT, ¿es correcto? (Pregunté y alguien dijo que no era así) Tal vez alguien pueda explicar de una manera simple lo que sucede con la señal después de poner a cero.
He realizado algunos experimentos en un Matlab y descubrí que cualquier otra secuencia de acciones no puede dar el resultado requerido.
Ahora consideremos dos casos:
a) (ESTA VARIANTE CORRECTA) Tenemos la señal discretizada no periódica (por ejemplo, la cadena de píxeles) que se desplazará cíclicamente a la izquierda y se rellenarán ceros en el centro después de eso se obtendrá DFT de esto y para volver a desplazarla.
b) Tenemos la señal discretizada no periódica (por ejemplo, las cadenas de píxeles establecidas) que se rellenarán con ceros de izquierda a derecha después de eso se obtendrá DFT a partir de esto.
¿Cuál es la diferencia de estos espectros DFT?
He leído algunos libros pero no he encontrado la respuesta del caso de este zeropadding. Parece que esto solo se puede encontrar por experiencia propia.
Respuesta en el libro:
AC Kak y Malcolm Slaney, Principios de Imagen Tomográfica Computarizada, Sociedad de Matemáticas Industriales y Aplicadas, 2001 en la página 25
fuente
Respuestas:
Desplazar los puntos de datos (fftshift) y poner a cero el centro exacto de la apertura FFT tiene la propiedad de que todos los componentes pares (simétricos) con referencia al centro del conjunto de datos original terminan en la parte real del resultado complejo de FFT , y todos los componentes impares terminan en la parte imaginaria. por ejemplo, se conserva la relación de paridad a impar, lo que permite que la fase (con referencia al centro de la ventana) se interpole fácilmente.
Ser capaz de interpolar la fase es importante en el caso de una FFT de relleno cero porque el relleno de cero también interpola la magnitud espectral. Dado que el relleno de cero da como resultado un resultado de FFT interpolado, eso significa que cualquier punto de resultado de FFT original no interpolado deberá ser interpolado del resultado de relleno de cero. Sin un cambio de FFT de los datos sin relleno y sin relleno, estos resultados interpolados serán diferentes de los resultados de FFT no interpolados (en fase).
Esta técnica es un resultado simple (tarea o nivel de prueba) de la propiedad FT de que un cambio en un dominio es una modulación de frecuencia compleja en el otro dominio.
fuente
@Roman: desde mi experiencia, ya sea que lo hagamos en el dominio del tiempo o en el dominio de la frecuencia, la interpolación (digamos por el factor 2) da como resultado una frecuencia de muestreo más alta (señal muestreada, (2 * Fs)). Para la interpolación en el dominio del tiempo, insertamos ceros en muestras alternativas, de la misma manera que insertamos ceros porque estamos convirtiendo la señal a una frecuencia de muestreo más alta dejando intacto el ancho de banda de la señal. La razón exacta para el "relleno central" tiene que ver con el índice FFT frente al índice de banda base (BB). por ejemplo, señal BW fm y frecuencia de muestreo Fs, en el dominio de la frecuencia tenemos la señal fm centrada en + NF y -NFs donde N es entero (0,1,2 ...). La señal alrededor de DC (señal de banda base) ocupa de -fm / 2 a fm / 2 y la señal en Fs ocupa de Fs-fm / 2 a Fs + fm / 2 y así sucesivamente, todas estas réplicas llevan la misma información. En lugar de considerar -fm / 2 a DC, Estamos considerando Fs-fm / 2 (ambos son iguales), solo la diferencia es positiva o negativa. Finalmente, la señal que consideramos es {[DC a fm / 2] [Fs-fm / 2 a Fs]} por esta razón llenamos ceros adicionales (depende del factor de muestreo) entre [fm / 2 a Fs-fm / 2] por manteniendo intacta la señal original fm.
fuente
Si tengo un resultado del filtro de paso de banda y quiero convertirlo nuevamente al dominio del tiempo.
¿Es también el enfoque correcto para el desplazamiento cíclico a la izquierda y rellenar ceros en el medio antes de aplicar la ventana y convertir de nuevo al dominio del tiempo?
fuente