Computer Science
탄탄한 기반 실력을 위한
전공과 이론 지식 모음
Today I Learned!
배웠으면 기록을 해야지
TIL 사진
Flutter 사진
Flutter로 모바일까지
거꾸로캠퍼스 코딩랩 Flutter 앱개발 강사
스파르타코딩클럽 즉문즉답 튜터
카카오테크캠퍼스 3기 학습코치
프로필 사진
박성민
임베디드 세계에
발을 들인 박치기 공룡
임베디드 사진
EMBEDDED SYSTEM
임베디드 SW와 HW, 이론부터 실전까지
ALGORITHM
알고리즘 해결 전략 기록
🎓
중앙대학교 소프트웨어학부
텔레칩스 차량용 임베디드 스쿨 3기
애플 개발자 아카데미 1기
깃허브 사진
GitHub
프로젝트 모아보기
Instagram
인스타그램 사진

TIL

[250923] Day 43 - 감기조심하세요

sm_amoled 2025. 9. 24. 11:05

들어가며

감기에 제대로 걸렸다. 병원가서 주사 맞고나니깐 좀 살 것 같았는데, 자고 일어나니 다시 또 아프다. 이제 콧물까지 꽉 막히고 있다. 그런데 배는 고프다. 입맛이 싹 도네…

오늘의 키워드

누적되는 신호를 어떻게 수식적으로 표현할 수 있는지에 대해 배웠다.

Linear Time-Invarient System

Linear의 특징

  • Additivity : 가산
    • $f(a+b) = f(a) + f(b)$
  • Scaling : 비례
    • $f(na) = nf(a)$
  • Superposition
    • Additivity + Scaling의 성질이 결합
    • $f(α⋅x1​(t)+β⋅x2​(t))=α⋅f(x1​(t))+β⋅f(x2​(t))$

실제 환경에서는 “동작 범위 내에서 Linear의 특성”을 보인다.

예를 들어, 음악소리와 목소리가 함께 나오는 스피커는 Additivity를 보인다. 그리고 볼륨의 크기를 키우면 Scaling도 보인다.

그러나 볼륨이 너무 커진다면 스피커가 찢어지는 소리를 낸다. 요게 Saturation 이 발생하는 것임.

Time-Invariant (시불변성)의 특징

  • 입력 시간이 지연되면 출력 시간도 똑같이 지연된다.
  • $입력: x(t−τ)⇒출력: y(t−τ)$

나는 단순히 Linear 시스템이라면 당연히 같은 입력에 대해서 동일한 출력이 나오는게 맞지 않나? 라고 생각했는데, 현실세계에서 ‘시간’ 이라는 요소가 들어있다는 것을 고려해야 함을 뒤늦게 알게되었다.

그렇다면 오전 9시에 전달한 신호 입력과 출력이 오후 3시에 전달한 신호 입력과 출력과 동일한 입출력인가? 이 관점에서 본다면 오전 9시의 입출력에 대한 함수를 $f(A(t))$ 라고 한다면 오후 3시의 함수는 $f(A(t-6))$ 이라고 볼 수 있다 (6시간 만큼 t를 평행 이동시킴). 그러면 동일한 입력값에 대해서 동일한 출력을 만들어낼 수 있다. 즉, 이 수식은 시간에 대해서 출력값이 영향을 받지 않는다. 그리고 이 특성은 ‘시간축으로 평행이동을 하더라도 영향을 받지 않음’ 이라는 성질을 가진다고 볼 수 있다. 물론, 입력이 k 만큼 지연되었다면 출력도 k 만큼 지연된다. 입력이 t 만큼 밀렸다면 출력도 t 만큼 밀려야한다!

이렇게 시간축에 대해 이동하더라도 입력값에 영향이 없는 수식을 “시간에 대해 불변한다”고 표현하고, 영어로는 Time-Invarient 라고 부른다.

Impulse Response

Impulse

만약 아주 짧은 시간만에 신호를 input 할 수 있다면 (입력을 위해 드릉드릉이 필요 없다면)?

이런 신호를 impulse 라고 하고, $\delta(t)$ 라고 표현한다.

$$
∫^{−∞}_∞ δ(t)dt=1
$$

x 라는 세기의 신호를 표현하고 싶다면 impulse에 세기 x 를 곱하여 나타낼 수 있다.

만약 신호가 $\tau$ 만큼의 시간 이후에 영향을 받아 도달한다면, 이 t초에 보낸 신호의 세기는 $\delta(t) \times h(t-\tau )$ 로 도착하게 될 것이다. 여기에서의 $h$ 는 특정 시간 이후의 영향력을 의미한다.

신호분해

Linear + Time-Invarient 한 시스템이 있다면, 단 하나의 입력에 대한 응답을 완벽하게 파악하고 있다면 다른 입력에 대해서도 출력을 예측할 수 있을까?


아주 짧은 시간동안 1 만큼의 입력을 가했을 때의 출력을 안다면 Linear System의 특징인 Scaling, Additivity 를 이용해 복잡한 다항식의 형태로 쌓아올릴 수 있다. 또, t가 $\tau$ 일 때의 신호를 표현하고 싶다면 $f(t-\tau )$ 에서 scailing, additivity 를 이용해 만들어내면 될 것이다.

연속신호 $x(t)$ 를 무한히 많은 Impulse 의 조합으로 표현해낼 수 있다. 특히, $\Delta \tau$ 값을 0으로 보내면 이 신호는 continuous 하다고도 볼 수 있다.
$$
x(t) = \lim_{\Delta \tau \rarr0} \sum ^{\infin}{-\infin} x(\tau)\cdot \delta(t-\tau )\cdot \Delta\tau
\newline =∫^{−∞}
{∞}x(τ)⋅δ(t−τ)dτ
$$

그러면 t 시점의 신호의 세기 (모든 과거 입력들이 현재까지 누적된 영향) 인 $y(t)$ 를 이렇게 표현할 수 있다.

$$
y(t) = \int^{\infin}_{-\infin}x(\tau)\cdot h(t-\tau)d\tau
$$

Convolution

그렇다면 t 시점의 신호에 대해서는 어떻게 표현할 수 있을까?

현재 시점의 신호의 세기를 알기 위해서는 모든 과거 입력들의 현재까지 누적된 영향에 대해서 파악을 하면 된다.

$$
y(t) = x(t) * h(t)= \int^{\infin}_{-\infin}x(\tau)\cdot h(t-\tau)d\tau
$$

  • $x(\tau )$ = 과거 $\tau$ 시점에서의 입력의 크기 (입력된 신호의 세기)
  • $h(t-\tau )$ = $\tau$ 시점에 입력된 신호가 지금 얼마나 영향력을 미치고 있는가
  • $x(\tau )\cdot h(t-\tau )$ = 과거 $\tau$ 시점에 입력한 신호가 현재 시점에 기여하는 정도
  • $y(t)$ = 모든 과거부터 현재까지의 신호들의 현재 시점에서의 총합

여기에서 $x(t) * h(t)$ 처럼 * 기호로 나타내는 곱은 단순히 곱하기가 아니라 모든 과거의 누적 효과를 말하는 것이다.

즉, LTI 시스템에서는 임펄스의 응답 $h(t)$ 함수에 대해서만 정확하게 파악하면 $x(t)$ 에 대한 $y(t)$ 를 정확하게 알아낼 수 있다. $h(t)$가 시스템의 특성이라고 생각하면 된다.

320x100