filtro de reconstrução - Como ele realmente funciona?

8

Estou tentando formar meu próprio entendimento sobre a guerra religiosa em torno do uso de 192kHz como taxa de amostragem para reprodução (a Internet parece ter uma riqueza de material de ambos os lados). Estou lutando para entender como os filtros de reconstrução funcionam.

O teorema da amostragem de Nyquist-Shannon , frequentemente citado pelo campo anti-192, basicamente afirma que uma taxa de amostragem de 44,1kHz é suficiente para reconstruir sem perda um sinal de 20kHz de banda limitada. No entanto, ao examinar a fórmula de interpolação Whittaker-Shannon , parece-me que um filtro de reconstrução ideal precisaria ter acesso a todas as amostras , ou seja, todas as amostras passadas e futuras.

Não sou especialista em áudio analógico, mas duvido que esse dispositivo possa ser construído. Eu assumiria que, na melhor das hipóteses, um atraso pode ser introduzido para "aguardar" a chegada de amostras futuras suficientes, para que a contribuição de amostras futuras indisponíveis para o instante de saída atual se torne insignificante.

Alguém pode explicar como os filtros de reconstrução prática funcionam e quais são suas vantagens e desvantagens? Existe um limite teoricamente mais estrito para o teorema de Nyquist-Shannon se apenas uma janela de amostras estiver disponível ou se a latência de reconstrução for inaceitável?

user1202136
fonte

Respostas:

1

Ao permitir um aumento no atraso introduzido por um filtro de superamostragem digital, as outras características do filtro, ondulação da banda de passagem e parada e largura da banda de transição, podem ser aprimoradas para serem arbitrariamente próximas de zero. O fator de superamostragem pode ser aumentado para ampliar a banda de parada e relaxar os requisitos de filtragem analógica, resultando em um aumento da complexidade computacional, mas sem um aumento significativo no tempo de atraso introduzido pelo filtro.

Os DACs de áudio normalmente têm um filtro de superamostragem digital selecionável entre um filtro de baixo atraso de tempo (latência) e um filtro de rolagem de resposta de frequência nítido. O filtro de baixo atraso pode ser um filtro de fase mínima ou um comprometimento psicoacusticamente ajustado entre baixa dispersão (algumas frequências atrasam mais que outras) e baixo atraso efetivo. O filtro de rolagem afiado é tipicamente um filtro de fase linear com uma resposta de impulso simétrica e uma ondulação máxima especificada na faixa de passagem e na faixa de parada. Esse tipo de especificação é fácil de expressar em uma folha de dados e incorporar em um design de sistema. Os filtros comparáveis ​​de fase linear com dois tubos podem ser projetados no Octave usando remez, aqui com peso igual da banda de passagem e ondulação da banda de parada:

pkg load signal
x2x = []; x4x = [];
for n = [16:86]
  b2x = remez(2*n, [0, 20/44.1, (44.1-20)/44.1, 1], [1, 1, 0, 0], [1, 1], "bandpass", 128);
  b4x = remez(2*n, [0, 20/(44.1*2), (44.1-20)/(44.1*2), 1], [1, 1, 0, 0], [1, 1], "bandpass", 128);
  [h2x, w2x] = freqz(b2x); [h4x, w4x] = freqz(b4x);
  x2x = [x2x; (length(b2x)-1)/2/2, 20*log10(abs(h2x(end)))];
  x4x = [x4x; (length(b4x)-1)/2/4, 20*log10(abs(h4x(end)))];
endfor
plot(x2x(:,1), x2x(:,2), "x", x4x(:,1), x4x(:,2), "x", 29.2, -100, "x", 39.5, -110, "x", 43.3828125, -110, "x")
xlabel("group delay / f_s");
ylabel("stop band ripple (dB)");
text(29.2-2, -100-4, "AK4499");
text(39.5-2, -110+4, "CS43198");
text(43.3828125-2, -110-4, "AD1955");
grid on

O script projeta vários filtros de pedidos (limitados pelo que remezpode lidar sem problemas numéricos) para uma banda passante de 0 a 20 kHz e uma banda parada iniciada em 24,1 kHz, para ser operada em uma pequena seleção de frequências de amostragem de sobre-amostragem de 2 e 4 vezes a frequência de amostragem de 44,1 kHz e plota (Fig. 1) as características de ondulação da banda de parada juntamente com as dos filtros digitais de sobre-amostragem equivalentes dos principais DACs de áudio de Asahi Kasei ( AK4499 ), Analog Devices ( AD1955 ) e Cirrus Logic ( CS43198 ).

insira a descrição da imagem aqui
Figura 1. Onda de banda de parada e banda de passagem para remezfiltros digitais de passa baixa de fase linear com sobre amostragem de 2x (azul) e 4x (laranja) com pesos iguais de passa e de parada, em função da resposta de impulso de meio comprimento em unidades do período de amostragem na frequência de amostragem 1x de 44,1 kHz. Também são plotados os números de desempenho da ondulação da banda de parada para uma seleção de filtros de sobre-amostragem DAC, com a ondulação da banda de passagem correspondente especificada como 5 × 10 ^ -3 dB para o filtro digital de sobre-amostragem 8x do AK4499, 10 ^ -2 dB para o digital combinado e filtro analógico de CS43198 e 2 × 10 ^ -4 dB para o filtro digital de sobre amostragem 8x do AD1955. Todos os filtros comparados aqui têm limites de banda de transição idênticos: 20 kHz a 24,1 kHz.

Para a frequência de amostragem de 44,1 kHz, a Fig. 1 fornece um limite inferior no desempenho do filtro digital de superamostragem de fase linear em função do atraso introduzido pelo filtro, quando a ondulação da banda de passagem e da parada é igualmente ponderada. Esse limite não depende significativamente da taxa de superamostragem. Os fabricantes de DAC podem escolher uma ponderação diferente, por exemplo, para obter menor ondulação da banda de parada aumentando a ondulação da banda de aprovação, como no caso do AK4499. Eles também podem otimizar os filtros por outros critérios que não sejam um estripulado estrito. Por exemplo, o filtro pode incluir compensação pela atenuação de altas frequências pelo circuito analógico (retenção de ordem zero, filtros RC, etc.), e as características de atraso do filtro podem sofrer com o uso de uma implementação de múltiplas taxas computacionalmente eficiente.

Podemos observar mais de perto o filtro de maior desempenho na Fig. 1 remez(2*86, [0, 20/44.1, (44.1-20)/44.1, 1], [1, 1, 0, 0], [1, 1], "bandpass", 128), plotando sua resposta de impulso (Fig. 2) e resposta de frequência usando freqz(Fig. 3):

insira a descrição da imagem aqui
Figura 2. Resposta ao impulso do filtro de sobre amostragem 2x de fase linear de mais alto desempenho da remez.

insira a descrição da imagem aqui
Figura 3. Resposta de frequência do filtro de sobre amostragem 2x de fase linear de mais alto desempenho de remez.

Seria mais interessante olhar para filtros de super amostragem 8x, mas remezfalha com error: remez: insufficient extremals--cannot continue.

Olli Niemitalo
fonte
você sabe; quando algo (sistema de áudio) soa muito bem, então sua explicação (folha de dados) deve fazer ainda melhor .. :-) É assim que eles fazem-lo! comercial indústria de áudio ... ;-))
Fat32
Uau! Preciso reler sua resposta mais algumas vezes para processá-la completamente. Bom trabalho! Apenas para confirmar que entendi, um DAC de alta qualidade com superamostragem digital introduz um atraso de 0,6-1ms a uma frequência de amostragem de 44,1kHz?
user1202136
@ user1202136 sim está correto, se o filtro de filtragem acentuado estiver selecionado.
Olli Niemitalo 2/08/19
4

O teorema da amostragem requer um sinal perfeitamente ilimitado em banda, ilimitado em banda abaixo do dobro da frequência de amostragem. O problema é que apenas um sinal de tamanho infinito (por exemplo, existe antes do big bang) pode ser perfeitamente ilimitado em banda. Isto é do teorema de Fourier em relação a qualquer domínio com suporte finito.

Assim, todos os sinais do mundo real são imperfeitamente limitados por banda, limitados pela duração da sessão de gravação e pela duração da resposta ao impulso da filtragem passa-baixa usada antes da amostragem (por exemplo, imperfeição de limitação de banda). Portanto, você deve assumir um piso de ruído finito devido ao alias de amostra. Portanto, sua reconstrução também não precisa ser melhor do que esse piso de ruído. Portanto, você pode exibir a fórmula de reconstrução perfeita para uma duração finita razoável. Para o áudio, essa largura da janela pode ser limitada à ordem de um pequeno múltiplo do período da menor frequência audível, pois as coisas anteriores e posteriores não podem afetar significativamente a percepção audível da afinação (outras, como mascaramento e limiar adaptativo) , etc., provavelmente dominam).

A vantagem de taxas de amostragem muito altas é que as frequências com alias (devido a filtros imperfeitos de pré-amostragem e reconstrução pós-amostragem) são ainda mais altas e muito menos propensas a serem captadas por um microfone físico ou passar com magnitude significativa (acima ruído térmico, etc.) através dos filtros anti-aliasing. Como outras respostas aqui detalham, isso também permite que os filtros fisicamente realizáveis ​​sejam mais planos e tenham uma resposta de fase mais linear na faixa de passagem de 20 a 20k genérica, e rolando mais perto da metade da taxa de amostragem.

hotpaw2
fonte
A relação sugerida entre a largura da janela e a menor frequência audível é pura coincidência, certo?
Olli Niemitalo 31/07/19
2

Uma resposta rápida, mas como a audição humana não ultrapassa a largura de banda de 20kHz, 44,1 kHz é suficiente para armazenar e transmitir áudio. O problema é que o filtro antialiasing analógico antes do ADC deve ser extremamente nítido para passar 20 kHz o suficiente e bloquear 22,05 kHz o suficiente e isso só precisa de muitos componentes com bom desempenho e tolerância. Ao amostrar em taxas mais altas, como 192 kHz, o filtro analógico pode ser mais simples e mais barato, pois possui uma faixa de transição muito maior, precisa passar 20 kHz e bloquear a 96 kHz. A conversão de taxa e a filtragem passa-baixo podem ser feitas digitalmente para ter um corte nítido sem serrilhado. A mesma coisa ao reproduzir áudio, amplie e reconstrua digitalmente o sinal para 192 kHz para reprodução e o filtro analógico de saída DAC pode ser barato e simples. O filtro de reconstrução precisa ser bom o suficiente para que não exista muita imagem espectral após a largura de banda de áudio de 20kHz e o filtro analógico remova as imagens espectrais reais da taxa DAC. Portanto, faz sentido usar taxas mais altas no ADC e no DAC, e talvez dominar o áudio, mas transmitir e armazenar frequências que apenas cães e morcegos podem ouvir apenas custa mais, sem mencionar equipamentos (amplificadores, alto-falantes) capazes de produzi-los sem problemas. Portanto, basicamente cada amostra digital é apenas um impulso infinitamente estreito e os impulsos repetidos na taxa de amostragem criam as imagens espectrais que devem ser filtradas por um filtro de reconstrução que simplesmente deixa intacto o sinal pretendido da banda base. Portanto, faz sentido usar taxas mais altas no ADC e no DAC, e talvez dominar o áudio, mas transmitir e armazenar frequências que apenas cães e morcegos podem ouvir apenas custa mais, sem mencionar equipamentos (amplificadores, alto-falantes) capazes de produzi-los sem problemas. Portanto, basicamente cada amostra digital é apenas um impulso infinitamente estreito e os impulsos repetidos na taxa de amostragem criam as imagens espectrais que devem ser filtradas por um filtro de reconstrução que simplesmente deixa intacto o sinal pretendido da banda base. Portanto, faz sentido usar taxas mais altas no ADC e no DAC, e talvez dominar o áudio, mas transmitir e armazenar frequências que apenas cães e morcegos podem ouvir apenas custa mais, sem mencionar equipamentos (amplificadores, alto-falantes) capazes de produzi-los sem problemas. Portanto, basicamente cada amostra digital é apenas um impulso infinitamente estreito e os impulsos repetidos na taxa de amostragem criam as imagens espectrais que devem ser filtradas por um filtro de reconstrução que simplesmente deixa intacto o sinal pretendido da banda base.

Apenas eu
fonte
"A mesma coisa ao reproduzir áudio, amplie e reconstrua digitalmente o sinal para 192 kHz para reprodução": é aqui que eu luto para entender. Dizery[4n] é sua saída ampliada em 192kHz e x[n]é a sua entrada de 48kHz. Para computaçãoy[j] exatamente, você não precisa saber tudo x[Eu],Eu=0 0,n? Em caso afirmativo, como você faz o upsample em tempo real, quando não conhece amostras de entrada anterioresj/4?
user1202136
11
Os filtros digitais bem realizáveis ​​não podem ser vistos no futuro, portanto são causais e funcionam apenas com amostras presentes e passadas. Portanto, um filtro FIR simétrico com N derivações tem um atraso de N / 2 derivações. E o filtro possui uma quantidade sensata de torneiras, apenas o suficiente para ter uma filtragem suficiente dentro da tolerância especificada. Ou poderia ser um filtro IIR. Ou biquad. Ou vários filtros em cascata. Ou nenhum filtro, basta adicionar zeros entre as amostras reais e deixar o filtro analógico fazer o trabalho.
Justme 29/07/19
2

Considerando os aplicativos básicos de áudio, o filtro de reconstrução de conversão digital para analógico (também conhecido como filtro de interpolação) é um filtro analógico de passa- baixa que remove todo o espectro da imagem na saída antes de ir para os alto-falantes e retém apenas o espectro de banda base que reside na banda passante do filtro : dentro de sua frequência de corte do filtro passa-baixo. Observe que o alto-falante em si também é uma parte forte das características do filtro lowpass de reconstrução, e os filtros ideais podem ser relaxados o suficiente sob condições adequadas.

Idealmente, esta banda passante (ou frequência de corte) do filtro de interpolação deve ser selecionada de acordo com a taxa de amostragem de entrada do sinal digital. Se o sinal original foi amostrado adequadamente a 44,1 kHz sem aliasing, em condições normais (assumindo que não há conversão da taxa de amostragem no sistema), a frequência de amostragem do DAC de saída e as frequências de corte de filtro de interpolação associadas devem ser selecionadas como 44,1 kHz e 22,05 kHz respectivamente.

Se a entrada foi amostrada em 96 kHz, a frequência DAC de reconstrução de saída deve ser 96 kHz e o filtro de reconstrução deve ter uma frequência de corte de 48 kHz, etc ... Observe que a teoria usa impulsos ideais e filtros ideais para descrever as coisas ( como fiz acima), mas os circuitos DAC práticos usam retenção de ordem zero na saída e filtros práticos.

Observe que, se houver uma incompatibilidade entre as taxas de amostragem de entrada e saída, a velocidade de reprodução não corresponderá à velocidade de gravação. Além disso, se você escolher uma frequência de corte mais baixa do que o mínimo necessário, que é a frequência Nyquist da taxa de amostragem do DAC de saída, estará emitindo o espectro do sinal. Além disso, se você escolher a frequência de corte do filtro de interpolação maior que a frequência Nyquist, haverá distorção da imagem na saída de áudio.

apenas uma das guerras religiosas no áudio digital é se a taxa de amostragem de 96 kHz na entrada é realmente necessária ou não. E o consenso (?) É que, não é necessário, com base em testes empíricos realizados tantas vezes. Mas os auidófilos são livres para escolher suas taxas de amostragem favoritas de qualquer maneira.

Fat32
fonte
"Observe que a teoria usa impulsos ideais e filtros ideais para descrever as coisas (como eu fiz acima), mas os circuitos DAC práticos usam retenção de ordem zero na saída e filtros práticos". Ampliando esta frase, isso não significa que o uso de filtros não ideais no estágio DAC leva à reconstrução imperfeita da entrada analógica amostrada? Em outras palavras, o uso de um filtro não ideal "aumenta" a taxa de Nyquist? (Eu estou comprando totalmente os argumentos empíricos do anti-192 acampamento, mas eu tenho a sensação de que existe uma lacuna no argumento teórico em torno do teorema de Nyquist-Shannon com não-ideal fil
user1202136
11
A resposta teórica é como declarado acima. Chegando à discussão prática; é verdade que, para facilitar o design de filtros analógicos (corte nítido), pode ser utilizada uma sobreamostragem da entrada (e sua saída). E sim, espera-se que esse sistema produza áudio menos distorcido. Mas não há nada psicoacústico aqui. Basta filtrar o design. O argumento sobre se o conteúdo acima de 20 kHz está agregando algum valor ao áudio (audível ou relevante) é, pelo que sei, não . Assim, você se beneficiaria da facilidade do design do filtro, podendo obter uma saída ligeiramente distorcida. E isso é bom.
precisa
2
Pode ser uma surpresa, mas se o DAC tiver uma retenção de ordem zero, o espectro de saída não será plano, mas já estará distorcido por um envelope sinc. É chamado de efeito de abertura. Atenua as altas frequências. Pode ser compensado até certo ponto com um filtro de reconstrução analógico que aumenta as altas frequências. Novamente, outro motivo para aumentar a amostragem de 48kHz a 192kHz no DAC, para que a largura de banda de áudio de 20kHz fique mais distante da taxa de amostragem da saída do DAC. Qualquer filtro, analógico ou digital, não precisa ser ideal e perfeito, apenas bom o suficiente para que você não possa ouvir não ideais (ou medi-los).
Justme 29/07/19
@Justme sim, é sugerida uma resposta invertida de magnitude sinc para corrigir a distorção espectral ... Taxas de amostragem mais altas facilitariam a realização, ao custo de mais poder de processamento e armazenamento (ou conversão up / down, que por si só poderia produzir mais distorção do que o filtro de reconstrução não ideal faria ;-))!
Fat32