matlab sfi,Construct signed fixed-point numeric object

sfi

Construct signed fixed-point numeric object

Syntax

a = sfi

a = sfi(v)

a = sfi(v,w)

a = sfi(v,w,f)

a = sfi(v,w,slope,bias)

a = sfi(v,w,slopeadjustmentfactor,fixedexponent,bias)

Description

You can use the sfi constructor function

in the following ways:

a = sfi is the default constructor

and returns a signed fi object with no value, 16-bit

word length, and 15-bit fraction length.

a = sfi(v) returns a signed fixed-point

object with value v, 16-bit word length, and best-precision

fraction length.

a = sfi(v,w) returns a signed

fixed-point object with value v, word length w,

and best-precision fraction length.

a = sfi(v,w,f) returns a signed

fixed-point object with value v, word length w,

and fraction length f.

a = sfi(v,w,slope,bias) returns

a signed fixed-point object with value v, word

length w, slope, and bias.

a = sfi(v,w,slopeadjustmentfactor,fixedexponent,bias) returns

a signed fixed-point object with value v, word

length w, slopeadjustmentfactor, fixedexponent,

and bias.

fi objects created by the sfi constructor

function have the following general types of properties:

These properties are described in detail in fi Object Properties in

the Properties Reference.

Note

fi objects created by the sfi constructor

function have no local fimath.

Data Properties

The data properties of a fi object are always

writable.

bin — Stored integer value

of a fi object in binary

data — Numerical real-world

value of a fi object

dec — Stored integer value

of a fi object in decimal

double — Real-world value

of a fi object, stored as a MATLAB® double

hex — Stored integer value

of a fi object in hexadecimal

int — Stored integer value

of a fi object, stored in a built-in MATLAB integer

data type. You can also use int8, int16, int32, int64, uint8, uint16, uint32,

and uint64 to get the stored integer value of a fi object

in these formats

oct — Stored integer value

of a fi object in octal

These properties are described in detail in fi Object Properties.

fimath Properties

When you create a fi object with the sfi constructor

function, that fi object does not have a local

fimath object. You can attach a fimath

object to that fi object if you do not want to use the default

fimath settings. For more information, see fimath Object Construction.

fimath — fixed-point math

object

The following fimath properties are always

writable and, by transitivity, are also properties of a fi object.

CastBeforeSum — Whether

both operands are cast to the sum data type before addition

Note

This property is hidden when the SumMode is

set to FullPrecision.

OverflowAction — Action

to take on overflow

ProductBias — Bias of the

product data type

ProductFixedExponent — Fixed

exponent of the product data type

ProductFractionLength —

Fraction length, in bits, of the product data type

ProductMode — Defines how

the product data type is determined

ProductSlope — Slope of

the product data type

ProductSlopeAdjustmentFactor —

Slope adjustment factor of the product data type

ProductWordLength — Word

length, in bits, of the product data type

RoundingMethod — Rounding

method

SumBias — Bias of the sum

data type

SumFixedExponent — Fixed

exponent of the sum data type

SumFractionLength — Fraction

length, in bits, of the sum data type

SumMode — Defines how the

sum data type is determined

SumSlope — Slope of the

sum data type

SumSlopeAdjustmentFactor —

Slope adjustment factor of the sum data type

SumWordLength — The word

length, in bits, of the sum data type

These properties are described in detail in fimath Object Properties.

numerictype Properties

When you create a fi object, a numerictype object

is also automatically created as a property of the fi object.

numerictype — Object containing all

the data type information of a fi object, Simulink® signal

or model parameter

The following numerictype properties are,

by transitivity, also properties of a fi object.

The properties of the numerictype object become

read only after you create the fi object. However,

you can create a copy of a fi object with new values

specified for the numerictype properties.

Bias — Bias of a fi object

DataType — Data type category

associated with a fi object

DataTypeMode — Data type

and scaling mode of a fi object

FixedExponent — Fixed-point

exponent associated with a fi object

SlopeAdjustmentFactor —

Slope adjustment associated with a fi object

FractionLength — Fraction

length of the stored integer value of a fi object

in bits

Scaling — Fixed-point scaling

mode of a fi object

Signed — Whether a fi object

is signed or unsigned

Signedness — Whether a fi object

is signed or unsigned

Note

numerictype objects can have a Signedness of Auto,

but all fi objects must be Signed or Unsigned.

If a numerictype object with Auto Signedness is

used to create a fi object, the Signedness property

of the fi object automatically defaults to Signed.

Slope — Slope associated

with a fi object

WordLength — Word length

of the stored integer value of a fi object in bits

For further details on these properties, see numerictype Object Properties.

Examples

Note

For information about the display format of fi objects,

refer to Display Settings.

For examples of casting, see Cast fi Objects.

Example 1

For example, the following creates a signed fi object

with a value of pi, a word length of 8 bits, and

a fraction length of 3 bits:

a = sfi(pi,8,3)

a =

3.1250

DataTypeMode: Fixed-point: binary point scaling

Signedness: Signed

WordLength: 8

FractionLength: 3

Default fimath properties are associated

with a. When a fi object does

not have a local fimath object, no fimath object

properties are displayed in its output. To determine whether a fi object

has a local fimath object, use the isfimathlocal function.

isfimathlocal(a)

ans =

0

A returned value of 0 means the fi object

does not have a local fimath object. When the isfimathlocal function

returns a 1, the fi object has

a local fimath object.

Example 2

The value v can also be an array:

a = sfi((magic(3)/10),16,12)

a =

0.8000 0.1001 0.6001

0.3000 0.5000 0.7000

0.3999 0.8999 0.2000

DataTypeMode: Fixed-point: binary point scaling

Signedness: Signed

WordLength: 16

FractionLength: 12

Example 3

If you omit the argument f, it is set automatically

to the best precision possible:

a = sfi(pi,8)

a =

3.1563

DataTypeMode: Fixed-point: binary point scaling

Signedness: Signed

WordLength: 8

FractionLength: 5

Example 4

If you omit w and f, they

are set automatically to 16 bits and the best precision possible,

respectively:

a = sfi(pi)

a =

3.1416

DataTypeMode: Fixed-point: binary point scaling

Signedness: Signed

WordLength: 16

FractionLength: 13

Extended Capabilities

C/C++ Code Generation

Generate C and C++ code using MATLAB® Coder™.

Usage notes and limitations:

All properties related

to data type must be constant for code generation.

HDL Code Generation

Generate Verilog and VHDL code for FPGA and ASIC designs using HDL Coder™.

Introduced in R2009b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值