硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7247|回复: 10
收起左侧

[DSP] ARM官方DSP库的数据类型

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
发表于 2014-8-26 10:57:10 | 显示全部楼层 |阅读模式
  /**
   * @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;
回复

使用道具 举报

3

主题

24

回帖

33

积分

新手上路

积分
33
发表于 2018-7-11 15:49:37 | 显示全部楼层
这样来看q31 q15 q7只能是整数;这里的q跟数的定标有Q意义是否不同?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2018-7-12 03:30:26 | 显示全部楼层
confidentlin 发表于 2018-7-11 15:49
这样来看q31 q15 q7只能是整数;这里的q跟数的定标有Q意义是否不同?

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

使用道具 举报

1

主题

30

回帖

33

积分

新手上路

积分
33
发表于 2023-6-5 10:16:45 | 显示全部楼层
eric2013 发表于 2018-7-12 03:30
一样的
这个是定点,以整数的形式表示浮点数,方便没有FPU单元的单片机用

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2023-6-5 10:20:18 | 显示全部楼层
ldd69arm 发表于 2023-6-5 10:16
硬汉哥您好,我的数据类型是int32类型的,可以直接使用q31格式的函数嘛。按照您这个贴子是可以的是吧。谢 ...

直接带入到浮点API里面使用即可。
回复

使用道具 举报

1

主题

30

回帖

33

积分

新手上路

积分
33
发表于 2023-6-5 15:20:26 | 显示全部楼层
eric2013 发表于 2023-6-5 10:20
直接带入到浮点API里面使用即可。

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2023-6-5 17:29:56 | 显示全部楼层
ldd69arm 发表于 2023-6-5 15:20
硬汉哥,可以使用Q31的格式嘛?
typedef int32_t q31_t;
我看有这个。

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

使用道具 举报

1

主题

30

回帖

33

积分

新手上路

积分
33
发表于 2023-6-6 13:48:46 | 显示全部楼层
eric2013 发表于 2023-6-5 17:29
这个是定点数,对应的浮点数范围是-1到1,你用这个方便的话,也行。

好的谢谢硬汉哥!
回复

使用道具 举报

1

主题

30

回帖

33

积分

新手上路

积分
33
发表于 2023-6-6 14:27:28 | 显示全部楼层
eric2013 发表于 2023-6-5 17:29
这个是定点数,对应的浮点数范围是-1到1,你用这个方便的话,也行。

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 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
回复

使用道具 举报

1

主题

30

回帖

33

积分

新手上路

积分
33
发表于 2023-6-7 13:54:42 | 显示全部楼层
eric2013 发表于 2023-6-7 09:39
Q格式是定点数,它的本意是用整数来计算浮点用的,优势是不支持硬件浮点的芯片,计算速度快点。

然后 ...

感谢硬汉哥的回复,谢谢已解决。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 21:33 , Processed in 0.256371 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表