⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 de_randomized.m

📁 Wimax系统接收端的数据反随机化的仿真程序
💻 M
字号:
function data_derandomized_hex=de_randomized(input_data_hex)
register_initial=[0 0 0 1 1 1 0 1 1 1 1 0 0 0 1];       %%随机化的初始化矢量
 %%%%%将输入的16进制数变为2进制
      binary_input=[];   %%将输入的16进制数变为二进制数
    for i=1:length(input_data_hex)
       b1=input_data_hex(i);
       b2=hex2dec(b1);
       b3=dec2bin(b2,4);%%注意:4表示一位16进制数转换为4位2进制数\
       b4=[];
       for j=1:4
       b4=str2num(b3(j));
       binary_input=[binary_input b4];       
       end
    end
for i=1:length(binary_input)
    register_output(i)=xor(register_initial(14),register_initial(15));
    output_data(i)=xor(binary_input(i),register_output(i));
    register_initial=register_initial';
    register_initial= circshift(register_initial,1);    %%每输入一个数据,移位寄存器右移一位
    register_initial=register_initial';
    register_initial(1)= register_output(i);
end
%%%%%将随机化后的二进制数转换为16进制数
L=length(output_data);
tt=L/4;
msgtemp=reshape(output_data,4,tt);
msgtemp=msgtemp';
for i=1:tt     %%for循环将卷积编码后得到的二进制数组转换为16进制数
    array=msgtemp(i,:);
    str = num2str(array);
    dec=bin2dec(str);
   data_derandomized_hex(i)=dec2hex(dec);
end 

%验证数据:D4BAA112F274963027D4889C96E3A952B315ABFD92530732C06248F01922E091621AC1
%%输出:4529C479AD0F5528AD87B5761A9C8050451B9FD92A8895EBAEB52E034F091469580A5D

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -