bitrevorder
将数据按位反转顺序排列
说明
示例
创建一个列向量并获取其位反转版本。通过显式显示二进制表示进行验证。
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
复数支持: 是
输出参量
详细信息
bitrevorder 可用于预先排列滤波器系数,这样就不必在 fft 或 ifft 计算中执行位反转排序。
位反转排序可以提高外部应用程序或 Simulink® 模块集模型的运行时效率。MATLAB 的 fft 和 ifft 函数都处理线性输入和输出。
注意
使用 bitrevorder 等效于使用基数为 2 的 digitrevorder。
下表显示数字 0 到 7、对应的位以及位反转后的数字。
线性索引 | 位 | 位反转 | 位反转索引 |
|---|---|---|---|
0 | 000 | 000 | 0 |
1 | 001 | 100 | 4 |
2 | 010 | 010 | 2 |
3 | 011 | 110 | 6 |
4 | 100 | 001 | 1 |
5 | 101 | 101 | 5 |
6 | 110 | 011 | 3 |
7 | 111 | 111 | 7 |
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
此函数完全支持 GPU 数组。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
另请参阅
fft | digitrevorder | ifft
MATLAB Command
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)