硬汉嵌入式论坛

 找回密码
 立即注册
查看: 53|回复: 1
收起左侧

[Lua] H7-TOOL集成DSP数字信号处理库,FFT注册添加成功

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 10 小时前 | 显示全部楼层 |阅读模式
近期已经开始全力为H7-TOOL添加DSP数字信号处理功能,为250M示波器模组各种测量,滤波,频谱等功能做准备

H7-TOOL有大量的模拟信号处理相关功能,比如250M示波器吗,信号发生器,0-20mA输入输出,电压表,高边电流表,NTC,电阻测量等。特别是示波器,都是DSP数字信号应用的重要领域。 DSP相关功能的完善势在必行。

初步已经实现FFT的LUA功能注册和测试。

223.png


后面的250M示波器也将添加支持上








回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
 楼主| 发表于 10 小时前 | 显示全部楼层
注册的API,全保持原始命名方式,仅参数做了修改,方便调用


[Lua] 纯文本查看 复制代码
-- 参数设置
local Fs = 1024    -- 采样率
local N = 1024     -- 采样点数

-- 生成序列
local n = {}       -- 采样序列
local t = {}       -- 时间序列  
local f = {}       -- 频率序列

local output = {}

for i = 0, N-1 do
    n[i+1] = i
    t[i+1] = i / Fs
    f[i+1] = i * Fs / N
end

-- 生成信号:直流分量 + 50Hz余弦波
local x = {}
local pi = math.pi

for i = 1, N do
    -- x = 1 + cos(2*pi*50*t + pi/3)
    x[i] = 1 + math.cos(2 * pi * 50 * t[i] + pi/3)
end

-- 打印结果验证
print("采样率 Fs = " .. Fs .. " Hz")
print("采样点数 N = " .. N)
print("信号时长 = " .. (N/Fs) .. " 秒")

output = arm_rfft_fast_f32(x, 1024)

for i=1, 512, 1 do                                  
    s = string.format("%f, %f", x[i], output[i]/512)
    print(s)                                  
    print_wave(s)
    delayms(1)                                  
end

回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-11-21 20:53 , Processed in 0.057073 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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