Scilab 6.1.0
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
fftshift
перегруппировывает результат БПФ, сдвигая нулевую частоту в центр спектра
Синтаксис
y = fftshift(x) y = fftshift(x, along)
Аргументы
- x, y
векторы, матрицы или гиперматрицы одинакового размера.
- along
1 | "r" | 2 | "c" | 0<along<=ndims(x): размерность, вдоль которой половинки меняются местами.
Описание
Если x
является результатом вычисления БПФ, то
y=fftshift(x)
или y=fftshift(x,"all")
двигает нулевую частоту в центр спектра, что иногда является более удобной формой.
x = [x1 x2 ] даёт y = [x2 x1 ] // вектор [x11 x12] [x22 x21] x = | | даёт y = | | // матрица [x21 x22] [x12 x11] и т.д.
y=fftshift(x,n)
меняет местами только вдоль n
-ой размерности.
Примеры
x = [1 2 3 4 5 6 7] fftshift(x)
--> x = [1 2 3 4 5 6 7] x = 1. 2. 3. 4. 5. 6. 7. --> fftshift(x) ans = 5. 6. 7. 1. 2. 3. 4.
x = matrix(1:36,6,6) fftshift(x) fftshift(x, "r") fftshift(x, "c")
--> x = matrix(1:36,6,6) x = 1. 7. 13. 19. 25. 31. 2. 8. 14. 20. 26. 32. 3. 9. 15. 21. 27. 33. 4. 10. 16. 22. 28. 34. 5. 11. 17. 23. 29. 35. 6. 12. 18. 24. 30. 36. --> fftshift(x) // Углы переходят в центр ans = 22. 28. 34. 4. 10. 16. 23. 29. 35. 5. 11. 17. 24. 30. 36. 6. 12. 18. 19. 25. 31. 1. 7. 13. 20. 26. 32. 2. 8. 14. 21. 27. 33. 3. 9. 15. --> fftshift(x, "r") // Внешние строки становятся строками в середине ans = 4. 10. 16. 22. 28. 34. 5. 11. 17. 23. 29. 35. 6. 12. 18. 24. 30. 36. 1. 7. 13. 19. 25. 31. 2. 8. 14. 20. 26. 32. 3. 9. 15. 21. 27. 33. --> fftshift(x, "c") // Внешние столбцы становятся столбцами в середине ans = 19. 25. 31. 1. 7. 13. 20. 26. 32. 2. 8. 14. 21. 27. 33. 3. 9. 15. 22. 28. 34. 4. 10. 16. 23. 29. 35. 5. 11. 17. 24. 30. 36. 6. 12. 18.
Смотрите также
Report an issue | ||
<< fft2 | transforms | hilb >> |