⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 samplevalueanalyzer.m

📁 一种新的光纤通信调制技术
💻 M
字号:
function y = SampleValueAnalyzer(inputEleSig,BitlengN,SamRate,BitSequence)
%%%%%%%%  取Q值最大点所在地为时间判决点OptTk, 并给出判决值参考值y_th, mu1, mu0, sigma1, sigma0

SamplesBit = SamRate;
SquenceNumber = BitlengN;
Squence = BitSequence;
Signal = inputEleSig;
SquenceTh = (max(BitSequence) + min(BitSequence))/2;
for ii=1:SamplesBit    
	u0=0;u1=0;Segama0=0;Segama1=0;
	Number1=0;
	Number0=0;
	for kk=1:SquenceNumber
          SamplePoint=ii+SamplesBit.*(kk-1) ;       %sample point
        if Squence(kk)>SquenceTh
            u1=u1+Signal(SamplePoint);
            Segama1=Segama1+Signal(SamplePoint).^2;
            Number1=Number1+1;
        else
            u0=u0+Signal(SamplePoint);
            Segama0=Segama0+Signal(SamplePoint).^2;
            Number0=Number0+1;
        end
	end
	if Number1==0
            mu1(ii) = 0; Sigama1(ii) = 0;
    		mu0(ii)=u0./(Number0);
			Sigama0(ii)=sqrt(Segama0./(Number0)-mu0(ii).^2);
    elseif Number0 == 0
            mu0(ii) = 0; Sigama0(ii) = 0;
            mu1(ii)=u1./(Number1);
			Sigama1(ii)=sqrt(Segama1./(Number1)-mu1(ii).^2);
    else
            mu1(ii)=u1./(Number1);
			mu0(ii)=u0./(Number0);
			Sigama1(ii)=sqrt(Segama1./(Number1)-mu1(ii).^2);
			Sigama0(ii)=sqrt(Segama0./(Number0)-mu0(ii).^2);
    end
    QValue(ii)=(mu1(ii)-mu0(ii))./(Sigama1(ii)+Sigama0(ii));
end
%%%%只比较8至24个元素%%%
%QValue_choose=zeros(1,SamplesBit);
%for ii=8:24
%    QValue_choose(ii)=QValue(ii);
%end
[SPStat(5), OptTk] = max(QValue);
SPStat(1) = mu1(OptTk);     SPStat(2) = mu0(OptTk); 
SPStat(3) = Sigama1(OptTk); SPStat(4) = Sigama0(OptTk);
DecTh = (SPStat(1)-SPStat(3) + SPStat(2)+SPStat(4))/2;
y = [OptTk,DecTh,SPStat];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -