일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 신호처리
- 이산신호처리
- DSP
- 프로그래머스
- 스위프트
- Trie
- 트라이
- PYTHON
- SWIFTUI
- 컨볼루션
- leetcode
- 독서노트
- 코테준비
- IOS
- 백준
- 카카오 코딩테스트
- 코딩테스트
- SWIFT
- leet code
- 알고리즘 문제풀이
- 전자공학
- dft
- DTFT
- 파이썬
- 알고리즘문제풀이
- backjoon
- Leet Coding Challenge
- 릿코드
- 알고리즘
- 코테
- Today
- Total
매일 매일 성장하는 섭섭군
[Seop's 강의노트] 이산신호처리 _ DFT의 개념 본문
지금우리는 신호처리에 관하여 공부하고 있다.
연속 신호인지? 주기성이 있는지? 시간 도매인 인지?
주파수 도매인인지 등 여러가지를 배웠다.
이런 많은 것들을 배우는 목적은
아날로그 신호를 디지털화 시켜서 컨트롤 하고
새로운 신호를 만들어내 이것을 전송하며 아날로그화 시키려고 하는 것이 목적이다.
자연속에 존재하는 연속 비주기 신호에 대한 정보를 알기 위해서 CTFT 란 것을 배웠으며 이를 우리가 컨트롤 하고 싶어서
표본화 과정을 거쳐 이산신호로 만들었다.
이렇게 만든 이산신호의 주파수 정보를 알아보기 위해 DTFT란 것을 배웠다
그런데 문제가 하나 생겨버렸다. 연속 비주기 신호를 표본화 시켜서 얻어낸이산신호에 대한 주파수 정보들이 연속이 되어 버렸다.
연속이란 의미는 수없이도 많은 정보를 가지고 있다고 생각해 볼 수도 있다. 즉 우리가 사용하는
컴퓨터에서 사용하기 힘들다는 의미이다.
어떻게 해야할까? 방법은 이미 배웠다.
연속 비주기 신호를 잘개 쪼갠 것 처럼 쪼개면 된다.
즉 DTFT를 통온 나온 신호를 N개로 쪼개어 보는 것이다.
Large Omega 는 2pi 마다 주기성을 가지게 된다.
그러니 0~2pi 구간을 N개로 나누어 주면 된다.
이를 우리는 DFT(Discrete Fourier Transform) 라고 한다.
DFT에서 Large Omega 는 Large Omega K라고 표시가 되며
이를통해 나온 DFT 식은 다음과 같다.
여기서 우리가 보지 못한 L 이라는 변수가 나오게 된다. L : 시간 축에서의 Sample의 갯수이다. 즉 x(t) -> x[n] 으로 바꿀때
추출한 표본(Sample)의 갯수이다.
N : 주파수 축에서 Sample의 갯수이다. x[n] 을 DTFT 한 X(Large Omega)를 추출한 표본의 갯수이다.
여기서 중요하게 봐야 할 것이 있는데 L 과 N 이 같아야만 추후에 오차가 덜생기기 때문에
L = N 으로 같게 한다. 이렇게 해서 나온 DFT 식은 다음과 같다.
이를 우리는 N-Point DFT 라고 부른다.
말로 표현하자면 DTFT에서 0~2pi 사이의 구간을 N 개로 나눈 것이라고 보면 된다.
간단하게 DFT가 무엇이며 왜 필요한지에 대해서 알아보았다.
다음 포스팅 때에는 DFT에 대해서 좀 더 자세하게 알아보도록 하겠다.
Zero Padding, Truncation 에 대한것과 전체적인 DSP에 과정에 대해서 알아보도록 하겠다.
'디지털신호처리, DSP' 카테고리의 다른 글
[Seop's 강의노트] MATLAB에서 Convolution 함수 구현 (0) | 2019.10.23 |
---|---|
[Seop's 강의노트] 이산신호처리 _ DFT, Zero Padding (0) | 2019.10.23 |
[Seop's의 강의노트] LTI 시스템, 컨벌루션 이란? (0) | 2019.10.23 |
[Seop's 강의노트] 이산신호처리 _ DTFT의 특징 및 성질 (0) | 2019.10.23 |
[Seop's 강의노트] 이산신호처리 _ 표본화(Sampling) (0) | 2019.10.23 |