UNIVERSIDAD TECNOLÓGICA DE TULANCINGO
RECONOCIMIENTO DE VOZ A PARTIR DEL FILTRADO DE SEÑALES MEDIANTE LABVIEW
Carrera: Ingeniería en mecatrónica Asignatura: Instrumentación virtual Catedrático: Ing. Jorge Luis Aguilar Lira
Presentado por: Cázares Hidalgo Sergio Franco Miranda Aristeo León Gonzáles Osman Daniel Tulancingo de Bravo, Hidalgo
17 de septiembre de 2017
INTRODUCCIÓN
El análisis en el dominio del tiempo es benéfico cuando se observan datos como la temperatura. Sin embargo, algunas aplicaciones requieren analizar los componentes de frecuencia de las señales. Esto le permite ver cuáles frecuencias constituyen una señal de sonido, similar a un ecualizador de audio o las frecuencias de vibración de un motor mientras se ejecuta. Utilizando los bloques con el software NI LabVIEW se podrá identificar y filtrar frecuencias ya que suministran mecanismos poderosos para eliminar partes indeseadas de una señal. En su definición más general, un filtro se puede definir como todo procesado que altera la naturaleza de una señal sonora de una forma o de otra. Un filtro es un proceso computacional o algoritmo mediante el cual una señal digital (secuencia de muestras) es transformada en una segunda secuencia de muestras o señal digital de salida. Los filtros se utilizan mucho en todos los ámbitos del procesado de señal, más o menos musicales, y son una componente esencial en toda cadena de comunicación. Constituyen la base del procesado de señal, que puede aplicarse a señales de todo tipo (sonidos, imágenes, vídeo, vibraciones sísmicas, etc). En el dominio de las señales de audio, se define filtro específicamente como un objeto que altera el espectro o el contenido frecuencial de una señal. Los tipos de filtros más utilizados son los filtros paso bajo ( Low Pass, LP ), paso alto (High Pass, HP), paso de banda ( Band Pass, BP ) y los filtros rechazo de banda o paso no banda ( Band Reject, Band stop o Notch ). En la Figura 1 se representan estos 4 tipos de filtros mediante su respuesta en frecuencia o espectro de amplitud. Cada punto de la respuesta en frecuencia nos indica la atenuación a la que se someterá una señal a una frecuencia determinada.
Figura 1 Tipos de filtros.
Los filtros pasa bajo (LP ) dejan pasar las frecuencias que están por debajo de una determinada frecuencia y los filtros paso alto ( HP) dejan pasar las frecuencias que están por encima de una determinada frecuencia. Estos dos tipos de filtros están definidos por su frecuencia de corte, que es la frecuencia a la cual la amplitud de la señal se reduce a 0.707 (
1 ) de su valor máximo, √2
es decir, sufre 3 dB de atenuación. Los filtros paso banda ( BP ) dejan pasar las frecuencias que están situadas en una determinada banda de frecuencia, es decir, entre dos determinadas frecuencias. Los filtros rechazo de banda ( BR ) dejan pasar todas las frecuencias excepto las que están situadas en una determinada banda de frecuencia, es decir, entre dos determinadas frecuencias f 1 y f 2. Estas frecuencias son las frecuencias a las que la amplitud de la 1 √2
señal se reduce a 0.707 ( ) de su valor máximo, es decir, sufre 3 dB de atenuación. Estos dos tipos de filtros están definidos por su frecuencia central y su ancho de
banda, que sería la diferencia entre las frecuencias de corte inferior y superior. Como se ilustra en la Figura 1, las transiciones entre la banda pasante y la banda de corte no son generalmente limpias en los filtros reales. Existe, por tanto, una banda de transición entre la zona donde teóricamente todo pasa y la zona donde teóricamente
nada pasa. Los filtros pueden combinarse en serie o en paralelo para obtener respuestas frecuenciales más complejas.
Figura 2 Factor de calidad Q.
=
( − )
(1)
La figura 2 representa un filtro BP en el que hacemos variar el factor de calidad manteniendo fija la frecuencia central. La amplitud máxima o ganancia de un filtro BP o BR también es importante. El control de bandas múltiples, por ejemplo, y la ganancia de cada una de ellas, permitirá fabricar módulos ecualizadores o filtros gráficos. El funcionamiento de base de un filtro digital es relativamente simple. Distinguimos de hecho dos tipos de funcionamiento, que se ilustran en la Figura 3.
Figura 3 Diagrama de bloques de los dos tipos de filtros digitales: (a) FIR y (b) I IR.
(a) retardamos ligeramente una copia de la señal de entrada (de uno o varios períodos de muestreo) y combinamos la señal de entrada ret rasada con la nueva señal de entrada. Los filtros digitales basados en este funcionamiento se dice que son de respuesta impulsional finita o FIR (Finite Impulse Response ).
(b) retardamos una copia de la señal de salida , la cual combinamos con la nueva señal de entrada. Los filtros digitales basados en este funcionamiento se dice que son de respuesta impulsional infinita o IIR (Infinite Impulse Response ). También se les denomina filtros recursivos o con feedback.
LOS FILTROS EN ECUACIONES Podemos describir los filtros mediante una ecuación que relaciona una señal de entrada con una señal de salida en el dominio digital. De ésta manera, la salida del filtro se especifica como una resultado de sumas, restas y multiplicaciones de muestras de entrada actuales y anteriores. Dichas ecuaciones se denominan técnicamente
ecuaciones lineales en
diferencias. Lineales significa que si la entrada de un filtro es la suma de dos funciones escaladas, la salida del filtro es igual a la suma escalada de las salidas del filtro para cada una de dichas funciones. •
FILTROS FIR
En el caso de un filtro con respuesta impulsional finita (FIR), una muestra de la salida se puede definir como una combinación linear de muestras de la entrada presentes y pasadas. Podemos expresar esta relación con una ecuación del tipo:
() = a0 · x[n] + a1 · x[n − 1] + a2 · x[n − 2] + . . . + aN · x[n − N]
(2)
Esta ecuación expresa que la muestra actual de la salida y[n] es igual a la suma de las muestras de la entrada actual x[n] multiplicada por el factor a0 y de la muestra anterior x [n − 1] multiplicada por el factor a1, y de todas las muestras anteriores hasta el instante [n − M] multiplicadas por su respectivo factor. Los factores a i son los coeficientes del filtro. Modificando estos coeficientes podremos variar de forma drástica las características del filtro. La serie de coeficientes a0, a1,... constituye la respuesta impulsional del filtro. De hecho, podemos verificar que la respuesta del filtro a la señal impulso (digital): x = {1,0,0,0,0,0,0,...}
Es la señal de salida:
(3)
y = {a0, a1, a2, a3, . . . , aN , 0, 0, 0, . . . }
(4)
lo cual explica la denominación de filtro a respuesta impulsional finita. •
FILTROS IIR Los filtros con respuesta impulsional infinita (IIR) se distinguen de los filtros FIR por la presencia de una recursividad: la señal de salida del filtro se reinyecta a la entrada del mismo, constituyendo un circuito recursivo o con feedback. Este método permite implementar filtros con respuesta más compleja y con menos datos. Como inyectamos constantemente energía en el circuito, la respuesta impulsional tiene una duración potencial infinita, y de ahí le viene el nombre. La ecuación típica de un filtro IIR se expresa de la siguiente manera: y[n] = a0 · x[n] + a1 · x[n − 1] + a2 · x[n − 2] + … + a N · x[n − N] + −b1 · y[n − 1] − b2 · y[n − 2] − b3 · y[n − 3] − . . . − bM · y[n − M]
(5)
Esta ecuación expresa que la salida es función de N+1 muestras de la entrada (actual y N anteriores), así como de M muestras anteriores de salida.
•
FIR IIR Los filtros FIR ofrecen en general una respuesta de fase más lineal y no entran jamás en oscilación (es decir, no se vuelven inestables), ya que no poseen realimentación. Por otro lado, requieren un gran número de términos en sus ecuaciones y eso les hace más costosos en cuanto a cálculo o carga computacional. Un filtro FIR con un corte muy abrupto (es decir, que tenga una banda de transición muy corta) puede requerir hasta centenas de retardos. En cuanto a los filtros IIR, son muy eficaces y pueden proporcionar pendientes de corte muy pronunciadas. Por otro lado, al poseer características de realimentación (o feedback), tienen tendencia a entrar en oscilación y en resonancia.
•
EL ORDEN DE UN FILTRO
El número de muestras anteriores a la actual que se utilizan en un filtro para generar una muestra de salida corresponde al orden del filtro. Un filtro de primer orden utiliza una sola muestra precedente. De esta forma, un filt ro recursivo de segundo orden se expresaría con la ecuación siguiente: y[n] = a0 · x [n] + a1 · x[n
− 1] + a2 · x[n − 2] − b1 · y[n − 1] − b2 · y[n − 2]
(6)
Este filtro utiliza dos muestras anteriores de entrada y dos muestras anteriores de la salida. Es la forma que tendría un filtro paso de banda que se utiliza bastante, denominado biquad (de bicuadrático). Mientras mayor sea el orden de un filtro (cuantas más retardos se utilicen en el circuito), el corte del filtro será más abrupto.
DESARROLLO
Para la elaboración del programa para el reconocimiento de voz, para que a determinada frecuencia establecida encienda los leds indicadores; se utilizaron los siguientes elementos y bloques:
ACQUIRE SOUND Encontrado en Graphics & Sound > Sound > Input > Acquire. Es un VIs de entrada de sonido para obtener datos de sonido de un dispositivo de entrada de sonido, como un micrófono, en LabVIEW. Se utiliza para realizar operaciones sencillas de adquisición de sonido desde un dispositivo de entrada de sonido además configura automáticamente una tarea de entrada, adquiere los datos y borra la tarea después de que se complete la adquisición. Las opciones del cuadro de diálogo son: Tabla 1 Opciones del cuadro de diálogo.
PARÁMETRO Device (Dispositivo) #Channels (# Canales)
DESCRIPCIÓN
Resoluci ón (bits) (Resoluti on (bits)) Duración (s) (Duration (s))
Especifica la calidad de cada muestra en bits. El valor predeterminado es 16 bits.
Frecuencia de muestreo (Hz) (Sample rate (Hz)) Avance (Pr eview)
Especifica la frecuencia de muestreo en hertz.
Lista los dispositivos de sonido que ha conectado. Especifica el número de canales. 1 es mono y 2 es estéreo.
Establece el número de segundos para los que desea adquirir sonido.
Muestra una vista previa de la operación de sonido en el gráfico.
Vista previa del gráfico (Graph Muestra una vista previa del funcionamiento del Preview) sonido.
Tabla 2 Salida del diagrama de bloques
PARÁMETRO Datos (Data)
DESCRIPCIÓN
error
Contiene información de error. Esta salida proporciona la funcionalidad de error estándar .
Devuelve los datos que este VI Express adquiere del dispositivo seleccionado utilizando los ajustes que especifique en el cuadro de diálogo de configuración. Puede convertir esta salida en una forma de onda o en una matriz unidimensional de formas de onda (una por canal) utilizando la función Convertir de datos dinámicos .
Este primer elemento fue el principal para la elaboración del programa, pues adquiere el sonido a partir de micrófonos. Figura 4.
Figura 4 Acquire Sound.
Posteriormente de la salida del parámetro Data, se conecta a la entrada del bloque
Tone Measurements.
TONE MEASUREMENTS Ubicado en Express > Signal Analysis > Tone. Encuentra el tono único con la amplitud más alta o busca un rango de frecuencia especificado para encontrar el tono único con la amplitud más alta. También puede encontrar la frecuencia y la fase para un solo tono.
Tabla 3 Opciones del cuadro de diálogo
Parámetro Descripción Single Tone Contiene las siguientes opciones: Measurements Ampl itud - Calcula la amplitud del tono único detectado •
(Medidas de un sol o tono)
•
•
en el pico de voltios (Vp). Frecuencia -Calcula la frecuencia del tono solo detectado en Hertz. Fase -Calcula la fase del tono único detectado en grados.
Search for Specific Busca una frecuencia específica en el tono. Contiene las Frequency siguientes opciones: Frecuencia aproximada (Hz) - Frecuencia central para (Búsqueda de usar en la búsqueda de dominio de frecuencia para el tono Frecuencia único. El valor predeterminado es 10. Esta opción sólo Específica) está disponible si coloca una marca de verificación en la casilla de verificación Buscar frecuencias específicas . Búsqueda (+/-% de freq. Aprox.) -Ancho de frecuencia, •
•
como porcentaje de la frecuencia de muestreo, para la búsqueda del dominio de frecuencias para la frecuencia de un solo tono. El valor predeterminado es 5. Esta opción sólo está disponible si coloca una marca de verificación en la casilla de verificación Buscar frecuencias específicas .
Results
Muestra las medidas que configuró este VI Express para realizar y los valores calculados de esas mediciones. Puede hacer clic en cualquier medida enumerada en la columna Medición y el valor o gráfico correspondiente aparecerá en el gráfico Vista previa del resultado .
(Resultados)
Input Signal (Señal de entr ada) Result Preview (Vista previa resultado)
Approximate frequency
Muestra la señal de entrada. Si envía datos al VI expreso y lo ejecuta, la señal de entrada muestra datos reales. Si cierra y vuelve a abrir el VI Express, la señal de entrada muestra datos de ejemplo hasta que vuelva a ejecutar el VI expreso.
Muestra una vista previa de la medición. El gráfico de previsión de resultados indica el valor de la medición del seleccionada con una línea punteada. Si envía datos al VI expreso y ejecuta el VI, la vista previa del resultado muestra datos reales. Si cierra y vuelve a abrir el VI Express, la Vista previa de resultados muestra los datos de ejemplo hasta que vuelva a ejecutar el VI. Si los valores de frecuencia de corte no son válidos, la Vista previa de resultados no muestra datos válidos. Frecuencia central para usar en la búsqueda de dominio de frecuencia para el tono único. El valor predeterminado es 10. Esta opción sólo está disponible si coloca una marca de
Frecuencia aproximada (Hz)
verificación en la casilla de verificación Buscar frecuencias específicas .
Tabla 4 Entradas del diagrama de bloques
Parámetro Descripción Signals Contiene la señal o señales de entrada. (Señales) Describe las condiciones de error que se producen antes de ejecutar este Error in nodo.
(error en) Tabla 5 Salidas del diagrama de bloques
Parámetro
Descripción
Ampl itude
Devuelve la amplitud del tono único detectado en el pico de voltios (Vp).
(Amplitud) Frequency
Devuelve la frecuencia del tono solo detectado en Hertz.
(Frecuencia) Phase
Devuelve la fase del solo tono detectado en grados.
(Fase) Error out (error)
Contiene información de error. Esta salida proporciona la funcionalidad de error estándar .
Dentro de las propiedades se estableció en Single Tone Measurements la casilla de Frequency y a su salida se colocó un Waveform Graph (ubicado en Frontal Panel click derecho > Graph > Waveform Graph), para poder visualizar la frecuencia de entrada en forma de onda, así como un Numeric Indicator (ubicado en Frontal Panel click derecho > Numeric > Numeric Indicator) para visualizar en forma numérica. Figura 5.
Figura 5 Bloque Tone Measurements donde en el parámetro Frequency se agregan un Waveform Graph y un Numeric Indicator.
A su vez el parámetro Data del bloque Acquire Sound se conecta a los filtros (Filters).
FILTERS Ubicado en Express > Signal Analysis > Filter. Filtra una señal de tiempo utilizando un filtro de respuesta de impulso infinita (IIR) o filtro de respuesta de impulso finito (FIR). Utilizar este paso elimina o atenua las frecuencias no deseadas de una señal utilizando varios tipos de filtro estándar y topologías. El paso restablece la señal a su valor original la primera vez que se ejecuta el paso. El VI Express restablece la señal a su valor original la primera vez que se ejecute el VI Express, si LabVIEW detecta una discontinuidad en la señal de entrada, o si la entrada de reinicio recibe un valor TRUE.
Tabla 6 Propiedades del bloque Filter
PARÁMETRO Input Signals (Señales de entrada) Autoscal e Ampl itude
DESCRIPCIÓN Muestra la señal de entrada al filtro.
A escala automática el gráfico de vista previa a lo largo del eje y. El valor predeterminado es la escala automática de la amplitud.
(Amplitud de escala automática) Displayed Signal Especifica la (s) señal (es) que se mostrarán en el (los) gráfico (s) (Señal visualizada)
de vista previa. Esta opción sólo aparece cuando selecciona un grupo de señales para la entrada.
Nota Si las señales de entrada incluyen valores escalares que dependen de los valores de las señales de la forma de onda de entrada, no puede especificar que se muestren todas las señales en el (los) gráfico (s) de vista previa.
Output Signals (Señales de salida) Input (Entrada) Configuration (Configuración)
Muestra la señal filtrada.
La siguiente opción se aplica al paso LabVIEW Signal Express: Señal de entrada - Específica la señal de entrada al filtro. •
Contiene la siguiente opción: •
Especificaciones del filtro - Contiene las siguientes opciones: •
Modo - Específica el modo de filtro que se va a utilizar. Puede opciones: •
una
de
las
siguientes
Filtro IIR - Específica un filtro IIR, que es un filtro
digital recursivo con respuesta de impulso infinita. Los filtros IIR funcionan con valores de entrada, actuales y pasados y valores de salida actuales y pasados. Los filtros IIR pueden alcanzar el mismo nivel de atenuación que los filtros FIR pero con menos coeficientes. Por esta razón, los filtros IIR pueden ser más rápidos y eficientes que los filtros FIR. Filtro FIR - Específica un filtro FIR, que es un filtro digital con respuesta de impulso finito. Los filtros FIR funcionan sólo con valores de entrada actuales y pasados. Debido a que un filtro FIR no depende de salidas pasadas, la respuesta de impulso decae a cero en un tiempo finito. Utilice filtros FIR para aplicaciones que requieren respuestas de fase lineal. Tipo - Específica el tipo de filtro que se va a utilizar. Puede seleccionar una de las siguientes opciones: Lowpass - (Predeterminado) Pasa las frecuencias bajas y atenúa las frecuencias altas. •
•
seleccionar
•
•
frecuencias bajas. Paso de banda : Pasa una banda determinada de frecuencias. Utilice los campos Low cutoff (Hz) y High cuto ff (Hz) para especificar la banda. Bandstop - Atenúa una cierta banda de cutoff frecuencias. Utilice los campos Low (Hz) y High cuto ff (Hz) para especificar la banda. Topología - [Modo: Filtro IIR] Especifica el tipo de diseño de un filtro IIR. Puede seleccionar una de las siguientes opciones: Off - No filtra la señal. Butterworth - (Predeterminado) Aplica un filtro Butterworth a la señal. Los filtros de Butterworth tienen una respuesta de frecuencia lisa y monótonamente decreciente . Chebyshev -Aplica un filtro Chebyshev a la señal. Los filtros de Chebyshev pueden lograr una transición más nítida entre la banda de paso y la banda de parada con un filtro de orden inferior que los filtros de Butterworth. Invertido Chebyshev -Aplica un filtro Chebyshev Inverso a la señal. Los filtros inversos Chebyshev son similares a los filtros Chebyshev, pero distribuyen el error sobre la banda de interrupción en lugar de la banda de paso y son máximamente planos en la banda de paso en lugar de la banda de parada. Elíptico -Aplica un filtro elíptico a la señal. Los filtros elípticos minimizan el error máximo distribuyéndolo sobre la banda de paso y la banda de parada. Los filtros elípticos proporcionan la transición más nítida entre la banda de paso y la banda de parada. Bessel -Aplica un filtro de Bessel a la señal. Los filtros de Bessel tienen una respuesta plana máxima tanto en magnitud como en fase. Puede utilizar filtros Bessel para reducir la distorsión de fase no lineal inherente a todos los filtros IIR. Orden - [Modo: filtro IIR] Determina el orden de un filtro IIR, que debe ser mayor que cero. El valor predeterminado es 2. Aumentar el valor de Orden hace que la transición entre la banda de paso y la banda de parada se vuelva más pronunciada. Sin embargo, a medida que aumenta el valor de Orden , la velocidad de procesamiento se hace más lenta, y el número de puntos distorsionados al comienzo de la señal aumenta. •
•
•
•
•
•
•
•
•
•
Highpass –Pasa frecuencias altas y atenúa las
•
•
•
•
•
Número de taps - [Modo: filtro FIR] Especifica el número total de coeficientes FIR que debe ser mayor que cero. El valor predeterminado es 49. Aumentar el valor de los grifos hace que la transición entre la banda de paso y la banda de parada se vuelva más pronunciada. Sin embargo, a medida que aumenta el valor de Número de grifos, la velocidad de procesamiento se hace más lenta. Cutoff (Hz) - [Tipo: Lowpass, Highpass] Especifica la frecuencia de corte del filtro cuando se selecciona un tipo de filtro Lowpass o Highpass. El valor predeterminado es 100 Hz. Corte baja (Hz) - [Tipo: Paso de banda] Especifica la frecuencia de corte más baja cuando se selecciona un paso de banda o Parabanda tipo de filtro. El valor predeterminado es 100 Hz. Alta corte (Hz) - [Tipo: Paso de banda, Parabanda] Especifica la frecuencia de corte más alta cuando se selecciona un paso de banda o Parabanda tipo de filtro. El punto de corte alto (Hz) debe ser mayor que el punto de corte bajo (Hz) y observar el criterio de Nyquist. El valor predeterminado es 200 Hz. Filter Magnitude Response (dB): muestra la respuesta de magnitud del filtro que especifique.
Se colocaron dos filtros a la entrada de Signal, donde sus propiedades fueron de Bandpass con Low cutoff (Hz) y High cutoff (Hz) de 50 y 150 respectivamente, donde este filtro será para el encendido del led rojo, Figura 6. A su vez el otro filtro será Bandpass también con una frecuencia baja y alta de corte de 300 a 350 respectivamente, donde encenderá el led verde. Cada filtro mantiene los valores previamente establecidos (Filtro IIR con topología Butterworth con orden 3). La salida de la señal filtrada entrará en el bloque de Tone Measurements (mencionado anteriormente) en Signals; en la cual se seleccionó la propiedad Frequency y Amplitude. De la salida de Frequency se conectará a las funciones de comparación.
Figura 6 Conexión de los bloques Acquire Sound, Filters y Tone Measurements.
FUNCIONES DE COMPARACIÓN Utilice las funciones Comparación para comparar valores booleanos, cadenas, valores numéricos, matrices y clústeres. Las funciones de comparación tratan valores booleanos , de cadena, numéricos, de matriz y de clúster de forma diferente. También puede utilizar las funciones Comparación para comparar caracteres. Puede cambiar el modo de comparación de algunas funciones de comparación.
Tabla 7 Tipos de comparaciones
OBJETO DE PALETA Comparison
DESCRIPCIÓN Compara los elementos de entrada especificados para determinar si los valores son iguales, mayores que, menores que, y así sucesivamente.
(Comparación) Decimal Digit?
Devuelve TRUE si char representa un dígito decimal que va de 0 a 9. Si char es una cadena, esta función utiliza el primer carácter de la cadena. Si char es un número, esta función lo interpreta como el valor ASCII de un carácter. Si char es un número de coma flotante, esta función redondea al entero más cercano. De lo contrario, esta función devuelve FALSE.
(¿Dígito decim al?)
Empty Array
Devuelve TRUE si la matriz de entrada está vacía. De lo contrario, esta función devuelve FALSE.
(Matriz vacía) Empty String/Array? ¿Cadena / ruta vacía? Equal to 0? ¿Igual a 0? Equal? ¿Igual? Fixed-point Overflow ?
Devuelve TRUE si string / path es una cadena vacía o una ruta vacía .De lo contrario, esta función devuelve FALSE. Devuelve TRUE si x es igual a 0. De lo contrario, esta función devuelve FALSE. Devuelve TRUE si x es igual a y. De lo contrario, esta función devuelve FALSE. Puede cambiar el modo de comparación de esta función.
Devuelve TRUE si FXP incluye un estado de desbordamiento y FXP es el resultado de una operación de que se desbordó. De lo contrario, esta función devuelve FALSE.
¿Desbordamiento punto fijo? Greater or Equal to 0? ¿Mayor o igual a 0? Grater or Equal? ¿Mayor o igual? Greater tan 0? ¿Mayor de 0? Greater Mayor Hex Digit Dígito hex
Devuelve TRUE si x es mayor o igual a 0. De lo contrario, esta función devuelve FALSE. Devuelve TRUE si x es mayor o igual que y. De lo contrario, esta función devuelve FALSE. Puede cambiar el modo de comparación de esta función. Devuelve TRUE si x es mayor que 0. De lo contrario, esta función devuelve FALSE. Devuelve TRUE si x es mayor que y. De lo contrario, esta función devuelve FALSE. Puede cambiar el modo de comparación de esta función. Devuelve TRUE si char representa un dígito hexadecimal que va de 0 a 9, de A a F o de a a f. Si char es una cadena, esta función utiliza el primer carácter de la
cadena. Si char es un número, esta función lo interpreta como el valor ASCII de un carácter. Si char es un número de coma flotante, esta función redondea al entero más cercano. De lo contrario, esta función devuelve FALSE.
In Range and Coerce En Rango y Coerce
Less or equal to 0? ¿Menor o igual a 0? Les sor Equal? ¿Menor o igual? Less than 0? ¿Menos de 0? Less? ¿Menos? Lexical Class Clase léxica Max & Min Máximo mi nimo
Determina si x se encuentra dentro de un rango especificado por las entradas de límite superior e inferior y, opcionalmente, obliga al valor a que caiga dentro del rango. La función realiza la coerción sólo en el modo. Esta función acepta valores de sello de tiempo si todas las entradas son valores de sello de tiempo. Puede cambiar de comparación de esta función. Devuelve TRUE si x es menor o igual a 0. De lo contrario, esta función devuelve FALSE. Devuelve TRUE si x es menor o igual que y. De lo contrario, esta función devuelve FALSE. Puede cambiar el modo de comparación de esta función. Devuelve TRUE si x es menor que 0. De lo contrario, esta función devuelve FALSE. Devuelve TRUE si x es menor que y. De lo contrario, esta función devuelve FALSE. Puede cambiar el modo de comparación de esta función. Devuelve el número de clase para char Si char es una cadena, esta función utiliza el primer carácter de la cadena. Si char es un número, esta función lo interpreta como el valor ASCII de un carácter. Compara x e y y devuelve el valor mayor en el terminal de salida superior y el valor menor en el terminal de salida inferior. Esta función acepta valores de sello de tiempo si todas las entradas son valores de sello de tiempo. Si las entradas son valores de marca de tiempo, la función devuelve el tiempo posterior en la parte superior y la hora anterior en la parte inferior. Puede cambiar el modo de comparación de esta función.
Not A Devuelve TRUE si number / path / refnum no es un Number/Path/Refnum? número ( NaN ), , o no un refnum. De lo contrario, esta función devuelve FALSE.
No es un número / rut a / Refnum? Devuelve TRUE si x no es igual a 0. De lo contrario, esta Not equal to 0? función devuelve FALSE.
¿No es igual a 0?
Not equal? ¿No es ig ual? Octal Digit? ¿Dígito octal?
Printable? ¿Imprimible?
Select Seleccionar White Space? ¿Espacio blanco?
Devuelve TRUE si x no es igual a y . De lo contrario, esta función devuelve FALSE. Puede cambiar el modo de comparación de esta función. Devuelve TRUE si char representa un dígito octal que va de 0 a 7. Sichar es una cadena, esta función utiliza el primer carácter de la cadena.Si char es un número, esta función lo interpreta como el valor ASCII de un carácter. Si char es un número de coma flotante, esta función redondea al entero más cercano. De lo contrario, esta función devuelve FALSE. Devuelve TRUE si char representa un carácter ASCII imprimible. Si char es una cadena, esta función utiliza el primer carácter de la cadena. Si char es un número, esta función lo interpreta como el valor ASCII de un carácter. S char es un número de coma flotante, esta función redondea al entero más cercano. De lo contrario, esta función devuelve FALSE. Devuelve el valor conectado a la entrada t o entrada f , dependiendo del valor de s . Si s es TRUE, esta función devuelve el valor atado a t . Si s es FALSE, esta función devuelve el valor atado a f . Devuelve TRUE si el carácter representa un carácter de espacio en blanco, como Espacio, Tabulación, Nueva línea, Retorno de carro, Alimentación de formulario o Ficha vertical. Si char es una cadena, esta función utiliza el primer carácter de la cadena. Si char es un número, esta función lo interpreta como el valor ASCII de un carácter. Si char es un número de coma flotante, esta función redondea al entero más cercano. De lo contrario, la función devuelve FALSE.
A la salida de Frequency del bloque Tone Measurements se conecta a un comparador
Greater or Equal? en la parte de y, y en la parte de x se crea una constante de 50. La salida de esta comparación se conecta al Selector <>> de la estructura CASE, la cual es la condición para seleccionar el subdiagrama a ejecutar; actuando como una sentencia IF…THEN…ELSE. Entrando a la primera condición, en la cual si resulta VERDADERA, pasará a la otra comparación donde se usa Less or Equal?, con 150 en x, la cual su salida será la condición para otra estructura CASE. Dentro de esta última estructura CASE, se encontrará el VALUE (Click dercho del led indicador > Create > Property Node > Value) del led indicador rojo a encender con el valor TRUE.
Será el mismo caso para la salida del filtro, donde esta vez será mayor o igual a 300 y menor o igual a 350, que encenderá al led indicador verde. Cabe mencionar que los dos leds indicadores estarán apagados con constantes en
FALSE. Esta descripción se muestra en la Figura 7.
Figura 7 Estructuras Case Anidados.
No se crea una estructura WHILE, puesto que ese ciclo se repetirá demasiadas veces hasta su detención y el micrófono no será capaz de transmitir una única señal. Se corre el programa y sus resultados fueron los siguientes, mostrados en las siguientes figuras.
Figura 8 Panel frontal de la interfaz del reconocimiento de voz.
Figura 9 Visualización del programa con el led indicador rojo encendido.
Figura 10 Visualización del programa con el led indicador verde encendido.
CONCLUSIONES
En esta parte, utilizando los filtros digitales con los auriculares manos libres, se obtuvo un resultado muy inusual debido a que no reconocía completamente la voz, y se alternaba su encendido de forma aleatoria. Es de esta que se realizaron las pruebas con los micrófonos internos de un ordenador, donde las pruebas si fueron las necesarias para la realización del programa, puesto que alcanzaba una frecuencia mínima de 140 Hz hasta mayores a los 500 Hz. Una observación, fue le hecho de que los filtros pasabanda tenían una tolerancia y no llegaban hasta los Hercios establecidos, llegaban con 50 a 70 Hz para realizar la operación. Este tipo de filtros resulta más práctico y con menores errores para ejecutar el mecanismo requerido dentro de un sistema, es por tanto que requiere cierta frecuencia que sea constante para poder activarla. Por otro lado al utilizar los filtros analógicos de manera física, se podrían obtener errores de operación y el cambio de componentes cuando su tiempo de vida se haya terminado. Es por eso que dentro de una zona industrial o comercial, es necesario utilizar este tipo de filtros para obtener una mayor calidad tanto del producto y/o servicio que se vaya a ejecutar.