Rui Rojo / Oct 21 2018

Ejercicio

Cada T segundos la señal de entrada cambia su conexión de x[n]x[n] a x[n+1]x[n+1] circularmente. Esa señal sería un coseno escalonado.

using SySTools
N = 12; T = 0.5; # por ejemplo

x(n) = cos(2pi*n/N)
stem(x.(0:2N), title=:x)

La señal que entra al producto con el tren de deltas es entonces una señal continua que va tomando cada TT segundos los valores sucesivos de xx

plot(t -> x(div(t, T)), 0, 2N)

Esta señal se multiplica por un tren de deltas espaciadas en T. Una delta por cada escalón.

let
  ts = 0:T:2N
  xs = x.(ts/T)
  uidxs = findall(x -> x >= 0, xs)
  didxs = setdiff(eachindex(xs), uidxs)
    
  Plots.sticks(ts[uidxs], xs[uidxs], marker=:utriangle)
  Plots.sticks!(ts[didxs], xs[didxs], marker=:dtriangle, title="yp(t)")
end

Nos piden calcular el espectro de esto. Es un coseno discreto. El espectro son dos deltas periodizadas. La idea del sistema es que luego esto se pasa por un filtro que mata las copias para que a la salida tengas el espectro de un coseno sin flechas.

La frecuencia de este coseno discreto está dada por TT. El filtro tiene que dejar pasar a la primera delta, pero no a la segunda. Y la ubicación de la segunda depende también de NN. Se pide que TT se pueda variar en un rango. Esto te pone restricciones en la frecuencia de corte (fija), que tiene que servir para todos los casos: tiene que servir para agarrar la primera delta incluso para los TT que hacen que la delta tenga frecuencia más alta. Pero, tampoco podés poner frecuencia de corte demasiado alta porque dejarías pasar la segunda delta. Ahí entra en juego la restricción sobre N.