Contact

LibreOffice Calc · Workbook workflows · Intermediate

Smooth time series and inspect frequency content

A worked Calc example to smooth time series and inspect frequency content, with source checks, changed inputs and recovery.

Documentation-qualified for Calc 26.2; native workflow and persistence checks pending · Editorial standards

Smoothing and Fourier analysis answer different questions. A smoother makes local movement easier to see; a discrete Fourier transform describes frequency components of regularly spaced samples. Preserve the original time series and label output alignment before comparing them.

Start with equally spaced samples

Use LibreOffice Calc 26.2 desktop with English standard menus on Windows/Linux. These procedures are supported by versioned Help and independent arithmetic; native execution, output alignment and saved-state checks remain unverified. Use an ODS practice copy.

On Signal, enter A1:C9:

Sample index Real Imaginary
0 0 0
1 1 0
2 0 0
3 −1 0
4 0 0
5 1 0
6 0 0
7 −1 0

Assume one sample per second. The real signal completes two cycles in eight samples: period 4 seconds, frequency 0.25 Hz. Index is not another measurement series, and Imaginary is zero because the input is real-valued. Enter ordinary minus signs for negative numbers rather than pasting typographic dashes into numeric cells.

Calculate a three-sample moving average

Choose Data > Statistics > Moving Average. Set Input Range to $Signal.$B$2:$B$9, Grouped By Columns, Results to E1 and Interval 3. Use the exact populated range; the Trim input range to actual data content option concerns unused trailing cells, not a license to ignore gaps inside a time series.

The documented example uses centered three-point windows, with unavailable values at the ends. For the eight inputs above, the six complete-window averages are 1/3, 0, −1/3, 0, 1/3, 0. Associate them with center indices 1 through 6. Expect unavailable boundary entries rather than inventing extra data at indices 0 and 7. Confirm the actual report rows before adding index labels; report headings can offset worksheet addresses.

A centered smoother uses a future neighbor, so it is not a real-time prediction at the center sample. If you need an operational trailing average, do not relabel this output without changing the method.

Inspect exponential smoothing separately

On a second sheet Impulse, enter 1, 0, 0, 0, 0, 0 in A1:A6. Choose Data > Statistics > Exponential Smoothing, Input Range A1:A6, Grouped By Columns, Results to C1, and Smoothing Factor 0.5.

The official example uses a one-step alignment: its reported sequence begins 1, 1, 0.5, 0.25, 0.125, 0.0625 for this impulse. The first value initializes the series; the next uses the preceding observation. Check labels and alignment rather than expecting a same-row filter with 0.5 on the second output row. The parameter is identified as Alpha/damping factor in Help; this 0.5 fixture avoids assuming an undocumented alternative weighting convention.

Change the impulse amplitude from 1 to 2 and rerun in another clear area. Expected sequence doubles to 2, 2, 1, 0.5, 0.25, 0.125. Restore 1. Smoothing reduces variation but can delay visible changes; it does not establish a causal trend or confidence interval.

Transform the complex input array

Return to Signal and choose Data > Statistics > Fourier Analysis. Set Input Range to $Signal.$B$1:$C$9, enable Input range has label, set Grouped By Columns, and choose Results to H1. Leave Inverse and Polar off for an ordinary forward transform in real/imaginary coordinates. Confirm.

The required input is an N×2 array: real and imaginary components, not a lone value column plus an unrelated time index. For the standard unnormalized forward DFT, all coefficients are zero apart from bin 2 approximately −4i and bin 6 approximately +4i. Tiny floating-point real/imaginary residues should be treated as numerical noise, not additional measured frequencies. These are independent mathematical expectations; verify the application’s convention before applying amplitude scaling to real data.

Label bins 0 through 7 alongside the numeric coefficient rows, excluding report headings. With N=8 and sample rate 1 Hz, bin spacing is 0.125 Hz. Bin 2 represents 0.25 Hz; bin 6 is the conjugate negative-frequency partner, not a second independent high-frequency oscillation. If your sampling interval changes, the bin frequencies change even when coefficient values do not.

Verify changes and recover

Double each Real input while leaving Imaginary zero. Rerun Fourier Analysis to a separate destination: the two nonzero magnitudes should become 8 rather than 4, with frequency bins unchanged. The moving-average complete windows should double as well. Restore the original real sequence.

Polar output can display magnitude/phase, and its minimum-magnitude threshold suppresses very small components. Do not use a high threshold to hide genuine weak signals. Irregular timestamps or missing samples need a justified preprocessing method, not simply a new axis label.

Save and reopen the ODS and verify the original source, interval, smoothing factor, transform direction and labels. Keep output areas separate to prevent overwriting source or old report rows. For visual comparison, use chart source-range checks and explicitly distinguish raw observations from aligned derived series.

Official references

Sources were captured on 20 October 2026 and reviewed from retained snapshots. All outcomes above are expected checks, not a claim of native execution.