Пример #1
0
        public Receiver()
        {
            DSPState state = new DSPState();

//            state.ServerConfigObject = sc;
//            state.DSPBlockSize = sc.DSPBlockSize;
//            state.DSPSampleRate = sc.DSPSampleRate;
//            state.PowerSpectrumBlockSize = sc.SpecBlockSize;

            rxbuffer = new DSPBuffer(state);

            dcc = new DCCorrector(ref rxbuffer);

            // Filter
            filter = new Filter(ref rxbuffer);

            // Local Oscillator (channel)
            local_osc = new Oscillator(ref rxbuffer);
            local_osc.LocalOscillatorOn = true;

            // Local Oscillator (channel)
            spec_local_osc = new Oscillator(ref rxbuffer);
            spec_local_osc.LocalOscillatorOn = true;

            // AGC
            //agc = new DAgc(ref rxbuffer);
            agc = new WCPAGC(ref rxbuffer);

            // Block Noise Blanker
            block_noise_blanker = new BlockNoiseBlanker(ref rxbuffer);
            bnb_spec            = new BlockNoiseBlanker(ref rxbuffer);

            // Average Noise Blanker
            ave_noise_blanker = new AveragingNoiseBlanker(ref rxbuffer);
            anb_spec          = new AveragingNoiseBlanker(ref rxbuffer);

            // Squelch
            squelch = new Squelch(ref rxbuffer);

            // Signal Metering
            meter = new SignalMeter(ref rxbuffer);

            // Power Spectrum
            power_spectrum = new PowerSpectrumSignal(ref rxbuffer);

            // PLL
            pll = new PLL(ref rxbuffer);

            // Noise Filter
            noise_filter = new NoiseFilter(ref rxbuffer);

            // Interference Filter
            interference_filter = new InterferenceFilter(ref rxbuffer);

            // Output
            output_mode = new Output(ref rxbuffer);

            cfir = new LoadableFilter(state.SpectrumAquireBlockSize, 64);
            cfir.LoadFilter(new FilterCoeffSet(64).GetFilterCoeffSet());

//            ops = new OutbandPowerSpectrumSignal(state.PowerSpectrumBlockSize);
        }