Bird
Raised Fist0
Signal Processingdata~10 mins

Even and odd signal decomposition 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 even part of the signal x.

Signal Processing
import numpy as np

def even_part(x):
    return 0.5 * (x + x[1][::-1])

signal = np.array([1, 2, 3, 4, 5])
even = even_part(signal)
print(even)
Drag options to blanks, or click blank then click option'
A/
B-
C*
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using subtraction instead of addition.
Using multiplication or division instead of addition.
2fill in blank
medium

Complete the code to calculate the odd part of the signal x.

Signal Processing
import numpy as np

def odd_part(x):
    return 0.5 * (x [1] x[::-1])

signal = np.array([1, 2, 3, 4, 5])
odd = odd_part(signal)
print(odd)
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.
Using multiplication or division instead of subtraction.
3fill in blank
hard

Fix the error in the code to correctly compute the even part of the signal.

Signal Processing
import numpy as np

def even_part(x):
    return 0.5 * (x [1] x[::-1])

signal = np.array([1, 2, 3, 4, 5])
even = even_part(signal)
print(even)
Drag options to blanks, or click blank then click option'
A*
B-
C+
D/
Attempts:
3 left
💡 Hint
Common Mistakes
Using subtraction instead of addition.
Using multiplication or division instead of addition.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps each element to its even or odd part based on index.

Signal Processing
signal = [1, 2, 3, 4, 5]
result = {i: 0.5 * (signal[i] [1] signal[-i-1]) for i in range(len(signal)) if i [2] 2 == 0}
print(result)
Drag options to blanks, or click blank then click option'
A+
B-
C%
D//
Attempts:
3 left
💡 Hint
Common Mistakes
Using subtraction instead of addition for even part.
Using incorrect operator to check even index.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps each index to the odd part if index is odd, else even part.

Signal Processing
signal = [1, 2, 3, 4, 5]
result = {i: 0.5 * (signal[i] [1] signal[-i-1]) for i in range(len(signal)) if i [2] 2 [3] 1}
print(result)
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 for odd part.
Using wrong operator to check odd index.
Confusing equality and assignment operators.

Practice

(1/5)
1.

What is the main property of an even signal x(t) in signal processing?

easy
A. It satisfies x(t) = -x(-t) for all t.
B. It has no negative values.
C. It is always zero at t=0.
D. It satisfies x(t) = x(-t) for all t.

Solution

  1. Step 1: Recall definition of even signal

    An even signal is symmetric about zero, meaning the value at t equals the value at -t.
  2. Step 2: Apply the property to the signal

    This means x(t) = x(-t) for every time t.
  3. Final Answer:

    It satisfies x(t) = x(-t) for all t. -> Option D
  4. Quick Check:

    Even signal = x(t) = x(-t) [OK]
Hint: Even signals mirror values at positive and negative times [OK]
Common Mistakes:
  • Confusing even with odd signal definitions
  • Thinking even signals must be zero at t=0
  • Assuming even signals cannot have negative values
2.

Which of the following is the correct formula to find the odd part x_o(t) of a signal x(t)?

easy
A. x_o(t) = (x(t) + x(-t)) / 2
B. x_o(t) = (x(t) - x(-t)) / 2
C. x_o(t) = x(t) * x(-t)
D. x_o(t) = x(t) / x(-t)

Solution

  1. Step 1: Recall formula for odd part of a signal

    The odd part is defined as half the difference between the signal and its time-reversed version: x_o(t) = (x(t) - x(-t)) / 2.
  2. Step 2: Verify the formula matches the odd signal property

    This formula ensures x_o(-t) = -x_o(t), which is the odd signal condition.
  3. Final Answer:

    x_o(t) = (x(t) - x(-t)) / 2 -> Option B
  4. Quick Check:

    Odd part = (x(t) - x(-t))/2 [OK]
Hint: Odd part uses subtraction of reversed signal, then divide by 2 [OK]
Common Mistakes:
  • Using addition instead of subtraction for odd part
  • Multiplying signals instead of subtracting
  • Dividing by wrong number or not dividing at all
3.

Given a discrete signal x = [2, 3, 4, 3, 2] indexed from -2 to 2, what is the even part x_e of this signal?

Use the formula x_e[n] = (x[n] + x[-n]) / 2.

medium
A. [2, 3, 4, 3, 2]
B. [2, 3.5, 4, 3.5, 2]
C. [2, 3, 4, 4, 2]
D. [2, 3.5, 4, 3, 2]

Solution

  1. Step 1: Identify signal values and indices

    Signal x indexed from -2 to 2 is: x[-2]=2, x[-1]=3, x[0]=4, x[1]=3, x[2]=2.
  2. Step 2: Calculate even part using formula

    Calculate each x_e[n] = (x[n] + x[-n]) / 2: - n=-2: (x[-2]+x[2])/2 = (2+2)/2=2 - n=-1: (x[-1]+x[1])/2 = (3+3)/2=3 - n=0: (x[0]+x[0])/2 = (4+4)/2=4 - n=1: (x[1]+x[-1])/2 = (3+3)/2=3 - n=2: (x[2]+x[-2])/2 = (2+2)/2=2 But note the signal is symmetric, so values are same as original except at n=1 and n=-1 where average is 3.
  3. Final Answer:

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

    Even part averages signal and its mirror [OK]
Hint: Average signal values at n and -n for even part [OK]
Common Mistakes:
  • Not averaging values correctly
  • Mixing indices n and -n
  • Using odd part formula instead
4.

Consider the Python code below to compute the odd part of a signal x:

def odd_part(x):
    return [(x[i] - x[-i]) / 2 for i in range(len(x))]

What is the main error in this code?

medium
A. The range should start from 1, not 0.
B. The formula uses addition instead of subtraction.
C. Indexing with negative indices -i is incorrect for this context.
D. The division by 2 is missing.

Solution

  1. Step 1: Understand indexing in Python lists

    Python negative indices count from the end, so -i does not correspond to -n time index but to list end positions.
  2. Step 2: Identify correct indexing for signal symmetry

    For signal indexed from negative to positive, indexing must map i to -i properly, which this code does not do because list indices are 0-based and -i accesses wrong elements.
  3. Final Answer:

    Indexing with negative indices -i is incorrect for this context. -> Option C
  4. Quick Check:

    Python negative indices ≠ signal negative time [OK]
Hint: Python negative indices count from list end, not negative time [OK]
Common Mistakes:
  • Assuming -i indexes negative time correctly
  • Ignoring zero-based indexing
  • Confusing addition/subtraction in formula
5.

You have a signal x(t) = t^3 + 2t. Decompose it into even and odd parts. What is the even part x_e(t)?

hard
A. x_e(t) = 0
B. x_e(t) = t^3
C. x_e(t) = 2t
D. x_e(t) = t^3 + 2t

Solution

  1. Step 1: Identify even and odd nature of terms

    The term t^3 is an odd function because (-t)^3 = -t^3. The term 2t is also odd because 2(-t) = -2t.
  2. Step 2: Calculate even part using formula

    Even part is x_e(t) = (x(t) + x(-t)) / 2. Substitute: x_e(t) = (t^3 + 2t + (-t)^3 + 2(-t)) / 2 = (t^3 + 2t - t^3 - 2t) / 2 = 0.
  3. Final Answer:

    x_e(t) = 0 -> Option A
  4. Quick Check:

    Sum of odd functions is odd, so even part is zero [OK]
Hint: Sum of odd functions has zero even part [OK]
Common Mistakes:
  • Assuming polynomial terms are even by default
  • Mixing odd and even function properties
  • Forgetting to apply formula correctly
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