此代码实现了汉明编码,FDMA调制,高斯白噪声信道传输的通信系统matlab仿真。
%===========================所需数据=================================
len = 100; %产生信号长度
fs=44100; %抽样频率
t=0:len*200*1.75-1; %t值范围
mm1=1:len;
mm2=1:len;
mm3=1:len;
nn1=1:200;
nn2=1:200;
nn3=1:200;
uu=1:300;
snr=10; %高斯信道信噪比
fazhi=0.5; %判决阀值
f1=5200; %载波频率
f2=10200;
f3=16200;
%===========================随机2进制信号产生=================================
msg1 = randint(1,len,2); % Random binary message of 2-bit symbols 信源
msg2 = randint(1,len,2);
msg3 = randint(1,len,2);
%===========================汉明编码=================================
%信号1编码
DS_chips11=encode(msg1,7,4,'hamming/fmt');
DS_chips12=DS_chips11';
%信号2编码
DS_chips21=encode(msg2,7,4,'hamming/fmt');
DS_chips22=DS_chips21';
%信号3编码
DS_chips31=encode(msg3,7,4,'hamming/fmt');
DS_chips32=DS_chips31';
%===========================信号扩码=================================
%信号msg1扩码
for mm1=1:175
for nn1=1:200
u1((mm1-1)*200+nn1)=DS_chips12(mm1);
end
end
%信号msg2扩码
for mm2=1:len*1.75
for nn2=1:200
u2((mm2-1)*200+nn2)=DS_chips22(mm2);
end
end
%信号msg3扩码
for mm3=1:len*1.75
for nn3=1:200
u3((mm3-1)*200+nn3)=DS_chips32(mm3);
end
end
%===========================调制前信号频谱=================================
figure(1);
subplot(3,1,1);
stem(t,abs(fft(u1)),'.');xlabel('单位:Hz');ylabel('幅度');
title('调制前3路信号各自的频谱图');
subplot(3,1,2);
stem(t,abs(fft(u2)),'.');xlabel('单位:Hz');ylabel('幅度');
subplot(3,1,3);
stem(t,abs(fft(u3)),'.');xlabel('单位:Hz');ylabel('幅度');
%================================FDMA调制=================================
x1=4*u1.*cos(2*pi*f1*t/fs); %频谱搬移
x2=4*u2.*cos(2*pi*f2*t/fs);
x3=4*u3.*cos(2*pi*f3*t/fs);
s=x1+x2+x3;%复用信号频谱为各信号频谱的叠加
%===========================信号调制后3路信号频谱=================================
figure(2);
subplot(3,1,1);
stem(t,abs(fft(x1)),'.');xlabel('单位:H