矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 4983|回复: 37

单片机可不可以直接输出一个正弦载波调制出来的正弦波?

[复制链接]
发表于 2020-9-7 09:44:07 | 显示全部楼层 |阅读模式
载波为正弦波。
调制信号也是正弦波。
单片机用的stm32,其中自带DA。
单片机可以直接输出一个基波是正弦波调制出来的正弦波信号吗?频率和幅值可调的那种,之前有用数字电位器把单片机输出的正弦波调制成正弦波,但是由于要求输出的信号频率太高,数字电位器的寿命远远达不到要求,所以想问一下各位大佬有没有办法让单片机直接输出一个这样的信号。因为stm32计算正弦的周期时间太长,所以不能直接用函数计算这个,之前用数字电位器输出的就是一个数组经过ad输出。
其实我想实现任意波形的调制信号输出,只要能把正弦的解决了,其他的都好办了。

另外FPGA这个方案我正在学,就是算法那边有点慢。
有没有大佬可以给个方案,谢谢呀!
     
发表于 2020-9-7 10:34:33 | 显示全部楼层
理论上可以,但是比较难。载波出正弦波没问题,调制波实际只有数值,和载波数值正交然后给DA就可以实现调幅,调频直接改PWM的输出频率即可,但是如果是任意输出,单片够呛。
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 10:35:17 | 显示全部楼层
需要速度的话就不要计算,直接做个表查就可以。
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 10:36:18 | 显示全部楼层
你选用带浮点运算的型号就可以,计算正弦波快很多,常见的M3内核的F103不带

不过软件实现的调制波,频率高不上去, 偏上dac速度慢

这个还是dds芯片更好
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 10:46:32 | 显示全部楼层
想想手机外发的高频部分是怎么实现的?
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 10:48:32 | 显示全部楼层
不给个频率 不好出方案啊。上MHZ 单片机难搞定
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-7 10:50:35 | 显示全部楼层
fujiachun 发表于 2020-9-7 10:34
理论上可以,但是比较难。载波出正弦波没问题,调制波实际只有数值,和载波数值正交然后给DA就可以实现调幅 ...

大佬,这个调制波怎么直接输出来我都没思路,或者您可以给我指条路我去学习相关的知识,可以吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-7 10:51:37 | 显示全部楼层
huxiangming 发表于 2020-9-7 10:35
需要速度的话就不要计算,直接做个表查就可以。

之前做了数组的,已经实现了,但是数字电位器寿命不够,所以更改了方案
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-7 10:53:30 | 显示全部楼层
cwf2011 发表于 2020-9-7 10:48
不给个频率 不好出方案啊。上MHZ 单片机难搞定

调制信号是0到220Hz
载波是15KHz以内
调制出的调制波
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-7 10:54:40 | 显示全部楼层
未成之佛 发表于 2020-9-7 10:46
想想手机外发的高频部分是怎么实现的?

第一次做这种,我还是个菜鸡,要不大佬给点提示,我学一下相关的知识,可以吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-7 10:56:06 | 显示全部楼层
iffi123 发表于 2020-9-7 10:36
你选用带浮点运算的型号就可以,计算正弦波快很多,常见的M3内核的F103不带

不过软件实现的调制波,频率 ...

正在学,尝试用FPGA做,不过时间上可能要很长了,所以想向大佬们学习学习
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 11:06:37 | 显示全部楼层
第六个葫芦娃 发表于 2020-9-7 10:53
调制信号是0到220Hz
载波是15KHz以内
调制出的调制波

这个频率不高  可以用STM32 不要用复杂的函数运算,用简单的DDS 合成
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-7 11:14:04 | 显示全部楼层
cwf2011 发表于 2020-9-7 11:06
这个频率不高  可以用STM32 不要用复杂的函数运算,用简单的DDS 合成

好的,我去研究一下,谢谢
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 11:22:15 | 显示全部楼层
第六个葫芦娃 发表于 2020-9-7 10:56
正在学,尝试用FPGA做,不过时间上可能要很长了,所以想向大佬们学习学习

还有个办法,加一个Flash芯片, 实现把计算好的波形(比如1个周期)存到flash里,然后循环从flash读出送到dac, 如果改变频率,重新计算重新存,这样每次调节只有计算和存储的短暂延时
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 11:34:30 | 显示全部楼层
第六个葫芦娃 发表于 2020-9-7 10:53
调制信号是0到220Hz
载波是15KHz以内
调制出的调制波

这么低的频率STM32的DA能做出来
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-25 18:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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