Jika Anda melakukan plot FFT dari sinyal sederhana, seperti:
t = 0:0.01:1 ;
N = max(size(t));
x = 1 + sin( 2*pi*t ) ;
y = abs( fft( x ) ) ;
stem( N*t, y )
1Hz sinusoid + DC
FFT di atas
Saya mengerti bahwa nomor di tempat sampah pertama adalah "berapa banyak DC" yang ada di sinyal.
y(1) %DC
> 101.0000
Angka dalam nampan kedua harus "berapa banyak 1-siklus seluruh sinyal" ada:
y(2) %1 cycle in the N samples
> 50.6665
Tapi ini bukan 101! Itu sekitar 50,5.
Ada entri lain di akhir sinyal fft, sama besarnya:
y(101)
> 50.2971
Jadi 50,5 lagi.
Pertanyaan saya adalah, mengapa FFT dicerminkan seperti ini? Mengapa bukan hanya 101 in y(2)
(yang tentu saja berarti, semua 101 bin dari sinyal Anda memiliki sinusoid 1 Hz di dalamnya?)
Apakah itu akurat untuk dilakukan:
mid = round( N/2 ) ;
% Prepend y(1), then add y(2:middle) with the mirror FLIPPED vector
% from y(middle+1:end)
z = [ y(1), y( 2:mid ) + fliplr( y(mid+1:end) ) ];
stem( z )
Balik dan tambahkan bagian kedua dari vektor FFT
Saya pikir sekarang, bagian cermin di sisi kanan ditambahkan dengan benar, memberi saya yang diinginkan "semua 101 tempat sampah FFT mengandung 1Hz sinusoid"
>> z(2)
ans =
100.5943