Time scaling changes the speed of a signal. Compression makes the signal faster, and expansion makes it slower.
Click to reveal answer
beginner
What happens to a signal when it is compressed in time?
The signal duration becomes shorter, so it plays faster. For example, a 10-second sound compressed by 2 will play in 5 seconds.
Click to reveal answer
beginner
How does time expansion affect a signal?
Time expansion makes the signal longer, slowing it down. A 5-second signal expanded by 3 will last 15 seconds.
Click to reveal answer
intermediate
Which mathematical operation represents time scaling of a signal x(t)?
The time-scaled signal is x(t / a), where 'a' is the scaling factor. If a > 1, the signal compresses; if 0 < a < 1, it expands.
Click to reveal answer
intermediate
What is the effect of time scaling on the frequency content of a signal?
Time compression increases the frequency components, making the signal sound higher in pitch. Time expansion lowers frequencies, making it sound deeper.
Click to reveal answer
What does time compression do to a signal's duration?
AReverses it
BMakes it shorter
CKeeps it the same
DMakes it longer
✗ Incorrect
Time compression reduces the signal's duration, making it play faster.
If a signal x(t) is scaled as x(2t), what happens?
ASignal duration doubles
BSignal amplitude doubles
CSignal amplitude halves
DSignal duration halves
✗ Incorrect
Scaling time by 2 compresses the signal, halving its duration.
Time expansion corresponds to which range of scaling factor 'a' in x(a * t)?
A0 < a < 1
Ba > 1
Ca = 1
Da < 0
✗ Incorrect
When 0 < a < 1, the signal expands in time, making it longer.
How does time scaling affect the pitch of a sound signal?
ACompression raises pitch
BExpansion raises pitch
CCompression lowers pitch
DNo effect on pitch
✗ Incorrect
Time compression increases frequency, raising the pitch.
Which of these is a real-life example of time scaling?
AChanging the color of an image
BChanging volume on a speaker
CSpeeding up a video playback
DRotating a photo
✗ Incorrect
Speeding up video playback is like compressing time in the signal.
Explain what time scaling means and how compression and expansion affect a signal.
Think about how changing speed affects a song or video.
You got /3 concepts.
Describe the mathematical representation of time scaling and how the scaling factor changes the signal duration.
Focus on how multiplying time by a number changes the signal length.
You got /3 concepts.
Practice
(1/5)
1. What happens to a signal when it is time-scaled with a factor a > 1?
easy
A. The signal is expanded and plays slower.
B. The signal amplitude increases.
C. The signal is compressed and plays faster.
D. The signal frequency decreases.
Solution
Step 1: Understand time scaling factor meaning
A factor a > 1 means the time axis is divided by a number greater than 1, making the signal shorter in time.
Step 2: Effect on signal playback speed
Shorter time means the signal plays faster, which is called compression.
Final Answer:
The signal is compressed and plays faster. -> Option C
Quick Check:
Compression (a > 1) = Faster playback [OK]
Hint: If a > 1, signal speeds up (compresses) [OK]
Common Mistakes:
Confusing compression with expansion
Thinking amplitude changes with time scaling
Mixing frequency effects with time scaling
2. Which of the following Python code snippets correctly applies time scaling by a factor a to a signal array x using interpolation?
easy
A. import numpy as np
n = len(x)
t = np.arange(n)
t_new = t / a
x_new = x[t_new]
B. import numpy as np
n = len(x)
t = np.arange(n)
t_new = t * a
x_new = x[t_new]
C. import numpy as np
from scipy.interpolate import interp1d
n = len(x)
t = np.arange(n)
f = interp1d(t, x)
t_new = t * a
x_new = f(t_new)
D. import numpy as np
from scipy.interpolate import interp1d
n = len(x)
t = np.arange(n)
f = interp1d(t, x)
t_new = t / a
x_new = f(t_new)
Solution
Step 1: Understand time scaling formula
Time scaling by factor a means new time points are t_new = t / a.
Step 2: Use interpolation for non-integer indices
Since t_new may be fractional, interpolation function f is used to get x_new.
Final Answer:
Code snippet A correctly applies time scaling with interpolation. -> Option D
Quick Check:
t_new = t / a with interp1d = Correct scaling [OK]
Hint: Use t_new = t / a with interpolation function [OK]
Common Mistakes:
Multiplying time by a instead of dividing
Indexing array directly with fractional indices
Forgetting to import interp1d
3. Given the code below, what is the length of the output signal x_scaled?
import numpy as np
from scipy.interpolate import interp1d
x = np.array([1, 2, 3, 4, 5])
a = 0.5
n = len(x)
t = np.arange(n)
f = interp1d(t, x, kind='linear', fill_value='extrapolate')
t_new = t / a
x_scaled = f(t_new)
medium
A. 5
B. 10
C. 3
D. 7
Solution
Step 1: Check length of t_new
Variable t_new is computed as t / a, but t has length 5, so t_new also has length 5.
Step 2: Interpolation output length
Interpolating at 5 points returns an array x_scaled of length 5.
Final Answer:
5 -> Option A
Quick Check:
Length of t_new = length of x_scaled = 5 [OK]
Hint: Output length matches length of t_new array [OK]
Common Mistakes:
Assuming output length changes with scaling factor
Confusing scaling factor with output size
Ignoring that t_new length equals original length
4. Identify the error in the following code that attempts to expand a signal by a factor of 2:
import numpy as np
from scipy.interpolate import interp1d
x = np.array([10, 20, 30, 40])
a = 2
n = len(x)
t = np.arange(n)
f = interp1d(t, x)
t_new = t * a
x_expanded = f(t_new)
medium
A. Using integer array t instead of float array.
B. Using t * a instead of t / a for time scaling.
C. Using interp1d without sorting t.
D. Not specifying fill_value in interp1d causes error.
Solution
Step 1: Recall time scaling formula
To expand (slow down) a signal by factor 2, new time points should be t_new = t / a, not t * a.
Step 2: Effect of incorrect scaling
Using t * a compresses the signal instead of expanding it, causing wrong output.
Final Answer:
Using t * a instead of t / a for time scaling. -> Option B
Quick Check:
Expansion requires t_new = t / a [OK]
Hint: Use t_new = t / a for expansion, not t * a [OK]
Common Mistakes:
Multiplying time by a instead of dividing
Ignoring interpolation domain limits
Not handling extrapolation in interp1d
5. You have a signal sampled at 1000 Hz with 1000 samples. You want to create a time-scaled version that plays twice as slow (expansion). Which of the following code snippets correctly computes the new signal x_expanded with proper interpolation and new sampling points?
hard
A. import numpy as np
from scipy.interpolate import interp1d
x = original_signal
fs = 1000
n = len(x)
t = np.arange(n) / fs
f = interp1d(t, x, kind='cubic', fill_value='extrapolate')
t_new = np.arange(0, t[-1]*2, 1/fs)
x_expanded = f(t_new)
B. import numpy as np
from scipy.interpolate import interp1d
x = original_signal
fs = 1000
n = len(x)
t = np.arange(n) / fs
f = interp1d(t, x, kind='linear')
t_new = np.arange(0, t[-1]/2, 1/fs)
x_expanded = f(t_new)
C. import numpy as np
from scipy.interpolate import interp1d
x = original_signal
fs = 1000
n = len(x)
t = np.arange(n) / fs
f = interp1d(t, x)
t_new = np.arange(0, t[-1]*2, 2/fs)
x_expanded = f(t_new)
D. import numpy as np
from scipy.interpolate import interp1d
x = original_signal
fs = 1000
n = len(x)
t = np.arange(n) / fs
f = interp1d(t, x, kind='cubic')
t_new = np.arange(0, t[-1]*0.5, 1/fs)
x_expanded = f(t_new)
Solution
Step 1: Understand expansion by factor 2
Playing twice as slow means the signal duration doubles, so new time axis goes from 0 to t[-1]*2.
Step 2: Create new time points at original sampling rate
New time points should be spaced by 1/fs to keep sampling rate consistent.
Step 3: Use interpolation with extrapolation
Interpolation function with cubic method and fill_value='extrapolate' handles points beyond original range.
Final Answer:
Code snippet A correctly computes the expanded signal. -> Option A
Quick Check:
Expansion doubles duration with proper interpolation [OK]
Hint: Double time axis length, keep sampling interval, interpolate [OK]
Common Mistakes:
Reducing time axis length instead of expanding
Changing sampling interval incorrectly
Not handling extrapolation in interpolation
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.