📄 rx_qpsk_demod.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -