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 remez
pode 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 ).
Figura 1. Onda de banda de parada e banda de passagem para remez
filtros 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):
Figura 2. Resposta ao impulso do filtro de sobre amostragem 2x de fase linear de mais alto desempenho da remez
.
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 remez
falha com error: remez: insufficient extremals--cannot continue
.