コード例 #1
0
 public void Process(Complex* buffer, int length)
 {
     var handler = IQReady;
     if (handler != null)
     {
         IQReady(buffer, length);
     }
 }
コード例 #2
0
 public void IQSamplesAvailable(Complex* buffer, int length)
 {
     var handler = IQReady;                        
     if (handler != null)
     {
         IQReady(buffer, length);
     }
 }        
コード例 #3
0
ファイル: IFProcessor.cs プロジェクト: zloiia/sdrsrc
 public unsafe void Process(Complex* buffer, int length)
 {
     if (this._needNewFilter)
       {
     this._filter = new NoiseFilter(4096);
     this._needNewFilter = false;
       }
       this._filter.NoiseThreshold = (float) this.NoiseThreshold;
       this._filter.Process(buffer, length);
 }
コード例 #4
0
        public void Process(Complex* buffer, int length)
        {
            if (_needNewFilter)
            {
                _filter = new NoiseFilter();

                _needNewFilter = false;
            }

            _filter.NoiseThreshold = NoiseThreshold;

            _filter.Process(buffer, length);
        }
コード例 #5
0
ファイル: IQDecimator.cs プロジェクト: zloiia/sdrsrc
 public unsafe void Process(Complex* buffer, int length)
 {
     float* rPtr = (float*) buffer;
       float* buffer1 = rPtr + 1;
       if (this._isMultithreaded)
     DSPThreadPool.QueueUserWorkItem((WaitCallback) delegate
     {
       this._rDecimator.ProcessInterleaved(rPtr, length);
       this._event.Set();
     });
       else
     this._rDecimator.ProcessInterleaved(rPtr, length);
       this._iDecimator.ProcessInterleaved(buffer1, length);
       if (!this._isMultithreaded)
     return;
       this._event.WaitOne();
 }
コード例 #6
0
        public void ProcessIQHook(Complex* buffer, int length)
        {
            var copyBuffer = false;                        
            for (var i = 0; i < _iqObservers.Count; i++)
            {
                if (_iqObservers[i].Enabled)
                {
                    copyBuffer = true;
                    break;
                }
            }

            if (copyBuffer)
            {
                if (_iqObserverThread.ThreadState == ThreadState.WaitSleepJoin)
                {
                    Utils.Memcpy(_iqObserverBufferPtr, buffer, length * sizeof(Complex));
                    _iqObserverEvent.Set();
                }
            }
        }
コード例 #7
0
ファイル: HookManager.cs プロジェクト: zloiia/sdrsrc
 public unsafe void ProcessRawIQ(Complex* buffer, int length)
 {
     this.ProcessHooks(this._rawIQProcessors, buffer, length);
 }
コード例 #8
0
ファイル: HookManager.cs プロジェクト: zloiia/sdrsrc
 public unsafe void ProcessFrequencyTranslatedIQ(Complex* buffer, int length)
 {
     this.ProcessHooks(this._frequencyTranslatedIQProcessors, buffer, length);
 }
コード例 #9
0
ファイル: HookManager.cs プロジェクト: zloiia/sdrsrc
 public unsafe void ProcessDecimatedAndFilteredIQ(Complex* buffer, int length)
 {
     this.ProcessHooks(this._decimatedAndFilteredIQProcessors, buffer, length);
 }
コード例 #10
0
ファイル: HookManager.cs プロジェクト: zloiia/sdrsrc
 private unsafe void ProcessHooks(List<IIQProcessor> processors, Complex* buffer, int length)
 {
     lock (processors)
       {
     for (int local_0 = 0; local_0 < processors.Count; ++local_0)
     {
       if (processors[local_0].Enabled)
     processors[local_0].Process(buffer, length);
     }
       }
 }
コード例 #11
0
 public void ProcessRawIQ(Complex* buffer, int length)
 {
     ProcessHooks(_rawIQProcessors, buffer, length);
 }
コード例 #12
0
 public void ProcessFrequencyTranslatedIQ(Complex* buffer, int length)
 {
     ProcessHooks(_frequencyTranslatedIQProcessors, buffer, length);
 }
コード例 #13
0
 public void ProcessDecimatedAndFilteredIQ(Complex* buffer, int length)
 {
     ProcessHooks(_decimatedAndFilteredIQProcessors, buffer, length);
 }
コード例 #14
0
 private void ProcessHooks(List<IIQProcessor> processors, Complex* buffer, int length)
 {
     lock (processors)
     {
         for (int i = 0; i < processors.Count; i++)
         {
             if (processors[i].Enabled)
             {
                 processors[i].Process(buffer, length);
             }
         }
     }
 }