Matlab常用函数

1.repmat:重复数组副本

在这里插入图片描述

% 用法
A = [1 2 3];
B = repmat(A, 1, 2);	% 按行不变,按列复制成2份。
% 得到 B=[1 2 3 1 2 3]

2.kron:Kronecker tensor product

在这里插入图片描述
在这里插入图片描述

 % 用法
 a = [1,2,3];
 b = kron(a,ones(1,2));
 % b = [1 1 2 2 3 3]	常用于基带信号的矩形脉冲成型
 % 或者
 b = repelem(a, 2);

3. flip:翻转元素顺序

在这里插入图片描述

% 用法
% 1. 802.11中,将Length字段的比特转为十进制的例子
length_bits = [0 0 1 1 1 0 0 0 0 0 0 0];	% 低位在左
psdu_octet_length = bin2dec(num2str(flip(length_bits))); % 28

% 2. 802.11中,将PSDU字段的比特(低位在左)转为HEX十六进制
pad_bits_array = reshape(psdu_bits, 8, length(psdu_bits)/8)';
psdu_byte = num2str(flip(pad_bits_array, 2));
psdu_byte = bin2dec(psdu_byte);
psdu_byte_hex = dec2hex(psdu_byte);

% 3. 802.11a/g中,将HEX转为比特(低位在左)
BBC_octet_data = [0x04 0x02 0x00 0x2E];
for i=1:length(BBC_octet_data)
	% 4-> '0000 0100' -> '0010 0000' -> [0 0 1 0, 0 0 0 0]  lsb in left
    data_bits_temp = dec2bin(BBC_octet_data(i), 8);             
    BBC_bits((i-1)*8+1:i*8, 1) = int8(flip(data_bits_temp))-48; 
end

4. hexToBinaryVector & binaryVectorToHex

在这里插入图片描述
在这里插入图片描述

% hexToBinaryVector的用法:将16进制转换为 二进制序列
binVal = hexToBinaryVector('0A')	% binVal = 1 0 1 0
binVal = hexToBinaryVector('0A',8,'MSBFirst')	% binVal = 0 0 0 0 1 0 1 0
binVal = hexToBinaryVector(dec2hex(10),8)	% binVal = 0 0 0 0 1 0 1 0


% binaryVectorToHex的用法:将2进制序列转换为 Hex
hexVal = binaryVectorToHex([0 0 1 1 1 1 0 1], 'LSBFirst')	% hexVal = 'BC'
decVal = hex2dec(hexVal)	% 188
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值