rx_qpsk_demod.m
来自「此代码是LDPC码进行BP算法的重要参考代码」· M 代码 · 共 31 行
M
31 行
function [pr, soft_bits] = rx_qpsk_demod(rx_symbols, SNR)
n_rx_symbols=size(rx_symbols, 2);
n_bits=n_rx_symbols*2;
soft_bits(2:2:n_bits) = imag(rx_symbols); %bit1;
soft_bits(1:2:n_bits) = real(rx_symbols); %bit0;
noise_var = 1/(10^(SNR/10));
% Angle [-3*pi/4 -pi/4 pi/4 3*pi/4] corresponds to
% Gray code vector [00 10 11 01], respectively.
table=exp(j*[-3/4*pi 3/4*pi -1/4*pi 1/4*pi]); % generates qpsk symbols
gMat=zeros(4,n_rx_symbols);
pn1=zeros(1,n_bits);
pn0=zeros(1,n_bits);
%LDPC译码
%依次计算接收信号与各星座点的欧氏距离
for i=1:4
gMat(i,:)=exp(-(real(rx_symbols-table(i)).^2+imag(rx_symbols-table(i)).^2)/noise_var);
end
pn1(1:2:n_bits)=(gMat(3,:)+gMat(4,:));
pn0(1:2:n_bits)=(gMat(1,:)+gMat(2,:));
pn1(2:2:n_bits)=(gMat(2,:)+gMat(4,:));
pn0(2:2:n_bits)=(gMat(1,:)+gMat(3,:));
pr=pn1./pn0;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?