Procedimiento de verificación del sistema utilizando Matlab

Anuncio
Procedimiento para verificar el sistema
de ecualización con Matlab
Para ver la ayuda asociada a una función concreta, escribir ‘>> help nombre’. Por ejemplo: >> help filter
Creación de la base de tiempos:
>> t = 1:40000;
Creación de una señal sinusoidal de 1 Hz muestreada a 8000 Hz y de cinco segundos de duración (tmax = 40000). Se
completan 5 periodos de la señal.
>> x = sin(2*pi*t/8000);
>> plot(t,x)
Creación de una señal sinusoidal de 4 Hz muestreada a 8000 Hz
>> x_4 = sin(2*pi*4*t/8000);
>> plot(t,x, t,x_4)
Creación de señales sinusoidales de frecuencia fo muestreadas a 8000 Hz. fo = {31.25 Hz, …, 2000 Hz}
>> x0 = sin(2*pi*31.25*t/8000);
>> x1 = sin(2*pi*62.5*t/8000);
>> x2 = sin(2*pi*125*t/8000);
>> x3 = sin(2*pi*250*t/8000);
>> x4 = sin(2*pi*500*t/8000);
>> x5 = sin(2*pi*1000*t/8000);
>> x6 = sin(2*pi*2000*t/8000);
Respuesta al impulso y filtrado de esas señales con el primer filtro
>> a0 = [1024 -2029, 1006]; b0 = [1024, 0, -1024];
>> impz(b0,a0);
% también es posible: [h0,t] = impz(b0,a0);
>> y0_f0 = filter(b0,a0,x0);
>> y1_f0 = filter(b0,a0,x1);
>> y2_f0 = filter(b0,a0,x2);
>> y3_f0 = filter(b0,a0,x3);
>> y4_f0 = filter(b0,a0,x4);
>> y5_f0 = filter(b0,a0,x5);
>> y6_f0 = filter(b0,a0,x6);
>> subplot(2,1,1)
% Divide la pantalla en 2 graficas horizontales y dibuja en la primera (arriba)
>> plot(t,x0, t,x1, t,x2, t,x3, t,x4, t,x5, t,x6)
>> axis([1000 1400 -1.2 1.2])
% Ajuste de los ejes, para poder ver bien las señales
>> subplot(2,1,2)
% Divide la pantalla en 2 graficas horizontales y dibuja en la segunda (abajo)
>> plot(t,y0_f0, t,y1_f0, t,y2_f0, t,y3_f0, t,y4_f0, t,y5_f0, t,y6_f0)
>> axis([1000 1400 -100.2 100.2])
Operaciones entre varias sinusoides y filtrado
>> x06 = x0/2 + x6/2;
% Señales de baja y alta frecuencia
>> subplot(2,1,1)
>> plot(t,x06)
>> axis([5000,7000, -1.2, 1.2])
>> y06_f0 = filter(b0,a0,x06);
% Filtrado paso bajo (filtro f0)
>> subplot(2,1,2)
>> plot(t,y06_f0)
>> axis([5000,7000, -100.2, 100.2]) % Queda una señal parecida a la señal x0
Para verificar el funcionamiento del sistema:
1) Desde Matlab, escribir el fichero de entrada con la función WrVHDL (fichero de estímulos VHDL).
2) Simular con ModelSim, leyendo la señal de entrada desde fichero. Escribir también la salida en fichero.
3) Leer el fichero de salida con RdVHDL y comparar el resultado con la simulación de Matlab.
Descargar