public double ZnachenyaIBinary(BinaryRegister reg) { double ekv = 0; for (int i = this.reg.binarySys.n - 1; i >= 0; i--) { ekv += reg.polinom[i] * this.reg.binarySys.ideal[i]; } return(ekv); }
public CalibratorOfTrackingCombinations(ADC adcInst) { this.adcInst = adcInst; int binaryN = (int)Math.Ceiling(Math.Log(adcInst.dac.schvn.alpha, Math.E) * adcInst.dac.schvn.n / Math.Log(2, Math.E)); NotationSystem binarySys = new NotationSystem(binaryN, 2, 0); binaryReg = new BinaryRegister(binarySys); bToSchvnConv = new Converter(binarySys, adcInst.dac.schvn); }
public int[] Convert(BinaryRegister binaryReg) { this.reg.SetPolinomNull(); double signal = ZnachenyaIBinary(binaryReg); for (int ik1 = this.reg.n - 1; ik1 >= 0; ik1--) { if (ZnachenyaC(this.reg.AddBitValue(ik1, 1)) <= signal) { } else { this.reg.AddBitValue(ik1, 0); } } return(this.reg.polinom); }
public SCHVNRegister Convert(BinaryRegister regBinary) { SCHVNRegister regSchvn = RegisterFactory.Create(schvnNotSyst); double signal = bivaryDac.ZnachenyaI(regBinary); for (int ik1 = shcvnDac.schvn.n - 1; ik1 >= 0; ik1--) { if (shcvnDac.ZnachenyaC(regSchvn.AddBitValue(ik1, 1)) <= signal) { } else { shcvnDac.AddBitValue(ik1, 0); } } return(regSchvn); }
public SCHVNRegister ConvertC(BinaryRegister regBinary) { // цей метод не може бути замінений ADC.SARAnalogSignal(... // оскільки оперує чисто цифровими значеннями ваг розрядів regSchvn.SetPolinomNull(); double signal = bivaryDac.ZnachenyaI(regBinary); for (int ik1 = shcvnDac.schvn.n - 1; ik1 >= 0; ik1--) { if (shcvnDac.ZnachenyaC(regSchvn.AddBitValue(ik1, 1)) <= signal) { } else { regSchvn.AddBitValue(ik1, 0); } } return(regSchvn); }