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