Bird
Raised Fist0
Signal Processingdata~10 mins

Channel noise and SNR 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 noise power given signal power and SNR in dB.

Signal Processing
noise_power = signal_power / (10 ** ([1] / 10))
Drag options to blanks, or click blank then click option'
Anoise_power
Bsnr_db
Dsignal_power
Attempts:
3 left
💡 Hint
Common Mistakes
Using signal_power instead of snr_db in the exponent.
Forgetting to divide SNR dB by 10 before exponentiation.
2fill in blank
medium

Complete the code to calculate the SNR in dB from signal and noise power.

Signal Processing
snr_db = 10 * math.log10(signal_power / [1])
Drag options to blanks, or click blank then click option'
Anoise_power
Bnoise_power + signal_power
Csnr_db
Dsignal_power
Attempts:
3 left
💡 Hint
Common Mistakes
Using signal_power as denominator instead of noise_power.
Using natural log instead of log base 10.
3fill in blank
hard

Fix the error in the code to compute noise power from SNR in dB and signal power.

Signal Processing
noise_power = signal_power / (10 ** ([1]))
Drag options to blanks, or click blank then click option'
A(snr_db)
B(snr_db / 10)
Csnr_db
Dsnr_db / 10
Attempts:
3 left
💡 Hint
Common Mistakes
Dividing the whole power expression by 10 instead of dividing snr_db first.
Missing parentheses causing wrong order of operations.
4fill in blank
hard

Fill both blanks to create a dictionary mapping signal names to their SNR in dB, filtering only those with SNR above 10 dB.

Signal Processing
snr_dict = {name: 10 * math.log10(signal / noise) for name, (signal, noise) in data.items() if 10 * math.log10(signal / noise) [1] [2]
Drag options to blanks, or click blank then click option'
A>
B10
C<
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using less than operator instead of greater than.
Using wrong threshold value.
5fill in blank
hard

Fill all three blanks to create a list of SNR values in dB for signals with noise power less than 0.01.

Signal Processing
snr_values = [10 * math.log10([1] / [2]) for [3], ([1], [2]) in signals.items() if [2] < 0.01]
Drag options to blanks, or click blank then click option'
Asignal_power
Bnoise_power
Cname
Dsignal
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up signal_power and noise_power in the ratio.
Using wrong variable names in the loop.

Practice

(1/5)
1. What does SNR (Signal-to-Noise Ratio) represent in signal processing?
easy
A. The strength of the signal compared to the background noise
B. The total amount of noise in the channel
C. The speed at which the signal is transmitted
D. The frequency of the signal

Solution

  1. Step 1: Understand the meaning of SNR

    SNR measures how strong the useful signal is compared to the noise interfering with it.
  2. Step 2: Compare options with definition

    Only The strength of the signal compared to the background noise correctly describes SNR as the ratio of signal strength to noise level.
  3. Final Answer:

    The strength of the signal compared to the background noise -> Option A
  4. Quick Check:

    SNR = Signal strength / Noise level [OK]
Hint: Remember: SNR compares signal power to noise power [OK]
Common Mistakes:
  • Confusing SNR with noise level alone
  • Thinking SNR measures speed or frequency
  • Mixing signal strength with noise amount
2. Which of the following is the correct formula to calculate SNR in decibels (dB)?
easy
A. SNR(dB) = 10 * log10(signal power / noise power)
B. SNR(dB) = signal power / noise power
C. SNR(dB) = 20 * log10(signal power * noise power)
D. SNR(dB) = log10(signal power - noise power)

Solution

  1. Step 1: Recall the SNR dB formula

    SNR in decibels is calculated as 10 times the base-10 logarithm of the ratio of signal power to noise power.
  2. Step 2: Match formula with options

    SNR(dB) = 10 * log10(signal power / noise power) matches the correct formula exactly; others are incorrect or mathematically invalid.
  3. Final Answer:

    SNR(dB) = 10 * log10(signal power / noise power) -> Option A
  4. Quick Check:

    SNR(dB) = 10 * log10(Signal/Noise) [OK]
Hint: Use 10 * log10 for power ratios in dB [OK]
Common Mistakes:
  • Using 20 instead of 10 for power ratio
  • Multiplying signal and noise instead of dividing
  • Subtracting powers inside log instead of dividing
3. Given signal power = 50 mW and noise power = 5 mW, what is the SNR in decibels (dB)? Use SNR(dB) = 10 * log10(signal power / noise power).
medium
A. 7 dB
B. 10 dB
C. 13 dB
D. 5 dB

Solution

  1. Step 1: Calculate the ratio signal power / noise power

    Ratio = 50 mW / 5 mW = 10
  2. Step 2: Calculate SNR in dB using formula

    SNR(dB) = 10 * log10(10) = 10 * 1 = 10 dB
  3. Step 3: Re-check calculation

    Log base 10 of 10 is 1, so SNR = 10 dB
  4. Final Answer:

    10 dB -> Option B
  5. Quick Check:

    10 * log10(10) = 10 dB [OK]
Hint: Calculate ratio first, then multiply log10 by 10 [OK]
Common Mistakes:
  • Using natural log instead of log base 10
  • Dividing noise by signal instead of signal by noise
  • Forgetting to multiply by 10
4. The following Python code attempts to calculate SNR in dB but has an error. What is the error?
import math
signal_power = 100
noise_power = 20
snr_db = 10 * math.log(signal_power / noise_power)
print(snr_db)
medium
A. Multiplying by 20 instead of 10
B. Dividing noise_power by signal_power
C. Missing import statement
D. Using math.log instead of math.log10

Solution

  1. Step 1: Identify the logarithm function used

    The code uses math.log which is natural log (base e), but SNR in dB requires log base 10.
  2. Step 2: Correct the log function

    Replace math.log with math.log10 to get correct SNR in decibels.
  3. Final Answer:

    Using math.log instead of math.log10 -> Option D
  4. Quick Check:

    Use math.log10 for dB calculations [OK]
Hint: Use math.log10 for base-10 logs in dB calculations [OK]
Common Mistakes:
  • Using natural log instead of log10
  • Swapping signal and noise in division
  • Forgetting to import math module
5. A communication channel has a signal power of 200 mW and noise power of 50 mW. If the noise power doubles, what happens to the SNR in dB? Use SNR(dB) = 10 * log10(signal power / noise power).
hard
A. SNR decreases by about 6 dB
B. SNR increases by about 3 dB
C. SNR decreases by about 3 dB
D. SNR stays the same

Solution

  1. Step 1: Calculate initial SNR

    Initial SNR = 10 * log10(200 / 50) = 10 * log10(4) ≈ 10 * 0.602 = 6.02 dB
  2. Step 2: Calculate new SNR after noise doubles

    New noise power = 50 * 2 = 100 mW
    New SNR = 10 * log10(200 / 100) = 10 * log10(2) ≈ 10 * 0.301 = 3.01 dB
  3. Step 3: Find change in SNR

    Change = 6.02 - 3.01 = 3.01 dB decrease
  4. Final Answer:

    SNR decreases by about 3 dB -> Option C
  5. Quick Check:

    Doubling noise halves ratio, drops SNR by ~3 dB [OK]
Hint: Doubling noise power drops SNR by ~3 dB [OK]
Common Mistakes:
  • Thinking SNR increases when noise increases
  • Calculating log base e instead of base 10
  • Forgetting to multiply log by 10
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