📄 hamming.m
字号:
%%%%% 该仿真程序是BPSK在AWGN信道下的调制解调性能验证实例 %%%%%%%%%%%%
%%%%% 该BPSK调制解调是忽略了载波调制与发送、接收基带成形的 %%%%%%%%%
%%%%%% 根据程序框架补充完程序并仿真 %%%%%%%%%%%%%%%%%%%%%%%
clc
clear all;
EbN0dB=1:10;%设定信噪比
errLimit=10;%设定每个信噪比下循环终止统计错误数
N=7; %每次循环仿真矢量长度
k=4;%(7,4)
n=7;
for ii=1:length(EbN0dB)
errCount=0;
totalN=0;
sigma2(ii)=1/(2*(4/7)*(10^(EbN0dB(ii)/10)));%AWGN信道噪声方差与信噪比的关系
while totalN<100000
source=randint(1,k); %产生比特信源randint generates a random scalar that is either 0 or 1, with equal probability.
code = encode(source,n,k,'hamming/binary'); %Hamming 编码
trans= 1-2*code'; %BPSK调制映射
receiver= trans+sqrt(sigma2(ii))*randn(1,N); %加信道噪声,如果是衰落信道,信号模型为y=k*x+n
demodata= ( receiver<0 )+0 ; %BPSK解调,根据调制映射得到判决条件
dcode =decode(demodata,n,k,'hamming/binary'); %Hamming 解码
temp=sum(abs(source-dcode'));
errCount=errCount+temp;
totalN=totalN+N;
end
ber(ii)=errCount/totalN;
end
ber
%仿真性能曲线
semilogy(EbN0dB,ber,'-o');
hold on;
grid on;
%理论性能曲线
dmin=3;
berthe = bercoding(EbN0dB,'block','soft',n,k,dmin)
semilogy(EbN0dB,berthe,'-*');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -