Tại sao DFT giả định tín hiệu biến đổi là định kỳ?


10

Trong nhiều sách xử lý tín hiệu, người ta cho rằng DFT giả định tín hiệu biến đổi là định kỳ (và đây là lý do tại sao rò rỉ quang phổ chẳng hạn có thể xảy ra).

Bây giờ, nếu bạn nhìn vào định nghĩa của DFT, đơn giản là không có giả định đó. Tuy nhiên, trong bài viết trên Wikipedia về biến đổi Fourier thời gian rời rạc (DTFT), đã nói rằng

Khi chuỗi dữ liệu đầu vào x[n]N periodic, Eq.2 có thể được giảm tính toán thành một biến đổi Fourier rời rạc (DFT)

  • Vì vậy, giả định này có bắt nguồn từ DTFT không?
  • Trên thực tế, khi tính toán DFT, trên thực tế tôi có đang tính toán DTFT với giả định rằng tín hiệu là định kỳ không?

Bởi vì DFT X [k] của x [n] là giai đoạn đầu tiên của Chuỗi Fourier rời rạc (DFS) của tín hiệu định kỳ xp [n] có chu kỳ đầu tiên được lấy là x [n]
Fat32

1
Có vẻ như tôi sẽ phải viết một câu trả lời không đồng tình với điều này. DFT giả định tín hiệu được chuyển đổi là định kỳ vì nó phù hợp với một tập hợp các hàm cơ bản cho tín hiệu được chuyển đổi, tất cả đều là định kỳ.
robert bristow-johnson

1
DFT chỉ là biểu thức đơn giản hóa của DFS, do đó, giả định định kỳ vốn đã tồn tại.
lxg

Câu trả lời:


12

Đã có một số câu trả lời tốt, nhưng tôi vẫn cảm thấy muốn thêm một lời giải thích khác, bởi vì tôi coi chủ đề này cực kỳ quan trọng đối với sự hiểu biết về nhiều khía cạnh của xử lý tín hiệu số.

Trước hết, điều quan trọng là phải hiểu rằng DFT không 'giả định' tính định kỳ của tín hiệu được chuyển đổi. DFT được áp dụng đơn giản cho tín hiệu hữu hạn có độ dài và các hệ số DFT tương ứng được xác định bởiN

(1)X[k]= =Σn= =0N-1x[n]e-j2πnk/N,k= =0,1,Giáo dục,N-1

Từ (1) rõ ràng là chỉ các mẫu của trong khoảng [ 0 , N - 1 ] được xem xét, do đó không có tính định kỳ được giả định. Mặt khác, các hệ số X [ k ] có thể được hiểu là hệ số Fourier của sự tiếp tục định kỳ của tín hiệu x [ n ] . Điều này có thể được nhìn thấy từ biến đổi nghịch đảox[n][0,N-1]X[k]x[n]

(2)x[n]= =Σk= =0N-1X[k]ej2πnk/N

mà tính một cách chính xác trong khoảng [ 0 , N - 1 ] , nhưng nó cũng sẽ tính toán tiếp tục định kỳ bên ngoài khoảng thời gian này vì phía bên tay phải của (2) là tuần hoàn với chu kỳ N . Thuộc tính này vốn có trong định nghĩa của DFT, nhưng nó không cần phải làm phiền chúng tôi vì thông thường chúng tôi chỉ quan tâm đến khoảng [ 0 , N - 1 ] .x[n][0,N-1]N[0,N-1]

Xem xét DTFT của x[n]

(3)X(ω)= =Σn= =-x[n]e-jnω

chúng ta có thể nhìn thấy bằng cách so sánh (3) với (1), rằng nếu là một hữu hạn chuỗi trong khoảng [ 0 , N - 1 ] , các hệ số DFT X [ k ] là mẫu của DTFT X ( ω ) :x[n][0,N-1]X[k]X(ω)

(4)X[k]= =X(2πk/N)

Vì vậy, một cách sử dụng DFT (nhưng chắc chắn không phải là duy nhất) là để tính toán các mẫu của DTFT. Nhưng điều này chỉ hoạt động nếu tín hiệu cần phân tích có độ dài hữu hạn . Thông thường tín hiệu chiều dài hữu hạn này được xây dựng bằng cách hiển thị tín hiệu dài hơn. Và chính cửa sổ này gây ra rò rỉ quang phổ.

Như một lưu ý cuối cùng, lưu ý rằng DTFT của sự tiếp tục định kỳ của chuỗi hữu hạn x [ n ] có thể được biểu thị theo các hệ số DFT của x [ n ] :x~[n]x[n]x[n]

˜ X (ω)=2π

(5)x~[n]= =Σk= =-x[n-kN]
(6)X~(ω)=2πNk=X[k]δ(ω2πk/N)

EDIT: Thực tế là ˜ X ( ω ) được đưa ra ở trên là một cặp biến đổi DTFT có thể được hiển thị như sau. Đầu tiên lưu ý rằng DTFT của lược xung thời gian rời rạc là lược Dirac:x~[n]X~(ω)

(7)Σk= =-δ[n-kN]2πNΣk= =-δ(ω-2πk/N)

Chuỗi có thể được viết như chập của x [ n ] với một chiếc lược xung:x~[n]x[n]

(số 8)x~[n]= =x[n]Σk= =-δ[n-kN]

Kể từ tương ứng với phép nhân chập trong lĩnh vực DTFT, các DTFT của ~ x [ n ] được đưa ra bởi các nhân của X ( ω ) với một cái lược Dirac:X~(ω)x~[n]X(ω)

(9)X~(ω)=X(ω)2πNk=δ(ω2πk/N)=2πNk=X(2πk/N)δ(ω2πk/N)

Kết hợp với ( 4 ) sẽ tạo ra kết quả ( 6 ) .(9)(4)(6)


mũi tên xuống câu trả lời này cho cùng một lý do tôi có câu trả lời gần đây hơn của @ hotpaw2. trong tuyên bố này: "Từ (1) rõ ràng là chỉ các mẫu của trong khoảng [ 0 , N - 1 ] được xem xét, do đó không có tính định kỳ được giả định." x[n][0,N1]kết luận không theo từ tiền đề.
robert bristow-johnson

4
@ robertbristow-johnson: Nó có. Đưa cho tôi mẫu liên tiếp và tôi đưa cho bạn DFT. Tôi không cần phải thừa nhận bất cứ điều gì về tín hiệu ngoài phạm vi [ 0 , N - 1 ] , thậm chí không tồn tại. Đây là điều duy nhất tôi tuyên bố trong câu đó, và nó rõ ràng là đúng. Để tính toán DFT, tôi không cần biết gì ngoại trừ các giá trị trong khoảng [ 0 , N - 1 ] . Không chắc chắn làm thế nào bạn có thể hiểu sai hoặc đọc sai tuyên bố của tôi. Nếu đó là một vấn đề về công thức thì tôi rất vui lòng làm rõ câu của mình, nhưng khôn ngoan về nội dung thì nó thực sự không quan trọng. N[0,N1][0,N1]
Matt L.

4
đọc câu trả lời khác bên dưới và câu trả lời của tôi ở chủ đề khác. nó không phải về những gì bạn giả định về ngoài 0 n N - 1 . đó là về những gì thay đổi "giả" (nếu chúng ta được phép anthropomorphize một chút) về x [ n ] ngoài 0 n N - 1 . chúng ta có thể tìm ra những gì biến đổi giả định khi chúng ta gọi một hoạt động trong một tên miền làm dịch chuyển miền khác bằng một số nguyên. x[n]0nN1x[n]0nN1
robert bristow-johnson

@MattL. (9) nên đọc thay vì=2π
=2πNk=X[k]δ(ω2πk/N)
=2πNk=X(2πk/N)δ(ω2πk/N)
jomegaA

@jomegaA: Không trong cả hai trường hợp. Như đã nêu trong câu cuối cùng trong câu trả lời của tôi, kết quả cuối cùng (6) được kết luận từ việc kết hợp (9) với (4), do đó, tất nhiên , nhưng trong (9) nó có nguồn gốc từ DTFT X ( ω ) . Và liên quan đến hệ số tỷ lệ 2 π / N , nó chắc chắn cần phải ở đó. Làm biểu không nhầm lẫn sử dụng ωf , họ có yếu tố mở rộng quy mô khác nhau. X[k]=X(2πk/N)X(ω)2π/Nωf
Matt L.

8

Nó xuất phát từ định nghĩa của tín hiệu miền thời gian:

x[n]=k=0N1X[k]e2πinkN

Bạn có thể thấy theo định nghĩa rằng x[n]=x[n+N] .
Mặt khác, DFT tái cấu trúc hoàn hảo các mẫu N của tín hiệu.
Do đó bạn có thể kết luận nó giả định việc tiếp tục định kỳ của nó.

Một quan điểm khác sẽ xem DFT là Sê-ri Fourier rời rạc hữu hạn (Thực tế là, hãy xem Sê-ri Fourier rời rạc - DFS ), trong đó tất nhiên chỉ ra rằng tín hiệu là định kỳ (Tổng hợp các tín hiệu có chu kỳ T là một tín hiệu có chu kỳ T ).


2
Tôi không thấy nó xuất phát từ định nghĩa.
10839

1
@ user10839: Chỉ cần đánh giá và bạn sẽ thấy rằng nó bằng x [ n ] . Như đã chỉ ra trong câu trả lời, DFT chỉ là một chuỗi Fourier của tín hiệu miền thời gian. Độ dài hữu hạn của tín hiệu miền thời gian được coi là khoảng thời gian cơ bản. x[n+N]x[n]
Matt L.

@ user10839, chỉ cần cắm nó vào phương trình. Số mũ có thể được xác định bằng các hàm Cosine và Sine, có thể thấy có chu kỳ . nkN
Royi

1
DFT không phải là DFS. Đây là phạm vi, nhưng DFT cung cấp cho bạn các hệ số chuỗi Fourier. Điều quan trọng cần lưu ý là DFT cũng giống như bất kỳ biến đổi tuyến tính nào khác. Đó là một phép nhân ma trận. Ma trận là trực giao, làm cho nó tốt đẹp. Cũng có thể chỉ ra rằng các hệ số đầu ra bằng nhau của việc mở rộng chuỗi Fourier tương ứng của dữ liệu, nhưng biến đổi Fourier không phải là chuỗi Fourier (kiểu không khớp: p).
thang

@thang, tôi không biết ý bạn là gì. DFT là DFS. Họ giống nhau. Thật dễ dàng để thấy rằng. Hãy chú ý, đây là Sê-ri Fourier rời rạc chứ không phải Sê-ri Fourier (Có tích hợp). Có một cái nhìn ở đây en.wikipedia.org/wiki/Discittle_Fourier_series và xem nó là DFT.
Royi

5

Đó là một giả định không cần thiết (và thường là sai). DFT chỉ là một biến đổi cơ bản của một vectơ hữu hạn.

Các vectơ cơ sở của DFT tình cờ là các đoạn của các hàm tuần hoàn có thể mở rộng vô hạn. Nhưng không có gì định kỳ về đầu vào hoặc kết quả DFT trừ khi bạn mở rộng các vectơ cơ sở bên ngoài khẩu độ DFT. Nhiều hình thức phân tích tín hiệu không yêu cầu bất kỳ phần mở rộng hoặc giả định nào bên ngoài cửa sổ được lấy mẫu hoặc vectơ dữ liệu hữu hạn.

Bất kỳ tạo tác "rò rỉ" nào cũng có thể được giả định là từ một tổ hợp của cửa sổ hình chữ nhật mặc định với tín hiệu không phải là định kỳ hoặc không xác định định kỳ hoặc ổn định. Điều này có ý nghĩa hơn nhiều khi phân tích các cửa sổ FFT chồng chéo, trong đó mọi giả định về tính tuần hoàn bên ngoài bất kỳ cửa sổ DFT hoặc FFT nào có thể không phù hợp với dữ liệu trong các cửa sổ khác.

Tính tuần hoàn có thể làm cho phép toán liên quan đến DFT với DTFT dễ xử lý hơn. Nhưng bất kỳ mối quan hệ nào với DTFT có thể hoặc không cần thiết khi thực sự sử dụng FFT để xử lý tín hiệu (tùy thuộc vào chính xác các thuộc tính biến đổi Fourier nào là cần thiết để phân tích thêm phương pháp xử lý).


mũi tên xuống vì lý do tương tự tôi xuống mũi tên câu trả lời gần đây của bạn về điều này.
robert bristow-johnson

5

Ok, câu trả lời của tôi sẽ hơi khác so với các câu trả lời khác. câu trả lời của tôi chấp nhận tiền đề của câu hỏi hơn là phủ nhận tiền đề của câu hỏi.

Lý do mà DFT "giả sử" tín hiệu đầu vào (tín hiệu được chuyển đổi, điều tôi giả sử OP có nghĩa là "tín hiệu được chuyển đổi") là do định kỳ là do DFT phù hợp với tập hợp các hàm cơ bản cho tín hiệu đầu vào đó, tất cả đều là định kỳ.

xem xét một tập hợp các hàm cơ bản khác nhau:

gk(bạn)bạnk0k<N

và đưa ra mẫu đầu vào:N

x[n]0n<N

chúng ta có thể điều chỉnh tổng tuyến tính của các hàm cơ bản cho chuỗi đầu vàogk(n)

x[n]= =Σk= =0N-1X[k]gk(n)= =Σk= =0N-1X[k]nk

với sự lựa chọn hợp lý của các hệ số . tính toán tất cả X [ k ]X[k]X[k]NN

NX[k]0kN-1(N-1)x[n]n0nN-1

0nN-1 n(N-1)nx[n]

Vì vậy, bây giờ, với DFT, chúng tôi đang điều chỉnh một tập hợp các hàm cơ bản khác nhau cho chuỗi đầu vào của chúng tôi:

gk(bạn)1Ne+j2πkbạn/N0k<N

x[n]= =Σk= =0N-1X[k]gk(n)= =1NΣk= =0N-1X[k]e+j2πnk/N

X[k]

X[k]= =Σn= =0N-1x[n] e-j2πnk/N

vị trí của nó 1Nlà một vấn đề của quy ước. tôi đang đặt nó ở nơi mà hầu hết các tài liệu đặt1Nhệ số. nó có thể được gỡ bỏ khỏix[n] phương trình và đưa vào X[k]phương trình, thay vào đó. hoặc "một nửa" của nó (1N) có thể được đặt với cả hai phương trình. đó chỉ là vấn đề quy ước.

nhưng ở đây chúng ta đang lắp một tập hợp các hàm cơ bản, tất cả đều theo chu kỳ N đến bản gốc x[n]. vì vậy ngay cả khix[n] đến từ một chuỗi dài hơn không phải là định kỳ, DFT đang xem xét rằng x[n]là tổng của một loạt các hàm cơ bản, mỗi hàm theo chu kỳN. nếu bạn thêm một loạt các hàm tuần hoàn, tất cả đều có cùng một khoảng thời gian, thì tổng cũng phải là định kỳ với cùng một khoảng thời gian.


để biết thêm một chút về cuộc chiến, trong đó tôi tranh luận về khái niệm rằng DFT không nhất thiết phải mở rộng định kỳ dữ liệu được truyền cho nó, xin vui lòng xem câu trả lời trước đó từ tôi . tôi thà không lặp lại ở đây.
robert bristow-johnson

1

DFT là rời rạc. DTFT là liên tục. Chúng ta có thể lấy DFT từ DTFT bằng cách lấy mẫu nó với chuỗi xung đúng thời gian, điều này thực sự tương đương với nhân nó với chuỗi xung. Phép nhân trong miền biến đổi bằng với tích chập trong miền thời gian rời rạc, điều này hàm ý tính tuần hoàn của tín hiệu.


DTFT có liên tục? Làm thế nào mà?
jojek

2
Kết quả của DTFT là liên tục (theo tần số).
Deve

Thật vậy - do đó bạn nên nêu rõ để tránh mọi hiểu lầm và cung cấp các phương trình thích hợp.
jojek

@jojek Đúng vậy, tôi cũng nghĩ rằng câu trả lời này có thể được cải thiện bởi một số phương trình
Deve

1
Ill thêm chi tiết rất sớm.
người học

0

Chỉ DFT là thực tế trong thế giới kỹ thuật số rời rạc vì giả định định kỳ trên cả hai lĩnh vực. (Nếu bạn gọi nó như vậy.) Bởi vì tín hiệu không định kỳ trên một miền gây ra tín hiệu liên tục trên miền kia và bạn chỉ có thể lưu trữ tín hiệu rời rạc trong bộ nhớ kỹ thuật số. Vì vậy, bạn cần giả sử các tín hiệu là định kỳ trên cả hai miền để làm cho nó rời rạc trên cả hai miền.

Khi bạn tính toán DTFT, bạn nhận được tín hiệu liên tục trong miền tần số làm đầu ra.
Tôi không nghĩ bạn sẽ sử dụng quy trình tương tự khi bạn tính toán DFT trong thực tế. Khi bạn thực sự tính toán cả DTFT và DFT, bạn sẽ hiểu rằng cả hai phép tính biến đổi là những câu chuyện khác nhau.


0

Vì tín hiệu là định kỳ, tín hiệu thay đổi thời gian không làm thay đổi cường độ tuyệt đối của miền tần số.

X[k]= =Σk= =0N-1x[n]e2πTôinkN

e-2πTôiDkNX[k]= =Σk= =0N-1x[n-D]e2πTôinkNe-2πTôiDkN

Nhân tiện, không có gì ngăn bạn lấy FFT của tín hiệu không định kỳ, nhưng có rất ít sử dụng thực tế nếu không có biến đổi nào hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.