c语言频谱图,c-实时绘制频谱图?

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

>为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)添加到开始位置,不要忘记触发器在找到真正的开始之前也以此时间为开始…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值