自学内容网 自学内容网

(41)MATLAB中fftshift函数与ifftshift函数的用法


前言

在使用MATLAB画信号以0为中心的双边频谱时,在进行OFDM调制解调时,都会用到fftshift函数与ifftshift函数。本文介绍这两个函数的用法。


一、MATLAB代码

代码如下:

%% fftshift的功能:交换行向量的左右两半部分
% 交换行向量的左右两半部分。如果一个向量的元素数为奇数,则中间的元素被视为属于向量的左半部分。

% (1)如果一个行向量包含偶数个元素,则交换向量的左右两半部分。
Xeven = [1 2 3 4 5 6];
fftshift(Xeven)
% ans =
% 
%      4     5     6     1     2     3

% (2)如果一个行向量包含奇数个元素,则中间的元素被视为属于向量的左半部分。
Xodd = [1 2 3 4 5 6 7];
fftshift(Xodd)
% ans =
% 
%      5     6     7     1     2     3     4


%% ifftshift的功能:交换行向量的左右两半部分
% 交换行向量的左右两半部分。如果一个向量的元素数为奇数,则中间的元素被视为属于向量的左半部分。

% (1)如果一个行向量包含偶数个元素,则交换向量的左右两半部分。
Xeven = [1 2 3 4 5 6];
ifftshift(Xeven)
% ans =
% 
%      4     5     6     1     2     3

% (2)如果一个行向量包含奇数个元素,则中间的元素被视为属于向量的右半部分。
Xodd = [1 2 3 4 5 6 7];
ifftshift(Xodd)
% ans =
% 
%      4     5     6     7     1     2     3

%% 连续调用
% 对于包含奇数个元素的向量,连续调用fftshift函数两次不能得到原始序列。
fftshift(fftshift(Xodd))
% ans =
% 
%      2     3     4     5     6     7     1

% 对于包含奇数个元素的向量,连续调用fftshift函数与ifftshift函数将得到原始序列。
ifftshift(fftshift(Xodd))
% ans =
% 
%      1     2     3     4     5     6     7


原文地址:https://blog.csdn.net/weixin_45333185/article/details/143030513

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!