시계열데이터 처리 및 분석 4. 연속 신호의 디지털 처리 시스템 I

2023. 4. 11. 18:17·개인 공부/시계열데이터 처리 및 분석
반응형
이전 글을 보고 오시면 이해하기 편합니다! (이전글 보고 오기)


디지털이 아날로그보다 좋은 이유

 

1. 잡음에 강함

- 온도 잡음, 외부 잡음에 상대적으로 강함

* 디지털이 잡음에 강한 이유

디지털 시스템은 이산적인 정보를 사용하기 때문에 내부와 외부의 잡음을 줄 일수 있다.

그리고 Error Correcting Code를 이용해서 원상복구 시킬 수 있다.

ECC란?

0과 1이 달라지더라도 원상 복귀 가능

- 디지털 데이터에 몇 비트의 오류가 생겨도 자동으로 정정하는 디지털 고유의 기술

 

2. 다양한 기능

- 복잡하고 다양한 기능을 만들 수 있음

- HW는 그대로 두고 프로그램을 변경하여 시스템 기능 변경이 가능

- 하나의 장비로 다양한 기능을 낼 수 있음

 

3. 정밀도

- 고정밀도 처리 가능

 

4. 사용 편의성

- IC화로 소형 및 경량화 용이

- 프로그램으로 조작하고 모니터링이 가능함

 

디지털 처리의 특징

- 모든 대상을 단순한 숫자의 나열인 이산신호로 바꿈

- 덧셈, 곱셈, 시간 지연과 같은 기본 연산만으로 신호에 대한 조작 구현

- 신호 처리를 위한 연산과 시스템이 대상에 따라 달라질 필요가 없음

- 소프트웨어와 결합하여 하드웨어 단독으로 할 수 없는 처리 기능 제공

 

디지털 신호 처리의 장점

디지털 신호 처리의 단점

- A/D, D/A 변환 과정에서의 정보 소실 : 정확도 및 성능 저하

- 시스템 구성 복잡 & 시간 지연 및 속도의 제한

- 아날로그와 디지털 혼재 -> 전체 시스템의 수학적 해석이 어려움

- 양자화 오차에 의한 유한 어장 효과

 

연속 신호의 디지털 처리

- 신호 / 정보의 취급 형태는 아날로그에서 디지털로 급속히 변화하고 있음

- 그러나 대상 신호들은 대부분 연속임 ex) 핸드폰, audio, video CD

 

아날로그/디지털(Analog -to -Digital : A/D)변환

-연속신호를 디지털 신호로 바꾸는 동작 (연속신호 -> 이산신호)

1. 샘플링(표본화)

-연속 신호를 시간 간격을 두고 순시 값들을 취하여 이산 신호로 바꿈

-이때 중요한 것은 일정한 시간 간격으로 신호를 추출해야 하는 것이며 샘플 사이의 데이터는 사라짐

 

Q. 샘플링에 의한 이산 신호를 원래의 연속 신호로 되돌릴 수 있는가?

- 샘플링 주파수 즉, 샘플링 간격의 적절한 선정이 중요

- 사람이 구분할 수 있는 해상도에는 한계가 있음

- 더 촘촘히 샘플링하면 인간의 눈과 귀로 정보 손실 알 수 없음

샘플링 주기

- 샘플링하는 시간 간격 (단위는 초 sec)

샘플링 율

- 1초당 샘플링 횟수

- 단위는 HZ 또는 Samples

샘플링의 고려 사항

- 샘플에 대해 디지털 시스템이 처리할 수 있는 시간이 보장되어야 함

- 샘플링에 의해 얻어진 이산 신호가 연속 신호의 특성을 잘 보존해야 함

- 정보 손실 없이 원래의 연속 신호로 복원될 수 있어야 함

 

2. 양자화 / Quantization

- 이산 신호를 이산 시간과 이산 값을 갖는 신호로 다시 변환하는 과정이 필요

- 각 샘플 값을 구간별로 묶는 작업

 

양자화 오차

- 양자화 레벨 값과 실제 신호 값의 차이

- 디지털 신호처리 시스템의 성능 저하 및 작동 불능 원인이 될 수 있음

양자화 오차를 줄이는 방법

- 디더링 : 인위적으로 잡음을 섞어 양자화 잡음을 줄이는 조작

 

3. 부호화

- 양자화 과정을 거친 신호도 엄밀한 의미로는 아직 디지털 신호가 아님

- 디지털 신호는 0과 1의 이진수 값만을 갖는 신호

- 각 양자화 구간에 하나의 이진수를 대응시키는 과정

- 코드 할당


D/A (Digital-to-Analog) 변환

- 디지털 시스템의 처리 결과를 다시 아날로그 신호로 되돌리는 동작

- A/D 변환의 역동작

- 복호화 + 신호 복원의 두 과정으로 구성 -> 양자화의 역과정은 불필요

 

1. 복호화

- 부호화의 역동작으로써 부호화에서 채용했던 원리를 정반대로 적용

- 이진 부호를 이산 신호로 변환

 

2. 신호 복원

- 샘플링의 역동작으로 이산 신호를 연속신호로 바꿈

- 이산 신호로 샘플링된 신호는 오차 없이 다시 원래의 아날로그 신호로 완벽하게 복원될 수 있음

- 하지만 신호 값 자체를 유한개로 만드는 양자화 과정은 양자화 오차 없이 다시 양자화 이전의 실수 값으로 복원시키는 것이 불가능함

- 이론적으로는 신호의 완전 복원이 가능하지만 물리적으로는 불가

 

0차 홀드를 이용한 신호의 복원

- 다음 샘플 값 발생까지 직전의 샘플 값을 그대로 유지해 stepwise로 근사화

-> 이 복원 시스템은 임펄스 응답의 차수가 0이므로 0차 홀드라고 

가장 단순하면서도 실제적이고 일반적인 신호의 복원 방법

1차 홀드에 의한 신호 복원 - 선형 보간

- 인접한 샘플들을 직선으로 연결하여 연속 신호를 얻는 방법

-> 보간 함수로 3각 펄스를 사용한 것과 동일

-> 이 복원 시스템은 임펄스 응답의 차수가 1이므로 1차 홀드라고 함

0차 홀드보다는 복잡하지만 비교적 단순하고 쓸모 있는 신호 복원 방법


정현파의 앨리어스

- 주파수가 다른 세 정현파 신호를 샘플링 주기를 각기 달리 하여 샘플링한 결과 얻어진 이산 신호는 동일할 수 있다.

Shannon의 샘플링 정리

샤논의 샘플링 정리는 한정된 대역의 주파수를 갖는 어떤 신호의 최대 주파수의 2배 이상의 속도로 균일한 간격의 표본화를 실시하면, 표본화된 데이터에서 원래의 신호를 재생할 수 있다는 것이다.

 

나이키스트 샘플링률 : 신호의 완전 복원을 위한 최저 샘플링 주파수

 

주파수 중첩 / Aliasing

- 스펙트럼이 겹치는 현상

- LP필터로 원래 신호의 스펙트럼을 뽑아낼 수 없음

-> Anti-aliasing 등장

 

Anti-aliasing Filter

- 최고 주파수가 아주 높거나 일정 주파수 이상의 고주파가 필요하지 않은 경우 앨리어싱 방지를 위해 일정 주파수 이상을 제거하는 필터


정리

◆ AD 변환기는 아날로그 신호를 디지털 신호로 변환한다

 

◆ 양자화는 샘플링에 의해 얻은 이산 신호를 크기에 대해서도 이산화 시켜 디지털 신호로 바꾸는 과정

 

◆ 부호화는 양자화된 이산 신호에 대해 이진 코드를 생성하는 과정으로 잡음의 영향을 줄이고 데이터 압축, 보안성 강화, 오류 검출/정정 등의 기능 부가 가능

 

◆ 신호 복원은 이산 신호를 연속 신호로 바꾸는 작업으로 보통 영차 홀드 사용

 

◆ 디지털 처리는 샘플링 과정에서 정보 손실이 발생하므로 이론적으로는 아날로그 처리보다 정확도와 성능이 떨어지며, 시스템 구성이 복잡하고 처리 속도에 제한

 

◆ 양자화 오차는 유한 어장 효과를 유발하여 디지털 시스템의 성능 저하 및 작동 불능의 원인

 

◆ 샘플링 과정에서 시간 정보가 사라지므로, 정현파를 샘플링해 같은 이산 신호를 만들 수 있는 샘플링 주기와 주파수의 조합은 무수히 많음

 

◆ 섀넌의 샘플링 정리는 샘플링 주파수가 신호의 최고 주파수의 2배 이상이면 샘플링된 이산 신호로부터 정확하게 신호 복원할 수 있다는 것

 

◆ 나이퀴스트 샘플링 주파수는 샘플링 정리를 만족하는 최소 주파수

 

◆ 샘플링 정리의 조건이 충족되지 않으면 (주기적으로 반복되는) 주파수 중첩이 생겨 복원 신호가 왜곡됨

 

◆ 실제 이상적인 저역통과 필터를 만들 수 없으므로 왜곡이 전혀 없는 완전 신호 복원은 불가능

 

◆ 연속 신호 복원은 샘플 값으로부터 샘플들 사이의 값을 근사적으로 찾아내는 일종의 보간

 

◆ 영차 홀드 복원은 샘플링 주파수를 충분히 높이면 비교적 만족스러운 복원 신호를 얻을 수 있음

 

◆ 일차 홀드 복원은 기울기 특성을 이용하여 인접한 샘플들을 직선으로 연결하여 영차 홀드보다 개선

 

◆ 그러나 미분을 이용하기 때문에 안정도 문제 발생 가능

반응형
'개인 공부/시계열데이터 처리 및 분석' 카테고리의 다른 글
  • 시계열데이터 처리 및 분석 5. 연속 신호의 디지털 처리 시스템 II
  • 시계열데이터 처리 및 분석 3. 신호와 시스템의 특성
  • 시계열데이터 처리 및 분석 2. 신호와 시스템
  • 시계열데이터 처리 및 분석 1. 시계열이란?
코딩하는_대학생
코딩하는_대학생
Java Developer, Open Source Enthusiast, Proud Son
  • 코딩하는_대학생
    코딩하는 대학생에서 개발자까지
    코딩하는_대학생
  • 전체
    오늘
    어제
    • 분류 전체보기 (218)
      • 코딩하는 대학생의 책 추천 (8)
        • 클린코드 (5)
        • 헤드퍼스트 디자인패턴 (3)
      • Backend (8)
        • Spring (14)
        • AWS (3)
        • 회고 (4)
        • Redis (5)
        • 다양한 시각에서 바라본 백엔드 (3)
      • Python (35)
        • 개념 및 정리 (15)
        • 백준 문제풀이 (20)
      • JAVA (17)
        • 개념 및 정리 (14)
        • 백준 문제풀이 (2)
      • 왜? (7)
      • C언어 (42)
        • 개념 및 정리 (9)
        • 백준 문제풀이 (32)
      • 개인 공부 (27)
        • 대학 수학 (5)
        • 대학 영어 (10)
        • 시계열데이터 처리 및 분석 (5)
        • 컴퓨터 네트워크 (6)
        • 운영체제 (1)
      • 솔직 리뷰 (23)
        • 꿀팁 (6)
        • IT기기 (1)
        • 국내 여행 (7)
        • 맛집 (2)
        • 알바 리뷰 (2)
      • 대외활동 (17)
        • 체리피우미 3기 (4)
        • 꿀잠이들 6기 (13)
      • 음식 평가 (1)
      • 일상 & 근황 (2)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩하는_대학생
시계열데이터 처리 및 분석 4. 연속 신호의 디지털 처리 시스템 I
상단으로

티스토리툴바