pregunta de fixdt () de la función MATLAB

1

MATLAB tiene una función fixdt() que crea objetos que describen el tipo de datos de punto fijo o punto flotante. Así que si escribimos

a = fixdt(0,16,26)

MATLAB volverá

  NumericType with properties:

      DataTypeMode: 'Fixed-point: binary point scaling'
        Signedness: 'Unsigned'
        WordLength: 16
    FractionLength: 26
           IsAlias: 0
         DataScope: 'Auto'
        HeaderFile: ''
       Description: ''

Mi pregunta es si es posible tener un tipo de datos de punto fijo, con una longitud de fracción que exceda la longitud de la palabra. ¿La longitud de la fracción no representa la ubicación del punto binario de LSB? Estoy tratando de entender completamente qué representa exactamente un tipo de datos de longitud de palabra 16 con longitud de fracción 26. Muchas gracias por sus aportes!

    
pregunta Adeel

1 respuesta

2

Si bien esta es una pregunta marginal de EE, ya que la simulación de algoritmos de punto fijo es crucial para una gran cantidad de procesamiento de señales y control de desarrollo de firmware, debería poder encontrarlo fácilmente en la documentación de MATLAB.

La representación es la siguiente:

\ $ RealWorldValue = StoredInteger \ times 2 ^ {- FractionLength} \ $

Si FractionLength = 26 y word length = 16 y StoredInteger = 32767, entonces RealWorldValue es 0.00048826634884 (el valor máximo que se puede representar).

Puedes pensar en FractionLength como un exponente, pero implícito y no parte de la variable.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas