📄 cdma_example.m
字号:
% function cdma_example
clc
clear,close all;
fs=200000;
T=1;
Tc=T/64;
% message to be transmitted
signal1=randint(1,5,2);
signal2=randint(1,5,2);
signal3=randint(1,5,2);
msg1=signal1;
msg2=signal2;
msg3=signal3;
signal1=2*signal1-1;
signal2=2*signal2-1;
signal3=2*signal3-1;
%% create Hadamard matrics
H2=[0 0;0 1];
H4=[H2 H2;H2 1-H2];
H8=[H4 H4;H4 1-H4];
H16=[H8 H8;H8 1-H8];
H32=[H16 H16;H16 1-H16];
H64=[H32 H32;H32 1-H32];
H128=[H64 H64;H64 1-H64];
% Had=2*H128-1;
Had=2*H64-1;
% ds_ss modulation
signal11=[];
for i=1:length(signal1)
signal11=[signal11 signal1(i)*Had(2,:)];
end
signal22=[];
for i=1:length(signal2)
signal22=[signal22 signal2(i)*Had(4,:)];
end
signal33=[];
for i=1:length(signal3)
signal33=[signal33 signal3(i)*Had(5,:)];
end
% figure
% subplot(411),plot(signal11)
% subplot(412),plot(signal22)
% subplot(413),plot(signal33)
% subplot(414),plot(signal11+signal22+signal33)
signal11=ones(Tc*fs,1)*signal11;
signal11=signal11(:);
signal11=signal11';
signal22=ones(Tc*fs,1)*signal22;
signal22=signal22(:);
signal22=signal22';
signal33=ones(Tc*fs,1)*signal33;
signal33=signal33(:);
signal33=signal33';
tx=signal11+signal22+signal33;
% figure
% subplot(411),plot(signal11)
% subplot(412),plot(signal22)
% subplot(413),plot(signal33)
% subplot(414),plot(tx)
tx=reshape(tx,Tc*fs,length(tx)/(Tc*fs));
tx=sum(tx);
L=length(tx)/64;
tx=reshape(tx,64,L);
tx=tx';
% rc1=ones(length(tx)/64,1)*Had(2,:);
% rc1=rc1(:)
clear i
for i=1:L
r1(i)=sum(tx(i,:).*Had(2,:));
r2(i)=sum(tx(i,:).*Had(4,:));
r3(i)=sum(tx(i,:).*Had(5,:));
end
clear i
for i=1:L
if r1(i)>=0
r1(i)=1;
else
r1(i)=0;
end
if r2(i)>=0
r2(i)=1;
else
r2(i)=0;
end
if r3(i)>=0
r3(i)=1;
else
r3(i)=0;
end
end
[n1 r1]=biterr(r1,msg1)
[n2,r2]=biterr(r2,msg2)
[n3,r3]=biterr(r3,msg3)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -