本日志纯粹个人的记录,因为用matlab不是很多,但也会用到,经常遇到一些操作或功能知道matlab有,但是不知道怎么写,都是手机百度,这次这个日志整理一下,供自己日后快速查找吧。
数据扩展,应用场景在通信时,需要将信息码展宽,比如1bit信息1,被5倍采样时钟采集,那么仿真的信息码需要变为[1 1 1 1 1],这样与一个周期的载波数据长度相同,两个可以进行调制运算。
假设为A为信息码序列,如果为5倍采样,那么可以写为A[ceil(0.2:0.2:end)],其中的ceil表示向上取整的意思,则将一个信息码变为5个。
反过来如果需要将信息码提取,即在解调后,只需在一个周期提取一个数据即可完成信息码。
这是假设B为采样5倍速率数据序列,提取B[1:5:end]。
经常用到的矩阵的变形reshape函数,改变矩阵的行和列,便于进行矩阵的乘除法运算。
提取矩阵的1行,A(1,:);同理提取矩阵的一列为B(1,:);
max函数可以找出序列中最大的值,与其对应的数据索引位置。对于矩阵是按列取出每列的最大值,形成一个行向量,如果需要找到最大值,再将行向量取max即可得到。计算完数据后处理经常用到。
bitshift()函数可以完成类似于FPGA的中左、右移位操作,而且支持负数,但操作数必须是整型数据。