打印
[STM32F4]

请教stm32F4输出正弦波最高频率。。。

[复制链接]
4735|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
浪浪云|  楼主 | 2015-10-22 15:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手头编了一个定时器dac和dma输出的正弦波的小程序,但是只有定时器触发DAC频率可调,关于正弦波的频率好像没有看出来怎么控制,老板让我搞出来最高频率,关于这个有什么好的方案吗?(其他控制方案产生正弦波的当然也可以)各位大神
沙发
浪浪云|  楼主 | 2015-10-22 15:51 | 只看该作者
自己顶一个,,我是初学新手:lol

使用特权

评论回复
板凳
airwill| | 2015-10-23 00:09 | 只看该作者
DAC产生正弦波是比较简单的和稳定的。通常做个正弦波表。依次输出表中的数据就可以了。所以输出频率=DAC的频率/ 波表的点数

使用特权

评论回复
地板
yiyigirl2014| | 2015-10-23 08:48 | 只看该作者
正选表可以在程序中通过公式自动生成,还可以自动调整频率。

使用特权

评论回复
5
浪浪云|  楼主 | 2015-10-23 09:14 | 只看该作者
airwill 发表于 2015-10-23 00:09
DAC产生正弦波是比较简单的和稳定的。通常做个正弦波表。依次输出表中的数据就可以了。所以输出频率=DAC的 ...

好的谢谢,这样确实可以,但是受到DAC频率的限制(波表的点数怎么也得20个左右吧),有没有其他的方案提高正弦波的频率呢?

使用特权

评论回复
6
浪浪云|  楼主 | 2015-10-23 09:19 | 只看该作者
yiyigirl2014 发表于 2015-10-23 08:48
正选表可以在程序中通过公式自动生成,还可以自动调整频率。

谢谢,之前我做的都是参考的都是别人的波表,百度说好像得用Matlab生成,但是不会用那个,老板也说可以用公式生成,感觉不会是y=sinx这种吧?还有频率的问题是怎么通过公式调的?

使用特权

评论回复
7
yiyigirl2014| | 2015-10-23 09:36 | 只看该作者
浪浪云 发表于 2015-10-23 09:19
谢谢,之前我做的都是参考的都是别人的波表,百度说好像得用Matlab生成,但是不会用那个,老板也说可以用 ...

对,就是通过三角函数做,以前我做过,还是可以的。

使用特权

评论回复
8
yiyigirl2014| | 2015-10-23 09:40 | 只看该作者
最高频率就看DAC的转换速度了。跟这个转换速度有关,你可以用三角函数,设置按键控制函数的参数,比如频率,波幅等。

使用特权

评论回复
9
浪浪云|  楼主 | 2015-10-23 12:03 | 只看该作者
yiyigirl2014 发表于 2015-10-23 09:40
最高频率就看DAC的转换速度了。跟这个转换速度有关,你可以用三角函数,设置按键控制函数的参数,比如频率 ...

好的

使用特权

评论回复
10
309030106| | 2015-10-23 14:11 | 只看该作者
设置按键控制函数的参数,这个方法应该是可行的

使用特权

评论回复
11
lwsn| | 2015-10-23 15:22 | 只看该作者
DAC的转换频率有多高

使用特权

评论回复
12
gejigeji521| | 2015-10-25 15:42 | 只看该作者
设置按键控制函数的参数,这个方法应该是可行

使用特权

评论回复
13
lefeng| | 2015-10-26 20:53 | 只看该作者
一般都是用正弦波表做的吧

使用特权

评论回复
14
lwsn| | 2015-10-26 21:07 | 只看该作者
正弦波表怎么做,是有什么工具吗

使用特权

评论回复
15
米尔豪斯| | 2015-10-26 21:23 | 只看该作者
正弦波的函数是y=sin(x)
如果我们把正弦波的一个周期平均分成a分那么每一份的值b=2*pi/a,所以b0=0,b1=2*pi/a,b2=4*pi/a,……,b(a-1)=2*pi,把b0到b(a-1)代入到函数中就得到相应的正弦波表,a的大小代表正弦波的取样点,a越大正弦波越平滑

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

99

帖子

2

粉丝