Você reconhece esse sinal?

20

Sinal DAC místico

A história para este sinal é a seguinte. Comprei um amplificador NAD C 356BEE com um módulo MDC DAC integrado . Possui entrada óptica e USB. O sistema óptico está bom, mas se eu conectar o DAC ao meu PC com USB, ele emitirá ruído de clique / estalo em horários especificados. A frequência do clique está de alguma forma relacionada à taxa de amostragem do sinal. Por exemplo, a 96 kHz, ele aparece a cada 2,5 segundos, mas a 48 kHz, a 30 segundos.

Eu toquei uma onda senoidal, gravei o ruído e ampliei o zoom para a forma de onda. É um sinal muito curto, cerca de 0,008 segundos. Você tem alguma idéia do que poderia ser?

A amplitude do sinal de ruído é muito maior que o sinal de teste. A duração do sinal de ruído é aleatória (mas muito curta, você ouve apenas um clique), mas a forma de onda é sempre a mesma para o mesmo sinal de teste.

Diferentes frequências de teste causam diferentes sinais de erro. Parece que o sinal de erro é uma transformação do original.

Digite a descrição da imagem aqui

csadam
fonte
2
Quase parece que a parte do complemento de 2 está sendo alimentada com dados de complemento de não 2, ou vice-versa.
Matt Young
11
Wow que é simetria louco, mesmo de cabeça para baixo e para trás ...
Grady Jogador
@matt ordem de bytes jovem ou errada
Grady Player

Respostas:

30

Parece uma onda senoidal com o eixo y enrolado. Aqui está minha tentativa de recriá-lo:

onda senoidal embrulhada

Este é um gráfico da função , onde arredonda para o número inteiro mais próximo.1,25pecado(t)-volta(1,25pecado(t))volta(x)x

Talvez a parte mais alta do seu sinal esteja sendo cortada? É provável que isso produza essa forma de onda.

Ilmari Karonen
fonte
WOW, você é ótimo. Percebi que a forma do sinal de erro está relacionada ao sinal de teste e testei com um seno afetado quando cheguei acima das formas de onda.
Csadam 03/03
3
Esta é exatamente a resposta. Gerei esse sinal exato ao tentar gerar uma onda senoidal com um conversor Digital-Analógico conectado a um microcontolador. Isso aconteceu ao inserir acidentalmente valores maiores que o valor máximo do conversor, resultando em uma classificação geral, como você vê na onda acima.
Lightyear Buzz
8

Eu já vi isso antes. Eu estava trabalhando em um processador ADSP-21xx. O CODEC de áudio coloca os dados recebidos no formato de complemento assinado 2. Naquele dia em particular, eu estava enviando os dados para um Maxim DAC multicanal que esperava um binário não assinado. Todo mundo ao redor riu dos ouvidos do Batman, então eu adicionei algumas linhas de código para voltar ao binário não assinado.

Para consertar, vamos precisar de muito mais informações. Parece que pode haver alguns problemas de estouro.

Matt Young
fonte
Eu tento com diferentes sinais controlados, como ondas senoidais geradas, para ver o que faz. Você tem idéia da relação da taxa de tempo-amostra da ocorrência? talvez tenha algum buffer interno que transborda e se redefine?
csadam
Você pode tentar outras taxas de amostragem?
Matt Young
alterar a taxa de amostragem não altera a forma de onda; no entanto, a frequência do sinal de teste ou a forma de onda. Tive muita sorte de receber esse sinal agudo, outras frequências são muito mais distorcidas.
Csadam 03/03
em 96kHz, 72kHz, 60kHz, 30kHz, 15kHz sempre 2,5 segundos. Às vezes "erra" alguns pops, depois os mais recentes não são iniciados na próxima varredura de 2,5 segundos, mas aleatoriamente. No entanto, entre 2 cliques, são sempre 2,5 segundos e o tempo mais curto.
csadam
7

Isto é muito interessante. Decidi dar uma olhada no conceito de perder a parte mais significativa de uma sequência de ondas senoidais. Fiz isso por meio ciclo de uma onda senoidal e, de fato, levou à forma da onda na pergunta do pôster original.

insira a descrição da imagem aqui

A planilha que eu criei descreve o argumento da função sin () de 0,00 a 3,14. Ele então escala o intervalo do resultado senoidal a ser dimensionado no intervalo de 0 a 255 para corresponder a um intervalo de valor de bytes. Finalmente, o bit superior da faixa de valores de bytes foi cortado.

A planilha usada para criar a imagem está disponível como um arquivo .xlsx do Excel aqui: https://docs.google.com/file/d/0BxTbL_E1KhGvbTYtY1k1WTNxT1U/edit?usp=sharing

Michael Karas
fonte
Você certamente tem uma onda de aparência semelhante, mas acho que você descobrirá que, se você estender isso por toda a onda, terá um meio ciclo positivo, e um negativo, que não é o mesmo que a onda do OP.
precisa saber é o seguinte
@gwideman - Não se você estiver perdendo o bit MSB-1, e seus dados forem o complemento de 2!
Connor Lobo
2

Pistas até agora: 1. A forma de onda do problema se parece com seno com alta polaridade reversa de bits ou pelo menos causando uma mudança para uma linha de base diferente. 2. A forma de onda com problema se parece com a forma de onda em teste, mas com a transformação observada. 3. A periodicidade do problema é bastante longa (segundos) e parece variar com a taxa de amostragem.

Sugiro que exista um buffer excedente em algum lugar do sistema, pelo qual, em algum intervalo afetado pela taxa de amostragem, os bytes sejam perdidos, causando a desativação dos limites numéricos. Por exemplo: para números de 16 bits, o D / A está esperando H1 L1, mas está recebendo L1 H2, ou similar. (Semelhante à sugestão de Grady). Portanto, o sinal possui características que lembram o sinal pretendido, mas é claro distorcido pelos bytes errados nos lugares errados.

O csadam não mencionou como o sinal USB é gerado pelo PC, mas isso talvez seja interessante.

gwideman
fonte