Bird
Raised Fist0
Signal Processingdata~20 mins

Signal properties (amplitude, frequency, phase) in Signal Processing - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Signal Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of a sine wave with given amplitude and frequency
What is the output array of the following code that generates a sine wave with amplitude 2 and frequency 1 Hz sampled at 4 points?
Signal Processing
import numpy as np

fs = 4  # sampling frequency
f = 1   # frequency of sine wave
A = 2   # amplitude

t = np.arange(4) / fs
signal = A * np.sin(2 * np.pi * f * t)
print(signal)
A[0.0, 1.414, 2.0, 1.414]
B[0.0, 2.0, 0.0, -2.0]
C[0.0, 1.0, 0.0, -1.0]
D[0.0, -2.0, 0.0, 2.0]
Attempts:
2 left
💡 Hint
Recall that sine of 0 is 0, sine of pi/2 is 1, sine of pi is 0, sine of 3pi/2 is -1.
❓ data_output
intermediate
2:00remaining
Phase shift effect on sine wave values
Given a sine wave with amplitude 1, frequency 1 Hz, sampled at 4 points, what is the output array if the phase is shifted by pi/2?
Signal Processing
import numpy as np

fs = 4
f = 1
A = 1
phase = np.pi / 2

t = np.arange(4) / fs
signal = A * np.sin(2 * np.pi * f * t + phase)
print(signal)
A[-1.0, 0.0, 1.0, 0.0]
B[0.0, 1.0, 0.0, -1.0]
C[1.0, 0.0, -1.0, 0.0]
D[0.0, -1.0, 0.0, 1.0]
Attempts:
2 left
💡 Hint
Phase shift by pi/2 turns sine into cosine.
❓ visualization
advanced
3:00remaining
Visualizing amplitude change on sine wave
Which plot correctly shows the effect of increasing amplitude from 1 to 3 on a sine wave with frequency 1 Hz?
Signal Processing
import numpy as np
import matplotlib.pyplot as plt

fs = 100
f = 1

t = np.linspace(0, 1, fs, endpoint=False)
signal1 = 1 * np.sin(2 * np.pi * f * t)
signal2 = 3 * np.sin(2 * np.pi * f * t)

plt.plot(t, signal1, label='Amplitude 1')
plt.plot(t, signal2, label='Amplitude 3')
plt.legend()
plt.show()
APlot with two sine waves, second wave shifted in phase but same amplitude
BPlot with two sine waves, both with same peak heights
CPlot with two sine waves, second wave peaks one third of first
DPlot with two sine waves, second wave peaks three times higher than first
Attempts:
2 left
💡 Hint
Amplitude controls the height of the wave peaks.
🧠 Conceptual
advanced
1:30remaining
Effect of frequency on sine wave period
If the frequency of a sine wave doubles, what happens to its period?
AThe period halves
BThe period doubles
CThe period stays the same
DThe period becomes zero
Attempts:
2 left
💡 Hint
Period is the inverse of frequency.
🔧 Debug
expert
2:00remaining
Identify error in phase shift calculation
What error does the following code produce when trying to apply a phase shift of 90 degrees to a sine wave? import numpy as np fs = 10 f = 1 A = 1 phase = 90 t = np.arange(fs) / fs signal = A * np.sin(2 * np.pi * f * t + phase) print(signal)
Signal Processing
import numpy as np
fs = 10
f = 1
A = 1
phase = 90

t = np.arange(fs) / fs
signal = A * np.sin(2 * np.pi * f * t + phase)
print(signal)
AThe output is incorrect because phase should be in radians, not degrees
BSyntaxError due to missing colon
CTypeError because phase is an integer
DNo error, output is correct
Attempts:
2 left
💡 Hint
Check units of phase in trigonometric functions.

Practice

(1/5)
1. Which property of a signal describes how tall or strong the wave is?
easy
A. Frequency
B. Amplitude
C. Phase
D. Wavelength

Solution

  1. Step 1: Understand amplitude meaning

    Amplitude measures the height or strength of a wave, showing how strong the signal is.
  2. Step 2: Compare with other properties

    Frequency is how often the wave repeats, phase shifts the start, wavelength is distance, not height.
  3. Final Answer:

    Amplitude -> Option B
  4. Quick Check:

    Amplitude = wave height [OK]
Hint: Amplitude means wave height or strength [OK]
Common Mistakes:
  • Confusing amplitude with frequency
  • Thinking phase affects height
  • Mixing wavelength with amplitude
2. Which of the following is the correct way to represent a sine wave with amplitude 3 and frequency 5 Hz in Python using numpy?
t = np.linspace(0, 1, 500)
y = ?
easy
A. 3 + np.sin(2 * np.pi * 5 * t)
B. np.sin(3 * 2 * np.pi * 5 * t)
C. 3 * np.sin(2 * np.pi * 5 * t)
D. 5 * np.sin(2 * np.pi * 3 * t)

Solution

  1. Step 1: Recall sine wave formula

    The sine wave formula is amplitude * sin(2π * frequency * time).
  2. Step 2: Match formula to options

    3 * np.sin(2 * np.pi * 5 * t) matches amplitude 3 and frequency 5 correctly as 3 * sin(2π * 5 * t).
  3. Final Answer:

    3 * np.sin(2 * np.pi * 5 * t) -> Option C
  4. Quick Check:

    Amplitude * sin(2π * frequency * t) [OK]
Hint: Amplitude multiplies sine, frequency inside sine argument [OK]
Common Mistakes:
  • Multiplying frequency by amplitude inside sine
  • Adding amplitude instead of multiplying
  • Swapping amplitude and frequency
3. Given the code:
import numpy as np
t = np.linspace(0, 1, 5)
y = 2 * np.sin(2 * np.pi * 1 * t + np.pi/2)
print(np.round(y, 2))

What is the output?
medium
A. [ 2. 0. -2. 0. 2. ]
B. [ 2. 1.41 0. -1.41 -2. ]
C. [ 0. 1.41 2. 1.41 0. ]
D. [ 1.41 2. 1.41 0. -1.41]

Solution

  1. Step 1: Calculate time points

    t = [0, 0.25, 0.5, 0.75, 1]
  2. Step 2: Compute y values

    y = 2 * sin(2π * 1 * t + π/2) = 2 * cos(2π * t) due to phase shift π/2.
    Values: 2*cos(0)=2, 2*cos(π/2)=0, 2*cos(π)=-2, 2*cos(3π/2)=0, 2*cos(2π)=2
    np.round(y, 2) prints [ 2. 0. -2. 0. 2. ]
  3. Final Answer:

    [ 2. 0. -2. 0. 2. ] -> Option A
  4. Quick Check:

    Phase π/2 shifts sine to cosine [OK]
Hint: Phase π/2 shifts sine to cosine wave [OK]
Common Mistakes:
  • Ignoring phase shift
  • Rounding errors
  • Mixing sine and cosine values
4. Identify the error in this code snippet that tries to create a sine wave with amplitude 4 and frequency 2 Hz:
import numpy as np
t = np.linspace(0, 1, 100)
y = 4 * np.sin(2 * np.pi * t) * 2
medium
A. The time vector t should be integers, not floats
B. Amplitude should be added, not multiplied
C. np.linspace should use 0 to 2 instead of 0 to 1
D. The frequency multiplier is in the wrong place; it should be inside the sine argument as 2 * np.pi * 2 * t

Solution

  1. Step 1: Analyze sine argument order

    The sine argument is 2π * t (frequency 1 Hz), but *2 is outside sin(), incorrectly scaling the amplitude instead of frequency.
  2. Step 2: Correct placement for frequency

    Frequency multiplier must be inside sine: 2 * np.pi * 2 * t.
  3. Final Answer:

    The frequency multiplier is in the wrong place; it should be inside the sine argument as 2 * np.pi * 2 * t -> Option D
  4. Quick Check:

    Frequency must multiply time inside sine [OK]
Hint: Write frequency right after 2π inside sine [OK]
Common Mistakes:
  • Multiplying amplitude incorrectly
  • Using wrong time vector type
  • Changing linspace range unnecessarily
5. You have a signal defined as y = 5 * np.sin(2 * np.pi * 3 * t + π/4). If you want to double the frequency and halve the amplitude while keeping the phase shift the same, which expression is correct?
hard
A. y = 2.5 * np.sin(2 * np.pi * 6 * t + π/4)
B. y = 10 * np.sin(2 * np.pi * 1.5 * t + π/4)
C. y = 2.5 * np.sin(2 * np.pi * 3 * t + π/2)
D. y = 5 * np.sin(2 * np.pi * 6 * t)

Solution

  1. Step 1: Adjust amplitude and frequency

    Original amplitude is 5, halved is 2.5. Original frequency is 3, doubled is 6.
  2. Step 2: Keep phase shift same

    Phase shift π/4 remains unchanged in the new expression.
  3. Final Answer:

    y = 2.5 * np.sin(2 * np.pi * 6 * t + π/4) -> Option A
  4. Quick Check:

    Amplitude halved, frequency doubled, phase same [OK]
Hint: Multiply frequency by 2, amplitude by 0.5, keep phase [OK]
Common Mistakes:
  • Changing phase shift incorrectly
  • Multiplying amplitude instead of halving
  • Swapping frequency and amplitude values
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard