Bird
Raised Fist0
Signal Processingdata~10 mins

Signal properties (amplitude, frequency, phase) in Signal Processing - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to calculate the amplitude of a sine wave.

Signal Processing
import numpy as np

time = np.linspace(0, 1, 500)
signal = 5 * np.sin(2 * np.pi * 10 * time)
amplitude = (np.max(signal) [1] np.min(signal)) / 2
print(amplitude)
Drag options to blanks, or click blank then click option'
A-
B+
C*
D/
Attempts:
3 left
💡 Hint
Common Mistakes
Using addition instead of subtraction.
Multiplying max and min values.
Dividing max by min.
2fill in blank
medium

Complete the code to calculate the period of a sine wave given the time array.

Signal Processing
import numpy as np

sampling_rate = 1000  # Hz
signal_freq = 50  # Hz
time = np.linspace(0, 1, sampling_rate)
signal = np.sin(2 * np.pi * signal_freq * time)
period = 1 / [1]
print(period)
Drag options to blanks, or click blank then click option'
Asampling_rate
Bnp.pi
Ctime
Dsignal_freq
Attempts:
3 left
💡 Hint
Common Mistakes
Using sampling rate instead of signal frequency.
Using pi instead of frequency.
Using the time array directly.
3fill in blank
hard

Fix the error in the code to correctly calculate the phase shift of a sine wave.

Signal Processing
import numpy as np

phase_shift = np.pi / 4
signal = np.sin(2 * np.pi * 5 * np.linspace(0, 1, 500) [1] phase_shift)
print(signal[:5])
Drag options to blanks, or click blank then click option'
A*
B-
C+
D/
Attempts:
3 left
💡 Hint
Common Mistakes
Using multiplication instead of addition.
Subtracting phase shift which shifts wave in opposite direction.
Dividing by phase shift.
4fill in blank
hard

Fill both blanks to create a dictionary mapping signal properties to their values.

Signal Processing
signal_properties = {"amplitude": [1], "frequency": [2]
print(signal_properties)
Drag options to blanks, or click blank then click option'
A5
B10
C50
Dnp.pi
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing amplitude and frequency values.
Using pi as frequency.
Using sampling rate as frequency.
5fill in blank
hard

Fill all three blanks to create a dictionary with amplitude, frequency, and phase shift of a signal.

Signal Processing
signal_info = {"amplitude": [1], "frequency": [2], "phase": [3]
print(signal_info)
Drag options to blanks, or click blank then click option'
A7
B60
Cnp.pi / 3
Dnp.pi / 4
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing phase shift values.
Mixing amplitude and frequency values.
Using wrong constants for phase.

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