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.
Respostas:
Parece uma onda senoidal com o eixo y enrolado. Aqui está minha tentativa de recriá-lo:
Este é um gráfico da função , onde arredonda para o número inteiro mais próximo.1,25 ⋅ sin( t ) - redondo( 1,25 ⋅ sen( t ) ) volta( X ) x
Talvez a parte mais alta do seu sinal esteja sendo cortada? É provável que isso produza essa forma de onda.
fonte
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.
fonte
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.
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
fonte
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.
fonte