ГОСТ Р 56047— 2014
function PQframeMOV (i. МОVI)
global MOVC
[Nchan.Nc] = size (MOVC.MDiff.Mt1B):
for (j = 1:Nchan)
% Modulation differences
MOVC.MDiff.Mt1B(j,i+1) = MOVI(j)-MDiff.Mt1B;
MOVC.MDiff.Mt2B(j.i+1) = MOVI(j).MDiff.Mt2B;
MOVC.MDiff.Wt(j.i+1) = MOVI(j).MDiff.Wt;
% Noise loudness
MOVC.NLoud.NL(j,r+1) = MOVI(j).NLoud.NL:
% Total loudness
MOVC.Loud.NRef(j,i+1) = MOVIG).Loud.NRef;
MOVC.Loud.NTest(j.i+1) = MOVI(j).Loud.NTest:
% Bandwidth
MOVC.BW.BWRef(j.i+1) = MOVI(j).BVV.BWRef;
MOVC.BW.BVVTest(j.i+1) = MOVl(j).BW.BWTest;
% Noise-to-mask ratio
MOVC.NMR.NMRavgO.i+1) = MOVI(j).NMR.NMRavg:
MOVC.NMR.NMRmax(j.i+1) = MOVI(j).NMR.NMRmax.
% Error harmonic structure
MOVC.EHS.EHS(j.i+1) = MOVI0).EHS.EHS;
end
% Probability of detection (collapse frequency bands)
(MOVC.PD.Pc(i+1), MOVC.PD.Qc(i+1)] = PQ_ChanPD (MOVI):
%
------------------------------
function [Pc. Qc] = PQ_ChanPO (MOVI)
Nc = length (MOVI(l).PD.p):
Nchan = length (MOVI);
Pr= 1;
Oc = 0;
if (Nchan > 1)
for(m = 0:Nc-1)
pbin = max (MOVI(1).PD.p(m+1). MOVI(2).PD.p(m+1));
qbin = max (MOVI(1).PD.q(m+1). MOVI(2).PD.q(m+1));
Pr = Pr*(1 - pbin);
Qc = Qc + qbin;
end
else
for (m = 0:Nc-1)
Pr = Pr * (1 - MOVI.PD.p(m+1));
Qc = Qc + MOVI.PD.q(m+1);
end
end
Pc = 1 - Pr;
function Ndel = PQIoudTest (Loud)
[Nchan. Np] = size (Loud.NRef):
Thr = 0.1;
Ndel = Np;
for (j = 0:Nchan-1)
Ndel = mm (Ndel. PQ_LThresh (Thr. Loud.NRef(j+1,:). Loud.NTest(j+1,:)));
end
41