[SS] Resolution of DFT

2022. 11. 25. 19:52·.../Signals and Systems
728x90
728x90

1. Picket Fence Effect

DFT의 경우 spectrum도 discrete하게 존재하기 때문에

spectrum에서의 sampling interval(=실제 값을 가진 샘플의 간격)이 지나치게 넓을 경우,

Picket Fence Effect로 인한 문제점 발생. (=너무 듬성듬성하게 샘플링하면 문제가 되는 것과 같음)

  • DFT의 Picket Fence Effect
    ▷ 스펙트럼 샘플의 간격이 넓으면 실제 스펙트럼의 모양을 파악하기 어려움.
    ▷
    스펙트럼의 해상도 (spectrum resolution)가 중요함!!!
  • DFT에 의한 Spectrum Resolution(스펙트럼 해상도)
    ▷ $x[n]$의 샘플 수
    에 의존: $\langle 2\pi \rangle $구간 고정되는 사실을 기억할 것!

picket fence에서 가로막힌 간격(샘플간의 간격)으로 인해 spectrum의 실제 모습과 다른 signal을 얻게 됨.

 


2. Zero Padding

참고로, 만약 time domain에서 $N_1$개의 유효 데이터가 있는데,

주파수 영역에서 $N_2$ 개의 샘플($N_2> N_1$)이 요구될 경우,
다음의 zero-padding으로 처리하는게 일반적임.

  • $N_2 - N_1$개의 $0$을 뒤에 첨가
  • 데이터 수는 증가시키되 스펙트럼 형태 변화는 생기지 않도록 처리함 : 단순히 frequency resolution만 증가시킴.
  • 단, zero-padding에 의한 frequency resolution 증가는 스펙트럼 정확도(accuracy)의 향상은 아님. (accuracy는 동일)

정확도(accuracy)은 신호의 유효 샘플 수 $N_1$ 을 더 늘려야 함

유효 샘플 수 $N_1$ 의 증가 ▷ 해상도 향상 & 주파수 중첩 감소 (=정확성 증가)

zero padding을 한 경우, 스펙트럼의 모양은 그대로 유지되면서 frequency resolution만 향상됨. 반면 보다 많은 샘플을 직접 얻은 경우, 보다 정확한 spectrum이 만들어짐 (위 그림에서 신호가 올라가는 기울기가 보다 정확함을 알 수 있음)

zero-padding은 원래의 81개 sinc 함수 샘플들 뒤에 그냥 0으로 81*2=161개를 채운 것임.

  • 이 경우 frequency resolution은 향상되나,
  • accuracy는 그대로임.

elongated signal은 sampling 간격 (sampling freq.)를 그대로 두고 3배 길게 신호를 측정한 것임.

  • 이 경우, frequency resolution은 향상되면서 보다 accuracy가 높은 spectrum을 얻음.
  • 단 sampling freq.는 그대로이므로 frequency bandwidth는 그대로임.

참고로 zero-intepolation을 통해 $N_1$을 $N_2$로 만들면

  • frequency resolution은 그대로이면서
  • $2\pi$에 대응하는 실제 주파수가 3배 증가하고,
  • 실제 값이 있는 sample 간의 시간 간격은 그대로(단, index간격은 3배)이므로 specturm의 주파수 반복 주기 는 그대로이므로
  • 구간 $\langle -\pi, \pi \rangle$에서 3번 반복하는 spectrum을 얻게 됨.

zero-intepolation

참고: https://gist.github.com/dsaint31x/eca284fdc0dc59bf21c1acb80f74f276

 

SS07_3_DFT_zero_padding_2022.ipynb

SS07_3_DFT_zero_padding_2022.ipynb. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com


2-1. Example : Zero Padding

$N=4$인 signal $x[n]$의 DTFT는 다음과 같음.
$$ X(e^{j\omega n})=\displaystyle \sum^{3}_{n=0}x[n]e^{-j\omega n} $$

  • $x[n]$을 zero padding ($N: 4 \to 8$)수행
  • 신호의 전체 길이만 증가할 뿐, 샘플간의 간격은 그대로임.

DTFT 관점에서 보면 다음과 같음.

$$ x_{zp}[n] = \left[ x[0], x[1], x[2], x[3], 0, 0, 0, 0\right] \\ X'(e^{j\omega n})=\displaystyle \sum^{7}_{n=0} x_{zp}[n]e^{-j\omega n} = \sum^3_{n=0}x[n]e^{-j\omega n}\\ X'(e^{j\omega n})=X(e^{j\omega n}) $$

  • spectrum의 범위(=대역폭. sampling freq.에 의해 좌우)는 그대로이면서,
  • spectrum의 샘플 수가 8개로 늘어났기 때문에 spectrum간 샘플의 간격이 1/2로 줄어들었음
    (동일한 주파수대역에 2배 많은 샘플이 위치: frequency resolution 증가!).
  • 하지만, spectrum의 모양은 위 식에서 보이듯이 전혀 변화가 없음.
  • 즉, 같은 모양에서 샘플이 보다 촘촘히 들어가 있게 됨.

이를 DFT 관점에서 보면 다음과 같음

$$\begin{array}{clll} X'[0] &= \displaystyle \sum^{7}_{n=0} x_{zp}[n] &= \sum^{3}_{n=0} x_{zp}[n] &=\color{red}{ \sum^{3}_{n=0} x[n] =X[0]} \\ X'[1] &= \displaystyle \sum^{7}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}n} &= \sum^{3}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}n} \\ X'[2] &= \displaystyle \sum^{7}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}2n}&= \sum^{3}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}2n}&=\color{red}{ \sum^{3}_{n=0} x[n]e^{-j\frac{2\pi}{4}n}=X[1]}\\ X'[3] &= \displaystyle \sum^{7}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}3n}&= \sum^{3}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}3n}\\ X'[4] &= \displaystyle \sum^{7}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}4n}&= \sum^{3}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}4n}&=\color{red}{ \sum^{3}_{n=0} x[n]e^{-j\frac{2\pi}{4}2n}=X[2]}\\ X'[5] &= \displaystyle \sum^{7}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}5n}&= \sum^{3}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}5n}\\ X'[6] &= \displaystyle \sum^{7}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}6n}&= \sum^{3}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}6n}&=\color{red}{ \sum^{3}_{n=0} x[n]e^{-j\frac{2\pi}{4}3n}=X[3]}\\ X'[7] &= \displaystyle \sum^{7}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}7n}&= \sum^{3}_{n=0} x_{zp}[n] e^{-j\frac{2\pi}{8}7n}\\ X'[8] &= X'[0]&&=X[0]\\ \vdots \end{array}$$

  • $X'[0],X'[2],X'[4],X'[6]$은 zero padding전의 $x[n]$의 $X[0],X[1],X[2],X[3]$과 같은 값을 가지며,
  • 이들 값들 사이에 $X'[1],X'[3],X'[5],X'[7]$이 추가되는 형태임을 알 수 있음.

2-2. 참고 : DFT

$$ X[k] = \displaystyle \sum^{N-1}_{n=0} x[n] e^{-j\frac{2\pi}{N}kn},\quad k=0,1,\dots,N-1$$

 


3. Frequency Resolution

Spectrum에서 인접한 두 frequency component를 구분해낼 수 있는 정도.

Spectrum에서 Sampling interval을 의미함.


3-1. Digital Frequency Resolution

$$\Delta \omega = \frac{2\pi}{N}$$ or $$\Delta F=\frac{1}{N}$$


3-2. Analog Frequency Resolution

$$\Delta f = \frac{f_s}{N}= \frac{\text{한 주기 구간에 해당하는 주파수,}f_s} {\text{# of samples}}=\frac{1}{T_\text{duration}}=\frac{1}{NT_s}$$

 

  • $T_\text{duration}$ : time domain signal의 period (지속시간이라고도 불림), 주기 $T$에 해당함. 비주기 신호 입장에선 신호의 길이임.
  • $T_s$ : sampling interval. sampling frequency를 결정!
  • $f_s$ : spectrum에서의 한주기에 해당.

4. Example : Frequency Resolution

지속 시간이 2초($T_\text{duration}$ or $t_s$)이고
해당 신호의
유효 대역폭($f_b$)이 10kHz 인
continuous signal에 대해

주파수 스펙트럼에서 aliasing(or 절단 왜곡)이 발생하지 않도록

DFT(Discrete Fourier Transform)을 해야 한다.

이때 DFT에서 사용할 샘플의 N과 frequency resolution Δf을 구하시오.

 

풀이

$$f_s = \frac{1}{T_s}=\frac{N}{T_\text{duration}} \ge 2f_b$$

 

위 식을 통해, $N$은 다음과 같음.

$$\frac{N}{T_\text{duration}} \ge 2f_b \\ N \ge T_\text{duration} \times 2f_b \\ N \ge 2 (\text{sec}) \times 2 \times 10 \times 10^{3} (\text{Hz}) \\ \therefore N \ge 4 \times 10^4$$

 

frequency resolution은 다음과 같음.

$$\Delta f = \frac{f_s}{N}= \frac{1}{T_\text{duration}} = \frac{1}{NT_s} = 0.5 (\text{Hz})$$


같이 보면 좋은 자료들

2023.11.30 - [분류 전체보기] - [SS] Discrete Time Fourier Transform (DTFT) and Discrete Fourier Transform (DFT)

 

[SS] Discrete Time Fourier Transform (DTFT) and Discrete Fourier Transform (DFT)

Pre-requirements 2023.10.19 - [.../Signals and Systems] - [SS] Convolution with an shifted impulse [SS] Convolution with an shifted impulse shifted impulse와 convolution은 결국 shifting 연산임 $t_0$로 shifting을 시킨 impulse function $\delta(t-t

dsaint31.tistory.com

 

2024.12.02 - [.../Signals and Systems] - [SS] Scaling Property: Fourier Transform

 

[SS] Scaling Property: Fourier Transform

Continuous Signal: Time Scaling$$x(t) \leftrightarrow X(\Omega) \\ y(t)=x(at) \\ Y(\Omega) = \frac{1}{|a|}X\left( \frac{\Omega}{a} \right)$$Compression: $|a|>1$ / Expansion $|a|Time domain 에서의 compression은 Freq. domain 에서의 Expansion, Vice Ver

dsaint31.tistory.com


 

 

 

'... > Signals and Systems' 카테고리의 다른 글

[SS] ROC of z-Transform  (0) 2022.11.30
[SS] z-Transform: Introduction  (1) 2022.11.30
[SS] Discrete Convolution (Linear Discrete Convolution)  (0) 2022.11.22
[SS] Circular Convolution  (0) 2022.11.18
[SS] Properties of (unilateral) Laplace Transform  (0) 2022.10.25
'.../Signals and Systems' 카테고리의 다른 글
  • [SS] ROC of z-Transform
  • [SS] z-Transform: Introduction
  • [SS] Discrete Convolution (Linear Discrete Convolution)
  • [SS] Circular Convolution
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (740)
      • Private Life (13)
      • Programming (186)
        • DIP (104)
        • ML (26)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (351)
        • Signals and Systems (103)
        • Math (172)
        • Linear Algebra (33)
        • Physics (42)
        • 인성세미나 (1)
      • 정리필요. (54)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (1)
        • PET Study 2009 (1)
        • 방사선 장해방호 (4)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    random
    opencv
    linear algebra
    numpy
    Vector
    math
    Probability
    DIP
    Convolution
    Python
    Term
    fourier transform
    Optimization
    signals_and_systems
    인허가제도
    Programming
    SIGNAL
    signal_and_system
    SS
    function
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[SS] Resolution of DFT
상단으로

티스토리툴바