打印

单片机实现正弦信号发生器问题,急!

[复制链接]
2877|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ivy_may|  楼主 | 2009-8-19 23:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问前辈们有谁知道如何用单片机产生一个1KHZ幅度可调的正弦波,单片机自带DA,可以产生一个1KHZ的正弦波,不过幅度可调具体的正弦表该怎么做啊?现在在做一个正弦信号发生器,其中一个要求是:
产生模拟幅度调制(AM)信号:在1MHz~10MHz范围内调制度ma可在10%100%之间程控调节,步进量10%,正弦调制信号频率为1kHz,调制信号自行产生;现在用AD9850产生载波信号,单片机产生调制信号,就是不知道1KHZ的幅度可调的正弦信号表该怎么做,有哪位前辈能给点程序指导,谢谢了
现在


相关帖子

沙发
李冬发| | 2009-8-20 12:01 | 只看该作者
找一下数字振荡器,用数字振荡器不错

使用特权

评论回复
板凳
awey| | 2009-8-20 13:15 | 只看该作者
如果是8位的DA,用Y=255sin(X)做个表,X=0~360,间隔根据你的要求而定。
直接按表输出,幅度最大。
输出加低通滤波。

使用特权

评论回复
地板
ivy_may|  楼主 | 2009-8-20 13:22 | 只看该作者
现在单片机是10位DA,楼上的前辈是说用MATLAB做一个正弦表吗?那现在是要做到1KHZ正弦波的幅度用按键调节,这要怎么实现幅度可调啊,可不可以说详细一点,谢谢了

使用特权

评论回复
5
highend| | 2009-8-20 15:08 | 只看该作者
加个系数而已,乘法器

a 。sin(b)

不知明白了没。

使用特权

评论回复
6
李冬发| | 2009-8-21 01:27 | 只看该作者
数字振荡器运算量低,不用算三角函数

使用特权

评论回复
7
jacky-cheung| | 2009-8-21 17:22 | 只看该作者
找我,AD9851用过,后面加数字电位器可以调节幅值,如果需要连续调,就用D/A,精度取决于DA的精度,千分之一没问题。

使用特权

评论回复
8
王紫豪| | 2009-8-21 19:40 | 只看该作者
9851?有钱人

使用特权

评论回复
9
etz2009| | 2009-8-21 19:59 | 只看该作者
我们也在做一个5HZ的

使用特权

评论回复
10
QuakeGod| | 2009-8-22 02:00 | 只看该作者
如果是8位的DA,用Y=255sin(X)做个表,X=0~360,间隔根据你的要求而定。
直接按表输出,幅度最大。
输出加低通滤波。
awey 发表于 2009-8-20 13:15

X不用0-360,用0-255即可,如果是10位,要0-1023或0-2047,太少了,精度低,太多了,很多重复的,没有意义
而且那个正弦表也不用全周期,1/4周期即可,剩下的用镜像平移等算出来即可。
另外,为使幅度发生变化,前面加一个系数即可,不过10位的乘法复杂些,
有些51带16*8硬件乘法器,出24位结果,比较方便。
按键控制幅度是最简单的了,两个按键控制一个变量的加减嘛。

使用特权

评论回复
11
QuakeGod| | 2009-8-22 02:04 | 只看该作者
还有一个问题,就是输出正负的问题,
单片机的DA不能输出双极性信号,需要有一个变换的过程,一般是平移1/2电平,
这样的话,正弦表里面的0点要选1/2值,比如8位数据,就是80H是0点,0FFH是最大电压,00H是最大负电压。正选表要事先处理一下。
正弦表的产生非常简单,不用1分钟就能编个BASIC程序或者C程序算出来,实在不会,就用计算器慢慢算。

使用特权

评论回复
12
沈洁| | 2009-8-22 08:05 | 只看该作者
还有一个问题,就是输出正负的问题,
单片机的DA不能输出双极性信号,需要有一个变换的过程,一般是平移1/2电平,
这样的话,正弦表里面的0点要选1/2值,比如8位数据,就是80H是0点,0FFH是最大电压,00H是最大负电 ...
QuakeGod 发表于 2009-8-22 02:04


用Excel做是最方便的

使用特权

评论回复
13
huangqi412| | 2009-8-22 09:22 | 只看该作者
有钱......

使用特权

评论回复
14
xhtxzxw| | 2009-8-22 23:14 | 只看该作者
算的话可能速度跟不上吧?还是做个正弦表比较合适.直接从这个表里取正弦值,乘以一个幅度系数,然后叫给DA做转换就是了

使用特权

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

本版积分规则

8

主题

19

帖子

0

粉丝