Signal Operations: Shifting, Scaling & Reflection

The three elementary transformations of the independent variable, and the critical order-of-operations pitfall when combining them

Signals & SystemsElectrical Engineering Year 2Free preview
⏱️ About 16 min

Take any signal — a pulse, a sinusoid, a recorded voice — and you can delay it, speed it up, or play it in reverse. These three simple transformations are the atoms from which far more complex signal processing is built.

💡
The big idea: The three elementary signal operations — time shifting, time scaling, and time reflection — transform the independent variable without changing the signal's amplitude values, and combining them requires careful attention to order.
🎯 By the end, you'll be able to
  • Apply time shifting y(t) = x(t − t₀) and determine whether the signal is delayed or advanced
  • Apply time scaling y(t) = x(at) and determine whether the signal is compressed or stretched
  • Apply time reflection y(t) = x(−t) and recognize it as a special case of scaling with a = −1
  • Combine shift and scale in y(t) = x(at − b) using the substitution technique, avoiding order-of-operations errors

Operating on the Independent Variable

Once we can represent a signal as a function, a natural question arises: what happens when we modify the argument of that function? Signal operations on the independent variable are the most fundamental manipulations we perform on signals, appearing everywhere from delaying an audio signal to compressing a data stream to reflecting a signal for correlation.

Each operation produces a new signal y(t) from an original signal x(t) by substituting a modified expression for t in the argument of x. The signal's shape does not change; what changes is the mapping between those output values and the time axis. These operations rearrange when each value occurs, not what the values themselves are.

Time Shifting

Given a continuous-time signal x(t), the time-shifted signal is y(t) = x(t − t₀), where t₀ is a constant. If t₀ is positive, the signal is shifted to the right along the time axis — each feature occurs t₀ seconds later. We call this a delay. If t₀ is negative, the signal shifts left; this is an advance.

Whatever x did at time τ, y does at time τ + t₀. Time shifting is everywhere in practice: a digital audio delay line, a radar echo, the propagation delay of a signal through a cable — all are time shifts.

\[ y(t) = x(t - t_0) \]
Time shift: a positive t₀ delays the signal (right shift); a negative t₀ advances it (left shift).

Time Scaling

Given x(t), the time-scaled signal is y(t) = x(at), where a is a positive constant. If |a|>1, the signal is compressed in time — everything happens faster. If 0<|a|<1, the signal is stretched.

Whatever x did at time τ, y does at time τ/a. Time scaling has a physical interpretation students sometimes find counterintuitive: speeding up a recording compresses it in time, which also raises its pitch (frequency content scales inversely with time) — the frequency-domain implications are explored later in the course.

\[ y(t) = x(at) \]
Time scaling: |a| > 1 compresses the signal; 0 < |a| < 1 stretches it.

Time Reflection

Given x(t), the reflected signal is y(t) = x(−t) — a time scaling with a=−1. Every feature is mirrored about the vertical axis (t=0): whatever happened at time τ now happens at time −τ.

Reflection is a special case of scaling — when a is negative in y(t)=x(at), we get both a reflection and a scaling. Recognizing this keeps the conceptual framework unified: there are really only two independent operations (shift and scale), with reflection being a particular choice of the scale factor.

Combining Shift and Scale: The Order Trap

When shift and scale appear together in y(t)=x(at − b), the transformation is no longer a simple delay followed by a simple compression. The order in which you apply them matters enormously, and getting it wrong is one of the most common student errors in this topic.

The safest technique is to locate key features by finding where the argument of x equals zero. Set at − b=0 and solve for t: t=b/a. That is the time instant at which y(t) has the same value as x(0). To find what value y takes at a particular time t₀, substitute t₀ into the argument: y(t₀)=x(at₀ − b) — no need to decompose into separate steps.

⚠️ Order Matters — Do Not Factor Carelessly

The expression x(at − b) is not the same as first shifting by b and then scaling by a. The correct decomposition is x(at − b)=x(a(t − b/a)): the signal is first shifted by b/a and then scaled by a. The substitution technique — solving at − b=0 for t — sidesteps this trap entirely.

📝 Worked example: Given x(t) = t² (defined for all t), and y(t) = x(t − 2) (a time-shifted version), find y(5).
  1. Substitute t = 5 into the argument of x: y(5) = x(5 − 2) = x(3).
  2. Evaluate x at 3: x(3) = 3² = 9.
  3. Therefore y(5) = 9.
✓ 9
✏️ Practice: Given the same x(t) = t², and y(t) = x(2t) (a time-scaled, compressed version), find y(3).
Solution
  1. Substitute t = 3 into the argument of x: y(3) = x(2 × 3) = x(6).
  2. Evaluate x at 6: x(6) = 6² = 36.
  3. Therefore y(3) = 36.

Check your understanding

1. Given y(t) = x(t − 3), the signal y(t) is x(t) shifted:
A positive t₀ in x(t − t₀) shifts the signal to the right along the time axis, meaning every feature occurs 3 seconds later — a delay.
2. Given y(t) = x(2t), compared to x(t), the signal y(t) is:
When |a| > 1 in x(at), the signal is compressed in time. A feature that occurred at t = 4 in x now occurs at t = 2 in y.
✅ Key takeaways
  • Time shifting y(t) = x(t − t₀) translates the signal along the time axis: positive t₀ delays (right shift), negative t₀ advances (left shift).
  • Time scaling y(t) = x(at) compresses the signal when |a| > 1 and stretches it when 0 < |a| < 1.
  • Time reflection y(t) = x(−t) mirrors the signal about t = 0 and is a special case of scaling with a = −1.
  • When combining shift and scale in y(t) = x(at − b), solve at − b = 0 for t to locate key features, and always evaluate the argument as written.
➡️ With shifting, scaling, and reflection in hand, we can now transform any signal's time axis. Next we turn to the standard elementary signals — step, impulse, ramp, exponential, and sinusoid — the building blocks from which more complex signals are constructed.
Want to test yourself on this? Try the Electrical Aptitude test →