UNPKG

@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
/** * 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