先楫半导体HPMicro
直播中

jf_12774624

未满1年用户 9经验值
私信 关注
[问答]

用hpm_math库算出来sin值为0

这是我求sin的代码:

typedef float fft_type_t;
typedef float FFT_BUF_TYPE;

float mysin(float x)
{
    ffa_q31_t test_buf[1];
    FFT_BUF_TYPE test_conversion[1];
    ffa_q31_t ffa_buf[1];
    FFT_BUF_TYPE result[1];

    test_conversion[0] = x;
    hpm_dsp_convert_f32_q31(test_conversion,ffa_buf,1);
    test_buf[0] = hpm_dsp_sin_q31(ffa_buf[0]);
    hpm_dsp_convert_q31_f32(test_buf,result,1);
    return result[0];
}

不管x取何值,算出来sin的结果都是0,有大佬帮忙看下嘛

回帖(1)

番茄番茄

2023-12-6 18:42:02
根据你提供的代码,使用`hpm_math`库计算`sine`函数的值很简单。然而,代码中的某些类型和函数需要在`hpm_math`库中定义,所以我无法提供一个完整的实现。

不过,你可以按照以下步骤来使用`hpm_math`库计算`sine`函数的值:

1. 引入`hpm_math`库的头文件。例如:`#include "hpm_math.h"`。

2. 定义并初始化一个适当的变量`x`,该变量表示输入的角度。

3. 使用`hpm_dsp_sin_f32()`函数来计算`sine`函数的值。该函数接受一个`float`类型作为输入,并返回计算得到的`sine`值。

下面是一个简单的示例代码,展示了如何使用`hpm_math`库计算`sine`函数的值:

```c
#include "hpm_math.h"

float mysin(float x) {
    float result = hpm_dsp_sin_f32(x);
    return result;
}
```

请注意,上述示例代码中假设你已经正确配置了编译环境,并且可以通过编译并链接`hpm_math`库来调用`sine`函数。如果你遇到了任何问题,请确保正确配置了编译环境,并在编译器中添加了所需的库路径和库文件,以便能够正确使用`hpm_math`库。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分