@rfkit/spectrum-analyzer
Version:
A high-performance spectrum analyzer library for RF signal processing, supporting real-time spectrum analysis, waterfall display, and multi-segment frequency scanning
93 lines • 3.83 kB
TypeScript
/**
* SpectrumAnalyzer 工具函数
*
* [SYNC-WASM] 本文件包含需要与 Rust WASM 版本同步维护的核心算法
* @see src-rust/src/spectrum_analyzer/resampler.rs
* @see src-rust/src/spectrum_analyzer/template.rs
*/
import type { TemplateOverData, TimestampedFloat32Array } from './types';
export declare const arrayKeepAttribute: (source: Float32Array & {
max?: number;
maxIndex?: number;
timestamp?: number;
progress?: number;
}, target: Float32Array & {
max?: number;
maxIndex?: number;
timestamp?: number;
progress?: number;
}) => void;
export declare const resample: ({ realData, antennaFactorData, antennaFactorSwitch, outputPoints }: {
realData: TimestampedFloat32Array;
antennaFactorData: Float32Array;
antennaFactorSwitch?: boolean;
outputPoints: number;
}) => {
realOutputData: TimestampedFloat32Array;
srcIndexCache: Uint32Array;
};
/**
* [SYNC-WASM] 多数据系列重采样
* @sync src-rust/src/spectrum_analyzer/resampler.rs:resample_multiple
*
* 从 maxPoints 重采样到 outputPoints,对每个区间取最大值
* 支持同时处理 real/max/min/avg/template/occupancy/backgroundNoise/fluorescence 数据
* 支持在重采样过程中同时检测峰值(零性能损耗)
*/
export declare const resampleMultiple: ({ antennaFactorData, antennaFactorSwitch, outputPoints, realData, maxData, minData, avgData, templateData, backgroundNoiseData, fluorescenceData, occupancyData, enablePeakStats, maxPeaks, outputRangeStart }: {
antennaFactorData: Float32Array;
antennaFactorSwitch?: boolean;
outputPoints: number;
realData: TimestampedFloat32Array;
maxData?: Float32Array;
minData?: Float32Array;
avgData?: Float32Array;
templateData?: Float32Array;
occupancyData?: Float32Array;
backgroundNoiseData?: Float32Array;
fluorescenceData?: Map<number, number>[];
enablePeakStats?: boolean;
maxPeaks?: number;
outputRangeStart?: number;
}) => {
realOutputData: TimestampedFloat32Array;
maxOutputData: Float32Array;
minOutputData: Float32Array;
avgOutputData: Float32Array;
templateOutputData: Float32Array;
occupancyOutputData: Float32Array;
backgroundNoiseOutputData: Float32Array;
srcIndexCache: Uint32Array;
fluorescenceOutputData: Map<number, number>[];
};
/**
* [SYNC-WASM] 额外数据重采样
* @sync src-rust/src/spectrum_analyzer/resampler.rs:resample_extra_data
*
* 专门用于处理 extraData 的重采样,支持天线因子应用
* 高性能优化版本:预分配内存,消除重复代码,集成 getOutputData 处理
*/
export declare const resampleExtraData: (extraData: Record<string, Float32Array>, antennaFactorData: Float32Array, antennaFactorSwitch: boolean, srcIndexCache: Uint32Array, getOutputData: (data: Float32Array) => Float32Array) => Record<string, Float32Array>;
/**
* [SYNC-WASM] 全量版本:使用预分配优化的完整数据扫描
* @sync src-rust/src/spectrum_analyzer/template.rs:find_exceeding_datas
*/
export declare const findExceedingDatas: ({ realData, maxData, minData, templateData, tolerance }: {
realData: TimestampedFloat32Array;
maxData: Float32Array;
minData: Float32Array;
templateData: Float32Array;
tolerance?: number;
}) => TemplateOverData[];
export declare const findExceedingDatasIncremental: ({ realData, maxData, minData, templateData, tolerance, startIndex, endIndex, previousSegments }: {
realData: TimestampedFloat32Array;
maxData: Float32Array;
minData: Float32Array;
templateData: Float32Array;
tolerance?: number;
startIndex: number;
endIndex: number;
previousSegments?: TemplateOverData[];
}) => TemplateOverData[];
export declare function isAllValid(arr: Float32Array): boolean;
//# sourceMappingURL=tools.d.ts.map