Trabalhando em vários domínios exemplo: tomar o filtro passa-baixo rc para o domínio z
Trabalhando em vários domínios é um fato da vida como um computador e engenheiro eletrônico. Resolver 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 forma inteligente e eficiente. Aqui está um problema exemplo 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 condensador em série resistor de derivação (RC) de filtro passa-baixo é um exemplo de um sistema de LTI que está representado por uma equação diferencial LCC 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 para você encontrar um simples de tempo discreto filtro equivalente.
supor h[n] = h(nT) = h(n/fs). A transformada de Laplace (LT) de h(t) Seguinte amostragem é
Este resultado indica que a amostragem de uma resposta ao impulso de tempo contínuo mapeia o s-avião para o z-avião através 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 jco-eixo do s-plano mapeia para o círculo unitário, que é onde jco 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 gt; fs/ 2.
Para completar o projeto do filtro, coloque a resposta ao impulso amostrados no z-transformar definição:
Ajustar o projeto para implementação
Este filtro é como 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 em freqüências é preservada, em particular f = 0.
No domínio de tempo contínuo, isso significa encontrar H(s = j0) = 1 / (RC) / [j0 + 1 / (RC)] = 1 e escolher um fator de ganho G para colocar na frente de 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 equação de diferenças 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, aplique o inverso z-transformar nas laterais esquerda e direita, usando as propriedades de linearidade e atraso do z-transformar:
Fazer a comparação resposta de freqüência Python
Use Python para dar uma olhada rápida na magnitude da resposta de frequência do filtro analógico original ea realização do filtro digital. O passa-baixa constante de tempo do filtro analógico é relacionada com a frequência de corte do filtro 3dB (onde 20log10|H(f3 dB) | = -3,0) através f3 dB = 1 / (2π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 ≤ f ≤ 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. Note em particular as respostas sobrepõem excepto quando f é muito próxima da frequência de dobragem 100 kHz.
Dentro [25]: F = logspace (-1,5,500) Em [26]: V = 1 / (2 * pi * 100) Em [27]: W, Hs = signal.freqs ([1 / RC], [1,1 / RC], 2 * pi * f) [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]: Eixo ([1e-1,1e5, -60,5])
A comparação de resposta entre os dois filtros é boa. O fato de que a resposta filtro digital se encontra acima da resposta analógico perto fs/ 2 é devido ao aliasing na resposta de frequência. abordagens de design de filtro digitais alternativos podem atenuar esse, mas não sem algumas desvantagens. Isso é engenharia.