Si estás haciendo algo con parámetros S, te has encontrado con problemas de causalidad. La primera vez que escuchas que tus parámetros S son no causales es una experiencia incómoda. Un cliente puede decir, “tus parámetros S no pasan mi herramienta de causalidad. Por favor, corrígelos y envíame nuevos datos. Gracias.” Gracias, de hecho. Después de recibir ese mensaje, probablemente fuiste a tu experto residente en SI, Google, y escribiste causalidad.
Cuando terminas de leer lo que Aristóteles tiene que decir sobre el tema, todavía no tienes nada que darle a tu cliente. Muchos ingenieros están atascados en este punto. Afortunadamente, hay algunos métodos simples que puedes usar para verificar y hacer cumplir la causalidad de los parámetros S en tus simulaciones y datos experimentales.
La causalidad simplemente significa que un efecto debe ocurrir después de una causa. Golpeas una campana con un martillo, luego la campana suena. Sería extraño, si no inquietante, si la campana sonara a medida que el martillo se acercara. En sistemas descritos por parámetros-S, una respuesta debe ocurrir después de un estímulo. Hay tres estímulos típicos que los ingenieros de integridad de señal analizan: un impulso, un escalón y un pulso.
La transformada inversa de Fourier de un parámetro-S es una función de transferencia para un tipo particular de señal. Por ejemplo, el tratamiento de Kurokawa de los parámetros-S de líneas de transmisión define las entradas y salidas en una red de N-puertos en términos de potencia equivalente, y los parámetros-S actúan como una función de transferencia para este tipo particular de señal. La mayoría de los ingenieros están más familiarizados con una función de transferencia estándar en términos de voltaje de entrada y salida. Independientemente de cómo definas una función de transferencia (como un parámetro-S o filtro), cada función de transferencia tiene una función de respuesta al impulso.
Lo primero que se debe hacer para verificar la causalidad con el mínimo esfuerzo es tomar la transformada inversa de Fourier de un parámetro S y buscar respuestas antes del tiempo del estímulo (t = cero segundos). Antes de cero segundos, el sistema debería estar en reposo, y cualquier valor no nulo indica una violación de la causalidad.
Me gusta decir que la transformada inversa de Fourier cruda de un parámetro S tiene un "tiempo de subida nativo". Esto significa que el parámetro S está completamente sin filtrar y está mostrando toda la información disponible. Una respuesta al impulso con tiempo de subida nativo siempre parecerá no causal porque está limitada por banda. Esta limitación de ancho de banda significa que efectivamente estás tomando la transformada inversa de Fourier de una función rectángulo, rect(f), que es una función sinc, sinc(t). Las funciones sinc parecen una respuesta al impulso con un timbre extra antes y después del pico del pulso. Dado que hay timbre antes de cero segundos, la función es no causal. Esto implica que todos los parámetros S son no causales, y sí, eso es cierto por definición. Tengo un ejemplo a continuación en Figura 1 que muestra este fenómeno, que a veces se refiere como "el fenómeno de Gibbs" en honor a J. Willard Gibbs.
La trama negra es la respuesta al impulso de un vector de parámetro S de reflexión, y la trama roja es la transformada inversa de Fourier de una función sinc con el mismo ancho de banda que la respuesta al impulso, 100 GHz. Puedes ver la tendencia idénticamente con diferencias de magnitud. De hecho, normalicé estas tramas para resaltar cómo el sonido coincide con la función sinc, y los valores eran en realidad menos similares de lo que he mostrado. Por lo tanto, no puedes simplemente restar la función sinc de la respuesta al impulso para obtener una respuesta causal.
En su lugar, aplica una función de ventaneo antes de aplicar la transformada inversa de Fourier para deshacerte del sonido. Una función de ventaneo en el dominio de la frecuencia es un filtro que elimina el contenido de alta frecuencia de la función de transferencia. En el dominio del tiempo, una función de ventaneo impone la naturaleza periódica que se requiere para realizar la transformada de Fourier discreta de la función del dominio del tiempo con distorsión mínima. Hay muchas funciones de ventaneo para elegir. Aquí hay algunos ejemplos.
donde N es el número de puntos, y L = N + 1.
Donde,
N es el número de puntos.
Donde,
a0 = 0.42,
a1 = 0.50, y
a2 = 0.08.
En el ejemplo a continuación, apliqué la función de ventaneo de Blackman a la misma respuesta al impulso mostrada en la figura 1 en comparación con la misma función sinc. Esta vez, la respuesta es claramente causal sin artefactos del espectro limitado por banda.
Puedes utilizar esta técnica para asegurarte de que tus gráficos no tengan falsos artefactos no causales al convertir del dominio de frecuencia al dominio de tiempo. Sin embargo, esta técnica no corrige tus parámetros S. Solo es para que puedas visualizar el efecto y ver si realmente hay una violación de causalidad.
La desincrustación es la razón más común para los parámetros S no causales. Eric Bogatin, evangelista de la integridad de señal, llama al fenómeno “miembros fantasma”. Es cuando el dispositivo ha sido desincrustado, pero el dispositivo parece seguir presente antes de los cero segundos. La gráfica de impedancia a continuación en la figura 6 es un ejemplo de miembros fantasma. Cuando se aplica la función de ventaneo de Blackman a este parámetro S en el dominio de frecuencia antes de aplicar la transformada de Fourier inversa, se sigue observando un comportamiento no nulo antes de los cero segundos.
La forma más fácil de solucionar este problema es imponer la causalidad por definición. Simplemente multiplicas la respuesta al impulso con la función escalón unitario - ver Figura 7. Esto, por cierto, es lo mismo que aplicar una transformada de Hilbert. Hacer esto y hacer cumplir la pasividad (otro blog futuro) aliviará la mayoría de tus problemas con quejas sobre la calidad de los parámetros S de los clientes.
Para ayudarte a entender lo que está sucediendo aquí, coloqué un diagrama de flujo abajo en Figura 8 mostrando un proceso simple de imponer la causalidad de los parámetros S.
Creo que es una pregunta justa. Cuando lees sobre causalidad en los libros de texto, está en el contexto de sistemas lineales. En su forma más simple, un sistema lineal satisface el principio de superposición y homogeneidad. Además, los sistemas lineales deben ser causales para operar en tiempo real. Si un sistema es no causal, no puede utilizarse para el análisis de sistemas, que es la razón principal por la que los parámetros S causales son importantes. Los proveedores de SerDes necesitan canales causales para predecir con precisión el rendimiento de sus productos con herramientas internas. Para el resto del mundo de la integridad de señal, necesitamos parámetros S causales para herramientas como ADS, Margen de Operación del Canal (COM), Seasim y (mi favorito) PyBERT. Estas herramientas nos ayudan a predecir el resultado esperado de un enlace con una tecnología de silicio dada.
El resultado de usar un parámetro S no causal en una herramienta de simulación es una degradación falsa del rendimiento. Hace unos años, descubrí esto cuando estaba evaluando ensamblajes de cables contra la especificación IEEE 802.3 100GBASE-CR4. Esa especificación utiliza COM como una métrica normativa, y no podía hacer que mis ensamblajes de cables simulados pasaran. Esto fue un gran problema porque no podía convencer a mi gestión de que mi diseño funcionaba sin tener modelos que pasaran la especificación. Mi pérdida estaba dentro de los límites estándar, y todos mis parámetros S pasaban las máscaras informativas. El canal contenía la placa de cumplimiento del módulo (MCB), el conector, el PCB del ensamblaje de cables y el cable crudo (ver Figura 9).
Cree los modelos de fijación del MCB con Keysight AFR, encontré el modelo del conector en el sitio web de una empresa de conectores y creé todos los demás modelos con un solucionador EM 3D comercial. Pieza por pieza, busqué el problema. Finalmente, utilicé un cable medido en lugar del cable modelado. No pensé que habría una diferencia ya que la magnitud y fase de los parámetros S medidos del cable parecían casi idénticos a mi modelo. Sin embargo, para mi sorpresa, mis simulaciones de repente comenzaron a pasar.
No entendía la causa raíz en ese momento, pero esto fue realmente una llamada de atención para mí. Sabía que la causalidad y modelado adecuados de los parámetros S podrían literalmente hacer o deshacer un diseño. Años después, encontré la manera adecuada de generar RLGC para líneas de transmisión causales. A continuación, te mostraré una señal para modelos no causales que puedes encontrar por ti mismo. La gráfica a continuación en Figura 10 muestra las respuestas al impulso de modelos de traza de stripline de diez pulgadas: uno causal, el otro no causal.
Lo primero que hay que notar es que la respuesta al impulso no tiene un problema obvio: la respuesta antes de cero segundos es cero. La señal para la respuesta no causal es la forma. Parece como si hubiera una imagen espejada de la interferencia entre símbolos (ISI) sobre el momento en que el impulso alcanza su pico. En contraste, la respuesta causal tiene un borde de subida pronunciado, y la ISI cae exponencialmente a cero. Aunque la respuesta no causal parece tener más señal, los resultados del canal muestran que su calidad es claramente peor. Tengo los resultados del margen de operación del canal y las contribuciones a continuación.
COM = 8.47 dB
Varianza de ISI: 0.49 mV
COM = 7.55
Varianza de ISI: 0.71 mV
En términos porcentuales, no parece tan malo. El ISI es del 15% frente al 10% de no causal a causal. Sin embargo, cuando observas la cifra de ruido del ISI, ¡ves que hay un 45% más de ISI en la traza no causal! En la mayoría de los sistemas a los que he estado expuesto, los clientes llevan al límite lo que el hardware puede hacer, y los modelos de líneas de transmisión no causales les dirán falsamente a los diseñadores de sistemas que su diseño es defectuoso cuando no lo es.
Voy a contarte rápidamente cómo puedes asegurarte de que los modelos que estás produciendo sean causales. Primero, asegúrate de que tus propiedades dieléctricas sean dependientes de la frecuencia y causales. La mejor manera de hacer esto es usar el Modelo de Polo Infinito de Djordjevic et al. Este método se explica más claramente en Advanced Signal Integrity for High-Speed Design de Hall y Heck. Segundo, si estás haciendo modelos RLGC, asegúrate de que todos los parámetros sean dependientes de la frecuencia. Mientras estés modelando con dieléctricos dependientes de la frecuencia, R, G y C son fáciles. L suele ser el problema. Si encuentras que tu L no es dependiente de la frecuencia, prueba esta fórmula, y puede que solucione las cosas. Sin embargo, los resultados pueden variar.
Intenta no ser demasiado duro contigo mismo cuando te enfrentes a un problema de causalidad de parámetros S. El problema sigue siendo prevalente en la industria, incluso cuando se utilizan herramientas de primer nivel. Si las empresas de miles de millones de dólares tienen problemas, ¡supongo que estás en buena compañía! En lugar de eso, trata de pensar en ello como una oportunidad para mejorar tus habilidades en la transformada de Fourier y el conocimiento de la integridad de señal.
La ventaja para los proveedores de componentes aquí son los modelos de líneas de transmisión no causales que hacen que los usuarios finales típicamente no detecten problemas graves. La mayoría de los diseñadores de sistemas utilizan la verificación heurística de causalidad que solo detecta problemas de parámetros S de reflexión causados por ramas fantasma, y ese problema se soluciona fácilmente con el método mostrado arriba.
¿Te gustaría saber más sobre cómo Altium puede ayudarte con tu próximo diseño de PCB? Habla con un experto en Altium o descubre cómo utilizar un calculador de Línea de Transmisión de PCB hace el diseño más fácil.