fftshift
fft出力を再配置し,スペクトルの中心に周波数0を移動する
呼び出し手順
y = fftshift(x) y = fftshift(x, along)
引数
- x, y
同じサイズのベクトル、行列またはハイパーマトリックス.
- along
整数, 選択する次元, または文字列 'all'
説明
x
がFFT計算の結果の場合,
y= fftshift(x)
または y= fftshift(x,"all")
は,扱いが容易な形式である,周波数0要素をよりスペクトルの中心に移動します.
x = [x1 x2 ] gives y = [x2 x1 ] // vector [x11 x12] [x22 x21] x = | | gives y = | | // matrix [x21 x22] [x12 x11] etc
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) // Corners go to the center 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") // External rows become middle rows 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") // External columns become middle columns 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 >> |