Bird
Raised Fist0
MATLABdata~20 mins

Spectrograms in MATLAB - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Spectrogram Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of Basic Spectrogram Command
What will be the output of the following MATLAB code snippet that computes and plots a spectrogram of a sine wave?
MATLAB
fs = 1000; % Sampling frequency
t = 0:1/fs:1-1/fs;
x = sin(2*pi*100*t);
spectrogram(x,128,120,128,fs,'yaxis');
AA spectrogram plot showing a bright horizontal line at 100 Hz
BA runtime error due to window size mismatch
CA spectrogram plot with no visible frequency components
DA spectrogram plot showing multiple horizontal lines at harmonics of 100 Hz
Attempts:
2 left
💡 Hint
Think about the frequency content of a pure sine wave and how it appears in a spectrogram.
🧠 Conceptual
intermediate
1:30remaining
Understanding Window and Overlap Parameters
In MATLAB's spectrogram function, what is the effect of increasing the overlap parameter between windows?
AIt increases frequency resolution but decreases time resolution
BIt increases time resolution without affecting frequency resolution
CIt increases both time and frequency resolution
DIt increases time resolution but decreases frequency resolution
Attempts:
2 left
💡 Hint
Consider how overlapping windows affect the smoothness of the time axis in the spectrogram.
🔧 Debug
advanced
2:00remaining
Identify the Error in Spectrogram Computation
What error will the following MATLAB code produce when executed?
MATLAB
fs = 500;
t = 0:1/fs:2-1/fs;
x = chirp(t,0,2,fs/2);
spectrogram(x,64,70,64,fs);
AError due to invalid sampling frequency
BNo error; code runs and plots spectrogram
CError due to overlap being larger than window length
DError due to chirp function syntax
Attempts:
2 left
💡 Hint
Check the relationship between window length and overlap parameters.
❓ Predict Output
advanced
2:00remaining
Spectrogram Output for Multi-Tone Signal
What will the spectrogram display when running this MATLAB code?
MATLAB
fs = 1000;
t = 0:1/fs:1-1/fs;
x = sin(2*pi*50*t) + sin(2*pi*150*t);
spectrogram(x,256,200,256,fs,'yaxis');
ATwo bright horizontal lines at 50 Hz and 150 Hz
BNo visible frequency components
CA continuous frequency sweep from 50 Hz to 150 Hz
DOne bright horizontal line at 100 Hz
Attempts:
2 left
💡 Hint
The signal is a sum of two sine waves at fixed frequencies.
🧠 Conceptual
expert
2:30remaining
Effect of Window Length on Frequency Resolution
Which statement correctly describes the effect of increasing the window length in MATLAB's spectrogram function?
AIncreasing window length reduces both time and frequency resolution
BIncreasing window length improves time resolution but reduces frequency resolution
CIncreasing window length improves both time and frequency resolution
DIncreasing window length improves frequency resolution but reduces time resolution
Attempts:
2 left
💡 Hint
Think about how longer windows capture more cycles of a frequency but blur time details.

Practice

(1/5)
1. What does a spectrogram primarily display in signal processing?
easy
A. The total energy of a signal
B. How frequencies change over time in a signal
C. The amplitude of a signal at a single point
D. The phase shift of a signal

Solution

  1. Step 1: Understand the purpose of a spectrogram

    A spectrogram is a visual tool that shows how the frequency content of a signal varies over time.
  2. Step 2: Compare options with the definition

    Only How frequencies change over time in a signal correctly describes this as frequency changes over time, while others describe different signal properties.
  3. Final Answer:

    How frequencies change over time in a signal -> Option B
  4. Quick Check:

    Spectrogram = frequency vs time [OK]
Hint: Spectrogram = frequency changes over time [OK]
Common Mistakes:
  • Confusing amplitude with frequency
  • Thinking spectrogram shows total energy
  • Mixing phase shift with frequency content
2. Which of the following is the correct syntax to create a spectrogram in MATLAB for signal x with window size 256 and overlap 128?
easy
A. spectrogram(x,256,128)
B. spectrogram(x,128,256)
C. spectrogram(256,x,128)
D. spectrogram(x,128)

Solution

  1. Step 1: Recall MATLAB spectrogram syntax

    The syntax is spectrogram(signal,window,overlap), so the window size comes before overlap.
  2. Step 2: Match parameters to syntax

    spectrogram(x,256,128) correctly uses spectrogram(x,256,128) where 256 is window size and 128 is overlap.
  3. Final Answer:

    spectrogram(x,256,128) -> Option A
  4. Quick Check:

    Correct order: signal, window, overlap [OK]
Hint: Remember: spectrogram(signal, window, overlap) [OK]
Common Mistakes:
  • Swapping window and overlap values
  • Passing window size as first argument
  • Omitting required parameters
3. What will be the output size of the matrix S when running [S,F,T] = spectrogram(x,128,64,256,1000); if x is a 1-second signal sampled at 1000 Hz?
medium
A. 256 rows by 15 columns
B. 128 rows by 16 columns
C. 129 rows by 14 columns
D. 129 rows by 16 columns

Solution

  1. Step 1: Calculate frequency bins (rows)

    Frequency bins = nfft/2 + 1 = 256/2 + 1 = 129 rows.
  2. Step 2: Calculate time bins (columns)

    Signal length = 1000 samples, window=128, overlap=64, step = 128-64=64 samples.
    Number of segments = floor((1000-128)/64) + 1 = floor(872/64) + 1 = 13 + 1 = 14 columns.
  3. Final Answer:

    129 rows by 14 columns -> Option C
  4. Quick Check:

    Rows = 129, Columns = 14 [OK]
Hint: Rows = nfft/2+1, columns depend on window and overlap [OK]
Common Mistakes:
  • Confusing nfft with window size for rows
  • Miscounting number of segments
  • Ignoring overlap in time bins calculation
4. Given the code snippet:
x = randn(1,1000);
[S,F,T] = spectrogram(x,256,128,512,1000);
imagesc(T,F,abs(S)); axis xy;

The spectrogram plot looks very blurry. What is the most likely cause?
medium
A. Sampling frequency is too low
B. Overlap is too small, causing gaps in data
C. nfft is smaller than window size, causing error
D. Window size is too large, causing poor time resolution

Solution

  1. Step 1: Analyze window size effect on resolution

    A large window size (256) smooths over time, reducing time resolution and causing blur.
  2. Step 2: Check other parameters

    Overlap is 128 (50%), which is typical and not causing gaps.
    nfft (512) is larger than window (256), which is valid.
    Sampling frequency (1000) is standard.
  3. Final Answer:

    Window size is too large, causing poor time resolution -> Option D
  4. Quick Check:

    Large window = poor time resolution [OK]
Hint: Large window = better frequency, worse time resolution [OK]
Common Mistakes:
  • Confusing overlap with window size effect
  • Assuming nfft smaller than window causes blur
  • Blaming sampling frequency for blur
5. You want to analyze a signal with rapidly changing frequencies using MATLAB's spectrogram. Which combination of parameters will best capture quick changes without losing frequency detail?
hard
A. Small window size, large overlap, moderate nfft
B. Large window size, large overlap, small nfft
C. Large window size, small overlap, large nfft
D. Small window size, small overlap, large nfft

Solution

  1. Step 1: Understand trade-offs in spectrogram parameters

    Small window size improves time resolution to capture rapid changes.
    Large overlap ensures smooth transitions between windows.
    Moderate nfft balances frequency resolution without excessive computation.
  2. Step 2: Evaluate options

    Small window size, large overlap, moderate nfft matches these criteria.
    Small window size, small overlap, large nfft has small overlap, causing gaps.
    Options B and C use large windows, reducing time resolution.
  3. Final Answer:

    Small window size, large overlap, moderate nfft -> Option A
  4. Quick Check:

    Quick changes need small window + large overlap [OK]
Hint: Small window + large overlap = best for fast changes [OK]
Common Mistakes:
  • Using large window for fast changes
  • Ignoring overlap size
  • Choosing too small nfft losing frequency detail
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