miércoles, 7 de marzo de 2012

Procesado digital - AM DSB-SC

La cuación general de una señal con mensaje m(t) multiplicada por una portadora de frecuencia fc sería:

x(t) = Ac*m(t)*cos(2*pi*fc*t)

Si  recibimos x(t) y queremos recuperar el mensaje m(t) sólo tenemos que demodular la señal multiplicándola por "el mismo" coseno(teniendo en cuenta que la señal ahora puede venir con cierto desfase o cambios de frencuencia) y filtrando paso bajo.

Ejemplo en matlab:

t = (1/1000):(1/1000):0.3;    %vector tiempos
portadora = cos(2*pi*1000*t);
mensaje = 2*sin(2*pi*30*t)+ cos(2*pi*50*t);
senal = portadora.*mensaje;
error = 0;
fase = 0;
decos = cos(2*pi*(1000+error)*t+fase); %cos para demodular
senal_demodulada = senal.*decos;
impulso = firpm(50, [0 0.05 0.2 1], [1 1 0 0]);
mensaje_obtenido = 2*filter(impulso,1,senal_demodulada);

Notas: diseño del filtro FIR mejorable, para usar firpm usar Matlab, aún no he encontrado una función similar en octave.

2 comentarios:

  1. Gracias... Es un codigo muy util y muy dificil de conseguir

    ResponderEliminar
  2. No hay de que :), tendré que hacer algún apartado más de estos.

    ResponderEliminar