Supongamos que deseamos interpolar una señal periódica con un número par de muestras (por ejemplo, N = 8) rellenando con ceros en el dominio de frecuencia.
Deje que el DFT X=[A,B,C,D,E,F,G,H]
ahora lo llenemos a 16 muestras para dar Y
. Cada ejemplo de libro de texto y tutorial en línea que he visto inserta ceros al dar .
(Entonces es la señal interpolada).[Y4...Y11]
Y=[2A,2B,2C,2D,0,0,0,0,0,0,0,0,2E,2F,2G,2H]
y = idft(Y)
¿Por qué no utilizar en su lugar
Y=[2A,2B,2C,2D,E,0,0,0,0,0,0,0,E,2F,2G,2H]
?
Por lo que puedo decir (mi conocimiento de matemáticas es limitado):
- Minimiza la potencia total.
- Asegura que si
x
es un valor real, entonces también lo esy
y
todavía se cruzax
en todos los puntos de muestra, según sea necesario (creo que esto es cierto para cualquierp
lugarY=[2A,2B,2C,2D,pE,0,0,0,0,0,0,0,(2-p)E,2F,2G,2H]
)
Entonces, ¿por qué nunca se hace de esta manera?
Editar : x
no es necesariamente un valor real o limitado por banda.
dft
interpolation
zero-padding
finnw
fuente
fuente
Respuestas:
Veamos las frecuencias de los contenedores en su DFT de 8 puntos:
E-π+π
A primera vista, no puedo ver cuál es el problema con su enfoque, ya que no está claro si debe colocarse en el contenedor asociado con o .π - πmi π - π
En la página de Julius O. Smith III , declara una condición:
Y su ejemplo es para un impar , lo que evita el problema.norte
No estoy seguro de que sea obligatorio, pero aquí está la referencia completa al trabajo de Julius:
Smith, JO Mathematics of the Discrete Fourier Transform (DFT) with Audio Applications, Segunda edición, http://ccrma.stanford.edu/~jos/mdft/ , 2007, libro en línea, consultado el 28 de septiembre de 2011.
fuente
Hay muchas formas de interpolar datos. La interpolación en mi mente significa que 'dibuja' líneas entre algunos puntos de datos. Esto se puede hacer de muchas maneras. Un tipo de interpolación que es útil en DSP (especialmente en DSP multirate) es 'interpolación de banda limitada'. Si buscas en Google, obtendrás muchos éxitos interesantes y útiles. Lo que usted propone no es interpolación ilimitada de banda. En su x 'muestreado' tiene componentes de frecuencia que no están presentes en la x original.
Editar (demasiado largo para caber en un comentario):
Hay una diferencia bastante significativa entre su construcción, comenzando con y el ejemplo en la referencia que proporciona.X= [ A , B , C, D , E, F, G , H]
Considerando real input
Upsampling por un factor de 2 para entrada de banda completa. En este caso se puede realizar colocando primero ceros en la entrada intercalada (es El resultado es una señal con un espectro de frecuencia que contiene una versión comprimida del espectro de frecuencia de x ( en el rango ) y una imagen que se extiende desde (considerando solo el eje de frecuencia positiva). Si x2 es la versión muestreada, entonces0 - π / 2 π / 2 - πX0 0, 0 , x1, 0 , . . . 0 - π/ 2 π/ 2-π
En el caso ideal, se requiere un filtro de pared de ladrillo ideal con frecuencia de corte para eliminar la imagen. Es decir (para entrada infinita)π/ 2
En la práctica, habrá cierta distorsión porque el filtro de pared de ladrillo no es realista. El práctico filtro puede suprimir / eliminar frecuencias en la entrada o puede dejar algunos de los componentes de frecuencia en la imagen en la señal muestreada. O el filtro puede hacer un compromiso entre los dos. Creo que su construcción de dominio de frecuencia también refleja este compromiso. Estos dos ejemplos representan dos opciones diferentes:
Si la entrada está limitada por banda por debajo de la frecuencia de nyquist como en su referencia, este problema desaparece.
Tal vez sea posible encontrar un valor de continuación, de modo que alguna función de error, por ejemplo, el error al cuadrado entre el espectro de entrada y el espectro de salida muestreado sea mínimo.ρ
fuente