Relación entre la Transformada Rápida de Fourier y la representación de Laplace/Fourier Continuo

Estoy tratando de identificar un sistema por medio de su ecuación diferencial (es decir, representación de Lapace). Preparé un algoritmo de regresión bastante sencillo (similar al método de Proni para ARMA) bajo el supuesto de que la FFT de la respuesta del sistema es equivalente a la transformada de Laplace evaluada en j ω (con ω prohibido para ( π , π ) , (pero esto no parece cambiar nada).

Converge bastante consistentemente pero los polos que obtengo son tanto positivos como negativos (es decir, estables e inestables si los interpreto como pretendía en el dominio s) y tanto dentro como fuera del círculo unitario (nuevamente inestable y estable si los interpreto como una transformada Z en su lugar).

No soy nuevo en DSP, pero está claro que tengo un concepto erróneo en alguna parte. Lo más probable es que mi interpretación de la FFT sea simplemente una muestra de la transformada de Laplace en el eje imaginario o en la escala adecuada de este eje. Revisé las ecuaciones varias veces y no puedo ver qué estoy haciendo mal.


La esencia de esto es simplemente resolver la ecuación:

y ( s ) ( 1 + a 1 s + a 2 s 2 + a 3 s 3 ) = X ( s ) ( b 0 + b 1 s + b 2 s 2 )

Para los valores de a i , b i que minimizan el error de representación, estableciendo s = j ω con ω  en  ( π , π ) y haciendo X ( j ω ) la FFT de una entrada conocida y y ( j ω ) la FFT de la salida medida (recortando los contenedores de frecuencia de borde ya que estos son ruidosos).

Sé que la FFT de una secuencia muestreada finita simplemente está muestreando la transformada de Fourier y agregando los componentes con alias (que en este caso se puede suponer que es cero, ya que el flujo de datos se filtra y submuestrea digitalmente).


Quiero implementarlo en el dominio s continuo, ya que está modelando un sistema analógico y eso haría que los resultados fueran más fáciles de entender. Entonces, antes de tirar todo esto y modelarlo en el dominio Z discreto como un ARMA, ¿alguien puede señalar dónde radica mi problema?

Su suposición de mapear el DFT directamente al CTFT implica que sus señales de tiempo continuo tienen una frecuencia de muestreo de 1Hz. ¿Es esto intencional y esperado?
@SteKulov, soy consciente de eso. Puedo abordar eso más adelante simplemente a través de la propiedad de escalado de tiempo/frecuencia de las transformadas de Laplace y Fourier. Así que no estoy demasiado preocupado por ese aspecto todavía. Mi principal preocupación son los signos invertidos en los polos de las estimaciones, que ahora he verificado con datos artificiales.
" los polos que obtengo son tanto positivos como negativos ". ¿ Estás teniendo en cuenta la fase ? ¿O solo está igualando la *ganancia". Un poste en digamos, 1 + 2 i tiene el mismo efecto que un poste en + 1 + 2 i en la respuesta de magnitud . La contribución a la fase es lo que permite diferenciarlos. Misma situación para material de tiempo discreto, pero dentro y fuera del círculo unitario. No me queda claro si no está utilizando la información de fase. ¿Puede agregar un ejemplo de cálculo simple que demuestre el problema?
¿Está utilizando el resultado de la fft como números complejos o solo la magnitud del resultado de la fft?
@EdgarBrown Muestre un cálculo de muestra para un sistema simple que replique el problema. también conocido como un ejemplo mínimo que no funciona .
@AJN, por supuesto, los números complejos. Aunque doblo el problema por la mitad y combino los pares conjugados para que solo tenga que lidiar con matrices reales.
¿Puede ser que esté perdiendo información de fase en el proceso de plegado? ¿Puedes mostrar un ejemplo de cálculo? No puedo entender completamente los pasos exactos que está aplicando en los datos de entrada, así como el formato de los datos de entrada originales.
Además, ¿todos los polos vienen en pares, uno con partes reales positivas y otros con partes reales negativas?
Lo hice antes y después de doblar. Solo para verificar que mi eje central fuera correcto, ya que cada implementación puede ser complicada. Pasé de 1E-11 partes imaginarias debido al redondeo, a cero.
@AJN como dije. No soy un novato en DSP. Ese cálculo ocurre después del hecho. Estimo los polinomios en s primero. Esos tienen coeficientes reales. Entonces sí, los polos no tienen más remedio que venir en pares conjugados.

Respuestas (2)

Creo que su cálculo de optimización ha encontrado una solución matemáticamente correcta, pero no causal .

Para entender esto, tenemos que desenterrar parte de la teoría que sustenta la transformada de Laplace. Primero, como sabe, cuando usa la FFT, su señal en el dominio del tiempo es una que se repite periódicamente desde el infinito negativo hasta el infinito positivo. Entonces, la transformada de Laplace que asociaremos con la FFT es la transformada bilateral, no la transformada unilateral.

En la teoría de las Transformadas de Laplace, la Región de Convergencia (ROC) importa. Dada una expresión particular para la Transformada de Laplace, la inversión no es única hasta que especifique la ROC. Recuerde que un sistema causal debe tener una ROC que incluya la parte del plano s a la derecha de todos los polos fuera de Re(s) de + . Un sistema estable debe incluir el eje imaginario en su ROC. Y, por supuesto, mientras vivimos y respiramos, un sistema estable y causal debe tener una ROC que incluya tanto el eje imaginario como la parte derecha del plano s, por lo que todos los polos deben estar en el plano de la izquierda.

Suponga por un momento que tiene una transformada de Laplace con polos tanto en el semiplano derecho como en el semiplano izquierdo, pero no a lo largo del eje imaginario. Puede elegir dos ROC para obtener dos inversiones diferentes. Si elige que la República de China incluya Re(s) de + , termina con una solución causal , pero no estable . Si elige una ROC que incluye el eje imaginario, no puede incluir la parte de Re(s) de + debido a los polos en el semiplano derecho, por lo que termina con una solución estable , pero no causal .

Ahora, de vuelta a su cálculo. Está seleccionando una solución tal que existe la Transformada de Fourier, por lo que su ROC incluye el eje imaginario. Sin embargo, nada en el cálculo obliga a los polos al plano de la izquierda... (¡su optimizador no comparte su interés en una solución causal!), por lo que está perfectamente feliz de poner algunos polos en el semiplano derecho, conduce a una solución no causal.

No veo una manera de forzar todos los polos en el semiplano izquierdo en este cálculo, pero seguro que me gustaría escucharlo si piensas en uno.

Sí, esto va en la línea de lo que me di cuenta con estas discusiones. No estoy limitando el problema lo suficiente. Estoy buscando cómo hacerlo, creo que podría hacerlo con algunas desigualdades y exponentes de Lyapunov si puedo encontrar una manera de expresar esas restricciones.
Si encuentra una buena manera de hacerlo, creo que su innovación sería un gran problema. Sería una gran técnica para sistemas fuertemente limitados en banda. ¡Buena suerte!

DFT no es lo mismo que CFT, lo que, a su vez, significa que no puede tratar la DFT como una porción del dominio de Laplace. Está aplicando una DFT en un s operador, que no se puede hacer, a menos que transforme s z , y eso viene en una de las varias formas de hacerlo: invariancia de impulso, invariancia de paso, transformada bilineal, otros métodos.

Entonces la DFT y la CFT son similares, pero no iguales, porque se trata de lo continuo y lo infinito. j ω , el otro con los discretos y finitos j Ω , y la transformada de Laplace y Z son similares, pero se trata de un plano infinito definido en s = α + j ω , y la otra con el dominio finito y muy bien definido de z = mi j Ω .

Lo que significa que su problema solo se puede resolver de dos maneras: trabajar en la función de transferencia continua en el dominio de Laplace con CFT, o aplicar una transformada Z y trabajar con DFT/FFT.

AFAIK esto no es estrictamente cierto. Las transformadas muestreadas (en tiempo y frecuencia) están directamente relacionadas con sus contrapartes continuas. Puede tener la transformación continua de una secuencia muestreada y la transformación muestreada de una secuencia continua. El muestreo en un dominio es simplemente periodicidad en el otro. Una DFT simplemente combina estos dos aspectos. A mi modo de ver, una transformación z ni siquiera debería estar involucrada en esto.
@EdgarBrown No puede aplicar una transformación continua a una secuencia discreta, o viceversa. El objetivo de la transformada Z es mapear el dominio infinito de s en la región finita de z . Si no lo hace, toda la infinidad de frecuencias exteriores se convertirán en alias. z . El hecho de que estén relacionados no significa que sean lo mismo. Uno es periódico, el otro no lo es. No puedes mezclar los dos.
por supuesto que puede. Siempre y cuando sepas lo que estás haciendo. Sí, las frecuencias infinitas tendrán un alias, tiene razón, pero esto no es un problema si tiene en cuenta eso y, en este caso, la señal se ha definido con una respuesta de espectro finito. La transformada z puede verse como una herramienta de representación conveniente, para evitar tener en cuenta toda esa periodicidad en el dominio de Laplace. Pero estos deberían ser directamente equivalentes.
@EdgarBrown La transformación Z es una herramienta de mapeo y el dominio de Laplace no es periódico. No son similares simplemente porque piensas que deberían serlo. El hecho de que represente su función de transferencia dentro de un espectro finito, definido por usted mismo , no significa que su respuesta no sea infinita. Y, para que quede claro, puede aplicar una DFT a una función de transferencia de tiempo continua, pero eso no significa que los resultados sean significativos excepto para secuencias no discretas, y viceversa. Pero si quieres pensar lo contrario, que así sea.
Gracias por la discusión, creo que comencé a ver dónde podría estar el problema. No estoy explicando completamente la periodicidad en el dominio de Laplace (que en mi caso es trivial). No estoy seguro de que esto cambie nada, pero al menos me da algo para investigar.
@EdgarBrown Parece que se quedó atascado en la idea de que tiene que usar FFT para evaluar la respuesta de frecuencia, tal vez para evitar calcular el CFT clásico con integrales y demás. Si ese es el caso, todo lo que tienes que hacer para evaluar tu función de transferencia es aplicar la función de Laplace con parte imaginaria, solamente, ya que es el equivalente de la CFT, es decir s = j ω significa sólo la frecuencia. Para tu caso resulta en:
b 0 + j b 1 ω b 2 ω 2 1 + j a 1 ω a 2 ω 2 j a 3 ω 3
.
Así es precisamente como surge el sistema de ecuaciones, el único lugar donde se usa la FFT es para calcular el espectro de los datos reales muestreados (y como soy perezoso, el espectro de la señal de entrada, pero eso desaparecerá una vez que descubra dónde el problema es).
Si insiste en realizar una FFT, debe considerar una tasa de muestreo muy alta en comparación con la frecuencia de ancho de banda más alta, para evitar fugas (considerables). Sin embargo, estaría tratando con un método de invariancia de impulso virtual, lo que significa transformación Z, volens-nolens.
Sin embargo, no veo la fuente de la fuga. La señal (física) tiene una banda limitada y se filtra digitalmente con menos de 2^-20 en la banda de paso. Esa es la única señal real en el sistema (ignorando mi pereza con la señal de entrada, que es fácilmente reparable). Lo que sospecho que está sucediendo es que hay varias extensiones periódicas posibles de la transformada de Laplace y mi metodología actual no impone ninguna restricción en esa parte del espectro.