Sistemas discretos

Análisis de Fourier. Desplazamientos. Señales periódicas discretas. Secuencias. Transformada Z. Método de integración. Filtros analógicos y digitales

  • Enviado por: Edu
  • Idioma: castellano
  • País: España España
  • 6 páginas
publicidad

Sistemas discretos:

· Desplazamiento: x(n-k) (n,k enteros, por supuesto, que estamos en sistemas discretos)

· A la derecha si k>0

· A la izquierda si k<0

· Secuencia periódica: x(n+N)=x(n), N período fundamental

· x(n) periódica <=> Omega0=racional*2*pi => Omega0 y Omega0+2*pi son iguales

=> (fracción), N(período)=denominador de esa fracción IRREDUCIBLE

· Sistemas discretos: Aquellos con entradas y salidas discretas.

· Respuesta al impulso (h(n)=L[delta(n)]). Convolución suma: conv(x(n),h(n))=sum(k=-inf,inf,x(k)*h(n-k))

Al final irá multiplicado por u(n) o algo así si es causal, claroxtá.

· Propiedades de la convolución suma:

· conv(x(n),delta(n))=x(n)

· conv(h1(n),h2(n))=conv(h2(n),h1(n))

· sistemas en serie => convolución

· sistemas en paralelo => suma o lo que indique el circuito.

· conv(conv(x(n),h1(n)),h2(n))=conv(x(n),conv(h1(n),h2(n)))

· conv(x(n),h1(n))+conv(x(n),h2(n))=conv(x(n),h1(n)+h2(n))

· si h(n) es de duración limitada => Sistema FIR

· Si h(n) es de duración infinita => Sistema IIR

· SLI estable <=> sum(n=-inf,inf,|h(n)|)<inf => FIR siempre estables, pero los IIR pueden, o no, serlo.

· Si x(n) (N1<n<N2), y(n) (M1<n<M2) => z(n)=conv(x(n),y(n)) (N1+M1<n<N2*M2)

* Las convoluciones se pueden hallar casi siempre analiticamente puesto que muchas veces no son más que progresiones geométicas.

· Sistema causal: h(n)=0 para todo n<0

· Sistemas descritos por ecuaciones en diferencias: sum(k=0,N,a(k)·y(n-k))=sum(k=0,M,b(k)·x(n-k)) <=> sum(k=1,N,a(k)·D(^k)(n))=sum(k=0,M,b(k)·D(^k)·x(n))

* Sistema retardador: x(n) ->|D|->x(n-1), h(n)=delta(n-1)

****

Análisis de Fourier de señales periódicas discretas:

· x(n) periódica de período N (x(n)=x(n+N))

· OJO! no hablamos de transformada de fourier, porque seguimos en el dominio del tiempo

· x(n)=sum(k=0,N-1,a(k)·exp(j·2·pi/N·k·n)). Hasta N-1 porque lueo se repite lo mismo (es periódico), a(k)=1/N·sum(n=0,N-1,x(n)·exp(-j·2·pi/N·k·n)), a(k)=a(k+N)

=>Al no extenderse hasta infinito, siempre converge

· k es el número de armónico (k=0 => componente contínua, k=1 => componente armónico (o fundamental)).

· Propiedades:

· Linealidad: A·x1(n)+B·x2(n) <=> A·a(1k)+B·a(2k) (periódicas de período N)

· Desplazamiento: x(n) <=> a(k) => x(n-m) <=> a(k)·exp(-j·2·pi/N·k·m)=|a(k)|·exp(-j·(2·pi/N·k·m+arg(a(k)))

=> |a(k)|·exp(-j·arg(a(k)))

· Simetría (x(n) real): a(k)=conj(a(N-k)) (conj(x)=conjugado de x)

* NOTA: Hay coeficientes a(k) solo hasta (N-1), luego se repiten en el siguiente período.

· Convolución circular: y(n)=convc(x1(n)mx2(n))=sum(m=0,N-1,x1(m)·x2(n-m) <=> N·a(1k)·a(2k) para todo k

· Producto: x1(n)·x2(n) <=> convc(a(1k),a(2k))

· TParseval: Potencia media => Pm=(1/N)·sum(n=0,N-1,|x1(n)|^2)=sum(k=0,N-1,a1(k)·conj(a2(k)))=sum(k=0,N-1,|a1(k)|^2)

· Respuesta en frecuencia: y(n)=exp(j·omega0·n)·H(omega0)=|H(omega0)|·exp(j·(omega0·n+arg(H(omega0))))

señal de entrada ganancia desfase

· Respuesta a una señal periódica: y(n)=sum(k=0,N-1,[a(k)·H(2·pi/N·k)]·exp(j·2·pi/N·k·n))

------------------>b(k)

x(n)=sum(k=0,N-1,a(k)·exp(j·2·pi/N·k·n)), y(n) periódica con el mismo período (N) que x(n) y coeficientes b(k)=a(k)·H(2·pi/N·k)

****

Transformada de Fourier de una secuencia:

· X(omega)=TF[x(n)]=sum(n=-inf,inf,x(n)·exp(-j·omega·n))

· x(n)=(TF^-1)[X(omega)]=(1/(2·pi))·int(<2·pi>,X(omega)·exp(j·omega·n),omega) Duración 2pi ya que omega se repite periódicamente cada 2pi en sistemas discretos.

· Convergencia si sum(n=-inf,inf,|x(n)|)<inf

· X(omega)=X(omega+2·pi) es una señal contínua de período N=2·pi

· TF[exp(j·omega0·n)]:=sum(m=-inf,inf,2·pi·delta(omega-omega0-2·pi·m))

· De la línea anterior deducimos: TF[x(n)]=sum(m=-inf,inf,sum(k=0,N-1,2·pi·a(k)·delta(omega-2·pi/N·k-2·pi·m)))

· Propiedades:

· Linealidad: a1·x1(n)+a2·x2(n) <=> a1·X1(omega)+a2·X2(omega)

· Desplazamiento en tiempo: x(n-n0) <=> emp(-j·omega·n0)·X(omega)

· Diferenciación: n·x(n) <=> j·d(X(omega))/d(omega)

· Convolución: conv(x(n),h(n)) <=> X(omega)·H(omega) (En Serie => producto, En Paralelo => Lo que indike el diagrama)

· Modulación: x1(n)·x2(n) <=> conv(X1(omega),X2(omega))

· Desplazamiento en frecuencia: exp(j·omega0·n)·x(n) <=> X(omega-omega0)

· Teorema de Parseval: sum(n=-inf,inf,x(n)·conj(y(n)))=1/(2·pi)·int(0,2·pi,X(omega)·conj(Y(omega)),omega)

* Si x(n)=y(n) => Emergía=sum(n=-inf,inf,|x(n)|^2)=1/(2·pi)·int(0,2·pi,|X(omega)|^2,omega)

----------------> en tiempo -------------------------> en frecuencia

· Simetrías:

· Si x(n) real => X(omega)=conj(X(-omega)) => |X(omega)|=|X(-omega)|, arg(X(omega))=-arg(X(-omega))

· x(-n) <=> X(-omega)

· conj(x(n)) <=> conj(X(-omega))

· Muestreo (conversión C/D (Contínuo/Discreto))

· xa(t)=señal contínua => x(n)=xa(n·T)=señal discreta, T=período de muestreo

· Para muestrear: xa(t) ->(x)-> xs(t)=sum(x1(n·T)·delta(t-n·T))

^-- s(t)=sum(n=-inf,inf,delta(t-n·T))=Tren de deltas

· Efecto del muestreo en el dominio frecuencial:

· X(omega)=TF[x(n)]=sum(-inf,inf,x(n)·exp(-j·n·omega))

· Xa(w)=TF[xa(t)]=int(-inf,inf,xa(t)·exp(-j·w·t),t)

· omega=w·T

· X(omega)=1/T·sum(k=-inf,inf,Xa((omega+2·pi·k)/T))

* Como w -> (omega+2·pi·k)/T hay 3 efectos: omega=w·T, repetición periódica cada 2·pi y multiplicar por 1/T

* Teorema de Nyquist: Para no perder información, frecuencia de muestreo>=2·B=Bt

· Conversión D/C: Xa(w)=T·rect(w/(2·pi/T))·X(w·T)

----->Bt ----->Señal discreta

--------------->filtro paso panda

· frec(Xa(n))=frec(muestreo)·(1/N)

· Procesado en tiempo discreto de señales contínuas: ->(C/D)->|H(omega)|->(D/C) <=> ->|Ha(w)|->

· Ha(w)=rect(w/(2·pi/T))·H(w·T), T=1/fmuestreo, omega=w·T

· h(n)=T·ha(n·T)

· H(omega)=sum(k=-inf,inf,Ha((omega+2·pi·k)/T))

****

Transformada Z:

· TZ[x(n)]=sum(n=-inf,inf,x(n)·Z^(-n))=X(Z) ; Z=r·exp(j·omega) => X(Z)=TF[x(n)·r^(-n)], (X(Z)|(r=1))=X(omega)

· ROC: TZ C <=> TF[x(n)·r^(-n)] C

(igual que antes convergían en rectas verticales, ahora lo hacen en circunferencias)

· Depende |Z|=r (si C en r·exp(j·omega0) => C en r·exp(-j·omega) para todo omega

· x(n) causal => ROC: |Z|>R+

· x(n) anticausal => ROC: |Z|<R-

· En general => ROC: R+<Z<R-

* Hay que mirar los ceros y los polos en cero e infinito: lim(N/D,Z->x)= 0 (cero) ó inf (polo)

· Propiedades:

· Linealidad: a1·x1(n)+a2·x2(n) <=> a1·X1(Z)+a2·X2(Z), ROC: intersección(ROC1,ROC2) (al menos)

· Desplazamiento en tiempo: x(n-n0) <=> Z^(-n0)·X(Z), ROC la misma (puede que no en 0 e infinito)

· Escalado en Z: (a^n)·x(n) <=> X((a^-1)·Z), ROC: R+<|(a^-1)·Z|<R- => a·R+<|Z|<a·R-

· Diferenciación respecto a Z: (n^k)·x(n) <=> -(Z^k)·d(^k)(X(Z))/d(Z), ROC la misma.

· Valor inicial: lim(X(Z),Z=inf)=x(0) (x(n) habrá de ser causal, claroxtá, para que el valor inicial sea en t=0)

· Valor final: lim((1-(Z^-1))·X(Z),Z=1)=x(inf) (si es ke existe...)

· Convolución: conv(x(n),h(n)) <=> X(Z)·H(Z), ROC: intersección(ROC(X),ROC(H)) (al menos)

* Sistema retardador: x(n)->|delta(n-1)|->x(n-1) <=> X(Z)->|(Z^-1)|->X(Z-1)

· TZ racionales: X(Z)=N(Z)/D(Z)=sum(i=0,M,b(i)·(Z^-i))/sum(i=0,N,a(i)·(Z^-i))=sum(i=0,M,b'(i)·(Z^i))/sum(i=0,N,a'(i)·(Z^i)), b(i),a(i) constantes reales.

· Las raices de N(Z) son los ceros y las de D(Z) los polos.

· Ceros y polos aparecen por pares conjugados por ser bi,ai reales.

· Los polos no pueden estar en la ROC => La ROC viene limitada por los polos. De los contrario, tendríamos un filtro inestable.

· TZ inversa: (por si vale, recuerda: h(n)=(A^n)·u(n) <=> 1/(1-A·(Z^-1))

· Método de integración: x(n)=1/(2·pi·j)·intcircular(<r>,X(Z)·(Z^(n-1)),Z)

· Desarrollo en series polinomiales (cuando puedas, usa esta): X(Z)=a0+a1·(Z^-1)+.. } x(n)=[a0,a1,...]

}=> x(n)=a(n)

X(Z)=sum(n=0,inf,x(n)·(Z^-n)) }

· Descomposición en fracciones simples:

· hipótesis: x(n) causal (si no, han de darme la ROC), X(Z) racional, polos simples y M=<N

· X(Z)=sum(i=0,M,b'(i)·(Z^i))/sum(i=0,N,a'(i)·(Z^i))=(b'(M)/a'(M))+sum(i=1,N,A(i)/(Z+P(i))), (-P(i)) polos de D(Z), A(i)=((Z+P(i))·X(Z)|Z=-P(i))

------------->Solo aparece si M=N, pero akí es mejor aplicar propiedades de retardos y cosas así.

· x(n)=(b'(M)/a'(M))·delta(n)+sum(i=1,N,A(i)·(-(P(i))^(n-1))·u(n-1))

Al ser causal, C => |Z|>max|-P(i)|

· SLIs discretos racionales: sum(k=0,N,a(k)·D(^k)·y(n))=sum(k=0,M,b(k)·D(^k)·x(n)) => H(Z)=Y(Z)/X(Z)=sum(k=0,M,b(k)·(Z^(-k)))/sum(k=0,N,a(k)·(Z^(-k))), función racional

----->retardador de orden k

* Para hallar H(Z): SLIs discretos racionales, h(n)=y(n)|(x(n)=delta(n))<=>H(Z), H(Z)=Y(Z)/X(Z) => De estas tres formas podemos hallar H(Z)

· Estabilidad y causalidad:

· Estabilidad: circunferencia de radio 1 en la ROC (tb en el borde)

· Causalidad: |Z|>R+

· Para que se cumplan ambas: Los polos han de estar dentro del círculo unidad.

· Sistema inverso: Hi(Z)=1/(H(Z)) => Para que sea estable y causal, dado que los ceros pasan a ser polos y viceversa, ambos han de estar dentro del círculo unidad.

****

Diseño de filtros analógicos y digitales:

· Igualador de fase: |Hf(omega)|=1, arg(Hf(omega))=-dirtorsión de fase a compensar, H(Z)=k·mult(k=1,M,(1-C(k)·Z^(-1))/(1-conj(1/(C(k)))·Z^(-1))

---->multiplicatorio

· Caso contínuo: Si polo=>pico { se acerca al eje imaginario => pico ó valle más estrecho

cero=>valle { se aleja del eje imaginario => pico ó valle más ancho

{ sobre el eje imaginario => filtro inestable (oscilador)

Caso discreto: Si un polo (ó un cero) de H(Z) está cercano a exp(j·omega0) introduce un pico, si es un polo, ó un valle, si es un cero, en |H(omega0)|

· Atenuación (dB): alfa(omega)=10·log(1/(|H(omega)|^2))

· Diseño de filtros analógicos (H(s)): (log(x)=log10(x))

· Filtro de Butterworth:

· (|H(w)|^2)=1/(1+(w/wc)^(2·N))

· N=(1/2)·(log((delta1·(2-delta1)·(delta2)^2)/(((1-delta1)^2)·(1-((delta2)^2))))/log(w0/ws)) => redondeamos al entero superior más próximo

· Pasando por el punto de (1-delta1): wc=wp/((((1/(1-delta1))^2)-1)^(1/(2·N)))

· Pasando por el punto de delta2: wc=ws/(1/(((delta2)^2)-1)^(1/(2·N)))

· H(s)=1/P(N)(s/wc), Pn(s) polinomio de Butterworth de órden N.

· Transformación de frecuencias: s=>s', Z=>Z'

Ej: paso bajo => paso alto: s=wc/s' => s'=wc/s => j·w'=-j·wc/w => w'=-wc/w

· Filtro de Chebyschev:

· El órden del filtro se ve en el número de picos (recuerda que el filtro tiene parte simétrica, hay ke contarlos todos)

· Akí en lugar de (1-delta1) hay que poner 1/sqrt(1+eps^2)

· (|H(w)|^2)=1/(1+(eps^2)·(C(N)(w/wp))^2)

· C(N)(x) polinomio de Chebyschev de órden N: { cos(N·ArcCos(x)) si |x|=<1

{ cosh(N·ArcCosh(x)) si |x|>1

· C(N)(1)=1, C(N)(x)=2·x·C(N-1)(x)-C(N-2)(x), C(0)(x)=1, C(1)(x)=1

· eps=sqrt((1/((1-delta1)^2))-1)

· Si x y N grandes, C(N)(x)aprox=2^(N-1)·x^N>>1 => N=(6-20·log(delta2·eps))/(6+20·log(ws/wp)) => redondeamos al entero superior más próximo

· H(s)=A/mult(i=0,N-1,s-s(i)) { S(i)=sigma(i)+j·w(i)

{ sigma(i)=sen((2·i-1)/N)·(pi/2)·senh(beta), i=0,..,N-1

{ w(i)=cos((2·i-1)/N)·(pi/2)·cosh(beta), beta=(1/N)·ArcSenh(1/eps)

* (H(s)|(s=0))=(H(w)|(w=0))=((|H(w)|)|(w=0))

* Para hallar A: H(0)=A/mult(i=0,N-1,-S(i))={ 1 si N impar

{ 1/sqrt(1+eps^2) si N par

· Diseño de filtros digitales IIR (H(Z)):

* Especificaciones filtro digital => especif. filtro analógico => Ha(s) => H(Z)

· Método para la respuesta al impulso invariante:

{ 1+delta1 } { 1+delta1 } { Ha(s)=sum(i=1,N,A(i)/(s+P(i))) <=> ha(t)=sum(i=1,N,A(i)·exp(-P(i)·t))·u(t)

{1-delta1, delta2} => {1-delta1,delta2} => Ha(s) => H(omega)=sum(k=-inf,inf,Ha(omega+2·pi·k)) { h(n)=ha(n)=sum(i=1,N,A(i)·exp(-P(i)·n))·u(n)

{ omegap } { wp=omegap } { => H(Z)=sum(i=1,N,A(i)/(1-exp(-P(i)·Z^(-1))))

{ omegas } { ws=omegas }

· Transformación bilineal:

* filtro estable { s en eje j·w => Z en la circunferencia unidad } => s=(Z-1)/(Z+1)=(1-Z^(-1))/(1+Z^(-1))

{ s en semiplano izquierdo => Z en el círculo unidad }

{ 1+delta1 } { 1+delta1 }

{1-delta1, delta2} => {1-delta1,delta2 } => Ha(s) => H(Z)=(Ha(s))|(s=(1-Z^(-1))/(1+Z^(-1)))

{ omegap } {wp=tan(omegap/2)}

{ omegas } {ws=tan(omegas/2)}

--->tan(x)=tangente de x

****

Procesos estocásticos discretos:

(Notación: xva => x, que es una variable aleatoria)

· Nivel instantáneo:

· Valor medio de xva(n) -> E[xva(n)]=int(xva(n)·p(xva(n)),xva(n)), donde p es la fdp

· Potencia media instantánea -> E[|xva(n)|^2]=int(|xva(n)|^2·p(xva(n)),xva(n))

· Varianza -> sigma^2(n)=E[|xva(n)-E[xva(n)]|^2]

· Potencia media = Varianza +(Valor medio)^2

· Memoria o redundancia

· Autocorrelación -> R(n,k)=E[xva(n)·conj(xva(k))]=int(int(xva(n)·xva(k)·p[xva(n),xva(k)],x(n)),x(k))

· Autocovarianza -> C(n,k)=E[{xva(n)-E[xva(n)]}·(conj(xva(k))-E[conj(xva(k))])]

· Proceso estacionario en sentido amplio:

· El nivel se mantiene con n:

· E[xva(n)]=mu=cte para todo n

· E[|xva(n)|^2]=p=cte para todo n

· sigma^2(n)sigma^2=cte para todo n

· La redundancia depende de n-k:

· R(n,k)=R(n-k)= R(m) (ahora ya es unidimensional) = E[xva(n+m)·conj(xva(n))]

· C(n,k)=C(n-k)=C(m)

· R(0)=potencia media

· DEP: S(omega)=TF[R(m)]=sum(R(m)·exp(-j·omega·m)) => R(m)=TF^(-1)[S(omega)]=(1/(2·pi))·int(-pi,pi,S(omega)·exp(j·m·omega),omega)

· Propiedades del par R(m) <=> S(omega)

· R(0)=(1/(2·pi))·int(-pi,pi,S(omega),omega)=potencia media=E[|x(n)|^2]

· R(m)=conj(R(-m)), hermiticidad => S(omega) es real

· S(omega) >= 0 para todo omega, R(0) >= |R(m)| para todo m

· Relaciones a la salida de un filtro:

· Ryy(m)=conv(Rxx(m),h(-m),h(m))

· Syy(omega)=Sxx(omega)·|H(omega)|^2

****

Notas:

· |X|^2=X·conjugado(X)

· Delta(t) = (+inf si t=0, 0 si t<>0)

· rect((w-w0)/Bt) es un pulso rectangular centrado en w0 y de anchura total Bt.

· Sistema h(n) no periódico => H(omega)=sum(n=0,inf,h(n)·exp(-j·omega·n))

· Progresión geomética => S=(el primero - el último·razón)/(1-razón)

· Muchas veces el poner senos y cosenos como exponenciales simplifica mucho el análisis.

· En los filtros, el límite superior se planta en 1, no en 1+delta1.

· omega=w·T (T => período de muestreo)

· delta(n-n0) <=> exp(-j·omega·n0)

· conv(a·delta(n-n0),b·delta(n-m0))=a·b·delta(n-n0-m0)

· X(omega)·delta(omega-omega0)=X(omega0)·delta(omega-omega0)

· Si X no es una variable aleatoria => E[X]=X

· mínimo común múltiplo: comunes y no comunes con su máximo exponente.