⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.m

📁 比较hamming Golay 编码在BPSK条件下的优劣
💻 M
字号:
tic
% A main script to test the functions..
clear all
clc
G=[[0,1,1;1,0,1;1,1,0;1,1,1],eye(4)];
sig=uint8(wavread('elen849_1.wav')*255);

encoded=linearencode(sig,G);
%Signal-to-noise-ratio
SNR=[0:0.5:5];
Eb_N0=10.^(SNR/10);
for (i=1:length(SNR))
    %Bit error probablity
    PB=1/2*erfc(sqrt(Eb_N0(i)));
    PB_theo(i)=PB;
    H=[eye(3),transpose([0,1,1;1,0,1;1,1,0;1,1,1])];
    ChannelError=rand(size(encoded))<=PB;
    CorruptedSig7bits=xor(ChannelError,encoded);

    Corrupted4bit=CorruptedSig7bits(:,[4,5,6,7]);
    %sum(encoded(:,[5,6,7,8])-Corrupted4bit)
    Corrupted=FourBitToInt(Corrupted4bit);

    %Calculating the Syndrome ...
    Syndromes=Mod2MatMul(CorruptedSig7bits,transpose(H));
    %Error Correction ...
    Recovered7bit=xor(errorpattern(Syndromes),CorruptedSig7bits);
    %Dropping the parity bits ... 
    Recovered4bit=Recovered7bit(:,[4,5,6,7]);
    PB_decoded(i)=sum(sum(Recovered7bit~=encoded))/(7*length(encoded(:,1)));
    %Converting to integers ...
    Recovered=FourBitToInt(Recovered4bit);
end

%plot the PE vs. SNR
semilogy(SNR,PB_theo);
hold on
semilogy(SNR,PB_decoded);

toc

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -