예제 #1
0
        protected void fillLine(FrequencyData curFrq, SignalResponse curSignal, byte[] samples, byte component, int i)
        {
            // component - 0 для о-компоненты, 1 для х-компоненты
            // i - номер частоты (ось Х)
            int j, j_beg, k;

            if (!_contentInfo.read_error)
            {
                j_beg = (int)((curSignal.height_begin - _header.height_min) / _header.height_step); // j_beg - начальный номер высоты (ось Y)
                for (k = 0; k < curSignal.count_samples; k++)
                {
                    j = (int)_header.count_height - 1 - (j_beg + k);
                    switch (component)
                    {
                    case 0:     // красным рисуем о-компоненту
                        _image_o.SetPixel(i, j, MapRainbowColor(samples[k], _contentInfo.max_o, _contentInfo.min_o));
                        break;

                    case 1:     // зеленым рисуем х-компоненту
                        _image_x.SetPixel(i, j, MapRainbowColor(samples[k], _contentInfo.max_x, _contentInfo.min_x));
                        break;
                    }
                }
            }
        }
예제 #2
0
        protected FrequencyData readFrequencyData(BinaryReader reader)
        {
            FrequencyData tmp = new FrequencyData();

            tmp.frequency    = reader.ReadUInt16(); //!< Частота зондирования, [кГц].
            tmp.gain_control = reader.ReadUInt16(); // !< Значение ослабления входного аттенюатора дБ.
            tmp.pulse_time   = reader.ReadUInt16(); //!< Время зондирования на одной частоте, [мс].
            tmp.pulse_length = reader.ReadByte();   //!< Длительность зондирующего импульса, [мкc].
            tmp.band         = reader.ReadByte();   //!< Полоса сигнала, [кГц].
            tmp.type         = reader.ReadByte();   //!< Вид модуляции (0 - гладкий импульс, 1 - ФКМ).
            tmp.threshold_o  = reader.ReadByte();   //!< Порог амплитуды обыкновенной волны, ниже которого отклики не будут записываться в файл, [Дб/ед. АЦП].
            tmp.threshold_x  = reader.ReadByte();   //!< Порог амплитуды необыкновенной волны, ниже которого отклики не будут записываться в файл, [Дб/ед. АЦП].
            tmp.count_o      = reader.ReadByte();   //!< Число сигналов компоненты O.
            tmp.count_x      = reader.ReadByte();   //!< Число сигналов компоненты X.

            return(tmp);
        }