首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >qam调制中LLR值的计算

qam调制中LLR值的计算
EN

Stack Overflow用户
提问于 2016-06-01 17:08:12
回答 1查看 799关注 0票数 0

我想计算对数似然值(LLR值)使用qam调制在多输入多输出系统中我曾尝试使用比特翻转计算LLR值,但它没有给出更好的结果,因为我们增加了天线的数量,误码率性能decreases.Is有没有其他方法计算LLR值与matlab代码?

EN

回答 1

Stack Overflow用户

发布于 2018-05-15 14:32:27

代码语言:javascript
复制
function llr = calc_llr(r,sigma_n2,constellation,mapping)
%CALC_LLR LLR-Value Computation
%   LLR = CALC_LLR(R, NOISE_VAR, CONSTELLATION, MAPPING) calculates the
%   LLR-values LLR based on the received signal R. The vectors CONSTELLATION 
%   and MAPPING are usually generated by using MATLAB Modem Modulation 
%   Modem.<Type> and contain the complex or real constellations points and 
%   the bit mapping. NOISE_VAR denotes the noise variance of the received
%   signal which must be available or at least an estimate for it.
%
%       Input:      R                       [Nx1]
%                   NOISE_VAR               [1x1]
%                   CONSTELLATION           [1xM]
%                   MAPPING                 [1xM]
%       Output:     LLR                     [Nx1]
%
%   Author: Bernhard Schmidt
%
% Copyright 2010 by Bernhard Schmidt
% Permission is granted to use this program/data for educational/research only

mod_idx = log2(length(constellation));
dist = zeros(2^mod_idx,length(r));

for idx = 1:(2^mod_idx) 
        dist(idx,:) = (real(r) - (real(constellation(idx)))).^2 + (imag(r) - (imag(constellation(idx)))).^2;
end
exp_mat = exp(-1./sigma_n2.*dist);
llr = zeros(mod_idx,length(r));
for idx = 1:mod_idx
    llr(mod_idx-idx+1,:) = log(sum(exp_mat((bitget(mapping,idx)==0),:),1)) - log(sum(exp_mat((bitget(mapping,idx)==1),:),1));
end
llr=llr(:);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37564179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档