What is the "net slope"

1 visualización (últimos 30 días)
MIN HOON
MIN HOON el 21 de Feb. de 2023
Comentada: MIN HOON el 3 de Mzo. de 2023
In matlab doc, there is only "handling net slope computation".
I want to know meaning of "net slope", not method of dealing with net slope like above I said.
So, let me know the "net slope" itself.
  2 comentarios
John D'Errico
John D'Errico el 21 de Feb. de 2023
Where? In which MATLAB doc, since there are thousands of pages of MATLAB docs?
I can start looking now, but I expect it to be weeks before I have read EVERY page of EVERY MATLAB doc.
MIN HOON
MIN HOON el 21 de Feb. de 2023
When I type "net slope" at Matlab doc search blank to find out information about net slope, there is no knoweledge about net slope itself. There are just usages of it.

Iniciar sesión para comentar.

Respuesta aceptada

Andy Bartlett
Andy Bartlett el 21 de Feb. de 2023
Editada: Andy Bartlett el 21 de Feb. de 2023
Net slope is used in fixed-point operations to achieve agreement of scaling. The slopes of all the variables involved in an operation are combined into one multiplicative term called the net slope.
For example, multiply two variables with 10 bits to the right of the binary point and assign the product to a type with 12 bits to the right of the binary point.
The real world operation is
Vout = V1 * V2
The fixed-point scalings for these variables showing the slopes and stored integers are
Vout = (2^-12) * Qout
V1 = (2^-10) * Q1
V1 = (2^-10) * Q2
Via substitution we get
(2^-12) * Qout = (2^-10) * Q1 * (2^-10) * Q2
solving for the output stored integer and conslidating terms, we will see the Net Slope
Qout = (2^(-10-10+12)) * Q1 * Q2
NetSlope = 2^(-10-10+12) = 2^-8
In this case, the NetSlope can be perfectly represented in fixed-point. In fact, a simple shift right of 8 bits will efficiently achieve agreement of all the scalings.
The NetSlope gets more challenging when it is not an exact power of two.
Suppose the two inputs and the output had slopes of 6, 4, and 9 respectively. In that case, we have
NetSlope = (6*4)/9 = 8/3
To avoid costly division, this will get approximated with a fixed-point variable such as
format long g
fi(8/3,0,16)
ans =
2.66668701171875 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 16 FractionLength: 14
The documentation of Rules of Arithmetic Operations gives more examples of computing net slopes
  4 comentarios
MIN HOON
MIN HOON el 23 de Feb. de 2023
Oh.. my ... god!!!
Thank you so~~~ much!!!! Andy!
Certainly, expert is different from ordinary people...
I'm not a guy in english culture, so it's hard to understand hidden meaning of any word.
They, just like you, always give me clearly and perfectly resolve my problem!
Thank you~!
MIN HOON
MIN HOON el 3 de Mzo. de 2023
Hello, Andy
I have one question in your example.
Why do we consider Qout instead of Vout?
Isn't Vout What we want to get finally?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Deployment, Integration, and Supported Hardware en Help Center y File Exchange.

Productos


Versión

R2015b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by