A discrete-time system processes an input sequence x[n] to generate an output sequence y[n] with more desirable properties. Discrete-time systems are commonly single-input, single-output and include examples like accumulators, moving average filters, and interpolators. A linear time-invariant (LTI) system is one that satisfies both the properties of linearity, where the output is a linear combination of the inputs, and time-invariance, where a shift in input results in the same shift in output. Causal systems have the property that the output depends only on current and past input values.