Beispiel #1
0
        void DrawAdditionnalsInfos(Graphics g, CGraph Graph)
        {
            System.Drawing.Font SampleFont = new Font("Verdana", 8.0f);

            //foreach  (CurveBPMarker Marker in MarkerArray)
            for (int nIndex = 0; nIndex < UserMarkerArray.Length; nIndex++)
            {
                CurveBPMarker Marker = UserMarkerArray[nIndex];
                float         fdB    = 0.0f;
                if (Marker != CurveBPMarker.OFF)
                {
                    switch (Marker)
                    {
                    case CurveBPMarker.MAX_LEVEL:
                        fdB = 0.0f;
                        break;

                    case CurveBPMarker.MIN_LEVEL:
                        fdB = fMinLeveldB - fMaxLeveldB;
                        break;

                    case CurveBPMarker.BP_3dB_TO_MIN:
                        fdB = fMinLeveldB - fMaxLeveldB + 3.0f;
                        break;

                    case CurveBPMarker.BP_6dB_TO_MIN:
                        fdB = fMinLeveldB - fMaxLeveldB + 6.0f;
                        break;

                    default:
                        fdB = -((int)Marker);
                        break;
                    }
                    DrawLevel(fdB, UserMarkerArrayValues[nIndex], g, Graph);
                }
            }

//            DrawLevel(-3.0f, n3dBBandpassLowFrequency, n3dBBandpassHighFrequency, g, Graph);
//            DrawLevel(-6.0f, n6dBBandpassLowFrequency, n6dBBandpassHighFrequency, g, Graph);
//            DrawLevel(-60.0f, n60dBBandpassLowFrequency, n60dBBandpassHighFrequency, g, Graph);
        }
Beispiel #2
0
        public void ComputeCaracteristicsParams()
        {
            if (SpectrumValues == null || SpectrumValues.Length == 0)
            {
                return;
            }


            int nMaxLevelIndex = Utility.RetrieveMaxValueIndex(SpectrumValues);
            int nMinLevelIndex = Utility.RetrieveMinValueIndex(SpectrumValues);

            fMaxLeveldB = SpectrumValues[nMaxLevelIndex];
            fMinLeveldB = SpectrumValues[nMinLevelIndex];

            nFrequencyStep     = (nSpectrumHighFrequency - nSpectrumLowFrequency) / SpectrumValues.Length;
            nMaxLevelFrequency = nSpectrumLowFrequency + nMaxLevelIndex * nFrequencyStep;
            nMinLevelFrequency = nSpectrumLowFrequency + nMinLevelIndex * nFrequencyStep;

            for (int nIndex = 0; nIndex < UserMarkerArray.Length; nIndex++)
            {
                CurveBPMarker Marker = UserMarkerArray[nIndex];

                if (Marker != CurveBPMarker.OFF)
                {
                    switch (Marker)
                    {
                    case CurveBPMarker.MAX_LEVEL:
                        UserMarkerArrayValues[nIndex].LowFreq  = nMaxLevelFrequency;
                        UserMarkerArrayValues[nIndex].HighFreq = -1;
                        UserMarkerArrayValues[nIndex].BandPass = 0;
                        break;

                    case CurveBPMarker.MIN_LEVEL:
                        UserMarkerArrayValues[nIndex].LowFreq  = nMinLevelFrequency;
                        UserMarkerArrayValues[nIndex].HighFreq = -1;
                        UserMarkerArrayValues[nIndex].BandPass = 0;
                        break;

                    case CurveBPMarker.BP_3dB_TO_MIN:
                        ComputeMarkerFrequencies(ref UserMarkerArrayValues[nIndex], (fMinLeveldB + 3.0f), nMaxLevelIndex);
                        break;

                    case CurveBPMarker.BP_6dB_TO_MIN:
                        ComputeMarkerFrequencies(ref UserMarkerArrayValues[nIndex], (fMinLeveldB + 6.0f), nMaxLevelIndex);
                        break;

                    default:
                        ComputeMarkerFrequencies(ref UserMarkerArrayValues[nIndex], (fMaxLeveldB - ((int)Marker)), nMaxLevelIndex);
                        break;
                    }
                }
            }

            ComputeMarkerFrequencies(ref Marker3dB, fMaxLeveldB - 3.0f, nMaxLevelIndex);
            DipoleD = DetermineDipoleType(ref Marker3dB);
            ComputeMarkerFrequencies(ref Marker6dB, fMaxLeveldB - 6.0f, nMaxLevelIndex);
            ComputeMarkerFrequencies(ref Marker60dB, fMaxLeveldB - 60.0f, nMaxLevelIndex);

            if (Marker60dB.BandPass != -1)
            {
                n6dB60dBfShapeFactor = ((float)Marker60dB.BandPass / Marker6dB.BandPass);
            }
            else
            {
                n6dB60dBfShapeFactor = -1;
            }
        }