📄 generate_random_data.m
字号:
function [RX_I,RX_Q,data]=generate_random_data(N)
%**************************************************************************
% generate N random datas
%**************************************************************************
rand('state',sum(100*clock));
data=rand(1,N);
for i=1:N
if (data(i)<=0.5)
data(i)=0;
else
data(i)=1;
end;
end;
data(N+1:N+8)=zeros(1,8); %生成八个零在随机数的后面,
%是为了仿真“点亮”的过程
%**************************************************************************
% compute the data transmitted in the channel
%**************************************************************************
G1=171; %G1,G2均为八进制
G2=133; %并且约束长度为七
G1_vector=fliplr(dec2binvec(oct2dec(G1)));
G2_vector=fliplr(dec2binvec(oct2dec(G2)));
shift_d=zeros(1,6);
N=length(data);
for i=1:N
t1=0;
t2=0;
for j=1:6
t1=xor(t1,and(shift_d(j),G1_vector(j+1)));
t2=xor(t2,and(shift_d(j),G2_vector(j+1)));
RX_I(i)=xor(data(i),t1);
RX_Q(i)=xor(data(i),t2);
end;
T_vector=dec2binvec((2*binvec2dec(shift_d)),6); %状态值右移的过程
shift_d=T_vector(1:6);
shift_d(1)=data(i);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -