硬汉嵌入式论坛

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

[硬件三角函数Cordic] 正弦函数构建问题

[复制链接]

6

主题

10

回帖

28

积分

新手上路

积分
28
发表于 2023-8-23 18:35:56 | 显示全部楼层 |阅读模式
通过数组构建不同参考信号时出现的结果不同的原因是啥
1.xrsin=0.01*sin(2*PI*120*i/300);图像如下(数组为300)截取部分(不正常)

下载 (2).png


2.xsin=0.07*sin(2*PI*60*i/300);图像如下(数组为300)截取部分(正常)

下载 (3).png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-8-24 00:59:20 | 显示全部楼层
你的 i  递增是多少,我用LUA小程序递增0.1测试了下,没问题

[Lua] 纯文本查看 复制代码
for i= 0, 300, 0.1 do                                   
    s = string.format("%f,", 0.01*math.sin(2*math.pi*120*i/300))
    print(s) 

    s1 = string.format("%f", 0.01*math.sin(2*math.pi*60*i/300))
    print(s1)  
                                  
    print_wave(s..s1)
    delayms(2)                                   
end


12.png


如果你的 i  递增是1的话,一个周期点太少,波形有点畸形

下载 (5).png



回复

使用道具 举报

6

主题

10

回帖

28

积分

新手上路

积分
28
 楼主| 发表于 2023-8-24 07:47:11 | 显示全部楼层
eric2013 发表于 2023-8-24 00:59
你的 i  递增是多少,我用LUA小程序递增0.1测试了下,没问题

[mw_shl_code=lua,true]for i= 0, 300, 0.1 ...

非常感谢,我的递增函数是1,可能是这个问题导致的。还有个问题希望您回复我下,我想在单片机将该波形进行存储且保证波形不产生畸形,有什么方法吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-8-24 09:44:24 | 显示全部楼层
gcpwd123 发表于 2023-8-24 07:47
非常感谢,我的递增函数是1,可能是这个问题导致的。还有个问题希望您回复我下,我想在单片机将该波形进 ...

定义个const数组,比如512个点

那么就是const float buf[512] = {具体的值都填入进来}

不产生畸形的话,递增小点,也就是每个周期对应的波形点数多点。
回复

使用道具 举报

6

主题

10

回帖

28

积分

新手上路

积分
28
 楼主| 发表于 2023-8-24 10:24:13 | 显示全部楼层
eric2013 发表于 2023-8-24 09:44
定义个const数组,比如512个点

那么就是const float buf[512] = {具体的值都填入进来}

好的 非常感谢 我尝试下
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 01:45 , Processed in 0.174154 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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