Se você está fazendo algo com parâmetros-S, você já se deparou com problemas de causalidade. A primeira vez que ouvir que seus parâmetros-S são não-causais é uma experiência desconfortável. Um cliente pode dizer, “seus parâmetros-S falharam na minha ferramenta de causalidade. Por favor, corrija-os e me envie novos dados. Obrigado.” Obrigado mesmo. Depois de receber essa mensagem, você provavelmente foi até o seu especialista residente em SI, o Google, e digitou causalidade.
Quando você termina de ler o que Aristóteles tem a dizer sobre o assunto, ainda não tem nada para oferecer ao seu cliente. Muitos engenheiros ficam presos neste ponto. Felizmente, existem alguns métodos simples que você pode usar para verificar e impor a causalidade dos parâmetros-S em suas simulações e dados experimentais.
Causalidade simplesmente significa que um efeito deve acontecer após uma causa. Você bate um sino com um martelo, então o sino toca. Seria estranho, se não perturbador, se o sino tocasse à medida que o martelo se aproximasse. Em sistemas descritos por parâmetros-S, uma resposta deve ocorrer após um estímulo. Existem três estímulos típicos que engenheiros de integridade de sinal analisam: um impulso, um degrau e um pulso.
A transformada inversa de Fourier de um parâmetro-S é uma função de transferência para um tipo particular de sinal. Por exemplo, o tratamento de Kurokawa dos parâmetros-S de linhas de transmissão define as entradas e saídas em uma rede N-port em termos de potência equivalente, e os parâmetros-S atuam como uma função de transferência para este tipo particular de sinal. A maioria dos engenheiros está mais familiarizada com uma função de transferência padrão em termos de tensão de entrada e saída. Independentemente de como você define uma função de transferência (como um parâmetro-S ou filtro), toda função de transferência tem uma função de resposta ao impulso.
A primeira coisa a fazer para verificar a causalidade com o mínimo de trabalho é tomar a transformada inversa de Fourier de um parâmetro S e procurar por respostas antes do tempo do estímulo (t = zero segundos). Antes de zero segundos, o sistema deve estar em repouso, e qualquer valor não nulo indica uma violação da causalidade.
Gosto de dizer que a transformada inversa de Fourier crua de um parâmetro S tem um "tempo de subida nativo". Isso significa que o parâmetro S está completamente sem filtro e está mostrando todas as informações disponíveis. Uma resposta ao impulso com tempo de subida nativo sempre parecerá não causal porque é limitada em banda. Esta limitação de largura de banda significa que você está efetivamente realizando a transformada inversa de Fourier de uma função retângulo, rect(f), que é uma função sinc, sinc(t). Funções sinc parecem uma resposta ao impulso com oscilações extras antes e depois do pico do pulso. Como há oscilações antes de zero segundos, a função é não causal. Isso implica que todos os parâmetros S são não causais, e sim, isso é verdade por definição. Tenho um exemplo abaixo na Figura 1 que mostra esse fenômeno, que às vezes é referido como "o fenômeno de Gibbs" em homenagem a J. Willard Gibbs.
O gráfico preto é a resposta ao impulso de um vetor de parâmetro S de reflexão, e o gráfico vermelho é a transformada de Fourier inversa de uma função sinc com a mesma largura de banda que a resposta ao impulso, 100 GHz. Você pode ver a tendência identicamente com diferenças de magnitude. Na verdade, eu normalizei esses gráficos para destacar como o toque corresponde à função sinc, e os valores eram na verdade menos semelhantes do que eu mostrei. Portanto, você não pode simplesmente subtrair a função sinc da resposta ao impulso para obter uma resposta causal.
Em vez disso, aplique uma função de janelamento antes de aplicar a transformada de Fourier inversa para se livrar do toque. Uma função de janelamento no domínio da frequência é um filtro que remove o conteúdo de alta frequência da função de transferência. No domínio do tempo, uma função de janelamento impõe a natureza periódica que é necessária para realizar a transformada de Fourier discreta da função do domínio do tempo com distorção mínima. Há muitas funções de janelamento para escolher. Aqui estão alguns exemplos.
onde N é o número de pontos, e L = N + 1.
Onde,
N é o número de pontos.
Onde,
a0 = 0.42,
a1 = 0,50 e
a2 = 0,08.
No exemplo abaixo, apliquei a função de janelamento de Blackman à mesma resposta ao impulso mostrada na figura 1, comparada à mesma função sinc. Desta vez, a resposta é claramente causal, sem artefatos do espectro limitado em banda.
Você pode usar esta técnica para garantir que seus gráficos não tenham falsos artefatos não-causais ao converter do domínio da frequência para o domínio do tempo. No entanto, esta técnica não corrige seus parâmetros-S. É apenas para que você possa visualizar o efeito e ver se uma violação de causalidade está realmente presente.
Desincorporação é a razão mais comum para parâmetros-S não-causais. Eric Bogatin, evangelista de integridade de sinal, chama o fenômeno de “membros fantasmas”. É quando o dispositivo de teste foi desincorporado, mas parece que o dispositivo ainda está presente antes de zero segundos. O gráfico de impedância abaixo, na figura 6, é um exemplo de membros fantasmas. Quando a função de janelamento de Blackman é aplicada a este parâmetro-S no domínio da frequência antes de aplicar a transformada de Fourier inversa, um comportamento não nulo ainda é observado antes de zero segundos.
A maneira mais fácil de corrigir esse problema é impor a causalidade por definição. Você simplesmente multiplica a resposta ao impulso pela função degrau unitário - veja a Figura 7. Aliás, isso é a mesma coisa que aplicar uma transformada de Hilbert. Fazendo isso e impondo a passividade (outro futuro blog) irá aliviar a maioria dos seus problemas com reclamações sobre a qualidade dos parâmetros S dos clientes.
Para ajudá-lo a entender o que está acontecendo aqui, coloquei um diagrama de fluxo de trabalho abaixo na Figura 8 mostrando um processo simples de imposição da causalidade dos parâmetros S.
Acho que é uma pergunta justa. Quando você lê sobre causalidade em livros didáticos, é no contexto de sistemas lineares. Na sua forma mais simples, um sistema linear satisfaz o princípio da superposição e homogeneidade. Além disso, sistemas lineares devem ser causais para operar em tempo real. Se um sistema é não-causal, ele não pode ser usado para análise de sistema, que é a razão central pela qual parâmetros S causais são importantes. SerDes fornecedores precisam de canais causais para prever com precisão o desempenho de seus produtos com ferramentas internas. Para o resto do mundo da integridade de sinal, precisamos de parâmetros S causais para ferramentas como ADS, Channel Operating Margin (COM), Seasim e (meu favorito) PyBERT. Essas ferramentas nos ajudam a prever o resultado esperado de um link com uma dada tecnologia de silício.
O resultado do uso de um parâmetro S não-causal em uma ferramenta de simulação é a degradação falsa do desempenho. Alguns anos atrás, descobri isso quando estava avaliando conjuntos de cabos contra a especificação IEEE 802.3 100GBASE-CR4. Essa especificação usa o COM como uma métrica normativa, e eu não conseguia fazer com que meus conjuntos de cabos simulados passassem. Isso foi um grande problema porque eu não conseguia convencer minha gestão de que meu design funcionava sem ter modelos que passassem pela especificação. Minha perda estava dentro dos limites padrão, e todos os meus parâmetros S estavam passando pelas máscaras informativas. O canal continha a placa de conformidade do módulo (MCB), o conector, a PCB do conjunto de cabos e o cabo bruto (veja Figura 9).
Criei os modelos de fixação do MCB com o Keysight AFR, encontrei o modelo do conector no site de uma empresa de conectores e criei todos os outros modelos com um solucionador comercial de EM 3D. Peça por peça, procurei o problema. Finalmente, usei um cabo medido em vez do cabo modelado. Eu não achava que haveria diferença, já que a magnitude e a fase dos parâmetros S medidos do cabo pareciam quase idênticas ao meu modelo. Ainda assim, para minha surpresa, minhas simulações de repente começaram a passar.
Não entendi a causa raiz na época, mas isso foi realmente um alerta para mim. Eu sabia que a causalidade e modelagem corretas de parâmetros S poderiam literalmente fazer ou quebrar um design. Anos depois, encontrei a maneira correta de fazer a geração de RLGC para linhas de transmissão causais. A seguir, vou mostrar um indicativo para modelos não causais que você mesmo pode encontrar. O gráfico abaixo na Figura 10 mostra as respostas ao impulso de modelos de traços de stripline de dez polegadas: um causal, o outro não causal.
A primeira coisa a notar é que a resposta ao impulso não tem um problema óbvio: a resposta antes de zero segundos é zero. O indicativo para a resposta não causal é a forma. Parece como se houvesse uma imagem espelhada da interferência entre símbolos (ISI) sobre o momento em que o impulso atinge o pico. Em contraste, a resposta causal tem uma borda de subida acentuada, e o ISI cai exponencialmente para zero. Enquanto a resposta não causal parece ter mais sinal, os resultados do canal mostram que sua qualidade é claramente pior. Tenho os resultados da margem de operação do canal e contribuições abaixo.
COM = 8.47 dB
Variação do ISI: 0,49 mV
COM = 7,55
Variação do ISI: 0,71 mV
Em termos percentuais, não parece tão ruim. O ISI é de 15% versus 10% de não causal para causal. No entanto, quando você olha para a figura de ruído do ISI, você vê que há 45% mais ISI no traço não causal! Na maioria dos sistemas aos quais fui exposto, os clientes forçam os limites do que o hardware pode fazer, e modelos de linha de transmissão não causais dirão falsamente aos projetistas de sistemas que seu design está com falhas quando não está.
Vou lhe contar rapidamente como você pode garantir que os modelos que está produzindo sejam causais. Primeiro, certifique-se de que suas propriedades dielétricas sejam dependentes da frequência e causais. A melhor maneira de fazer isso é usar o Modelo de Polo Infinito de Djordjevic et al. Este método é mais claramente explicado em Advanced Signal Integrity for High-Speed Design de Hall e Heck. Segundo, se você está fazendo modelos RLGC, certifique-se de que todos os parâmetros sejam dependentes da frequência. Contanto que você esteja modelando com dielétricos dependentes da frequência, R, G e C são fáceis. L é geralmente o problema. Se você está descobrindo que seu L não é dependente da frequência, tente esta fórmula, e isso pode resolver as coisas. No entanto, os resultados podem variar.
Tente não se culpar quando você se deparar com um problema de causalidade de parâmetro S. O problema ainda é prevalente na indústria, mesmo quando ferramentas de primeira linha são usadas. Se empresas bilionárias estão tendo problemas, acho que você está em boa companhia! Em vez disso, tente pensar nisso como uma oportunidade para melhorar suas habilidades de transformada de Fourier e conhecimento em integridade de sinal.
O lado positivo para os fornecedores de componentes aqui são os modelos de linha de transmissão não-causais que fazem com que os usuários finais geralmente não percebam problemas graves. A maioria dos projetistas de sistemas usa a verificação heurística de causalidade que só identifica problemas de reflexão nos parâmetros S causados por membros fantasmas, e esse problema é facilmente resolvido com o método mostrado acima.
Gostaria de saber mais sobre como a Altium pode ajudá-lo com o seu próximo design de PCB? Fale com um especialista na Altium ou descubra como utilizar um Calculador de Linha de Transmissão de PCB torna o design mais fácil.