eric2013 发表于 2014-8-26 10:57:10

ARM官方DSP库的数据类型

/**
   * @brief 8-bit fractional data type in 1.7 format.
   */
typedef int8_t q7_t;

/**
   * @brief 16-bit fractional data type in 1.15 format.
   */
typedef int16_t q15_t;

/**
   * @brief 32-bit fractional data type in 1.31 format.
   */
typedef int32_t q31_t;

/**
   * @brief 64-bit fractional data type in 1.63 format.
   */
typedef int64_t q63_t;

/**
   * @brief 32-bit floating-point type definition.
   */
typedef float float32_t;

/**
   * @brief 64-bit floating-point type definition.
   */
typedef double float64_t;

confidentlin 发表于 2018-7-11 15:49:37

这样来看q31 q15 q7只能是整数;这里的q跟数的定标有Q意义是否不同?

eric2013 发表于 2018-7-12 03:30:26

confidentlin 发表于 2018-7-11 15:49
这样来看q31 q15 q7只能是整数;这里的q跟数的定标有Q意义是否不同?

一样的
这个是定点,以整数的形式表示浮点数,方便没有FPU单元的单片机用

ldd69arm 发表于 2023-6-5 10:16:45

eric2013 发表于 2018-7-12 03:30
一样的
这个是定点,以整数的形式表示浮点数,方便没有FPU单元的单片机用

硬汉哥您好,我的数据类型是int32类型的,可以直接使用q31格式的函数嘛。按照您这个贴子是可以的是吧。谢谢了

eric2013 发表于 2023-6-5 10:20:18

ldd69arm 发表于 2023-6-5 10:16
硬汉哥您好,我的数据类型是int32类型的,可以直接使用q31格式的函数嘛。按照您这个贴子是可以的是吧。谢 ...
直接带入到浮点API里面使用即可。

ldd69arm 发表于 2023-6-5 15:20:26

eric2013 发表于 2023-6-5 10:20
直接带入到浮点API里面使用即可。

硬汉哥,可以使用Q31的格式嘛?
typedef int32_t q31_t;
我看有这个。

eric2013 发表于 2023-6-5 17:29:56

ldd69arm 发表于 2023-6-5 15:20
硬汉哥,可以使用Q31的格式嘛?
typedef int32_t q31_t;
我看有这个。

这个是定点数,对应的浮点数范围是-1到1,你用这个方便的话,也行。

ldd69arm 发表于 2023-6-6 13:48:46

eric2013 发表于 2023-6-5 17:29
这个是定点数,对应的浮点数范围是-1到1,你用这个方便的话,也行。

好的谢谢硬汉哥!

ldd69arm 发表于 2023-6-6 14:27:28

eric2013 发表于 2023-6-5 17:29
这个是定点数,对应的浮点数范围是-1到1,你用这个方便的话,也行。

对这个还是有点疑问DSP提供了四种数据类型的API,其他的数据类型怎么使用这个API,比如我的数据类型是int16类型的或者uint16类型的。应该使用那个API呢

eric2013 发表于 2023-6-7 09:39:42

ldd69arm 发表于 2023-6-6 14:27
对这个还是有点疑问DSP提供了四种数据类型的API,其他的数据类型怎么使用这个API,比如我的数据类型是i ...

Q格式是定点数,它的本意是用整数来计算浮点用的,优势是不支持硬件浮点的芯片,计算速度快点。

然后你采样数据是整数的,直接带入浮点计算肯定是没问题的。带了Q31,Q15要注意定标问题。

定标问题怎么理解呢,就类似这个帖子,你一看就明白了

为什么定点DSP运算输出的时候容易出现结果为0的情况
https://www.armbbs.cn/forum.php?mod=viewthread&tid=95194

ldd69arm 发表于 2023-6-7 13:54:42

eric2013 发表于 2023-6-7 09:39
Q格式是定点数,它的本意是用整数来计算浮点用的,优势是不支持硬件浮点的芯片,计算速度快点。

然后 ...

感谢硬汉哥的回复,谢谢已解决。
页: [1]
查看完整版本: ARM官方DSP库的数据类型