Fonte de tensão senoidal LTspice com deslocamento muito maior que a amplitude interrompida?

14

Estou pesquisando defeitos um circuito analógico e acabei de perceber que as fontes de tensão senoidal em mV estão quebradas.

Aqui está um que deve fornecer uma onda senoidal de 1mV 1Hz em cima de um sinal de 300mV DC. Em vez disso, recebo lixo completo.

Executando o LTSpice versão 4.22. Alguém mais viu esse problema ou pode aconselhar qual é o problema?

insira a descrição da imagem aqui

EasyOhm
fonte
2
Eu obtive um resultado semelhante. A forma de onda é mais uniforme, mas não uma onda senoidal. Desativar a compactação corrigiu isso para mim. (conforme resposta de Lorenzo abaixo).
Mkeith 6/11

Respostas:

20

Provavelmente, você tem a compactação de forma de onda ativada e o algoritmo de compactação tem uma tolerância relativa muito alta para processar esse sinal corretamente, pois o componente AC é muito pequeno comparado ao deslocamento DC.

Abra o painel de controle e diminua a tolerância relativa:

insira a descrição da imagem aqui

O LTspice geralmente realiza compactação de forma de onda para evitar a geração de grandes arquivos de dados para formas de onda. O algoritmo de compactação está com perdas, portanto, você pode perder detalhes e ter artefatos como os que você vê na sua simulação.

Trecho da ajuda on-line do LTspice:

LTspice compacta os arquivos de dados brutos à medida que são gerados. Um arquivo compactado pode ser 50 vezes menor que o não compactado. Esta é uma compactação com perdas. Esse painel do painel de controle permite controlar a perda da execução da compactação.

Às vezes, é útil desativar completamente a compactação, para formas de onda complexas, mas esperar arquivos .raw do tamanho de GB (esses são os arquivos em que o LTspice salva os dados da forma de onda). Neverthelss, geralmente é suficiente brincar com as configurações de compactação, mas somente quando você sabe razoavelmente o que esperar de uma simulação.

EDIT (para abordar alguns comentários relevantes)

Alguns comentaristas apontaram que o aumento de tolerâncias, ou especificamente, o reltolparâmetro SPICE, aumentará o tempo de simulação. Isso é verdade, mas a compactação relative tolerancenão tem nada a ver com o reltolparâmetro SPICE, encontrado em outra guia do painel de controle:

insira a descrição da imagem aqui

Para reforçar ainda mais meu argumento, citarei toda a seção da ajuda do LTspice referente à compressionguia do painel de controle (ênfase minha):

LTspice compacta os arquivos de dados brutos à medida que são gerados. Um arquivo compactado pode ser 50 vezes menor que o não compactado. Esta é uma compactação com perdas. Esse painel do painel de controle permite controlar a perda da execução da compactação.

Tamanho da janela (nº de pontos): número máximo de pontos que podem ser compactados em dois pontos finais.

Tolerância relativa: o erro relativo permitido entre os dados compactados e os dados não compactados.

Tolerância de tensão absoluta [V]: o erro de tensão permitido pelo algoritmo de compressão.

Tolerância de corrente absoluta [A]: O erro atual permitido é o algoritmo de compactação.

Essas configurações de compactação não são lembradas entre invocações de programas para incentivar o uso dos padrões. Eles estão disponíveis no painel de controle para fins de diagnóstico. As tolerâncias e o tamanho da janela podem ser especificados com os parâmetros de opção plotreltol, plotvntol, plotabstol e plotwinsize nas instruções .option colocadas como diretivas SPICE no esquema.

Você provavelmente desejará desativar a compactação ao usar instruções .four ou ao executar FFTs na análise posterior de seus dados com a diretiva SPICE:

.options plotwinsize = 0

Novamente, a última diretiva significa apenas desativar a compactação, como faria no painel de controle. Como eu já disse acima, é exatamente isso que você deseja fazer para evitar artefatos, mas arquivos enormes serão gerados.

Lorenzo Donati apoia Monica
fonte
usa o LTSpice há anos e nunca foi mordido por esse (ainda), thx pelo alerta de pegadinha.
Neil_UK
@Neil_UK De nada! Eu sou um desses malucos RefMan que gostam de ler todo o manual (o problema é lembrar onde eu vi alguma coisa!) ;-)
Lorenzo Donati suporta Monica
@LorenzoDonati Obrigado pela resposta rápida! Eu estava perdendo a cabeça. Você é um estudioso e um cavalheiro :)
EasyOhm
@ Gonzik007 De nada! :-)
Lorenzo Donati suporta Monica
1
Aviso: reduzir a tolerância tornará suas simulações mais lentas. Não será percebido para esquemas menores, mas para maiores ... Desde que a faixa dinâmica não seja tão boa (por exemplo, 1mV senoidal acima de 1kV DC, ou similar / inferior), é melhor usar do opt plotwinsize=0que reduzir as tolerâncias . Em geral, a faixa dinâmica é um problema, pois tudo é matematicamente calculado usando a precisão da máquina.
um cidadão preocupado