[C.C++] c语言频谱图,c-实时绘制频谱图?

309 0
Honkers 2025-5-23 15:16:54 来自手机 | 显示全部楼层 |阅读模式

输入信号通常采用循环缓冲区的形式,输出缓冲区可以是静态的.这也适用于时域图.如果没有真正看到您的结构,是否必须更改就无法回答.这是我的方法:

>为FFT创建一些缓冲区(数组)

可以是静态的…不会发生任何变化.它的大小必须至少为slowest_timebase / fsampling样本.如果您的FFT具有复杂的域输入,则将其大小加倍.如果要滚动/缩放/取消缩放,请相应地放大大小

>找到实际示波器视图的开始示例

通过触发器或启动器,仅持续最后N个采样(但由于相位…会闪烁),或者您以N采样块的形式从头到尾以与采样相同的速度预览所有采样.就像您将数据发送到声卡以播放声音一样.您只是在一段时间后才开始,所以您已经有足够的采样数据…

>工艺数据

如果需要的话,将数据从起点复制到FFT缓冲区中,并添加采样的虚部(Im = 0.0)并处理FFT.然后绘制实际输出的前一半.

第i个样本的频率(N个样本中)的频率为f = i *采样率/ N [Hz],其中i = {1,…,(N / 2)-1}跳过代表直流分量的i = 0.

您还可以将对数轴添加到频率.在这种情况下,也不要忘记更改绘图中的x值

>更新开始位置

只需将使用样本的大小(N)添加到开始位置,不要忘记触发器在找到真正的开始之前也以此时间为开始…

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

本版积分规则

Honkers

荣誉红客

关注
  • 4012
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行