MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
将数据按位反转顺序排列
y = bitrevorder(x)
[y,i] = bitrevorder(x)
y = bitrevorder(x) 以位反转顺序返回输入数据。
y
x
示例
[y,i] = bitrevorder(x) 还返回位反转索引 i,使得 y = x(i)。
i
y = x(i)
全部折叠
创建一个列向量并获取其位反转版本。通过显式显示二进制表示进行验证。
x = (0:15)'; v = bitrevorder(x); x_bin = dec2bin(x); v_bin = dec2bin(v); T = table(x,x_bin,v,v_bin)
T=16×4 table x x_bin v v_bin __ _____ __ _____ 0 0000 0 0000 1 0001 8 1000 2 0010 4 0100 3 0011 12 1100 4 0100 2 0010 5 0101 10 1010 6 0110 6 0110 7 0111 14 1110 8 1000 1 0001 9 1001 9 1001 10 1010 5 0101 11 1011 13 1101 12 1100 3 0011 13 1101 11 1011 14 1110 7 0111 15 1111 15 1111
输入数据,指定为向量或矩阵。x 的长度或行数必须为 2 的整数次幂。如果 x 是矩阵,则位反转发生在 x 的第一个维度(大小大于 1 的维度)上。
数据类型: single | double 复数支持: 是
single
double
位反转数据,以向量或矩阵形式返回。y 的大小与 x 相同。
位反转索引,以向量或矩阵形式返回,使得 y = x(i)。MATLAB® 矩阵使用从 1 开始的索引,因此 y 的第一个索引是 1,而不是 0。
bitrevorder 可用于预先排列滤波器系数,这样就不必在 fft 或 ifft 计算中执行位反转排序。
bitrevorder
fft
ifft
位反转排序可以提高外部应用程序或 Simulink® 模块集模型的运行时效率。MATLAB 的 fft 和 ifft 函数都处理线性输入和输出。
注意
使用 bitrevorder 等效于使用基数为 2 的 digitrevorder。
digitrevorder
下表显示数字 0 到 7、对应的位以及位反转后的数字。
线性索引
位
位反转
位反转索引
0
000
1
001
100
4
2
010
3
011
110
6
5
101
7
111
全部展开
此函数完全支持 GPU 数组。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2006a 之前推出
fft | digitrevorder | ifft
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处