资源简介
利用汉明码对信号进行编译码然后经过bpsk调制解调,绘出信噪比与误码率关系曲线

代码片段和文件信息
function linear( )
clc;
clear;
prompt={‘码元数目为:‘‘每个码元内的载波数:‘‘每周期抽样点数:‘};
title=‘FIGHT‘;line=1;
def={‘400‘‘10‘‘40‘};
y=inputdlg(prompttitlelinedef);
x=str2num(y{1});
f=str2num(y{2});
mm=str2num(y{3});
m=randsrc(1x[01]);
k=1;
num=[];
b=1;
num2=[];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%编码
c=[];
G=[1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1 0 1;0 0 0 1 0 1 1];
for i=0:x/4-1
ui=[];
for d=4*i+1:4*i+4
ui=[uim(d)];
end
v=[];
v=ui*G;
mod(v2);
c=[cv];
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制解调
for ai=0:0.5:10
SNR=ai-3*log2(mm*f)+3;
snr=1/(10^(SNR/10));
noise=sqrt(snr/2)*(randn(1length(c)*mm*f));
t=0:mm*f-1;
tu11=[];
tu2=[];
for e=1:length(c)
if c(e)>0
tu=ones(1mm*f);
w=sin(2*pi*t/mm);
else tu=-ones(1mm*f);
w=-sin(2*pi*t/mm);
end
tu11=[tu11tu];
tu2=[tu2w];
end
tu1=(tu11+1)/2;
t=0:mm*f*length(c)-1;
carr=sin(2*pi*t/mm);
noise_signal=tu2+noise;
ss=carr.*noise_signal;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rf=[];
rr1=[];
for e=1:length(c)
sh=sum(ss(mm*f*e-mm*f+1:mm*f*e))/mm*f;
if sh>=0
a=ones(1mm*f);
rr=1;
else a=-ones(1mm*f);
rr=0;
end
rf=[rfrr];
rr1=[rr1a];
end
m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%译码
Gd=[0 0 0 0 0 0 0;0 0 0 1 0 1 1;0 0 1 0 1 0 1;0 0 1 1 1 1 0;0 1 0 0 1 1 0;0 1 0 1 1 0 1; 0 1 1 0 0 1 1;0 1 1 1 0 0 0;1 0 0 0 1 1 1;1 0 0 1 1 0 0;1 0 1 0 0 1 0;1 0 1 1 0 0 1;1 1 0 0 0 0 1;1 1 0 1 0 1 0;1 1 1 0 1 0 0;1 1 1 1 1 1 1];
Rl=[];
for i=0:length(rf)/7-1
r=rf(7*i+1:7*i+7);
rm=rf(7*i+1:7*i+4);
for d=1:7
if r~=Gd(d:);
end
end
r1=r&[0 1 1 1 1 1 1];
r2=r&[1 0 1 1 1 1 1];
r3=r&[1 1 0 1 1 1 1];
r4=r&[1 1 1 0 1 1 1];
for d=1:7
if r1==Gd(d:)
rm=r1(1:4);
end
if r2==Gd(d:)
rm=r2(1:4);
end
if r3==Gd(d:)
rm=r3(1:4);
end
if r4==Gd(d:)
rm=r4(1:4);
end
end
Rl=[Rlrm];
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%抽样比较
n=0;
n2=0;
for i=1:length(Rl)
if m(i)~=Rl(i)
n=n+1;
end
end
for i=1:length(rf)
if c(i)~=rf(i)
n2=n2+1;
end
end
num2(b)=n2/length(rf);
b=b+1;
num(k)=n/length(Rl);
k=k+1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%画图
t=0:0.5:10;
figure(1);
semilogy(tnum‘r-o‘‘LineWidth‘1);
grid on;
hold on;
semilogy(tnum2‘-*‘‘linewidth‘1);
title(‘误码率曲线‘‘FontSize‘25‘Fontweight‘‘bold‘);
xlabel(‘SNR(dB)‘);
ylabel(‘误码率Pe‘);
legend(‘编译码的pe‘‘未编译码的pe‘);
hold off;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2991 2010-06-11 14:12 hangmingma.m
- 上一篇:opencv 鼠标框选 跟踪
- 下一篇:纯JS象棋 AI算法
相关资源
- BFSK/BPSK-BER 蒙特卡洛仿真程序
- bpsk 计算误码率
- 关于BPSK、QPSK、MSK、QAM的调制与解调
- 基于PFGA的bpsk仿真.zip
- QPSK与BPSK的锁相环仿真源码
- 海明码生成与校验电路的设计.pdf
- 数字通信系统中BPSK/ 4-QAM调制与脉冲成
- 基于FPGA的汉明码的编码与解码的实现
- 基于Verilog的BPSK
- bpsk qpsk 16qam 64qam调制解调 包括误码率
- 在FPGA上设计汉明码的编码器和解码器
- 瑞利信道仿真 BPSK QPSK QAM
- 典型通信系统仿真
- ofdm误码率qam和bpsk对比
- BPSKQPSK2FSK16QAM64QAM信号在高斯信道与莱
- m序列编码成的BPSK信号仿真
- 纠错编码的发展
- bpsk二相编码信号信号的产生
- 关于Rayleigh和AWGN信道的BPSK仿真
- LDPC码在BPSK调制下的通过AWGN 信道下的
- 7,4,3汉明码的仿真程序
- BPSK调制器基带脉冲成型滤波器的仿真
- 跳频信号-BPSK调制
- 汉明码编译码的课程设计
- 基于Verilog对m序列进行汉明码编译码(
- bpsk在瑞利信道下的误码率与信噪比的
- BPSK的VHDL语言源代码
- 基于VHDL语言的汉明码编码器和译码器
- BER of BPSK/QPSK/16QAM in AWGN
- AWGN信道中BPSK调制系统的BER 仿真计算
评论
共有 条评论