Позитивний спектр частоти можна зробити досить просто (де fs
частота дискретизації та NFFT
кількість відходів у футах). У реалізації Matlab алгоритму FFT перший елемент завжди є компонентом постійного струму, отже, чому масив починається з нуля. Це справедливо для непарних і парних значень NFFT.
%//Calculate frequency axis
df = fs/NFFT;
fAxis = 0:df:(fs-df);
Якщо вам потрібно обернути частотний спектр, вам потрібно врахувати, чи є у вас непарна NFFT. Завжди повинен бути компонент постійного струму , тому. .
df = fs/NFFT;
fAxis = (0:df:(fs-df)) - (fs-mod(NFFT,2)*df)/2;
Зверніть увагу, як обчислення позитивної осі частоти тотожне вище, але зміщений термін FFT змінюється на розмір парних або непарних довжин FFT.
Ці фрагменти коду були взяті з довгої відповіді, розміщеної на SO (що вам може бути цікавим), знайденого тут:
/programming/9694297/matlab-fft-xaxis-limits-messing-up-and-fftshift/ 9699983 # 9699983