DAUTO(1)

πŸ“¦ version 7.44.0, in nixpkgs unstable

πŸ’– DAUTO(1) β€” the dauto glow-up, bestie edition πŸ’–

okay so real talk, dauto is that girl in the BRL-CAD friend group who does exactly one thing and does it flawlessly: she takes a stream of doubles and hands you back the unbiased autocorrelation function. no cap. let's get into it πŸŽ€


✨ NAME ✨

dauto β€” computes the unbiased autocorrelation function of a stream of doubles. periodt. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

dauto [window_size] < input.doubles > output.doubles

like… that's it. that's the whole vibe. ✨


🌸 DESCRIPTION 🌸

so here's the tea, bestie πŸ“ β€” dauto reads a stream of double-precision floating-point numbers from standard input, computes an unbiased estimate of the autocorrelation function over successive fixed-size windows, and writes the resulting double-precision values out to standard output. iconic behavior, honestly.

input gets processed in non-overlapping records of window_size samples (default 512). for each record of L samples, dauto estimates the autocorrelation at lags 0 through L-1, writing L values per record. 🫢

and here's the part where she's kind of a perfectionist: the estimate at lag 0 is based on all L samples, and the estimate at lag L-1 is based on only one β€” zeros are assumed outside the record. so the further out you go, the lonelier the lag gets 😭. the estimate is unbiased by scaling each lag by a factor inversely proportional to the number of contributing samples. math slay. πŸ”₯

a final partial record shorter than window_size gets zero-padded, so nothing gets left out. 🧚

⚠️ okay important: both standard input and standard output must be redirected. if either one is a terminal, dauto will straight up exit with a usage message. she does not do conversations at the terminal, she does pipes only, iykyk πŸ’€

also psst β€” see dauto2(1) if you want the biased variant instead. different girl, similar energy. πŸ‘‘


πŸ‘‘ OPTIONS πŸ‘‘

  • window_size β€” number of samples per record, and honestly it's the boss of the whole operation because it controls the maximum lag computed. must be a positive integer. defaults to 512 if you just… don't. πŸ™ˆ

πŸ’œ EXAMPLES πŸ’œ

Example 1. Autocorrelate a sampled signal 🌈

dauto 1024 < signal.doubles > autocor.doubles

computes the unbiased autocorrelation of a stream of double-precision values in 1024-sample windows. and the resulting stream of doubles? oh she's versatile β€” you can feed it straight to dpeak(1) to locate the dominant periodicities in the signal. genuinely a collab for the ages. ⭐


πŸ”₯ SEE ALSO πŸ”₯

brlcad(1), dauto2(1), damdf(1), dconv(1), dpeak(1)

(the whole squad πŸ’– go say hi)


🫢 AUTHOR 🫢

BRL-CAD Team β€” legends, honestly.


this software is Copyright (c) 1989–2026 by the United States Government as represented by U.S. Army Research Laboratory.


πŸ’€ BUG REPORTS πŸ’€

reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org πŸ“§ β€” pls be nice, they're doing their best.


and that's the whole page, bestie! brought to you by BRL-CAD, serving up DAUTO(1) realness. go forth and autocorrelate responsibly βœ¨πŸ’…πŸ¦‹

πŸ“¦ where this page comes from