A high-performance spectrum analyzer library for RF signal processing, supporting real-time spectrum analysis, waterfall display, and multi-segment frequency scanning
npm install @rfkit/spectrum-analyzer高性能 RF 频谱分析库,支持实时频谱分析、瀑布图显示和多段频率扫描。
提供 JS 版本 和 WASM 高性能版本 两种选择。
``bash`
pnpm add @rfkit/spectrum-analyzer
`typescript
import {
SpectrumAnalyzer,
LevelStreamAnalyzer,
type SpectrumConfig,
type SpectrumOutputData,
} from '@rfkit/spectrum-analyzer';
const analyzer = new SpectrumAnalyzer({
maxPoints: 2048,
outputPoints: 1024,
enableStatistics: true,
onSpectrumUpdate: (data) => {
console.log(data.realData);
},
});
// 处理频谱数据
analyzer.process({ data: Float32Array, timestamp: Date.now() });
`
WASM 版本 API 与 JS 版本完全一致,仅需在应用启动时初始化一次。
`typescript
import {
initWasm,
SpectrumAnalyzer,
LevelStreamAnalyzer,
} from '@rfkit/spectrum-analyzer/wasm';
// 应用启动时初始化(仅需一次)
await initWasm();
// 之后使用方式与 JS 版本完全一致
const analyzer = new SpectrumAnalyzer({
maxPoints: 2048,
outputPoints: 1024,
enableStatistics: true,
onSpectrumUpdate: (data) => {
console.log(data.realData);
},
});
analyzer.process({ data: Float32Array, timestamp: Date.now() });
`
| 场景 | JS 版本 | WASM 版本 | 提升 |
|------|---------|-----------|------|
| 8192 点数据 | 0.032 ms | 0.020 ms | 35% |
| 2000 点 / 300Hz | 0.023 ms | 0.020 ms | 13% |
两个版本在 300Hz 更新频率下都能轻松满足,CPU 占用 < 1%。
频谱分析器,支持:
- 实时数据处理与重采样
- 最大值/最小值/平均值统计
- 瀑布图数据管理
- 天线因子补偿
- 模板超限检测
- 多段频率扫描
电平流分析器,支持:
- 电平概率分布统计
- 时间/点数缓存模式
`bash``
pnpm build # 构建 JS 版本
pnpm build:wasm # 构建 WASM 版本
pnpm build:all # 构建全部
MIT