Mức tăng xử lý FFT xuất phát từ thực tế là DFT (trong đó FFT đơn giản là triển khai nhanh) là một phép biến đổi tuyến tính không chuẩn hóa. Đây là một câu cửa miệng, vì vậy hãy xem điều này có nghĩa là gì.
Tôi sẽ giả định rằng bạn biết biến đổi tuyến tính là gì. Cụ thể, các vectơ đã cho và và một ma trận chúng ta cóxyMột
y =A x .
DFT chỉ là một sự chuyển đổi như vậy. Thực tế, bạn có thể sử dụng dftmtx
lệnh MATLAB để tạo ma trận này cho bạn dựa trên độ dài của vectơ . Trường hợp nàyx
y =DFT( x ).
Ma trận này có một số tính chất. Trước hết, đó là một ma trận vuông, có nghĩa là nó có thể đảo ngược (và thực tế là như vậy!). Nó cũng cho chúng ta biết rằng về cơ bản chúng ta đang lấy các thành phần của x và thực hiện thay đổi cơ sở được đưa ra bởi các cột của để có được DFT của nó. Càng xa càng tốt.MộtMột
Bây giờ, hãy đến một số thuộc tính quan trọng hơn. Ma trận là trực giao. Điều này có nghĩa là mọi cột của đều vuông góc với mọi cột khác hoặc theo toán học hơn, là một ma trận đường chéo (bạn có thể phải suy nghĩ một chút về lý do tại sao điều này là đúng). Đây là một tài sản rất tốt, vì chỉ cần hoán vị ma trận cho chúng ta một cái gì đó rất gần với nghịch đảo của nó.MộtMộtMộtTMột
Để làm cho mối quan hệ nghịch đảo Transpose này trở nên nghiêm ngặt, chúng tôi muốn ma trận cũng bình thường . Đây là một ma trận có mọi vectơ cột có độ dài 1. Nói cách khác, nếu là cột của , thì Nếu một ma trận vừa trực giao vừa bình thường, chúng ta gọi nó là trực giao và trong trường hợp này , vì vậy là trong thực tế nghịch đảo của . Khéo léo!↔MộtmộtMộtmộtTmột---√= 1.MộtTA = tôiMộtTMột
Ma trận DFT thông thường (hoặc biến đổi DFT thông thường) là trực giao, nhưng không trực giao. Trong thực tế, nếu là ma trận DFT, sau đó nơi là số cột (hoặc các hàng, nó vuông!) Trong . Để làm cho nó trực giao, chúng ta nên sử dụng thay thế. Nếu bạn nhìn vào nó đủ lâu, bạn sẽ nhận ra rằng chúng ta mở rộng cả hai phép biến đổi thuận và nghịch bằng , chúng ta sẽ thực hiện thêm công việc trong việc thực hiện các phép tính, vì vậy chúng ta thường chỉ chia tỷ lệ theo ở nghịch đảo.DDTD = NNDDN√1N√1N
Có những lý do lý thuyết tốt hơn để làm điều đó ở một bên thay vì cả hai. Xem câu trả lời của tôi ở đây để biết thêm thông tin.