Interpretacja N w DFT jako liczba punktów w funkcji liczby interwałów

Nov 22 2020

„N” oznacza DFT rozumiane jako liczba punktów danych w danej sekwencji lub innymi słowy długość sekwencji. Niedawno dyskutowaliśmy tutaj Indeksowanie w DFT (ze starego artykułu) i czyjeś stare pytanie Jak zmierzyć czas trwania sekwencji dyskretnej o skończonej długości? . Jedną z popularnych symbolicznych wersji DFT jest

$$ X(j)=\sum_{k=0}^{N-1} x(k) \exp \left(-i 2 \pi\left(\frac{j}{N}\right) k\right) $$

Załóżmy, że ktoś podaje nam sekwencję składającą się z N = 11 punktów, nie podając całkowitego czasu ani częstotliwości próbkowania. Jeśli zastosujemy na nim DFT w MATLAB-u, otrzymamy 11 punktów

Problemy notacyjne zaczynają się, gdy chcemy określić przedział czasu$\Delta$t i krok częstotliwości $\frac{1}{N\Delta t}$ kiedy $\Delta$t jest ujawniony.

a) Jeśli chcemy określić częstotliwość próbkowania, jest to (N-1) punktów zebranych w ciągu 1 sekundy. Ostatni punkt należy do następnego cyklu . Prawidłowa częstotliwość próbkowania to 10 Hz, a nie 11.

b) Przedstawiono rozdzielczość częstotliwości $\frac{1}{N\Delta t}$. Aby uzyskać prawidłowy krok częstotliwości, musimy wprowadzić$\frac{1}{10(0.1)}$ NIE $\frac{1}{11(0.1)}$.

Dlatego rozdzielczość częstotliwości, jeśli przyjmiemy, że N = 11, $$\frac{1}{(N-1)\Delta t}$$ ale nikt nie pokazuje tej formuły.

Wydaje się, że używamy N na dwa sposoby

  1. N jako długość ciągu
  2. N, gdy musimy określić krok częstotliwości, w którym w rzeczywistości jest o jeden mniej niż N, aby uzyskać poprawny wynik.

Szanowany kolega mówi, że N należy interpretować jako liczbę interwałów, a nie liczbę punktów. Jest to niezgodne z definiowaniem N jako liczby punktów w sekwencji. Niestety nie mogę znaleźć żadnego odniesienia, które mówi, że N to liczba przedziałów.

Jak możemy to uczynić spójnymi?

Dzięki.

Odpowiedzi

1 Fat32 Nov 22 2020 at 23:47

Nie, nie, nie, nie, nie! Masz tu nieporozumienie!

ROZDZIELCZOŚĆ CZĘSTOTLIWOŚCI to nie to samo, co ROZDZIELCZOŚĆ CZĘSTOTLIWOŚCI DFT BIN.

Nie potrzebujesz do tego skomplikowanej analizy. Na poniższym wykresie narysowałem 7-punktową DFT 7-punktowej sekwencji x [n]. Ponieważ DFT jest okresowy, wykreśliłem jej dwa i pół okresu.

Grafika mówi sama za siebie, że ODSTĘPY między każdą próbką DFT (inaczej pojemnikami DFT) są podane przez:

$$ \Delta_\omega = \frac{2\pi}{N} \tag{1}$$

Gdzie $N = 7$ jest liczbą próbek w DFT $X[k]$.

Otóż ​​to. Ta wartość jest dyskretną częstotliwością w czasie (w radianach na próbkę) odstępem między każdą próbką DFT; Przez różne społeczności internetowe mylnie określane jako rozdzielczość częstotliwości DFT .

Ciągłe (analogowe) odstępy między próbkami w hercach oblicza się przy użyciu tego samego wzoru i faktu, że próbki $X[0]$ i $X[7]$ (która jest pierwszą próbką następnego okresu wykreślonego na niebiesko) są oddzielone $F_s$ Poza Hz (konsekwencja operacji próbkowania):

$$ \Delta_f = \frac{F_s}{N} \tag{2}$$

Napisz równanie 2 pod względem okresu $T_s = 1/F_s$ dostajesz :

$$ \Delta_f = \frac{1}{N \cdot T_s} = \frac{1}{ \Delta t} \tag{3}$$

I to jest wzór, który omyłkowo nazywasz „rozdzielczością częstotliwości”. Nie, nie jest. To tylko odstęp częstotliwości binningu DFT w hercach. I ta wartość$\Delta t$NIE chodzi o czas trwania sekwencji, ale tylko o konsekwencję występującej tam algebry; tak, czas trwania$N$ próbki jest również $(N-1)\cdot T_s$; stąd są podobne ilości. Dlatego czas trwania sekwencji można wykorzystać do uzyskania skrótu do odstępów częstotliwości bin DFT.

2 OverLordGoldDragon Nov 22 2020 at 22:57

Kluczem jest zrozumienie tego, co mówi DFT , a czego szukamy . Rozważ cosinus, w którym się zmieniamy$f \text[Hz]$, $N$, i $t$ i obserwuj wpływ na DFT:

  • [1] : DFT "widzi" 1 cykl w "ramce analizy" (tj. Czym ją dostarczamy), więc wartość różna od zera w$k=1$, zgodnie z oczekiwaniami.
  • [1] do [2]: podwajamy czas trwania bez zmian$f$ lub $N$; DFT widzi to jako dwa cykle obejmujące ramkę analizy, więc$k=2$.
  • [1] do [3]: podwajamy częstotliwość fizyczną bez zmiany$N$ lub $t$; DFT postrzega to jako dwa cykle obejmujące ramkę.
  • [1] do [4]: podwajamy liczbę próbek ,$N$bez zmiany $f$ lub $t$; DFT postrzega to jako wciąż 1 cykl obejmujący ramkę; bin lokalizacja ,$k$, pozostaje niezmieniona, ale (nieznormalizowana) siła korelacji podwaja się (nie ma tu znaczenia).
  • [4] do [5]: teraz również podwajamy czas trwania , dając dwa cykle w ramce analizy.

Powinieneś zobaczyć wzór. Bez dalszego czytania, spróbuj nawiązać związek między$k$, $N$, $t$, i $f$. Wskazówka: jednostki .


Oto sprawa: DFT nie ma pojęcia, czym jest Hz, czyli częstotliwość fizyczna . Wszystko, co zna, to próbki i cykle obejmujące ramkę analizy. W [1] „częstotliwość DFT” wynosi

$$ f_{\text{DFT}} = \frac{k}{N} = \frac{1 \text{ cycle}}{10 \text{ samples}} = .1 \left[ \frac{\text{cycles}}{\text{samples}} \right] $$

[2] = [3] = 2 cykle / 10 próbek, [4] = 1 cykl / 20 próbek, [5] = 2 cykle / 20 próbek. Przyjrzyjmy się teraz temu, co wiemy o częstotliwości fizycznej,$f_p$i częstotliwości DFT i powiąż je. W [2] , mówi DFT$k=2$, ale wiemy $f_p = 1$. Może to być również (nie pokazane w żadnym [1] - [5])$f_p=2$ i $k=1$. Jak konwertować?

Relacja jednocząca to:

\begin{align} f_p \left[ \frac{\text{cycles}}{\text{second}} \right] & = \left( f_{\text{DFT}} \left[ \frac{\text{cycles}}{\text{samples}} \right] \right) \cdot \left( f_s \left[ \frac{\text{samples}}{\text{second}} \right] \right) \end{align}

Tak więc dla [2] :

$$ f_{\text{DFT}} \cdot f_s = \left( \frac{2 \text{ cycles}}{10 \text{ samples}} \right) \cdot \left( \frac{10 \text{ samples}}{2 \text{ seconds}} \right) = 1 \left[ \frac{\text{cycles}}{\text{second}} \right] = 1\ \text{Hz} = f_p $$


Ale jak to ustalić $f_s$?

Mówiąc prosto, jest to odwrotność okresu próbkowania, $\Delta t$, dzięki czemu wszystko powyżej jest spójne. Należy jednak zapytać, czy „częstotliwość próbkowania” jest zdefiniowana jako „liczba próbek / całkowity czas trwania”, a „całkowity czas trwania”

$$ [0, .1, .2, .3, .4, .5, .6, .7, .8, .9]\ \text{sec} $$

jest wyraźnie $0.9\ \text{sec}$, to nie jest $f_s$ tak właściwie $.9 / 10 = 0.9\ \text{Hz}$? Nie ; czas trwania wynosi faktycznie 1 sek. Dlatego:$0.9\ \text{sec}$w rzeczywistości jest to czas trwania czegoś zupełnie innego. Mianowicie, „jaki jest czas trwania sygnału?” może zadać dwie rzeczy:

  1. Od jak dawna samplujemy?
  2. Ile czasu zawiera informacje w naszym sygnale?

Odpowiedzią na poprzednie jest $0.9\ \text{sec}$, ale to ostatnie jest $1\ \text{sec}$. Dawniej obliczono za pośrednictwem$(N-1)\Delta t$, ostatni przez $N \Delta $i jeśli nalegamy na 0,9 dla # 2, mówimy, że jedna próbka nie zawiera informacji reprezentujących czas , co oznacza, że wszystkie sygnały mają czas trwania równy zero .

Wyjaśnię to przykładami tutaj . Krótko mówiąc, celem końcowym jest opis informacji , a nie procesu, który służy do jej uzyskania.


Jaka jest więc rozdzielczość częstotliwości (raczej odstępy binów DFT)${}^{1}$?

Jest zdefiniowany jako odstęp między przedziałami DFT, $df$; odpowiedź zależy od wybranych jednostek. Dla Hertza, dla wszystkich powyższych,

$$ df_p = \frac{1}{N \Delta t} \tag{1} $$

czyli dla [2] ,$k=1$ koresponduje z $f_p = 0.5\ \text{Hz}$, $k=2$ koresponduje z $f_p = 1\ \text{Hz}$, i tak dalej. Alternatywnie, jeśli nalegasz na zdefiniowanie czasu trwania za pośrednictwem$(N-1)$, to będzie na $(N-1)$w hercach, ale nie w częstotliwościach DFT ; to ostatnie jest jednoznaczne :

$$ k=1 \rightarrow \frac{1\ \text{cycle}}{N\ \text{samples}} = \frac{1}{N} \left[ \frac{\text{cycles}}{\text{sample}} \right] $$

Możesz ponownie przekonwertować między rozdzielczością częstotliwości DFT a fizyczną; biorąc [2] ,$\text{Duration} / N = 2 \text{ sec} / 10 = .2 \text{ sec}$, więc odstępy między pojemnikami są

$$ df_p = \frac{1}{N \Delta t} = .5\ \text{Hz} $$

Odstępy mogą się zmienić, ale dzieje się to poprzez przedefiniowanie $\Delta t$ zamiast zmieniać $N$ do $(N - 1)$ w $(1)$. Załóżmy, że powiemy$\text{Duration} = 1.8\ \text{sec}$; następnie,$\Delta t = 0.18\ \text{sec}$, i

$$ df_p = \frac{1}{N \Delta t} = 0.\bar{5}\ \text{Hz} $$

Więc w [2] ,$k=1$ koresponduje z $0.56\ \text{Hz}$, i $k=2$ koresponduje z $1.1\ \text{Hz}$, co jest zgodne z wykonaniem 2 cykli w 1,8 s = 1,1 Hz.


Twój konkretny przykład :$N=11$, $\Delta t = 0.1\ \text{sec}$:

$$ df_p = \frac{1}{N \Delta t} = \frac{1}{11 \cdot 0.1\ \text{sec}} = 0.909\ \text{Hz} $$

Więc $k=1$ koresponduje z $0.909\ \text{Hz}$, a nie do 1 Hz, ponieważ umieściłeś próbkę z następnego cyklu w ramce analizy.


1: UWAGA :$df$to odstępy przedziałów DFT , a nie „rozdzielczość częstotliwości”. DFT ma doskonałą rozdzielczość częstotliwości i nie ma rozdzielczości czasowej. Ale jeśli zdefiniujesz to jako dyskryminację częstotliwości w czasie ciągłym, wówczas rozdzielczość i odstępy przedziałów są odwrotnie proporcjonalne (mniejsze odstępy -> więcej przedziałów -> bardziej ziarnista rozdzielczość). To jest osobny temat, więc uniknę szczegółowego wyjaśniania, zachęcam do otwarcia nowego q.

1 MarcusMüller Nov 22 2020 at 22:33

Naprawdę powinieneś odpuścić pojęcie dyskretnego sygnału będącego sekwencją okresów. To nie jest. To ciąg liczb - nic dodać nic ująć.

Problemy notacyjne zaczynają się, gdy chcemy określić przedział czasu $\Delta t$

dokładnie. Ponieważ nie jest to właściwość sygnału dyskretnego.

a) Jeśli chcemy określić częstotliwość próbkowania, jest to (N-1) punktów zebranych w ciągu 1 sekundy

To brzmi źle. Aby zdobyć pierwszy punkt, musiałeś już mieć sygnał. Gdyby sygnał był „nagle” wartością opisaną przez twoją próbkę, twój sygnał nie byłby ograniczony pasmem, a zatem próbkowanie go nie ma sensu, a próbki nie mają znaczenia, ponieważ sygnał ciągłego czasu może się dowolnie zmieniać między nimi.

W sumie to samo, co napisałem. Jak zmierzyć czas trwania dyskretnej sekwencji o skończonej długości? a na pytania OverLord stoi:

Przestań próbować przypisać właściwość „czas trwania” do sekwencji liczb. To tylko ciąg liczb. Gdy tylko dodasz pojęcie tych liczb reprezentujących ciągły w czasie sygnał, musisz wziąć pod uwagę, że musi to być ograniczone pasmem, a zatem nie może mieć skończonego czasu trwania. W kontekście DFT jako narzędzie do „środek” coś nad częstotliwością, szacunek widmo DFT tylko zgadza się z ciągłym czasie transformacji Fouriera dla obserwowanego pasma, jeśli sygnał jest DFT długości okresowe w chwilach próbkowania. I nie ma wątpliwości: rama jest$N\Delta t$ długi, a każda inna długość nie będzie działać.