public void OffsetController()
        {
            using (var port = new COMPort())
            {
                var sourceSignal = _bp.TestSignal();
                port.Send(sourceSignal);

                //offset logic
                for (int idx = 0; idx < sourceSignal.Length; idx++)
                {
                    ComplexFloat tmp = new ComplexFloat();
                    tmp = sourceSignal[idx];

                    tmp.Re = 1024f;
                    tmp.Im = tmp.Im + 10f;

                    sourceSignal[idx] = tmp;
                }

                var receiverSignal = _bp.ZeroSignal;
                port.Receive(receiverSignal, out uint duration);

                Validation.AssertSpectres(sourceSignal, receiverSignal, true, true);
            }
        }
        public void LoopbackController()
        {
            using (var port = new COMPort())
            {
                var sourceSignal = _bp.TestSignal();
                port.Send(sourceSignal);

                var receiverSignal = _bp.ZeroSignal;
                port.Receive(receiverSignal, out uint duration);

                Validation.AssertSpectres(sourceSignal, receiverSignal, true, true);
            }
        }
        public void CopyAndNormalizeController()
        {
            using (var port = new COMPort())
            {
                var sourceSignal = _bp.TestSignal();
                port.Send(sourceSignal);
                ComplexFloat tmp = new ComplexFloat();
                FTTools.CopyAndNormalize(_bp.Bits, sourceSignal, sourceSignal, Direction.Forward, ref tmp);

                var receiverSignal = _bp.ZeroSignal;
                port.Receive(receiverSignal, out uint duration);

                Validation.AssertSpectres(sourceSignal, receiverSignal, true, true);
            }
        }
        public void DFTController()
        {
            using (var port = new COMPort())
            {
                var sourceSignal = _bp.TestSignal();
                port.Send(sourceSignal);
                DFT.Transform(_bp.Bits, sourceSignal, Direction.Forward);

                port.WaitForData(TimeSpan.FromMinutes(1));

                var receiverSignal = _bp.ZeroSignal;
                port.Receive(receiverSignal, out uint duration);

                Validation.AssertSpectres(sourceSignal, receiverSignal, true, true);
            }
        }