Bird
Raised Fist0
Signal Processingdata~10 mins

Audio signal characteristics 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 duration of an audio signal in seconds.

Signal Processing
duration = len(audio_signal) / [1]
Drag options to blanks, or click blank then click option'
Abit_depth
Bsample_rate
Cchannels
Dfrequency
Attempts:
3 left
💡 Hint
Common Mistakes
Using bit depth or channels instead of sample rate to calculate duration.
2fill in blank
medium

Complete the code to compute the root mean square (RMS) value of an audio signal.

Signal Processing
rms_value = (sum(x**2 for x in audio_signal) / [1]) ** 0.5
Drag options to blanks, or click blank then click option'
Alen(audio_signal)
Bchannels
Csample_rate
Dbit_depth
Attempts:
3 left
💡 Hint
Common Mistakes
Dividing by sample rate or channels instead of number of samples.
3fill in blank
hard

Fix the error in the code to calculate the peak amplitude of an audio signal.

Signal Processing
peak_amplitude = max([1] for x in audio_signal)
Drag options to blanks, or click blank then click option'
Ax
Bx**2
Cabs(x)
D-x
Attempts:
3 left
💡 Hint
Common Mistakes
Using raw sample values without abs(), missing negative peaks.
4fill in blank
hard

Fill both blanks to create a dictionary of word lengths for words longer than 3 characters.

Signal Processing
lengths = {word: [1] for word in words if len(word) [2] 3}
Drag options to blanks, or click blank then click option'
Alen(word)
B>
C<
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using word instead of len(word) for values.
Using '<' instead of '>' in condition.
5fill in blank
hard

Fill all three blanks to create a filtered dictionary of uppercase keys and their values greater than zero.

Signal Processing
result = [1]: [2] for k, v in data.items() if v [3] 0
Drag options to blanks, or click blank then click option'
Ak.upper()
Bv
C>
Dk.lower()
Attempts:
3 left
💡 Hint
Common Mistakes
Using k.lower() instead of k.upper().
Using '<' instead of '>' in condition.

Practice

(1/5)
1. Which characteristic of an audio signal determines how many samples are taken per second?
easy
A. Duration
B. Amplitude
C. Frequency
D. Sampling rate

Solution

  1. Step 1: Understand sampling rate meaning

    Sampling rate is the number of samples recorded per second in an audio signal.
  2. Step 2: Compare with other characteristics

    Amplitude is signal strength, frequency is pitch, duration is length of sound.
  3. Final Answer:

    Sampling rate -> Option D
  4. Quick Check:

    Samples per second = Sampling rate [OK]
Hint: Sampling rate = samples per second in audio [OK]
Common Mistakes:
  • Confusing frequency with sampling rate
  • Thinking amplitude controls sample count
  • Mixing duration with sampling rate
2. Which of the following is the correct way to represent a sine wave signal in Python using numpy for frequency 440 Hz and sampling rate 8000 Hz?
easy
A. t = np.linspace(0, 1, 8000); signal = np.sin(2 * np.pi * 440 * t)
B. t = np.arange(0, 1, 440); signal = np.sin(2 * np.pi * 8000 * t)
C. t = np.linspace(0, 440, 8000); signal = np.sin(2 * np.pi * t)
D. t = np.arange(0, 1, 1/440); signal = np.sin(2 * np.pi * 8000 * t)

Solution

  1. Step 1: Define time vector correctly

    Use np.linspace(0, 1, 8000) to create 1 second with 8000 samples.
  2. Step 2: Calculate sine wave with correct frequency

    Signal = sin(2π * frequency * time), so 2 * np.pi * 440 * t is correct.
  3. Final Answer:

    t = np.linspace(0, 1, 8000); signal = np.sin(2 * np.pi * 440 * t) -> Option A
  4. Quick Check:

    Time vector and frequency match signal formula [OK]
Hint: Time vector length = sampling rate, sine uses 2πf t [OK]
Common Mistakes:
  • Using np.arange with wrong step size
  • Swapping frequency and sampling rate
  • Incorrect time vector range
3. Given this Python code snippet, what is the maximum amplitude value of the generated signal?
import numpy as np
sampling_rate = 1000
frequency = 5
 t = np.linspace(0, 1, sampling_rate)
signal = 0.5 * np.sin(2 * np.pi * frequency * t)
medium
A. 1.0
B. 0.5
C. 5.0
D. 0.05

Solution

  1. Step 1: Understand amplitude scaling

    The sine function outputs values between -1 and 1. Multiplying by 0.5 scales amplitude to ±0.5.
  2. Step 2: Identify maximum amplitude

    Maximum amplitude is the positive peak, which is 0.5 here.
  3. Final Answer:

    0.5 -> Option B
  4. Quick Check:

    Amplitude scale factor = 0.5 [OK]
Hint: Amplitude scales sine peak values directly [OK]
Common Mistakes:
  • Confusing frequency with amplitude
  • Ignoring the 0.5 multiplier
  • Assuming sine max is always 1 without scaling
4. Identify the error in this code that generates a 1-second 440 Hz sine wave sampled at 8000 Hz:
import numpy as np
t = np.linspace(0, 1, 440)
signal = np.sin(2 * np.pi * 440 * t)
medium
A. The sine function should use cosine instead
B. The frequency should be 8000 instead of 440
C. The time vector length should be 8000, not 440
D. The sampling rate should be 440 instead of 8000

Solution

  1. Step 1: Check time vector length for sampling rate

    Sampling rate is 8000 Hz, so time vector must have 8000 points for 1 second.
  2. Step 2: Identify mismatch in code

    Code uses 440 points in time vector, which is incorrect for 8000 Hz sampling.
  3. Final Answer:

    The time vector length should be 8000, not 440 -> Option C
  4. Quick Check:

    Sampling rate = time vector length [OK]
Hint: Time vector length = sampling rate x duration [OK]
Common Mistakes:
  • Confusing frequency with sampling rate
  • Changing sine to cosine unnecessarily
  • Using wrong sampling rate value
5. You have a recorded audio signal sampled at 16000 Hz with a duration of 2 seconds. You want to extract a 440 Hz sine wave component from it. Which steps correctly describe this process?
hard
A. Apply a bandpass filter around 440 Hz, then analyze amplitude and phase
B. Downsample the signal to 440 Hz, then compute FFT
C. Increase amplitude to 16000, then apply lowpass filter at 2 Hz
D. Use a highpass filter at 2 seconds, then normalize frequency

Solution

  1. Step 1: Use bandpass filter around target frequency

    To isolate 440 Hz, apply a bandpass filter centered near 440 Hz to keep that frequency and remove others.
  2. Step 2: Analyze filtered signal

    After filtering, analyze amplitude and phase to understand the sine wave component.
  3. Final Answer:

    Apply a bandpass filter around 440 Hz, then analyze amplitude and phase -> Option A
  4. Quick Check:

    Bandpass filter isolates frequency component [OK]
Hint: Bandpass filter isolates specific frequency [OK]
Common Mistakes:
  • Downsampling to frequency value instead of sampling rate
  • Confusing filter types and cutoff frequencies
  • Misunderstanding duration as filter parameter
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