HSA stands for High-resolution Spectral Analysis. A conventional FFT spectrum always shows a tone as a broad peak with side skirts, because the analysis window itself is smeared across the frequency axis. HSA removes that smearing: it identifies the dominant spectral lines in each block and iteratively subtracts the known spectral fingerprint of the analysis window from them. The result is a spectrum in which tones appear as narrow, well-separated lines — even when they are far closer together than the FFT line spacing would normally allow.
An FFT evaluates a finite block of samples. Multiplying the signal by a window function is equivalent to convolving the true spectrum with the spectrum of that window. Every real tone therefore appears as a copy of the window's frequency response centred on the tone frequency. Two tones that are closer together than roughly the width of that response merge into one peak, and a strong tone masks weak neighbours under its skirts.
HSA reverses the convolution. For each block it repeatedly:
After the requested number of iterations the extracted lines are placed on a finer frequency grid and rescaled, and whatever remains of the residual (the broadband part of the signal) is added back in. Tones therefore become sharp lines while the noise floor is preserved.
The extracted lines are written onto a frequency grid that is finer than the FFT grid by the HSA Resolution Enhancement factor. With the default block size of 4096 samples and an enhancement factor of 4, the spectrum is computed on a 16384-point grid, and the result contains
frequency values. The DC and Nyquist values are not reported, so the first value lies one frequency step above 0 Hz.
Both analyses share the same core. They differ only in what happens to the sequence of block spectra:
| HSA (Average) | HSA vs. Time | |
|---|---|---|
| Result type | One spectrum per channel (2D curve) | Colour map, time × frequency (3D) |
| Block handling | Energetic (squared) average over all blocks | Every block is kept as one column |
| X axis | Frequency | Time |
| Typical use | Identifying stationary tones with maximum frequency accuracy | Following how those tones move during a run-up or a transient |
| Parameter | Options / Range | Default | Description |
|---|---|---|---|
| Window Size | power of two, in samples | 4096 | Block length of the underlying transform. Longer blocks give better base resolution but poorer time resolution. |
| Overlap | 0 – 100 % | 50 % | Overlap between consecutive blocks. More overlap gives a smoother time axis at the cost of computation time. |
| Overlap Mode | Fixed | Fixed | Keeps the overlap constant for all blocks. |
| Window Function | Hanning, … | Hanning | Window applied to each block. HSA subtracts the response of exactly this window, so the choice affects how cleanly lines are separated. |
| Spectral Weighting | None, A, B, C, D | None | Frequency weighting applied to the resulting spectrum. |
| HSA Resolution Enhancement | integer factor | 4 | How much finer the output frequency grid is compared with the plain FFT grid. |
| HSA Iterations | integer | 20 | Number of lines extracted per block. Higher values resolve more simultaneous tones but increase computation time. |
| Suppress Background Spectrum | on / off | off | When enabled, only the extracted lines are shown and the broadband residual is discarded — a purely tonal view of the signal. |
| Frequency Resolution / Resolution Specification | value / Spectrum Size | 1 / Spectrum Size | Selects whether the block length is entered directly (spectrum size) or derived from a target frequency resolution. |
| Order Limit, Min Order, Max Order | off / 0.5 / 20 | off | Reserved for order-related evaluation, where the extraction is restricted to a range of orders of the rotational speed. Leave disabled for normal spectral analysis. |
© 2026 Deepsona. All Rights Reserved.