计算多个干扰站对信号源的信噪比
%db转化为w
ss = dbm2pow(ss);%信号强度
noisePower = dbm2pow(noisePower);%噪声功率
% Calculate SINR for each receiver计算每个接收机的信噪比
r = zeros(1,numRxs);
for rxInd = 1:numRxs
% Get signal strengths from transmitters to this receiver
%获取 信号强度从发射机传给这个接收器
sigStrengths = ss(:,rxInd)';
% Compute signal 计算信号,如果没有指定信号源,这取最强,如果指定了则取指定信号源
if strcmp(sigSource, 'strongest')
% Use signal source that has greatest strength
[sigSourcePower, sigSourceInd] = max(sigStrengths);
else
sigSourceInd = sigSourceIndices(rxInd);
%sigSourceInd = 1;
sigSourcePower = sigStrengths(sigSourceInd);
end
% Get interference frequencies and powers (remove signal source from txs)
%获取干扰频率和功率(移除txs的信号源)
intSourceFqs = txFqs;
intSourcePowers = sigStrengths;
intSourceFqs(sigSourceInd) = [];
intSourcePowers(sigSourceInd) = [];
% Compute interference power from sources with matching frequency
% 计算频率匹配的干扰源的干扰功率
sigSourceFq = txFqs(sigSourceInd);
intSourceInd = (intSourceFqs == sigSourceFq);%同频率才能产生干扰
intSourcePowers = intSourcePowers(intSourceInd);
interferencePower = sum(intSourcePowers);
% Compute SINR in dB 计算SINR 信号功率/(干扰站功率+噪声功率)
r0 = sigSourcePower / (interferencePower + noisePower);
rdb = 10*log10(r0); % Convert to dB
% Assign output
r(rxInd) = rdb;
end