海明编码的matlab实现,matlab通信系统仿真汉明编码.doc

此代码实现了汉明编码,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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值