0% encontró este documento útil (0 votos)
54 vistas3 páginas

Lab 4 2020 2

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 3

Laboratorio Implementación de un Sistema LTI usando Quartus II

Procesamiento Digital de Señales


*
Universidad de San Buenaventura Cali
Cali Colombia

Resumen— En esta práctica de laboratorio se implementa un sistema lineal en Quartus II® y se realiza la prueba y simulación en
Matlab®. El objetivo de esta práctica es verificar los resultados obtenidos de ejercicios teóricos, mediante el uso de Matlab y Quartus
II.

I. INTRODUCCIÓN

Para la práctica se plantea implementar una ecuación en diferencia en Quartus II®, software que permite diseñar y
simular circuitos digitales;. La ecuación a implementar se presenta en la Eq.1

5 1
𝑌(𝑛) = 6 𝑌(𝑛−1) − 6 𝑌(𝑛−2) + 𝑋(𝑛) (1)

Si se considera un ADC de 10 bits, se puede realizar el escalamiento de cada uno de los coeficientes del filtro por 2 10
o lo mismo multiplicar por 1024 cada coeficiente en la ecuación.

A. Implementación en Quartus®

Para implementar el sistema 𝑌(𝑛) en Quartus se usa el entorno grafico ver fig.1 para poder utilizar la herramienta de
diseño MegaWizard plug-in manager, el cual permite generar bloques lógicos que desarrollen procesos matemáticos como
sumas, restas o procesos lógicos como compuertas lógicas o registros que retienen una muestra pasada de la salida del
sistema.

Fig. 1 Circuito Digital Implementado en Quartus®

Para poder analizar el comportamiento del circuito, se genera un vector de formas en el cual se establece un valor de las
señales de entrada; para el caso del reloj, se emplea una señal digital periódica, con un periodo menor al mayor tiempo de
retardo del sistema; para la entrada 𝑋(𝑛) se ingresa un impulso en este caso un valor de 1, pero como el diseño esta escalado,
el valor de entrada para el impulso será de 1024, el cual se simula con un alto en la entrada en un periodo de reloj, esto se
enseña en la fig.2

Fig. 2 Ingreso del impulso desde el simulador de Quartus


B. Implementación en Matlab®

Para este caso se debe despejar 𝑋(𝑛) de la Eq.1 además de emplear la función de Matlab® Impseq para obtener la
respuesta al impulso del sistema 𝑌(𝑛) .

5 1
𝑌(𝑛) − 𝑌(𝑛−1) + 𝑌(𝑛−2) = 𝑋(𝑛)
6 6

La función impz de Matlab tiene como argumentos b, a y n, donde a es un vector con los coeficientes de 𝑌(𝑛) , b es un
vector con los coeficientes de 𝑋(𝑛) y n es un vector con el número de instantes en los que se va a analizar el sistema.

Para poder comparar la respuesta al impulso obtenida con Matlab, con la respuesta al impulso del circuito digital, se
debe convertir los datos de Matlab® a valores digitales, esto se emplea multiplicando la función impz por 1024

Fig. 3 Código de implementación en Matlab®

C. Procedimiento

Presentación de informe formato IEEE.


1. Analisis e Implementacion sistemas LTI.
a) Calcular la respuesta al impulso h(n) , puede usar Transformada Z
b) Realizar el circuito de la Figura 1
c) Simular el circuito con el valor de entrada mostrado en la Figura 2
d) Implementar el código en Matlab de la Figura 3
e) Comparar los resultados obtenidos en a), c) y d)
f) Analizar el sistema, usando la herramienta fvtool de Matlab.
g) Conclusiones

2. Realizar análisis similar a los anteriores pasos, para el siguiente sistema:


a) y(n)=0.6y(n-1)-0.08y(n-2) + x(n)
b) y(n)-3y(n-1)-4y(n-2)=x(n)+2x(n-1)
c) 𝑦(𝑛) = 0.7𝑦(𝑛 − 1) − 0.1𝑦(𝑛 − 2) + 2𝑥(𝑛) − 𝑥(𝑛 − 2)
d) 𝑦(𝑛) = 0.9𝑦(𝑛 − 1) + 𝑥(𝑛) + 2𝑥(𝑛 − 1) + 3𝑥(𝑛 − 2)
e) 𝑦(𝑛) − 4𝑦(𝑛 − 1) + 4𝑦(𝑛 − 2) = 𝑥(𝑛) − 𝑥(𝑛 − 1)
Anexo 1

Código VHDL de registro

library ieee;
use ieee.std_logic_1164.all;

entity RegisterD is

port (
clk : in std_logic;
enable : in std_logic;
DataIn : in std_logic_vector(15 downto 0);
DataOut : out std_logic_vector(15 downto 0)
);

end entity;

architecture rtl of RegisterD is

begin

process (clk)
begin
if (rising_edge(clk)) then
if (enable = '1') then
DataOut<=Datain;
end if;
end if;
end process;

end rtl;

También podría gustarte