Beispiel #1
0
        private ClassBeamFile CoupleDelay(int startele)
        {
            ClassBeamFile beam  = new ClassBeamFile();
            double        angle = BeamPara.TurntoRadian(Wedge.WedgeAngle);
            int           i     = 0;
            double        delay = Math.Sin(angle) * Probe.ElementaryPitch / Wedge.WedgeVelocity;

            for (i = 0; i < COUPLENUM; i++)
            {
                beam.rxDelay[i] = (float)(i * delay);
                beam.txDelay[i] = (float)(i * delay);
            }
            beam.txSize       = COUPLENUM;
            beam.rxSize       = COUPLENUM;
            beam.txElementBin = BeamPara.GetBeambin(startele, COUPLENUM, 0);
            beam.rxElementBin = BeamPara.GetBeambin(startele, COUPLENUM, 0);
            return(beam);
        }
Beispiel #2
0
        private ClassBeamFile CoupleDelay(int startele, int skewflag)
        {
            double        gatestart = 0;
            double        gaterange = 0;
            double        ys        = 0;
            int           i         = 0;
            ClassBeamFile beam      = new ClassBeamFile();
            double        angle     = BeamPara.TurntoRadian(wedge.incidentAngle);
            double        delay     = Math.Sin(angle) * probe.eleSpace / wedge.transVeloc;

            for (i = 0; i < COUPLENUM; i++)
            {
                beam.rxDelay[i] = (float)(i * delay);
                beam.txDelay[i] = (float)(i * delay);
            }
            beam.txSize       = COUPLENUM;
            beam.rxSize       = COUPLENUM;
            beam.txElementBin = BeamPara.GetBeambin(startele, COUPLENUM, skewflag);
            beam.rxElementBin = BeamPara.GetBeambin(startele, COUPLENUM, skewflag);

            ys          = wedge.height - ((position.probePosition + probe.eleEdge + startele * probe.eleSpace)) * Math.Sin(angle);
            gatestart   = 2 * ys / Math.Cos(angle) / wedge.transVeloc;
            gaterange   = grooveheight / groove.longVeloc * 2;
            gatei.delay = gatestart;
            gatei.range = gaterange;
            gatea.delay = gatei.delay + gaterange;
            gatea.range = gaterange;
            gateb.delay = gatea.delay + gaterange;
            gateb.range = gaterange;
            gatec.delay = gateb.delay + gaterange;
            gatec.range = gaterange;

            gatedelay.Add(gatei);
            gatedelay.Add(gatea);
            gatedelay.Add(gateb);
            gatedelay.Add(gatec);
            return(beam);
        }