Trabalhando através Exemplo Domínios: Retire o filtro RC passa-baixa para o Z-Domain
Trabalhando através de domínios é um fato da vida como um computador e engenheiro eletrônico. Solução de computador real e tarefas de engenharia elétrica requer que você assimilar a vasta gama de sinais e conceitos de sistemas e técnicas e aplicá-las de uma forma inteligente e eficiente. Aqui está um exemplo de problema que mostra como análise e modelagem em todo o tempo, frequência e s-
e z-domínios realmente funciona.Este exemplo funciona em sistemas contínuo- e discretos.
O capacitor série resistor shunt (RC) filtro passa-baixa é um exemplo de um sistema LTI que é representado por uma equação LCC diferencial de primeira ordem. Aqui está a fórmula para a função de resposta e sistema de impulso:

RC é a constante de tempo associada com a resistência em série e um condensador de derivação que define o circuito do filtro. Este problema pede-lhe para encontrar uma simples de tempo discreto filtro equivalente.
supor h[n] = h(nT) = h(n/fs). A transformada de Laplace (LT) de h(t) Após a amostragem é

Este resultado indica que a amostragem de resposta ao impulso de tempo contínuo mapeia o s-avião para o z-avião via z = esT. (Esta ligação é parte da figura.) Para o filtro de resposta de impulso de RC, em particular, o pólo em s = -1 / (RC) É mapeado para um pólo em z = e-T/RC no z-avião.
Porque e-T/(RC) lt; 1, o pólo é estável. Formalmente, isso é chamado de impulso invariante filtrar design, e permite a transferência de um filtro de tempo contínuo para o domínio de tempo discreto.
No sentido mais amplo, o z = esT transformação mapeia a esquerda-metade s-avião para o interior do círculo unitário no z-avião e o direito, metade s-avião para o exterior do círculo unitário no z-avião. o J # 969--do eixo s-plano mapeia para o círculo unitário, que é onde J # 969- reside no z-avião.
O mapeamento ocorre repetidamente por causa da teoria da amostragem. Aliasing da resposta de frequência do filtro também ocorre, a menos que seja limitado em banda (zero) para f > fs/ 2.
Para completar o projeto do filtro, coloque a resposta ao impulso amostrados no z-transformar a definição:

Afinar o projeto para implementação
Este filtro é semelhante h[n] = umanvocê[n] Para 0 lt; uma lt; 1, com o factor de escala 1 / (RC) e uma = e-T/ (RC). Um detalhe é que o processo de design não tem de tomar cuidado, e isso é garantia de que o ganho do filtro de frequências é preservada, em particular f = 0.
No domínio de tempo contínuo, isto significa constatação H(s = j0) = 1 / (RC) / [j0 + 1 / (RC)] = 1 e a escolha de um factor de ganho G para colocar na frente da HRC(z) Para forçar o ganho a ser também um em z = ej0 = 1:

No final, com G valor incluído, você tem

Para realmente implementar este filtro em um aplicativo, você precisa a representação de equações diferenciais deste filtro. O funcionamento do sistema é o rácio de saída através da entrada no z-domínio: HRC(z) = Y(z) /x(z). Para encontrar a equação de diferença, você primeiro precisa cross-multiplicam x(z) vezes o numerador HRC(z) Sobre a multiplicar cruzadas os tempos denominador direita e x(z) à esquerda:

Em seguida, aplicam o inverso z-transformar nos lados esquerdo e direito, utilizando as propriedades de linearidade e de atraso da z-transformar:

Fazer a comparação resposta de frequência Python
Use Python para dar uma rápida olhada na magnitude da resposta de frequência do filtro analógico original ea realização de filtro digital. A low-pass constante de tempo filtro analógico está relacionada com a frequência do filtro 3 dB de corte (onde 20log10|H(f3 dB) | = -3,0) Através f3 dB = 1 / (2# 960-RC).
Aqui, definir f3 dB = 100 Hz e varrer a frequência logarítmica de 0,1 Hz a 100 kHz. Definir a taxa de amostragem fs = 1 /T = 200 KHz e reconhecer que o filtro digital será útil apenas para 0 # 8804- f # 8804- fs/ 2 em hertz ou o seguinte em radianos por amostra:

A magnitude da resposta de frequência em dB para ambos os filtros é mostrado na figura a seguir. Nota, em particular, as respostas se sobrepõem exceto quando f é muito perto da frequência de dobramento de 100 kHz.
Dentro [25]: F = logspace (-1,5,500) Em [26]: RC = 1 / (2 * pi * 100) Em [27]: W, HS = signal.freqs ([1 / RC], [1,1 / RC], 2 * pi * f) Em [28]: A = exp (-1 / (RC * 2E5)) em [29]: W, Hz = signal.freqz ([1-a] [1, -a], 2 * pi * f / 2E5) Em [30]: Semilogx (f, 20 * log10 (abs (HS))) em [31]: Semilogx (F, 20 * log10 (ABS (Hz))) em [32]: Axis ([1e-1,1e5, -60,5])

A comparação de resposta entre os dois filtros é bom. O facto de a resposta de filtro digital se encontra acima da resposta analógico próximo fs/ 2 é devido a aliasing na resposta de frequência. abordagens de design de filtro digitais alternativos podem atenuar este, mas não sem algumas compensações. Isso é engenharia.