Bird
Raised Fist0
Signal Processingdata~5 mins

Analog vs digital signals in Signal Processing

Choose your learning style10 modes available
Introduction

We use analog and digital signals to send information. Understanding their difference helps us choose the right way to share data clearly and efficiently.

When recording sound with a microphone (analog) or storing it on a computer (digital).
When watching TV: old TVs use analog signals, modern TVs use digital signals.
When sending messages over the internet, which uses digital signals.
When measuring temperature with a sensor that outputs continuous (analog) or stepped (digital) values.
Syntax
Signal Processing
Analog signal: continuous wave, varies smoothly over time.
Digital signal: sequence of discrete values, often 0s and 1s.

Analog signals can have any value in a range, like a smooth curve.

Digital signals use fixed steps, like on/off or numbers.

Examples
This shows a smooth change, like a sound wave.
Signal Processing
Analog signal example: voltage changes smoothly from 0V to 5V over time.
This is like a light switch: only on or off.
Signal Processing
Digital signal example: voltage is either 0V or 5V, representing 0 or 1.
Sound is first analog, then changed to digital for computers.
Signal Processing
Analog signal: sine wave representing sound.
Digital signal: binary code representing the same sound after conversion.
Sample Program

This code creates a smooth sine wave as an analog signal. Then it turns it into a digital signal by setting values above zero to 1 and others to 0. The plot shows how analog is smooth and digital is stepped.

Signal Processing
import numpy as np
import matplotlib.pyplot as plt

# Create time points
 t = np.linspace(0, 1, 500)

# Analog signal: sine wave
 analog_signal = np.sin(2 * np.pi * 5 * t)

# Digital signal: convert analog to 0 or 1 by threshold
 digital_signal = (analog_signal > 0).astype(int)

# Plot both signals
 plt.figure(figsize=(10, 4))
 plt.plot(t, analog_signal, label='Analog Signal (Sine Wave)')
 plt.step(t, digital_signal, where='post', label='Digital Signal (Thresholded)', color='red')
 plt.title('Analog vs Digital Signal')
 plt.xlabel('Time (seconds)')
 plt.ylabel('Signal Value')
 plt.legend()
 plt.grid(True)
 plt.show()
OutputSuccess
Important Notes

Analog signals can be noisy and lose quality over distance.

Digital signals are easier to store and transmit without losing quality.

Converting analog to digital is called sampling and quantization.

Summary

Analog signals change smoothly and can have any value.

Digital signals have fixed values, usually 0 or 1.

Digital signals are common in computers and modern communication.

Practice

(1/5)
1. Which of the following best describes an analog signal?
easy
A. A signal that changes smoothly and continuously over time
B. A signal that only has two fixed levels, 0 and 1
C. A signal that is always digital
D. A signal that cannot be measured

Solution

  1. Step 1: Understand the nature of analog signals

    Analog signals vary smoothly and continuously, representing information in a flowing manner.
  2. Step 2: Compare with digital signals

    Digital signals use fixed steps, usually two levels (0 and 1), unlike analog signals.
  3. Final Answer:

    A signal that changes smoothly and continuously over time -> Option A
  4. Quick Check:

    Analog = continuous signal [OK]
Hint: Analog means continuous change, not fixed steps [OK]
Common Mistakes:
  • Confusing analog with digital signals
  • Thinking analog signals have only two levels
  • Assuming analog signals cannot be measured
2. Which of the following is the correct way to represent a digital signal?
easy
A. A smooth curve that varies continuously
B. A signal that changes randomly without pattern
C. A signal that cannot be converted to numbers
D. A signal with only two levels, such as 0 and 1

Solution

  1. Step 1: Identify digital signal characteristics

    Digital signals use fixed levels, typically two: 0 and 1, representing discrete steps.
  2. Step 2: Eliminate incorrect options

    Smooth curves describe analog signals, not digital. Digital signals can be converted to numbers and are not random.
  3. Final Answer:

    A signal with only two levels, such as 0 and 1 -> Option D
  4. Quick Check:

    Digital = two-level signal [OK]
Hint: Digital signals have two fixed levels: 0 and 1 [OK]
Common Mistakes:
  • Choosing smooth continuous signals for digital
  • Thinking digital signals cannot be numeric
  • Confusing randomness with digital signals
3. Consider this Python code simulating signal values:
import numpy as np

# Analog signal: sine wave
analog_signal = np.sin(np.linspace(0, np.pi, 5))

# Digital signal: threshold at 0

digital_signal = (analog_signal > 0).astype(int)

print(digital_signal)

What is the output of print(digital_signal)?
medium
A. [0 1 1 1 0]
B. [1 1 1 1 1]
C. [0 0 0 0 0]
D. [1 0 0 0 1]

Solution

  1. Step 1: Calculate analog signal values

    Using np.linspace(0, π, 5), the sine values are [0, ~0.707, 1, ~0.707, 0].
  2. Step 2: Apply threshold to create digital signal

    Values > 0 become 1, else 0. So digital_signal = [0, 1, 1, 1, 0].
  3. Final Answer:

    [0 1 1 1 0] -> Option A
  4. Quick Check:

    Threshold > 0 converts sine to binary [OK]
Hint: Threshold analog > 0 to get digital 0 or 1 [OK]
Common Mistakes:
  • Misunderstanding np.linspace endpoints
  • Confusing >0 with >=0 condition
  • Forgetting to convert boolean to int
4. The following code attempts to convert an analog signal to digital but has an error:
import numpy as np

analog = np.array([0.1, -0.5, 0.3, -0.2])
digital = analog > 0
print(digital)

What is the error and how to fix it?
medium
A. No error; code works correctly
B. digital is boolean, convert to int with digital = (analog > 0).astype(int)
C. Use analog >= 0 instead of > 0
D. Use np.sign(analog) instead of > 0

Solution

  1. Step 1: Identify output type of comparison

    analog > 0 returns a boolean array, not integers 0 or 1.
  2. Step 2: Convert boolean to integer

    Use .astype(int) to convert True/False to 1/0 for digital signal representation.
  3. Final Answer:

    digital is boolean, convert to int with digital = (analog > 0).astype(int) -> Option B
  4. Quick Check:

    Boolean to int conversion needed [OK]
Hint: Convert boolean array to int for digital signals [OK]
Common Mistakes:
  • Assuming boolean array is digital signal
  • Changing threshold condition unnecessarily
  • Using np.sign without reason
5. You have a noisy analog signal that fluctuates between -0.1 and 0.1 around zero. Which method best converts it to a stable digital signal?
hard
A. Use a simple threshold at 0 to convert to 0 or 1
B. Convert directly to integers without filtering
C. Apply a smoothing filter before thresholding at 0
D. Ignore noise and use raw analog values

Solution

  1. Step 1: Understand noise impact on thresholding

    Noise near zero causes unstable digital output if thresholded directly.
  2. Step 2: Apply smoothing filter before threshold

    Smoothing reduces noise fluctuations, producing stable digital signals after thresholding.
  3. Final Answer:

    Apply a smoothing filter before thresholding at 0 -> Option C
  4. Quick Check:

    Smoothing stabilizes noisy analog signals [OK]
Hint: Smooth noisy signals before thresholding [OK]
Common Mistakes:
  • Thresholding noisy signal directly
  • Ignoring noise effects
  • Using raw analog values as digital
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