DIGITAL LOW-PASS FILTER IN SPEECH RECONIGTION 1 M. Pe

Transcripción

DIGITAL LOW-PASS FILTER IN SPEECH RECONIGTION 1 M. Pe
Digital Low-Pass in Speech Recognition
ponkl.tex
DIGITAL LOW-PASS FILTER IN SPEECH RECONIGTION
M. Peña G.1, M. Gonzalez H.2, J.J. Negrete R.1, M.T. Franco M.1
1Acoustic Academy, Superior School of Mechanical and Electric Engineer-
ing (ESIME) of the National Polytechnic Institute, ESIME-IPN, Av. Instituto Politécnico Nacional S/N. 07300, Zacatenco D.F. México. 2Área
Académica de Ingenierı́a del Instituto de Ciencias Básicas e Ingenierı́a de la
Universidad Autónoma del Estado de Hidalgo, Pachuca Hidalgo, México.
1
[pon14.tex], MPG060313
1
Digital Low-Pass in Speech Recognition
ponkl.tex
OBJETIVO
• Presentar el funcionamiento básico de un filtro digital pasa bajo.
• Obtener la ecuacion de diferencias para filtrar frecuencias por abajo de
5000 Hz.
• Vaciar los coeficientes y variables obtenidos a hardware FPGA utilizando
algoritmos paralelos.
Digital Low-Pass in Speech Recognition
ponkl.tex
PROBLEMÁTICA
• Los sistemas de reconocimiento de voz en tiempo real necesitan dispositivos que tengan un tiempo de respuesta prácticamente infinitesimal.
• Es necesario programar dichos circuitos integrados de propósito especı́co.
• Es necesario conocer un lenguaje de programación especializado el
diseño de circuitos integrados.
• Para lograr una respuesta de cálculo a ciclo de reloj se necesita pensar en flujo paralelo de datos a diferencia de la programación secuencial
tradicional.
Digital Low-Pass in Speech Recognition
ponkl.tex
FILTRO DIGITAL CON FPGA
• En los sistemas incrustados de reconocimiento de voz se utilizan filtros
tanto analógicos como digitales para limitar el ancho de banda de la voz.
• En sistemas de tiempo real la respuesta es lenta, sobre todo en el
reconocimiento contı́nuo de voz.
• Esto se debe a que los algoritos de procesamiento de señales digitales
requieren muchos ciclos de reloj en la Unidad Central de Proceso.
• Para resolver parcialmente este problema es necesario quitarle trabajo
a la CPU llevando a harduare el DSP.
• Por ejemplo, modemos construir dispositivos especı́ficos de hardware
con FPGAs (Field Programmable Gate Array), VLSI (Very Large Scale
Integrated Circuits).
• Estos dispositivos, ASIC (Application Specific Integrated Circuit)
“paralelizan” el sistema quitándole trabajo a la CPU.
Digital Low-Pass in Speech Recognition
ponkl.tex
FILTRO DIGITAL CON FPGA (cont ...)
• Para obtener dichos dispositivos es necesario desarrollar los algoritmos
equivalentes de hardware en un lenguaje de alto nivel describiendo su comportamiento.
• Escribimos un algoritmo para cada término de una ecuación, lo cual
resulta un procesamiento paralelo a ciclo de reloj.
• Ahora podemos conectar cada circuito integrado a una CPU controlando cada uno de ellos individualmente (procesadores de funciones
matemáticas, sintetizadores de voz, filtros, transformaciones formales, entre
muchos otros.
ponkl.tex
Digital Low-Pass in Speech Recognition
(1) Basic Low-pass filter.
Using the method of the voltage divider, and in accordance with the
circuit of Figure (1), we can obtain transfer functions [Cun95]. Let see,
Figura 1: Basic low-pass filter.
ponkl.tex
Digital Low-Pass in Speech Recognition
voltage dividing,
vi R
v0 =
XL + R
changing vi,
v0
R
=
vi
XL + R
v0
R
=
vi
2πf L + R
R
v0
= 2πf LL R
vi
L +L
ponkl.tex
Digital Low-Pass in Speech Recognition
so that, for any R/L value constant
R
v0
L
=
vi
2πf + R
L
or
R
v0
= LR
vi
ω+L
the | vvo | magnitude is,
i
!
"
"
"
"
"
"
"
"
"
#
2
vo
(R
)
L
| | =
2
vi
(ω)2 + ( R
)
L
!
"
"
#
2
(R
)
vo
L
| | = !""
#
2
vi
(ω)2 + ( R
)
L
ponkl.tex
Digital Low-Pass in Speech Recognition
do that
R
vo
L
| | = !""
#
2
vi
(ω)2 + ( R
)
L
XL
L
R
f
v0
vi
ω
=
=
=
=
=
(1)
2πf L
1H
1Ω
1 Hz
H(f )
= 2πf
the H(f ) transfer function is
1
H(f ) =
2πf + 1
and the H(ω) transfer function is
1
H(ω) =
ω+1
(2)
Digital Low-Pass in Speech Recognition
Figura 2: Graphics for expression (1) with R = 8 Ω, L = 0,000318 Hy, and fc = 400 Hz cutoff.
ponkl.tex
ponkl.tex
Digital Low-Pass in Speech Recognition
(2) Transfer function H(s). From the expression (2) ω is a complex
number (frecuency response)
s = jω
then (2) change to
1
H(s) =
s+1
(3)
Digital Low-Pass in Speech Recognition
ponkl.tex
(3) Transfer function H(z) from H(s). Using bilineal transformer
to get H(z) replacing s in expression (3).
z−1
s =
z+1
ponkl.tex
Digital Low-Pass in Speech Recognition
H(s) =
H(z) =
=
=
=
=
=
=
H(z) =
1
s+1
1
( z−1
z+1 ) + 1
(z + 1)
( z−1
z+1 )(z + 1) + (z + 1)
z+1
z−1+z+1
z+1
z+z−1+1
z+1
z+z
z+1
2z
z
1
+
2z 2z
1 1 −1
+ z
2 2
ponkl.tex
Digital Low-Pass in Speech Recognition
therefore
H(z) = 0,5 + 0,5z −1
(4)
ponkl.tex
Digital Low-Pass in Speech Recognition
Figura 3: Graphics for expression (4).
Digital Low-Pass in Speech Recognition
ponkl.tex
(4) Diference ecuations. Using expression (4) to get y(n).
If
Y (z)
H(z) =
= 0,5 + 0,5z −1
X(z)
separing Y (z),
thus
Y (z) = [0,5 + 0,5z −1]X(z)
Y (z) = 0,5X(z) − 0,5z −1X(z)
y(n) = 0,5x(n) + 0,5x(n − 1)
(5)
ponkl.tex
Digital Low-Pass in Speech Recognition
(5) Real digital low-pass filter. Using bilinear transformation method,
a filter design digital low-pass with a cutoff frequency 5000 Hz sampling
frequency is 11025 Hz [Ham89] [Whi00].
(a) Choise an apropriate H(s) transfer function, which represents a lowpass
filter with a band with of 1 rs .
1
H(s) =
s+1
(6)
(b) Prewarp WD using
ωA = T2 tan( ωD2 T )
Fs = 11025
Fc = 5000
T = 1/F c
= 1/11025
T = 0,00009070
(7)
ponkl.tex
Digital Low-Pass in Speech Recognition
WD =
=
=
WD =
2 · π · Fc
(2)(π)(Fc)
(2)(3,1416)(5000)
31415,92 rad/sg
Digital Low-Pass in Speech Recognition
using the expression (7) for ωA,
2
ωD T
ωA = · tan(
)
T
2
1
2
(31415,9 · 11025
= 1 · tan(
)
2
11025
2
=
·
0,00009070
(31415,9)(0,00009070)
tan(
)
2
(2,849)
= 22050 · tan(
)
2
= 22050 · tan(1,4247)
= 22050(6,7965)
ωA = 149864,9
ponkl.tex
ponkl.tex
Digital Low-Pass in Speech Recognition
(c) Scale expression (6) to obtain H(z) using bilineal transformer.
Let see,
1
H(s) =
s+1
1
= s
ω +1
ω
H(s) =
s+ω
ω
H(s) =
s+ω
z−1
s = c
z+1
2
c =
T
(8)
ponkl.tex
Digital Low-Pass in Speech Recognition
changing s and c on expression (8) to obtain (9),
ω
H(z) = z−1
c z+1 + ω
multiplying by (z + 1)
ω(z + 1)
H(z) = (z−1)
c (z+1) (z + 1) + ω(z + 1)
=
=
=
=
H(z) =
ω(z + 1)
c(z − 1) + ω(z + 1)
ω(z + 1)
cz − c + ωz + ω
ω(z + 1)
cz + ωz + ω − c
ω(z + 1)
z(c + ω) + (ω − c)
ω(z + 1)
z(c + ω) − (c − ω)
(9)
ponkl.tex
Digital Low-Pass in Speech Recognition
dividing by (c + ω)
ω (z + 1)
(c+ω)
H(z) = z(c+ω) (c−ω)
(c+ω) − (c+ω)
ω (z + 1)
(c+ω)
=
z − (c−ω)
(c+ω)
ω
(z + 1)
H(z) = (
)(
)
(c−ω)
c+ω z−
(c+ω)
we have finally,
ω ·
H(z) = c+ω
z + 1
z − c−ω
c+ω
(10)
ponkl.tex
Digital Low-Pass in Speech Recognition
placing values on exprssion (10) for
ω = ωA = 149864,9
149864,9
H(z) =
·
22050,7 + 149864,9
z+1
z − 22050,7−149864,9
22050,7+149864,9
149864,9
z+1
=
·
171915,6 z − −127814,2
171915,6
z+1
H(z) = 0,8717 ·
z + 0,743
reordering,
0,8717z + 0,8717
H(z) =
z + 0,743
dividing by z to obtain finally,
H(z) = 0,8717
1
+
+
0,8717 z −1
0,743 z −1
(11)
ponkl.tex
Digital Low-Pass in Speech Recognition
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
1000
2000
3000
4000
5000
Figura 4: Graphics for expression (11)
6000
ponkl.tex
Digital Low-Pass in Speech Recognition
(6) Diference ecuations for expression (11) to get y(n).
H(z) =
Y (z)
=
X(z)
Y (z)[1 + 0,743z −1] =
Y (z) + 0,743Y (z)z −1 =
Y (z) =
Y (z)
X(z)
0,8717 + 0,8717z −1
1 + 0,743z −1
X(z)[0,8717 + 0,8717z −1]
0,8717X(z)
+0,8717X(z)z −1
0,8717X(z)
+ 0,8717X(z)z −1
− 0,743Y (z)z −1
y(n) = 0,8717x(n) + 0,8717x(n − 1) − 0,743y(n − 1)
(12)
ponkl.tex
Digital Low-Pass in Speech Recognition
CODIGO FUENTE: ECUACION DE DIFERENCIAS
fnpbajo.c -digital normalized low-pass filter.
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double fnpbajo(double xn)
{
static double xn1;
double yn;
yn = (0.5 * xn) + (0.5 * xn1);
xn1
= xn;
return(yn);
}
Digital Low-Pass in Speech Recognition
35
36
37 int main()
38 {
39
int
i;
40
float buf;
41
double y=0;
42
43
// input: file data.
44
// output: file data filtered.
45
for (i=1;i<=1024;i++)
46
{
47
scanf("%f",&buf);
48
y=fnpbajo((double)buf);
49
printf("%f\n",(float)y);
50
}
51
52
return(0);
53 }
ponkl.tex
ponkl.tex
Digital Low-Pass in Speech Recognition
CODIGO FUENTE: PRUEBA DEL FILTRO
filpb5k.c -digital low-pass filter Fc=5000 Hz.
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<stdio.h>
#include<math.h>
double filpb5k(double xn)
{
static double xn1;
static double yn,yn1;
yn = 0.8717*xn + 0.8717*xn1 - 0.743*yn1;
xn1
yn1
= xn;
= yn;
return(yn);
}
Digital Low-Pass in Speech Recognition
33 main()
34 {
35
36
37
38
39
40
41
42
43
44
45 }
int
i;
float buf;
double y=0;
// leer archivo de datos.
for (i=0;i<1024;i++)
{
scanf("%f",&buf);
y=filpb5k((double)buf);
printf("%f\n",(float)y);
}
ponkl.tex
Digital Low-Pass in Speech Recognition
PROCESAMIENTO CON VHDL
ponkl.tex
Digital Low-Pass in Speech Recognition
ponkl.tex
CONCLUSIONES
• Como ejemplo práctico, hemos obtenido la ecuación de diferencias de
un filtro hardware pasa bajo (0 a 5000 Hz.) para crear un circuito integrado
FPGA.
• Este dispositivo actua como un procesador de un filtro digital paralelo
en hardware.
• Durane un pulso de reloj se relizan todas las operaciones referentes a
los coeficientes y variables de la ecuacion de diferencias.
• Los términos de las ecuaciones y(n) = 0,5x(n) + 0,5x(n − 1), ası́ como
de la ecuación y(n) = 0,8717x(n) + 0,8717x(n − 1) − 0,743y(n − 1), se
realizan independientemente en forma paralela durane un pulso de reloj.
ponkl.tex
Digital Low-Pass in Speech Recognition
GRACIAS...
www.max.esimez.ipn.mx
[email protected]
Bibliografı́a
[Cha99] Chassing Rulph, Digital Signal Processing: Laboratory Experiments Using C and the TMS320C31DSK, John Wiley & Sons, USA
1999. 305 pgs.
[Cha02] Chassing Rulph, DSP Applications Using C and the
TMS320C6x DSK, John Wiley & Sons, USA 2002. 335 pgs.
[Cun95] Cunningham Edward P., Digital Filtering: an Introduction, John
Wiley & Sons, USA 1995. 535 pgs.
[Ham89] Hamming R. W., Digital Filters, 3rd. ed., Dover, 1989. 284 pgs.
Bell Laboratories.
[Whi00] White Steve, Digital Signal Processing, Delmar Thomson Learning, 2000, 234 pgs.
[Woo08] Woods Roger, John McAllister, Ying Yi, Gaye Lightbody. FPGAbased Implementattion of Digital Signal Processing, Addison-
PROGRAMACIÓN FPGAs CON VHDL
Maximino Peña Guerrero
1
www.max.esimez.ipn.mx
[email protected]
Escuela Superior de Ingenierı́a Mecánica y Eléctrica del Instituto Politécnico Nacional, Unidad Profesional Adolfo López Matéos, Zacatenco, México
Distrito Federal.
1
[portada.tex][MPG150713]
1
UNIDAD 1: INTRODUCCIÓN Y CONCEPTOS BÁSICOS
1
1
[unidad1.tex][MPG140813]
1
OBJETIVO:1
Conocer técnicas actuales de diseño de circuitos digitales.
Comprender el funcionamiento del lenguaje VHDL.
Entender el por qué diseñar con software.
Conocer técnicas de simulación de circuitos eléctricos.
Conocer la filosofı́a del paralelismo.
Comparar las plataformas de desarrollo (estaciones de trabajo UNIX,
MAC, NT).
Comparar las viejas técnicas de diseño con las actuales.
Desarrollar interfases VHDL ASIC para PICs, DSPs, Microcontroladores
y Microcomputadores.
Implementar un sistema digital de control práctico.
1
[objetivo.tex][MPG300713]
1
PROBLEMÁTICA:1
• Cuando sale al mercado un nuevo dispositivo digital en hardware es necesario escribir nuevas rutinas de entrada y salida en lenguaje ensamblador.
• Este proceso es repetitivo para cada nuevo diseño de hardware.
• Funciones VHDL escritas para dispositivos viejos se tienen que reescribir
utilizando las nuevas instrucciones de la nueva CPU desperdiciando tiempo,
dinero, y esfuerzo.
• Para resolver este problema escribimos una biblioteca de funciones básicas en VHDL las cuales serán independientes del nuevo sistema digital, por
ejemplo un microcontrolador, o procesador central.
1
[problematica.tex][MPG300713]
1
TEMARIO VHDL
1
•
•
•
•
•
•
•
•
•
•
•
•
1
Introducción.
Descripción de diseño.
Tipos de datos.
Expresiones.
Instrucciones secuenciales.
Instrucciones concurrentes.
Registros e inferencias de tercer estado.
Descripciones de circuitos.
Directivas.
Construcciones VHDL.
Casos de estudio.
Implementación práctica.
[temariovhdl.tex][MPG300713]
1
BIBLIOGRAFÍA VHDL
• Ashenden, Peter J., The Designer’s Guide to VHDL, Second Edition,
Acadenic Press, MK Morgan Kaufmann Publishers, USA, 2002. 759 pgs.
• Ashenden Peter J., The Designer´s Guide to VHDL, Second Edition, Acadenic Press, MK Morgan Kaufmann, . Publishers, USA, 2002 . •
Bhasker J., A VHDL Primer, Third Edition, Prentice Hall, USA, 1999 .
• Pellerin, David, Douglas Taylor VHDL: Made Easy, Prentice Hall,
USA, 1997. 419 pgs.
• Stewart, James W., Chao-Ying-Wang, Digital Electronics Laboratory
Experiments Using Xilinx XC95108 CPLD with Xilinx Foundation:
Design and Simulation Software, Prentice Hall, USA, 2001. 328 pgs.
• Woods Roger, John McAllister, Ying Yi, Gaye Lightbody, FPGA-based
Implementattion of Digital Signal, Processing, Addison-Wiley, 2008.
• Xilinx, The Programmable Logic Data Book, Xilinx Inc., USA .
• Xilinx, VHDL: Reference Guide, Xilinx Inc., USA, 1999.
1
1
[bibliovhdl.tex][MPG300713]
1
BIBLIOGRAFÍA: PROCESAMIENTO DE SEÑALES DIGITALES
1
• Embree Paul M. Damon Danieli, C++Algorithms for Digital Signal
Processing, 2nd. ed., Prentice Hall PTR, 1999.
• Embree Paul M., C Algorithms for Real Time DSP, Prentice Hall
PTR, 1995.
• Ingle Vinay K., John G. Proakis., Digital Signal Processing using
MATLAB, 2nd. ed., CENEA- GE Learning, Bookware Companion Series,
2007.
1
[bibliodsp.tex][MPG300713]
1
LENGUAJES DE DESCRIPCIÓN DE HARDWARE: ASM
1
• ASM (Algorithmic State Machine), es un método para diseñar máquinas de estado finito
• Útil para representar diagramas de circuitos integrados digitales.
• Un diagrama ASM es parecida a un diagrama de estados, pero menos
formal y fácil de entender.
• Una carta ASM es un método que describe las operaciones secuenciales
de un sistema digital.
• Clair 2 presenta por primera vez la notación de la carta ASM, la cual fue
inventada por T. E. Osborne a principios de los 60s para Hewlett Packard
3.
1
[asm.tex][MPG300713]
Clair, C. R., Designing Logic Systems Unsing State Machines, McGraw-Hill, New York, 1973.
3
Arnold, Mark Gordon, Verilog Digital Computer Design: Algorithms into Hardware, Prentice Hall, 1999, p-59
2
1
LENGUAJES DE DESCRIPCIÓN DE HARDWARE: VERILOG
1
• Verilog fué desarrollado a principos de los 80s por Philip Moorby para
Cadence Design Systems.
• Se convierte en estándard de dominio público conocido como IEEE1364.
• Su sintaxis es parecida a C, la cual lo hace popular en América. 2.
1
2
[verilog.tex][MPG300713]
Arnold, Mark Gordon, Verilog Digital Computer Design: Algorithms into Hardware, Prentice Hall, 1999, pp. 4-5
1
LENGUAJES DE DESCRIPCIÓN DE HARDWARE: VHDL
1
• VHDL (VHSIC Hardware Description Language, Lenguaje de descripción de hardware para circuitos integrados de alta velocidad), es un
lenguaje de descripción de hardware desarrollado por el Departamento de
Defensa (Departament of Defence, DOD) de USA. 2.
• Bién definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993).
• Su sintaxis de VHDL es parecida al lenguaje PASCAL.
• Se puede utilizar de una manera general para describir cualquier circuito.
• Pero se utiliza principalmente para programar PLDs (Programable Logic Device, Dispositivo Lógico Programable), FPGAs (Field Programmable Gate Array), ASICs (Application Specific Integrared Circuit), entre
otros.
1
2
[vhdl.tex][MPG300713]
Arnold, Mark Gordon, Verilog Digital Computer Design: Algorithms into Hardware, Prentice Hall, 1999, p. 65
1
VENTAJAS DE VHDL
1
[2, p:1-2][3, p:112]
• Descripción software de circuitos muy complejos.
• Facilidad de documentacióon.
• Diseño independiente de la tecnologı́a.
• Reutilización de entidades.
• Circuitos Parametrizados.
• Estándares del Institute of Electrical and Electronics Engineers (IEEE
Standard 1076, ratified in 1987) y United States Departament of Defense
(MIL-STD-454L). • Componentes de diferentes fabricantes.
• Permite vectores de prueba complejos. 2 3
1
[venvhdl.tex][MPG300713]
Xilinx, VHDL Reference Guide, Xilinx Development System, USA, 1999.
3
Jaquenod, Guillermo (instructor), Altera: Diseño Digital, Curso, Instituto Tecnológico Autónomo de México ITAM, México, marzo, 1999 [vhdl02.tex, Maximino
Peña Guerrero, 17II00].
2
1
PROTOTIPO VHDL
1 2
library IEEE;
use IEEE.std_logic_1164.all;
entity mivhdl is
port (
DAT: in STD_LOGIC
);
end mivhdl;
architecture mivhdl_arch of mivhdl is
begin
-- <<enter your statements here>>
end mivhdl_arch;
• entity. Define puertos de Entrada Salida de un diseño [2,p:2-1].
• architecture. Determina la implementación de una entidad [2,p:2-3].
• Netlist Estructural. Conjunto de instanciación de componentes.
1
2
[protovhdl.tex][MPG310713]
XilinxVHDL Reference Guide, USA, 1991, 1999.
1
PALABRAS RESERVADAS VHDL
1
Las palabras reservadas o palabras clave tienenen un significado especı́fico VHDL, las
cuales forman un conjunto que sirve para definir las sentencias de un modelo y no pueden
usarse como identificadores para dar nombre a elementos del lenguaje. En VHDL-87 dichas
palabras son: [2, p:55].
(1) abs, (2) access, (3) after, (4) alias, (5) all, (6) and, (7) architecture, (8)
array, (9) assert, (10) attribute, (11) begin, (12) block, (13) body, (14) buffer,
(15) bus, (16) case, (17) component, (18) else, (19) elsif, (20) end, (21) entity,
(22) exit, (23) file, (24) for, (25) function, (26) generate, (27) generic, (28)
guarded, (29) if, (30) in, (31) inout, (32) is, (33) label, (34) library, (35) nand,
(36) new, (37) next, (38) nor, (39) not, (40) null, (41) of, (42) on, (43) open,
(44) or, (45) others, (46) out, (47) package, (48) port, (49) procedure, (50)
process, (51) range, (52) return, (53) select, (54) severity, (55) signal, (56)
subtype, (57) then, (58) to, (59) transport, (60) type, (61) units, (62) until,
(63) use, (64) variable, (65) wait, (66) when, (67) while y (68) with. 2
1
[keywords.tex][MPG310713]
2
Villar, Eugenio, Lluı́s Tarás, Serafı́n Olcoz, Yago Torroja, VHDL: Lenguaje Estándard de Diseño Electrónico, McGraw-Hill, España, 1998. [Ficha de trabajo:
vhdl10.tex, vhdl10.act, Maximino Peña Guerrero, 01III00].
1
CONTADOR DE 3 BITS
1]
-- ------------------------------------- Contador de 3 bits MI_ARCH.VHD
-- VHDL Reference Guide, Xilinx, p:2-4.
architecture MI_ARCH of CONTA3 is
-- Max.Pena Gro, 22II00.
-- ------------------------------------ signal COUNT_TMP: integer range 0 to 7;
begin process
library IEEE;
begin
use IEEE.std_logic_1164.all;
wait until (CLK’event and CLK=’1’);
if
RESET=’1’ or COUNT_TMP=7
entity CONTA3 is
then
port
COUNT_TMP<=0;
(
else
CLK : in bit;
COUNT_TMP<=COUNT_TMP+1;
RESET: in bit;
end if;
COUNT: out integer range 0 to 7
end process;
);
COUNT<=COUNT_TMP;
end CONTA3;
end MI_ARCH;
1
[contador3bits.tex][MPG310713]
1
FPGA: MATRIZ DE MULTIPLEXORES DE 2 BITS
A21
A11
Q11
B11
AM1
Q21
B21
C21
C11
QM1
BM1
CM1
A12
Q12
B12
Amn
C12
M=
Qmn
Bmn
AMN-1
Cmn
QMN-1
BMN-1
CMN-1
A1N
A2N
Q1N
B1N
C1N
matmux.ppt MPG070813
Q2N
B2N
AMN
QMN
BMN
C2M
CMN
FPGA: MATRIZ DE CONECTIVIDAD DE MULTIPLEXORES
1101101100001010110101010
0101101000001010110101010
0101101000001010110101010
1101101000001010110101010
M=
0101101001001010110101011
0101101000001010110101010
1101101011001010110101011
0101101000001010110101011
0101101000101010110101010
1101101000001010110101010
matcon.ppt MPG070813
Proceso de diseño e implementación
[t], Maximino Peña Guerrero, 020902
HERRAMIENTAS: ISE ISE Xilinx 9.2i
HERRAMIENTAS: ISE ISE Xilinx 9.2i
HERRAMIENTAS: GHDL
HERRAMIENTAS: GTKWAVE
AUTÓMATA O MÁQUINA DE TURING
1
]
Alan Mathison Turing (1912-1954), matemático inglés, desarrolló un método matemático para resolver el problema de indesición.
Una máquina de turing es un modelo matemático que puede resolver un problema
si es que existe su solución.
Una máquina de turing es una quı́ntupla,
Q(i, d, e, l, p).
Consiste de (a) una cinta infinita, (b) una
cabeza de escritura, (c) una cabeza lectura, (d) un movimiento hacia la izquierda,
un movimiento hacia la derecha, y un control de paro.
Una máquina de turing es el fundamento
matemático de los sistemas computacionales digitales.
1 [alanTurin.tex][MPG080813]
1
CONCEPTO DE PROGRAMA ALMACENADO
1
]
Johon von Neumann (1903-1957), matemático húngaro, desarrolló el concepto
de programa almacenado para evitar la reprogramación alambrada de las máquinas
digitales de aplicaciones especı́ficas.
Una araquitectura von neumann es la construcción de una computadora digital con
una CPU, ALU, I/O, registros, unidad de
control, memoria dura (almacenamiento
masivo), y una memoria operativa (memoria RAM).
Una máquina von neumann constitiye el
fundamento de los sistemas computacionales modernos.
1 [vonNeuman.tex][MPG080813]
1
FUNCIONES ALGEBRAICAS
1
• Función Algebráica. Es una función que satisface una ecuación polinomial cuyos coeficientes son polinomios o monomios.
Ejemplo:
an(x)y n + an−1(x)y n−1 + an−2(x)y n−2 + · · · + a0(x) = 0,
donde los coeficientes ai(x) son funciones polinomiales. Una función que
no es algebráica se llama función trascendente.
1
[funsalgbs.tex][MPG140813]
1
FUNCIONES TRASCENDENTES
1
• Función Trascendente. Es una función que no se satisface con una
ecuación polinomial (trasciende el álgebra). La variable independiente es el
exponente o ı́ndice de la raiz.
x3 x5 x7
sen(x) = x −
+
+
+ ··· − ∞ < x < ∞
3!
5!
7!
x2 x4 x6
+
+
+ ··· − ∞ < x < ∞
cos(x) = 1 −
2!
4!
6!
x−1
1 x−1 2 1 x−1 3
1
ln(x) = (
)+ (
) + (
) + ···x ≥
x
2 x
3 x
2
x2 x3
x
+
+ ··· − ∞ < x < ∞
e = 1+x+
2!
3!
2
1
2
[funstrns.tex][MPG140813]
pg. 110.111, Shaum, Manual de Fórmulas y Tablas Matemáticas, McGraw-Hill
1

Documentos relacionados