Chapter 10: 음성을 전기 신호로 - 아날로그 변조의 기초¶
🚀 이 장을 시작하기 전에¶
여러분의 휴대폰은 어떻게 목소리를 먼 거리로 보낼까요?
라디오를 켜면 AM 라디오에서 음성이 나옵니다. 스마트폰으로 통화를 하면 당신의 목소리가 수십 km 떨어진 상대방에게 전달됩니다. 하지만 음성 신호 자체는 너무 낮은 주파수라서 먼 거리로 전송할 수 없어요.
그래서 우리는 "변조"라는 마법을 사용합니다.
음성 신호를 높은 주파수 파도(반송파)에 실어서 보내는 것인데, 마치 편지를 봉투에 넣어서 보내는 것처럼요. 이 장에서 배우는 AM(진폭변조) 변조 방식은 라디오, 항공통신, 수많은 통신 시스템의 기초입니다.
🎯 이걸 배우면 이런 것들이 이해돼요: - "AM 라디오"가 어떻게 작동하는지 - 음성이 어떻게 전파를 타고 날아오는지 - 신호가 왜 변조되어야 하는지 - 받은 신호에서 다시 음성을 꺼내는 원리
🎯 이 장의 학습 목표¶
이 장을 마치면 여러분은:
- ✅ 변조가 무엇인지, 왜 필요한지 설명할 수 있습니다
- ✅ AM(진폭변조)의 원리를 비유로 이해하고 수식으로 표현할 수 있습니다
- ✅ AM 신호의 스펙트럼이 어떻게 변하는지 시각화할 수 있습니다
- ✅ 신호를 생성하고 검파(복조)하는 과정을 따라할 수 있습니다
⏰ 예상 학습 시간: 약 2시간 30분
🔑 미리 확인해요 (선수 지식 체크)¶
아래 내용이 익숙하지 않다면, 이전 장을 먼저 복습해주세요.
- 신호(signal)란? — 정보를 담고 있는 전기적 변화 (예: 음성을 마이크로 변환한 전압 변화)
- 주파수(frequency)란? — 1초에 반복되는 파동의 횟수 (Hz 단위, 예: 1000Hz = 1초에 1000번 반복)
- 사인파(sine wave)란? — 자연에서 가장 기본이 되는 매끄러운 파동 형태
- 스펙트럼(spectrum)이란? — 신호가 어떤 주파수들로 이루어져 있는지 보여주는 그래프
이것들이 불안하신가요? 괜찮아요! 이 장에서 필요한 만큼 다시 설명해드릴 거예요.
📚 핵심 개념 (하나씩 차근차근)¶
개념 1: 변조(Modulation)란 무엇인가?¶
1-1. 일상 비유로 이해하기¶
음성을 먼 거리로 보내는 문제를 생각해봅시다.
시나리오 1: 변조 없이 음성을 직접 보낸다면?
아이가 지하실에서 "엄마!"라고 외칩니다. 엄마가 위층에 있어도 음성이 들려요. 왜냐하면 음성 신호의 주파수가 매우 낮기(100~3000Hz) 때문에 공기를 크게 흔들면서 전파되거든요. 하지만 이것은 거리가 멀어지면 빠르게 약해집니다. 2m 떨어지면 잘 안 들리고, 100m 떨어지면 완전히 못 들어요.
만약 이 음성을 라디오 전파(1MHz = 1,000,000Hz)에 실어서 보낸다면?
높은 주파수의 파동은 훨씬 먼 거리까지 효율적으로 전파됩니다. 안테나도 작을 수 있고, 전력도 효율적입니다. 마치 택배 소포를 트럭에 싣는 것처럼, 음성(소포)을 높은 주파수 파동(트럭)에 싣는 거예요.
이것이 바로 "변조"입니다.
🔍 쉽게 말하면: 변조 = "정보 신호를 높은 주파수 파도에 태워서 보내는 것"
1-2. 변조의 정확한 정의¶
변조(Modulation) = 정보를 담은 저주파 신호를 높은 주파수의 반송파(carrier wave)에 실어서 전송하기 좋은 형태로 변환하는 과정
여기서 용어를 정리해요:
- 정보 신호(message signal, m(t)) — 음성, 음악, 데이터 등 우리가 전달하고 싶은 신호 (보통 저주파: 0~20,000Hz)
- 반송파(carrier wave, c(t)) — 정보 신호를 태워 보낼 높은 주파수 파동 (예: 라디오는 1MHz 근처)
- 변조 신호(modulated signal, s(t)) — 반송파를 정보 신호로 조작한 결과 (이것을 안테나로 방송함)
1-3. 왜 변조가 필요한가?¶
네 가지 이유가 있어요:
-
안테나 크기 — 음성(3kHz)을 직접 방송하려면 안테나가 파장의 1/4 크기여야 하는데, 3kHz는 약 25km의 안테나가 필요해요! 하지만 1MHz를 사용하면 7.5cm만 있으면 돼요.
-
전파 거리 — 높은 주파수일수록 먼 거리까지 전파됩니다.
-
주파수 효율 — 여러 신호를 다른 반송파에 실으면 한 공간에서 동시에 여러 방송을 할 수 있어요. (AM 라디오에서 550kHz는 KBS, 630kHz는 MBC처럼)
-
신호 안정성 — 높은 주파수는 환경 간섭에 더 강합니다.
🔍 체크포인트: 변조가 필요한 이유 중 가장 중요한 것 2가지를 말할 수 있나요? - 아직 헷갈린다면 👉 위의 "1-3. 왜 변조가 필요한가?"를 다시 읽어보세요. - 설명할 수 있다면 👉 다음 개념으로 넘어가세요! 좋아요! 💪
개념 2: AM(진폭변조)의 원리¶
2-1. AM이 뭔가요?¶
AM = Amplitude Modulation = 진폭변조
쉽게 말하면: 반송파의 높이(진폭)를 정보 신호로 조절하는 것
비유해봅시다. 여러분이 손전등을 들고 있어요. 손전등의 불빛이 반송파라고 생각하세요. 밝기를 손가락으로 조절하면서 음성 신호처럼 변한다면? "아, 위로!", "아, 아래로!", "아, 그 중간!" — 이렇게 밝기가 오르락내리락합니다. 멀리 떨어진 사람이 손전등의 밝기 변화를 보면, 당신이 전하려던 신호를 복원할 수 있어요.
이것이 AM입니다.
2-2. AM 신호의 수식¶
AM 변조 신호는 이렇게 표현돼요:
$$s(t) = [A_c + m(t)] \cdot \cos(2\pi f_c t)$$
용어를 풀어쓰면:
- $A_c$ = 반송파의 진폭(일정한 값, 예: 1V)
- $m(t)$ = 정보 신호(음성, 예: -0.5 ~ 0.5V)
- $f_c$ = 반송파의 주파수(예: 1MHz)
- $\cos(2\pi f_c t)$ = 반송파 자체
이 수식의 의미: 정보 신호 $m(t)$를 반송파의 진폭 $A_c$에 더한 후, 전체를 반송파로 곱한다는 뜻이에요.
만약 여기서 수식이 어렵다면, 이렇게 이해하세요: - $[A_c + m(t)]$ = "정보 신호에 따라 변하는 진폭" - $\cos(2\pi f_c t)$ = "높은 주파수로 진동하는 파동" - 둘을 곱한다 = "진폭이 변하는 고주파 파동"
2-3. 시간 영역에서의 AM 신호 (눈으로 보기)¶
그래프로 생각해봅시다:
정보 신호 m(t) (저주파, 예: 1kHz):
▄▄▄▄▄▄▄▄▄▄
/ \
/ \
(부드러운 파동, 1초에 1000번 반복)
반송파 c(t) (고주파, 예: 100kHz):
▁▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂▁
(매우 빠르게 진동, 1초에 100,000번 반복)
AM 신호 s(t) = [A_c + m(t)] × c(t):
▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂
/▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂\
/▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂▁▂▃▄\
▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂▁ ▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂
(포개진 모양. 외곽선이 정보 신호 m(t)를 따라감)
AM 신호를 보면, 바깥쪽 경계선(envelope)이 정보 신호 $m(t)$의 모양을 따라갑니다. 받는 쪽에서 이 경계선만 추출하면 원래 음성을 복원할 수 있어요!
🔍 체크포인트: AM 신호에서 "정보 신호"는 어디에 나타나나요? - 힌트: 바깥쪽 경계선 모양을 보세요. - 설명할 수 있다면 👉 다음으로 넘어가세요! 훌륭해요! ✨
개념 3: AM 신호의 주파수 스펙트럼¶
3-1. 스펙트럼이란?¶
지금까지는 시간 영역에서 신호를 봤어요 (x축=시간, y축=진폭). 이제 주파수 영역에서 봅시다 (x축=주파수, y축=진폭).
신호가 어떤 주파수 성분들로 이루어져 있는지 보여주는 것이 스펙트럼(spectrum)입니다.
3-2. 정보 신호의 스펙트럼¶
예를 들어, 음성 신호는 보통 100Hz~3kHz의 주파수를 포함합니다:
3-3. AM 신호의 스펙트럼 — 핵심!¶
AM 신호를 수식으로 전개하면:
$$s(t) = A_c \cos(2\pi f_c t) + m(t) \cos(2\pi f_c t)$$
이것은 다시 쓰면:
$$s(t) = A_c \cos(2\pi f_c t) + \frac{1}{2}[m(t) \cos(2\pi(f_c + f_m)t) + m(t) \cos(2\pi(f_c - f_m)t)]$$
여기서 중요한 것: - $f_c$ = 반송파 주파수 - $f_m$ = 정보 신호의 주파수 성분
결과적으로 AM 신호의 스펙트럼은 세 부분으로 나타나요:
- 반송파 성분 — $f_c$에서의 날카로운 피크
- 상측파대(upper sideband, USB) — $f_c + f_m$ 영역
- 하측파대(lower sideband, LSB) — $f_c - f_m$ 영역
그림으로 보면:
AM 신호의 주파수 스펙트럼:
진폭
| ▂▂▂ ▂▂▂ ▂▂▂
| ▆▆▆▆▆ ▆▆▆▆▆ ▆▆▆▆▆
| ▆ ▆ ▆ ▆ ▆ ▆ ▆ ▆ ▆ ▆ ▆ ▆
|_________▆_▆_▆_▆_______▆_▆_▆_▆_______▆_▆_▆_▆____
0Hz (LSB) fc-fm fc fc+fm (USB) 주파수
↑
반송파의 위치
LSB = 정보 신호가 뒤집혀서 나타남
USB = 정보 신호가 그대로 나타남
핵심 정리:
- AM 신호는 3배의 대역폭을 차지해요 (정보 신호의 대역폭이 B라면, AM은 2B 필요)
- LSB와 USB는 대칭 관계여서 LSB 또는 USB 중 하나만 있어도 정보 신호를 복원할 수 있어요 (이것이 SSB(단측파대) 변조의 기초)
- 반송파 성분은 정보를 담지 않아서 전력만 낭비합니다 (이것이 DSB-SC의 이유)
🔍 체크포인트: AM 신호의 스펙트럼에서 정보가 어디에 들어있나요? - 답: LSB와 USB 영역에 있습니다. - 설명할 수 있다면 👉 다음 개념으로! 정말 잘하고 계세요! 🌟
개념 4: AM 신호의 생성과 검파(복조)¶
4-1. AM 신호 생성하기¶
AM 신호를 만드는 것은 간단해요. 정보 신호와 반송파를 곱해주면 됩니다.
기본 원리:
수식으로는: $s(t) = m(t) \times c(t)$
실제로는:
m(t) = 0.5 sin(2π × 1000 × t) (1kHz 정현파)
c(t) = 1.0 cos(2π × 100000 × t) (100kHz 반송파)
s(t) = m(t) × c(t)
= 0.5 sin(2π × 1000 × t) × cos(2π × 100000 × t)
삼각함수 공식을 쓰면:
$$s(t) = 0.25[\cos(2\pi \times 99000 \times t) + \cos(2\pi \times 101000 \times t)]$$
결과: 99kHz와 101kHz에 에너지가 나타나요! (반송파 ± 신호 주파수)
4-2. 실제 AM 신호 생성 (표준 AM 변조)¶
실제로는 단순히 곱하기만 하지 않고, 반송파를 더합니다:
$$s(t) = [A_c + m(t)] \cos(2\pi f_c t)$$
이렇게 하면:
- 반송파 성분도 함께 전송돼요 (스펙트럼에서 $f_c$에 피크)
- 받는 쪽에서 검파가 쉬워져요 (다음에 설명)
- 하지만 반송파의 전력은 낭비돼요 (정보를 담지 않으니까)
4-3. AM 신호 검파(복조) — 신호 복원하기¶
AM 신호를 받은 후, 원래 음성을 꺼내려면 어떻게 할까요?
검파의 원리: 포락선 검출(Envelope Detection)
AM 신호의 가장 바깥쪽 경계선(포락선)이 정보 신호입니다. 이것을 추출하면 돼요!
방법은 간단해요:
- 다이오드로 정류 — AM 신호를 한 방향으로만 흐르게 하기
- RC 저주파 필터 — 반송파의 고주파 성분 제거
- 정보 신호 복원 — 원래의 음성이 나타남
입력: AM 신호
▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂
/▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂\
/▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂▁▂▃▄\
다이오드 정류 후:
▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂▁▂▃▄▅▆▅▄▃▂
(음수 부분이 양수로 변함)
저주파 필터 후 (고주파 제거):
▄▄▄▄▄▄▄▄▄
/ \
/ \
(부드러운 파동 — 원래의 정보 신호!)
🔍 체크포인트: AM 신호에서 음성을 다시 꺼내려면 어떻게 해야 할까요? - 핵심 단어: "다이오드", "필터" - 설명할 수 있다면 👉 다음으로! 거의 다 왔어요! 💪
🔧 직접 해봐요¶
실습 1: AM 신호 생성과 스펙트럼 관찰¶
이 실습의 목표: 정보 신호와 반송파를 곱해서 AM 신호를 만들고, 그 스펙트럼을 직접 봅시다.
준비물: - Python 또는 Octave (GNU Octave는 무료) - 기본 라이브러리 (numpy, matplotlib, scipy)
따라하기 (천천히 한 단계씩!):
1단계: Python 코드 준비
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
# 시간 벡터 설정 (0초부터 0.01초까지, 10초 샘플 = 1000개)
t = np.linspace(0, 0.01, 1000)
# 정보 신호: 1kHz 정현파 (음성 신호 대역)
m_t = 0.5 * np.sin(2 * np.pi * 1000 * t)
# 반송파: 100kHz (라디오 정도의 주파수)
f_c = 100000
c_t = np.cos(2 * np.pi * f_c * t)
# AM 신호 생성
s_t = (1.0 + m_t) * c_t
✅ 확인: 이 코드를 실행하면 변수
s_t에 AM 신호가 저장돼요. 에러가 없으면 OK! ❓ "ImportError" 나면? → numpy, matplotlib, scipy 설치 필요:pip install numpy matplotlib scipy
2단계: 신호를 그래프로 보기
# 그래프 1: 처음 0.005초만 확대해서 보기
plt.figure(figsize=(12, 8))
plt.subplot(3, 1, 1)
plt.plot(t[:500], m_t[:500], 'b-', linewidth=2, label='정보 신호 m(t)')
plt.xlabel('시간 (초)')
plt.ylabel('진폭')
plt.title('정보 신호 (1kHz)')
plt.grid(True)
plt.legend()
plt.subplot(3, 1, 2)
plt.plot(t[:500], c_t[:500], 'g-', linewidth=1, label='반송파 c(t)')
plt.xlabel('시간 (초)')
plt.ylabel('진폭')
plt.title('반송파 (100kHz)')
plt.grid(True)
plt.legend()
plt.subplot(3, 1, 3)
plt.plot(t[:500], s_t[:500], 'r-', linewidth=1, label='AM 신호 s(t)')
plt.xlabel('시간 (초)')
plt.ylabel('진폭')
plt.title('AM 신호 (정보 신호가 반송파의 진폭을 조절)')
plt.grid(True)
plt.legend()
plt.tight_layout()
plt.show()
✅ 확인: AM 신호 그래프에서 바깥쪽 경계선이 정보 신호(파란색 곡선)처럼 보여야 해요! ❓ 그래프가 안 나타나면? → Jupyter Notebook을 사용하거나 코드 끝에
plt.show()확인
3단계: 주파수 스펙트럼 보기
# FFT (Fast Fourier Transform)를 사용해서 주파수 영역으로 변환
from scipy.fft import fft, fftfreq
# AM 신호의 FFT 계산
N = len(s_t)
freq = fftfreq(N, t[1] - t[0]) # 주파수 축
spectrum = np.abs(fft(s_t))
# 양수 주파수만 표시
pos_freq = freq[:N//2]
pos_spectrum = spectrum[:N//2]
# 그래프
plt.figure(figsize=(12, 5))
plt.plot(pos_freq / 1000, pos_spectrum, 'r-', linewidth=1) # 주파수를 kHz로 표시
plt.xlabel('주파수 (kHz)')
plt.ylabel('진폭')
plt.title('AM 신호의 주파수 스펙트럼')
plt.xlim([0, 150]) # 0~150kHz 범위만 표시
plt.grid(True)
plt.show()
✅ 확인: 세 개의 피크가 보여야 해요! - 약 99kHz (하측파대, LSB) - 약 100kHz (반송파) - 약 101kHz (상측파대, USB)
❓ 피크가 여러 개면? → 샘플링 주파수가 충분하지 않을 수 있어요.
t생성할 때 샘플 수를10000으로 늘려보세요.
🎉 잘 되셨나요? 축하해요! 방금 여러분은 AM 신호를 직접 만들고 스펙트럼을 관찰했어요!
실습 2: AM 신호 검파하기¶
이 장의 목표: AM 신호에서 다이오드와 저주파 필터를 사용해 원래의 정보 신호를 복원합시다.
준비물: 위의 코드 계속
따라하기:
1단계: 이상적인 다이오드 정류
# 다이오드 정류: 음수 부분을 0으로 설정
s_rectified = np.maximum(s_t, 0) # 0보다 작은 값은 0으로
# 그래프
plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
plt.plot(t[:500], s_t[:500], 'r-', label='AM 신호 (정류 전)')
plt.plot(t[:500], s_rectified[:500], 'orange', label='정류된 신호', linewidth=2)
plt.xlabel('시간 (초)')
plt.ylabel('진폭')
plt.title('다이오드 정류 과정')
plt.grid(True)
plt.legend()
plt.subplot(1, 2, 2)
plt.plot(t[:500], m_t[:500], 'b-', linewidth=2, label='원래의 정보 신호')
plt.xlabel('시간 (초)')
plt.ylabel('진폭')
plt.title('복원할 신호 (목표)')
plt.grid(True)
plt.legend()
plt.tight_layout()
plt.show()
✅ 확인: 정류된 신호(주황색)가 모두 양수여야 합니다. (음수 부분이 사라져야 함)
2단계: 저주파 필터로 고주파 제거
# Butterworth 저주파 필터 설계
# 차단 주파수: 5kHz (반송파 100kHz보다 훨씬 낮음)
cutoff_freq = 5000 # Hz
sampling_freq = 1 / (t[1] - t[0]) # 샘플링 주파수 계산
normalized_cutoff = cutoff_freq / (sampling_freq / 2) # 정규화
# 필터 계수 생성
b, a = signal.butter(4, normalized_cutoff, btype='low')
# 필터 적용
s_filtered = signal.filtfilt(b, a, s_rectified)
# 그래프
plt.figure(figsize=(12, 6))
plt.plot(t[:500], s_rectified[:500], 'orange', alpha=0.5, label='정류된 신호 (고주파 포함)')
plt.plot(t[:500], s_filtered[:500], 'g-', linewidth=2, label='필터 후 (저주파만)')
plt.plot(t[:500], m_t[:500], 'b--', linewidth=2, label='원래의 정보 신호')
plt.xlabel('시간 (초)')
plt.ylabel('진폭')
plt.title('저주파 필터를 사용한 검파 과정')
plt.grid(True)
plt.legend()
plt.show()
✅ 확인: 녹색 곡선(필터 후)이 파란색 점선(원래의 정보 신호)과 거의 같아야 해요! ❓ 맞지 않으면? → 필터의 차단 주파수를 낮춰보세요 (예: 2000으로 변경)
3단계: 정정 계수 추가 (선택)
# DC 오프셋 제거 (0.5를 빼줌)
s_recovered = s_filtered - 0.5
# 최종 비교 그래프
plt.figure(figsize=(12, 5))
plt.plot(t[:500], m_t[:500], 'b-', linewidth=2.5, label='원래의 정보 신호')
plt.plot(t[:500], s_recovered[:500], 'g-', linewidth=2, alpha=0.7, label='복원된 신호')
plt.xlabel('시간 (초)')
plt.ylabel('진폭')
plt.title('AM 신호 검파 완료 — 원래 신호 복원')
plt.grid(True)
plt.legend()
plt.show()
# 오차 계산
error = np.mean(np.abs(m_t[:500] - s_recovered[:500]))
print(f"복원 오차: {error:.6f}")
✅ 확인: 오차가 0.1 이하면 성공! 파란색과 녹색이 거의 겹쳐야 합니다.
🎉 잘 되셨나요? 축하해요! 여러분은 AM 신호를 성공적으로 복조했어요! 라디오에서 음성이 나오는 원리를 실제로 체험했습니다! 🎙️
❓ 자주 묻는 질문 & 막혔을 때¶
Q. "변조하는 이유가 정말 안테나 크기뿐인가요?"
좋은 질문이에요! 변조가 필요한 이유는 하나만 있는 게 아닙니다: 1. **안테나 효율** — 저주파는 안테나가 굉장히 커요 (100Hz는 1500km!) 2. **대역폭 활용** — 여러 신호를 다른 반송파로 조절하면 같은 공간에서 동시 전송 가능 3. **거리** — 높은 주파수일수록 원거리 전파에 유리 4. **노이즈 저항성** — 고주파는 환경 간섭에 더 강함 5. **신호 처리의 간편성** — 검파, 필터링 등이 쉬워짐 **따라서 변조는 단순 기술이 아니라, 현대 통신의 필수 기술입니다!**Q. "AM에서 음성이 왜 '포락선'에 나타나나요?"
AM 신호를 다시 보세요: $$s(t) = [A_c + m(t)] \cos(2\pi f_c t)$$ 여기서 $[A_c + m(t)]$는 진폭입니다. 이것이 시간에 따라 변해요: - 정보 신호가 올라가면 → 진폭이 커져요 (AM 신호의 산 높이가 높아짐) - 정보 신호가 내려가면 → 진폭이 작아져요 (AM 신호의 산 높이가 낮아짐) 따라서 **AM 신호의 바깥쪽 경계선(포락선) = 정보 신호의 모양**이 됩니다! 다이오드와 필터로 이 포락선만 뽑아내면 원래 신호가 복원되는 거예요.Q. "LSB와 USB가 똑같으면 왜 둘 다 전송해야 하나요?"
좋은 통찰이에요! 사실 AM은 비효율적입니다: - **대역폭 낭비** — 같은 정보가 LSB와 USB 두 곳에 나타나니까 2배를 차지 - **전력 낭비** — 반송파 성분은 정보를 담지 않는데도 전송 이것을 개선한 변조 방식들이 있어요: - **SSB-SC (단측파대 억압 반송파)** — LSB 또는 USB만 전송, 반송파 제거 - **DSB-SC (양측파대 억압 반송파)** — 반송파만 제거 - **USB/LSB** — 한쪽만 전송 하지만 AM은 **검파가 간단**해서 (다이오드만 있으면 됨), 라디오처럼 저비용 기계에서 여전히 많이 사용돼요!Q. "실습에서 스펙트럼의 피크가 안 보여요"
가장 흔한 원인 3가지: 1. **샘플링 주파수가 너무 낮음** → 해결: `t = np.linspace(0, 0.01, 10000)` 처럼 샘플 개수를 늘리세요 2. **주파수 축 범위가 잘못됨** → 해결: `plt.xlim([0, 150])`을 조정해서 0~200kHz 정도를 보세요 3. **FFT 스케일이 맞지 않음** → 해결: `spectrum = 2.0 * np.abs(fft(s_t)) / N` 처럼 정규화하세요 그래도 안 되면 코드를 천천히 따라가며 각 단계에서 변수 크기를 확인하세요 (print 사용).Q. "왜 다이오드 다음에 필터를 써야 하나요? 다이오드만 쓰면 안 돼?"
다이오드만 쓰면 **포락선의 모양**만 나타나고 **고주파가 남아있어요:** **필터 없으면:** - 스피커에서 "윙윙"하는 고음이 들려요 (반송파) - 음성이 명확하지 않아요 **따라서 다이오드 + 필터 = 완벽한 검파입니다!**📌 이 장에서 배운 것 정리¶
🏆 오늘의 성취: 여러분은 이제 음성을 전기 신호로 변조하는 방법과 그것을 다시 복원하는 원리를 이해했어요!
- ✅ 변조: 저주파 정보 신호를 고주파 반송파에 실어 먼 거리로 효율적으로 전송하는 기술
-
왜 필요? 안테나 효율, 거리, 대역폭 활용, 신호 처리 편의성
-
✅ AM(진폭변조): 반송파의 진폭을 정보 신호로 조절하는 방식
- 수식: $s(t) = [A_c + m(t)] \cos(2\pi f_c t)$
-
특징: 검파가 간단하고 저비용 (라디오 등에서 사용)
-
✅ AM 신호의 스펙트럼: 반송파, LSB, USB 세 부분으로 구성
- 정보는 LSB와 USB에만 있어요 (반송파는 정보 없음)
-
대역폭은 정보 신호의 2배를 차지 (정보 신호 대역폭이 B면, AM은 2B)
-
✅ AM 신호 검파(복조): 다이오드(정류) + 저주파 필터(고주파 제거)로 원래 신호 복원
- 포락선 검출 방식을 사용
- 라디오, 항공 통신 등 실제 기계에서 사용
🤔 스스로 점검해봐요¶
아래 질문에 "예"라고 답할 수 있다면, 다음 장으로 넘어가도 좋아요!
- 변조가 필요한 이유 3가지를 말할 수 있나요?
- AM 신호 $s(t) = [A_c + m(t)] \cos(2\pi f_c t)$에서 각 항의 의미를 설명할 수 있나요?
- AM 신호의 스펙트럼이 왜 세 부분(LSB, 반송파, USB)으로 나뉘는지 이해했나요?
- 검파 과정에서 다이오드와 필터가 각각 하는 역할을 설명할 수 있나요?
- 직접 실습에서 AM 신호를 생성하고 스펙트럼을 봤나요?
- 검파 실습에서 AM 신호로부터 원래의 음성을 복원했나요?
💡 1-3개가 아직 어렵다면? 괜찮아요! 해당 부분만 다시 읽어보세요. 전부 어렵다면? 이전 장에서 "신호", "주파수", "스펙트럼" 개념을 복습한 후 돌아와주세요. 천천히 해도 괜찮아요! 😊
🚀 다음 장 미리보기¶
다음 장에서는 FM(주파수 변조)을 배워볼 거예요!
AM은 "진폭으로 정보를 실었다면", FM은 "주파수로 정보를 실어요" — 반송파의 높낮이가 아니라 주파수 자체를 빠르게 변화시키는 방식입니다.
FM의 특징: - AM보다 잡음에 강해요 (라디오 잡음이 적은 이유!) - 음질이 더 좋아요 (음성 세부 표현이 우수) - 대역폭을 더 많이 써요 (그래서 FM은 특정 주파수에만 제한됨)
다음 장에서는 FM의 원리, 대역폭 계산, 실제 복조 방법까지 배워볼 거예요. 기대되시죠? 🎙️📻
준비물: 이번 장의 AM 개념을 기억해두면, FM과의 차이점을 훨씬 더 쉽게 이해할 수 있습니다!
이 장을 완료하신 여러분, 정말 잘하셨어요! 🎉
변조는 현대 통신의 핵심 기술이고, 여러분은 이제 그것의 기초를 탄탄히 다졌습니다. 라디오를 들을 때, 핸드폰으로 통화할 때, 이 지식을 떠올려보세요. 세상이 훨씬 더 흥미롭게 보일 거예요!
다음 장에서 만나요! 😊