Ejemplo de demostración del fenómeno del aliasing

De ISAwiki


La siguiente función dibuja una señal analógica y los puntos en los que se produce el muestreo a partir de los siguientes parámetros:

  • la frecuencia f de la señal analógica
  • la frecuencia de muestreo fm
  • y el intervalo de tiempo (en segundos) que se muestra en la pantalla


Para ejecutarla, crea un archivo aliasing.m y pega en él el código de la función. Ejecútala desde la línea de comandos. Algunos ejemplos:

  • Señal de 25 Hz muestreada a 24 Hz, representada a lo largo de 1 segundo aliasing(25,24,1). Puede observarse cómo la señal analógica de 25 Hz "se transforma" en una de una discreta frecuencia de exactamente 1 Hz
  • Señal de 12 Hz muestreada a 24 Hz, representada a lo largo de 1 segundo aliasing(12,24,1). Esta es exactamente la frecuencia de Nyquist, a partir de la cual se pierde la información según el Teorema de Nyquist.
  • Señal de 3 Hz muestreada a 24 Hz, representada a lo largo de 1 segundo aliasing(3,24,1). A esta frecuencia no se produce pérdida de información y es posible restaurar la señal original a partir de las muestras.


function aliasing(f,fm,tmax)
% Demostracion del fenomeno aliasing utilizando señales senoidales
% [] = aliasing(f,fm,tmax)
% 
% 
% f:    frecuencia de la señal
% fm:   frecuencia de muestreo
% tmax: rango en segundos mostrado en pantalla

fmcont = inv(tmax/1000);
t = 0:inv(fmcont):tmax;
tk= 0:inv(fm):tmax;

figure(1);
plot(t,sin(2*pi*f*t));
hold on;
plot(tk,sin(2*pi*f*tk),'ro-');
hold off;
axis([0 tmax -1.2 1.2]);
grid on;

title(strcat('fm=', num2str(fm), ' f=', num2str(f)));
drawnow;
Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Tipos de páginas
Bloques temáticos
Herramientas