Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Punto Fijo Vs Flotante (Rane)

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

RaneNote

Punto fijo vs coma flotante-dsp

Introducción
Una creencia popular es que para aplicaciones de audio profesional, los DSP de coma

flotante son mejores que los DSP de punto fijo - que depende, como se puede aprender. Sigue

leyendo para ver por qué se le puede pagar demasiado y recibiendo muy poco cuando se trata
De punto fijo frente de punto flotante DSP de comprar Sors procesiones de señal DSP.

para audio superior


Una gran cantidad de confusión abunda en la industria de audio a través de la emisión de

• Gama dinámica los componentes internos del DSP. Cosas como: “Nuestra caja utiliza 32 bits chips DSP de

coma flotante, mientras que su caja sólo utiliza chips DSP de coma fija de 24 bits. Obviamente

• Ajuste de ganancia adecuado 32 es mejor que 24.”Obviamente - si no conoce los hechos. Lo que no es señalar el “resto de la

historia”, que es que la caja DSP de coma fija de 24 bits puede OP erate en modo “doble

• Herramienta adecuada para el trabajo adecuado precisión”, por lo que es una caja de 48 bits. Y en este caso, 48 que realmente es mejor que 32,

sólo que tiene poco que ver con el tamaño. Con la tecnología actual, tanto de punto fijo y punto

flotante pueden ser iguales si se eligen correctamente.

Desde punto fijo es el más elegido, vamos a comenzar con la forma en que puede ser

superior a la de punto flotante. Aquí está el resu- men ejecutivo de por qué los DSP de punto

fijo pueden hacer de audio superior:

1. Menos rango dinámico (sí, en los DSP utilizados para el audio, esto puede ser una

característica).

2. Haga doble precisión capaces de procesamiento de 48 bits.

3. flexibilidad de programación que puede garantizar el comporta- miento adecuado en las

condiciones adversas que se presentan por medio de señales de audio

- verdaderamente uno de los fenómenos más extraños de la naturaleza.

4. Bajo consumo de potencia (hardware de punto flotante es más complicado que


el punto fijo; más transistores requieren más vatios).

Con esto dicho, vamos a retroceder y revisar algunas cosas.


Una comparación verdaderamente objetivo de arquitecturas DSP no es fácil; De
hecho, puede que no sea posible. Al final, es la aplicación y la habilidad del programador
de software que implementa la aplicación que determina el rendimiento de audio superior. Pero
la gente no quiere oír eso. Ellos quieren que la respuesta fácil. Todo el mundo busca la
Greg Duckett Terry palabra secreta, el número único que define la diferencia y hace que el pato desplegable
Pennington Rane y entregar un billete de $ 100 ( disculpas presentadas a todos los lectores que no han visto
Corporation el original

RaneNote 153 You Bet Your Life, NBC 1950-1961, programas de televisión organizados por Groucho Marx). Sin
Revisado 2005 embargo, la verdad es que no hay un solo número que cuantifica las diferencias. No es el
© 2002, 2005 Rane Corporation número de bits, la tasa MIPS o FLOPS, la velocidad del reloj, la arquitectura, o de una sola
cosa.
Dos tipos distintos de implementaciones DSP dominan las aplicaciones de audio
profesional: uno utiliza punto fijo procesamiento, mientras que el otro ofrece una punto
flotante solución. Ambos producen los mismos resultados bajo la mayoría de condiciones;
sin embargo, es la palabra “más” que crea la diferencia.

Fijo vs flotante DSPs-?


Mirando bajo el capó de un procesador de punto flotante IEEE de 32 bits y un procesadores escalar automáticamente los datos para mantenerla dentro de Opti gama
procesador de punto fijo de 24 bits revela que cada diseño DSP ofrece la misma madre. Aquí es donde radica el problema y por eso el punto fijo es mejor que la de punto
precisión de procesamiento de 24 bits - preci- sión no es la cuestión. La diferencia clave flotante para el audio. No es que el rango dinámico es el problema tanto como la escala
es que la implementación de coma fija ofrece doble precisión, mientras que las funciones automática en un rango de 1,500 dB que es el problema. De punto fijo, con sus 48 bits, le
de los dispositivos de punto flotante mayor rango dinámico. En los procesadores de coma da 288 dB de rango dinámico - lo suficiente para audio supe- rior - pero el programador
flotante escalar los datos aumenta el rango dinámico, pero la escala no mejora la tiene que escalar los datos con cuidado. programadores de punto flotante dejan que sea
precisión, y de hecho se degrada el rendimiento para aplicaciones de audio (más sobre el chip, pero, a menos que sean cuidadosos, lo que crea serios errores y artefactos de
esto más adelante). Y resulta que la fuerza del enfoque de punto fijo es la debilidad del ruido. Todo el salto sobre el hecho de la señal continua aumentando y la atenuación de
ing puntos Float-, dando punto fijo de una doble ventaja. bombeo puede producir ruidos molestos.

El beneficio es más evidente en baja frecuencia ing proceso- de audio. Esto es evangelistas de punto flotante alarde de su rango dinámico DSP como una ventaja,
importante ya que la mayoría de la energía en el audio se encuentra en las bandas de baja pero sólo muestra su debilidad. La especificación del rango dinámico de un chip DSP tiene
frecuencia ( música y voz tienen un aproximado característica 1 / f espectro, es decir, cada poco que ver con la gama dinámica total de producto acabado. El rango dinámico de la
duplicación de los resultados de frecuencia en una reducción a la mitad de la amplitud). La “caja” está limitada por el convertidor A / D en su entrada, en cierta medida sobre el
simple verdad es que la técnica de punto flotante lucha con gran amplitud, cálculos de baja tratamiento en el centro del dispositivo, de los cuales el chip DSP es una parte, y en el
frecuencia. De hecho, la construcción de un alto Q, filtro digital de baja frecuencia es difícil, convertidor D / A en La salida ( incluso sin convertidores de la salida de ambos tipos de
no importa qué método se utiliza, pero a fin de cuentas de punto fijo de doble precisión es DSP es una palabra de punto fijo de 24 bits). El rango dinámico de un chip DSP es la
superior al punto flotante de precisión simple. relación entre los números más grandes y más pequeñas que puede manejar. Si un
dispositivo DSP se divierte un rango dinámico anunciada de 1,500 dB reside tween BE- los
convertidores de entrada y la salida de los convertidores de su contribución a la gama
Para explicar a fondo, de una manera científica de ingeniería, las ventajas y desventajas dinámica global del producto se limita al rango dinámico de los convertidores. ¿Esto es
de las dos técnicas, ya que se refieren a la banda ancha aplicaciones de audio es un tema malo? No, no es en sí mismo.
muy complejo y está más allá del alcance de este artículo. Una comparación directa objetivo
implica una pendiente resbaladiza empinada de complejidades, ficaciones cualidades y
definiciones, todo lo necesario a fin de evitar las manzanas a error naranjas. Una tarea tan
desalentador ya que esto ya se ha hecho por el Dr. Andy Moorer [1] (Cofundador del Centro Lo que es malo acerca de un procesador de punto flotante con un rango dinámico de
de la Universidad de Stanford para la Investigación Informática en Música y Acústica, 1,500 dB es que las escalas de su gama de procesamiento basado en la amplitud de la señal
entonces director de tecnología de la Lucasfilm Droid Works, a continuación, co-fundador de de su tratar, pero cuando se trata de señales de amplitudes diferentes (es decir, real audio),
Sonic Solutions, y ahora Informático Senior en Adobe Systems) y se recomienda para el el escalado no puede ser optimizado para el resultado mixto. Cuando se trata de señales de
detalle curioso y matemáticamente valiente. El objetivo aquí es dibujar una ilustración audio que el instalador no puede simplemente ignorar las sutilezas de la configuración del
simplificada de los retos de audio que se enfrenta cada solución de DSP. (Véase el Vamos a sistema, ya que tienen un procesador de punto flotante en su caja.
ser preciso sobre este ... sección para un ejemplo más en profundidad matemáticamente
orientado camente - Lo siento, pero la matemática es todo lo que estamos tratando aquí).
En cuenta la situación de los mezcladores de audio: en un momento dado Mo- ment un

mezclador puede tener múltiples niveles presentes en sus múltiples puertos de entrada.

Entrada-1 podría tener una muestra de alto nivel para hacer frente a la entrada, mientras-2 tiene

un lugar muy bajo nivel, de entrada-3 en medio de sus límites superior e inferior y así

sucesivamente. Un chip DSP de coma flotante de 32 bits realiza una determinación acerca de la

Gama dinámica ventana apropiado en el que trabajar sobre una base de muestra por muestra, pero finalmente

rango dinámico más alto es mejor, ¿verdad? Del mismo modo que una menor distorsión representa sus cálculos de la misma manera 24 bits como punto de contraparte fija. Incluso en

es mejor y menor ruido es mejor. Se nos recuerda de una guía publicada ventas por un un simple procesador de niveles de señal estéreo de dos canales entre los canales, mientras
fabricante de equipo de alta fidelidad a mediados de los años setenta: Esta guía tenía un que es similar en el nivel promedio, pueden ser muy diferentes instantáneamente debido a las

“menos es mejor” y “más es mejor” acercamiento a las especificaciones del equipo. El autor de diferencias de fase.

ese mate- rial promocional se sorprendió al oír un reclamo audio fabricante de ese rango

dinámico más alto puede ser un problema. No obstante, es un hecho cuando se examina en Nada se gana mediante el uso de un dispositivo de punto flotante en una aplicación dio
relación con las capacidades de ultra-alto rango dinámico de los procesadores de coma flotante au- pero mucho se puede perder. No tiene el 48-bit de capacidad doble precisión de una
de 32 bits que se encuentran en algunos de los actuales procesadores de señal de audio DSP. solución de punto fijo, y se puede añadir artefactos ruidosos.

Como se mencionó anteriormente, ambos diseños DSP tienen una sor procesiones de 24 Importancia de Ajuste de ganancia adecuada
bits para las funciones principales. La técnica de punto fijo agrega doble precisión dándole La realidad es que siempre que tenemos precisión finita / gama diná- mica en los
capacidad de procesamiento de 48 bits, mientras que el diseño de punto flotante añade un convertidores y de DSP, el instalador hace el papel final y más importante en el mantenimiento
exponente de 8 bits. El exponente de 8 bits da la arquitectura de punto flotante una del proceso- correcta alineación ing ventana para una instalación determinada. colocado de
especificación de rango dinámico asombrosa de 1500 dB (8 bits = 256, y 2 256 es igual a forma incorrecta estructura de ganancia puede sobrecargar los procesadores de coma fija.
aproxima- damente 1.500 dB) que se utiliza para manipular una ventana de funcionamiento, Mientras que los DSP de coma ing Float- dan la flexibilidad para desajustarse el sistema
dentro de la cual opera su cerebro de 24 bits. Punto flotante (exceso de ganancia interna) y sin saturación interna notable, que

Fijo vs flotante DSPs-?


aún sufren las consecuencias no deseadas de la falta de alineación (por ejemplo, al tratar de La herramienta correcta para el trabajo correcto
mezclar dos canales de muy diferentes niveles de audio) que los procesadores de punto Si los dispositivos DSP de punto fijo son tan buenos, ¿por qué existen los DSP de coma
flotante no se puede arreglar. Ellos simplemente enmascaran el problema de la vista del flotante? pregunta bastante justo. Existen porque las aplicaciones DSP difieren ampliamente.
instalador. O, peor, producen aumento audible y molesto ruido de cuantificación cuando se Algunas de las aplicaciones más populares de coma flotante se encuentran en la física,
utilizan filtros por debajo de 100 Hz. En este sentido, los procesadores de punto fijo forzar al química, meteorol- gía, la dinámica de fluidos, reconocimiento de imágenes, modelado
instalador para mantener la ventana de procesamiento 144 dB por Evitar- saturación interna ing terremoto, la teoría de números, simulación de accidentes, el modelado de tiempo, y los
a través adecuada estructura de ganancia / configuración y así realizar el mantenimiento de la gráficos 3-D. Si está diseñando un procesador de imágenes, un procesador de radar, nada que
calidad general más fácil que las cajas basados ​en el procesador de coma flotante adecuados. ver con la astronomía, o un inversor de matriz matemática, la elección es claramente una
solución de punto flotante. Como siempre, la aplicación dicta la solución.

Precisión doble Lo que se requiere en un DSP de coma flotante para lograr un sonido superior? Aquí hay
El procesamiento de doble precisión de 48 bits se utiliza cuando se requieren constantes algunas bastante desagradables “si” necesarias para Float- ing puntos para superar a punto
de tiempo largos. Esto ocurre cuando los filtros de baja frecuencia están en el trabajo y cuando fijo: Si que es un procesador de coma flotante de 56 bits (es decir, 48 bits exponente mantisa y
compresores, expansores y ERS LIMIT- se utilizan con su relativamente lento de ataque y de 8 bits) o 32 bits con doble precisión (que requiere un gran acumulador), Si las partes
relajación. Si 24 bits son todos los que están disponibles cuando se requiere más precisión, los funcionan a la misma velocidad que la parte de punto fijo equivalente,
resultados son un problema. La función se comporta mal y el resultado es menos perjudicial

mala calidad de sonido. El peor resultado es amplifica Fier altavoz o daño debido a un cruce Si que utilizan el mismo poder, y Si que cuestan lo mismo, entonces se hace la elección.
DSP mal comportamiento, haciendo doble precisión una herramienta imprescindible para audio

superior. Otra posibilidad es que si los DSP de coma flotante evolucionan para ofrecer mucha más
potencia de procesamiento por el mismo precio (suficiente para superar la baja frecuencia, las

cuestiones de alto Q en cerámica firme-) y ofrecen un conjunto de chips periférico compatible,


Ejemplos y contraejemplos entonces esto podría inclinar la escalas, incluso si todavía ofrecen sólo un formato numérico
evangelistas de punto flotante les gusta usar un ejemplo donde el procesador está fijo de 32 bits.
configurado para 60 atenuación dB en la entrada y 60 dB de ganancia de maquillaje en la
salida. Dejando a un lado lo absurdo de este ejemplo fabricada, vamos a utilizar para hacer
nuestro punto fijo-es-mejor punto: añadir una segunda entrada de este ejemplo, con la Vamos a ser preciso sobre este ...
ganancia ajustada por la unidad, una señal de 0 dBu, que entra y configurar el procesador Un ejemplo es la mejor manera de explicar cómo se pierde preci- sión cuando los
para resumir estos dos canales en la salida y escuchar los resultados procesadores de coma flotante escalar datos. Suponga que tiene dos (es decir, decimal)

procesadores mítica 3 dígitos radix-10. Una de ellas es “punto fijo”, y uno es “de punto
- no te gusta lo que escuchas. flotante.” Por razones de simplicidad, este ejemplo utiliza sólo números enteros positivos. (En
Otro ejemplo revelador es cómo no se oye defensores de coma flotante hablan / los procesadores reales fijo o de punto flotante, los números son por lo general a escala para
comportamiento del filtro de alto Q de baja frecuencia. La próxima vez que aparezca la estar entre 0 y 1.)
oportunidad, configurar un filtro paramétrico cuadro de coma flotante para su uso como un filtro
de ranura con una frecuencia central de 50 Hz y un Q de 20. Primero escuche el aumento de El número más grande representado en precisión simple en el procesador de punto fijo
ruido de salida. Ahora ejecute un barrido de entrada de 20 Hz a 100 Hz y escuchar a todos los es de 999. Los cálculos que producen números mayores que 999 requieren precisión doble.
sonidos poco apetecible ese resultado. Los filtros de audio por debajo de unos 100 Hz Esto permite que los números hasta el 999.999.
requieren un procesamiento simultáneo de grandes números y los números pequeños - algo
DSP de punto fijo hacen mucho mejor que sus primos de punto flotante. Deje que el procesador de punto flotante utilizar 2 dígitos para el exponente, por lo que es

un procesador de 5 dígitos. Esto significa que tiene un rango dinámico de 0 a 999 x 10 99 = Numero

enorme. Para ver cómo esto a veces es un problema, comience con el exponente = 0. Esto
permite que el procesador de punto flotante única para representar los números hasta el 999
Libre de los Desarrolladores
El determinante real de la calidad de audio DSP es la habilidad de los programadores. - mismo que el diseño de precisión simple de punto fijo. Los cálculos que producen un
Deben diseñar algoritmos precisos y eficientes; mejor será su comprensión de las mayor número de 999 necesario aumentar el exponente de 0 a 1. Esto permite que los
matemáticas (veces- arcano), mejor es el algoritmo; mejor es el algoritmo, mejores serán los números hasta 9990. Sin embargo, Observe que el número más pequeño (mayor que
resultados. procesamiento de punto fijo proporciona una carga de responsabilidad a las cero) que se puede representar es 1 x 10 1 = 10, significan números entre 1-9 no pueden
manos del desarrollador. También ofrece una cantidad igual de flexibilidad. Un ingeniero con ser representados (ni 11-19, 21-29, 31-39, etc.). Incrementando de forma que el
talento y con una buena comprensión de exactamente lo que se requiere de un producto exponente y 3 sólo hace las cosas peores, pero se puede cubrir (casi) el mismo rango
DSP puede modelar todos los detalles de una función dada hasta el último bit. Esto no es así que el procesador de punto fijo (hasta 999.000); sin embargo el número más pequeño
con los diseños de punto flotante. Ellos ofrecen una facilidad de programa- ción que es ahora representado es 1 x 10 3 = 1000, números significado entre 1 y 999 no pueden ser
seductora, lo que los populares cuando el talento de ingeniería es limitada, pero no es la representados. Y el siguiente incremento es de 2 x 10 3 = 2000, es decir, el número
mejor opción. Por un lado, es más fácil de programar, pero por otro lado es menos representado saltos desde 1000 hasta 2000. Así que ahora los números entre 1001 y
controlados de forma que los resultados finales - y, como todos sabemos, eso es lo que es 1999 no pueden ser representados. Con exponente = 3, cada incremento en la mantisa
importante. de 1 resultados en un aumento en el número de 1000, y otro de 999 valores que no
pueden ser representados.

Fijo vs flotante DSPs-?


¿Es esto un problema tan grande como parece - Bueno, sí y no. Al principio parece
Muestra Las muestras de punto fijo resultados
que el procesador de punto flotante ha perdido la capacidad para representar un número
# resultados FloatingPoint
pequeño de todo el tiempo de cálculo, pero la escala ocurre en una por muestra base. La
1 0 0 0
pérdida de precisión sólo ocurre para las muestras individuales con nitud tud mayor que
999. Ahora usted podría pensar que todo está bien, porque el número es grande y no 2 799 799 799
necesita los valores en torno a cero. Pero algunas arrugas causan problemas. Cuando 3 1589 2308 2290
los cálculos implican números grandes y pequeños al mismo tiempo, la pérdida de 4 2364 4441 4420
precisión afecta el pequeño número y el resultado. Esto es especialmente importante en
5 3115 7112 7080
filtros de baja frecuencia u otros cálculos con constantes de tiempo largos. Otra arruga
6 3835 10236 10200
es que esto sucede de forma automática y más allá del control del programador. Si el
programador no emplea la cantidad adecuada de previsión, que podría ocurrir en un mal 7 4517 13729 13600
momento con resultados audibles. 8 5154 17510 17300
9 5739 21498 21200

Tabla 1: Resultados Entre flotante y punto fijo-Acumulación

En el caso de punto fijo, el programador debe cambiar de forma explícita a doble


¿Qué pasa con el procesador de punto flotante? Comience con exponente = 0. Los
precisión - no hay nada automático al respecto. El programador cambia a doble precisión
resultados son los siguientes: 0, 799, ... el siguiente número es demasiado grande, por lo que
en el inicio de la sección del programa que lo requieran y permanece allí hasta que el
aumentan el exponente de 1 ... 2290, 4420, etc. Tenga en cuenta que los valores de punto
trabajo está hecho.
flotante son más pequeñas de lo que deberían debido a la precisión limitada fuerza a los últimos

uno o dos dígitos a ser 0. es fácil ver que cada resultado tiene un error, y los errores se arrastran
Lo grande y lo pequeño
y se acumulan en los resultados. Algoritmos con constantes de tiempo largos, tales como filtros
Una y otra vez en el procesamiento DSP de audio se ejecuta en la misma aritmética
de baja frecuencia, son especialmente propensos a estos errores.
simple repetida una y otra vez: multiplicar un número por otro número y sumar el resultado
a un tercer número. A menudo, el resultado de esta multiplicación y suma es el punto de
partida para el siguiente cálculo, por lo que forma un total acumulado, o una acumulación,
También se dará cuenta de que los valores acumulados son cada vez más grandes que
de todos los resultados en el tiempo. Naturalmente, la adición de la muestra siguiente al
las muestras de entrada. La constante de tiempo larga en filtros de baja frecuencia significa
resultado anterior se denomina “acumulan” y se deduce que una multiplicación seguida de
que la acumulación ocurre durante un tiempo más largo y el valor acumulado permanece
una acumulan se llama un MAC. MAC son los más comunes de todas las operaciones
grande para un tiempo más largo. Cada vez que la señal de entrada es cercano a cero (al
realizadas en el DSP de audio, y los procesadores DSP suelen tener un hardware especial
menos una vez cada ciclo de una señal de audio típica), las muestras pueden ser lo
que realiza un MAC muy, muy rápidamente.
suficientemente pequeño que se pierden; debido a que el valor acumulado es grande, las

muestras caen totalmente fuera del rango de precisión del procesador de coma flotante y se

interpretan como cero. La doble precisión disponible en el procesador de punto fijo ayuda al
Como resultados se acumulan, los errores también se acumulan. A su vez, el total puede
programador para evitar estos problemas.
conseguir grandes en comparación con la muestra siguiente. Para mostrar esto en acción de

retorno a los procesadores míticos de 3 dígitos. Digamos que tenemos la serie de números que

se muestran en la fila etiquetada “muestras” en la Tabla 1; un aspecto extraño conjunto de


números, tal vez, pero que representa la primera parte de una simple onda sinusoidal.
Estudio adicional
Multiplicar el primer número por una constante pequeña (por ejemplo, 0.9) y añadir el resultado
El audio digital es un tema amplio y complejo con muchas sutilezas cuando se trata de
a la segunda número: 0 x 0,9 + 799 = 799. Multiplicar este resultado por 0,9 y añadirlo a la
procesamiento de señal superior. Un artículo sólo este corto toques algunas de las
tercera número: 799 x 0,9 + 1,589 = 2308. Y de nuevo: 2308 x
cuestiones importantes. Seleccionar- ing un solo libro de todas las posibilidades para su
recomendación para el estudio adicional es más fácil de lo que parece. Ese libro es John
0,9 + 2,364 = 4441. Continuar este patrón y se forma un filtro digital simple. Los
Watkinson de El arte de audio digital, 3ª ed. ( Focal Press ISBN 0-240-51587-0, Oxford,
resultados usando doble precisión de punto fijo se muestran en la fila etiquetada
Inglaterra, 2001). El título lo dice todo. Una de las mejores referencias de audio digitales que
“punto fijo” Resultados en la Tabla 1.
usted puede poseer.

referencias
1. Moorer, James A. (www.jamminpower.com) “48-bits de procesamiento de enteros Beats 32
bits de punto flotante para aplicaciones de audio profesional”, presentado en la
Convención 107 de la Audio Engineering Society, Nueva York, 24 de Septiembre -27 de
1999, sin imprimir con anticipación. 5038.

Corporation? 080? ? 7th Ave. W., Mukilteo WA 98? 75-5098 EE.UU. TEL ?? 5-? 55-6000 FAX ?? 5 - ?? 7-7757 WEB www.rane.com

Fijo vs flotante DSPs-? © Rane 13209 7-02

También podría gustarte