public VirtualReceiver(VirtualTransmitter transmitter, double sampleRate) { m_BufferNumSamples = 16384; m_SampleRate = sampleRate; m_SampleBuffer = new Complex[m_BufferNumSamples]; m_CopyBuffer = Marshal.AllocHGlobal(m_BufferNumSamples * 8 * 2); m_Transmitter = transmitter; }
private void Form1_Load(object sender, EventArgs e) { #if NOTTRUE m_Source = new USRPReceiver(); if (!m_Source.Init()) { MessageBox.Show("Unable to initialize radio!"); Close(); return; } if (!m_Source.SetFrequency(m_Frequency)) { MessageBox.Show("Unable to tune radio!"); Close(); return; } m_ReceiveQueue = new ReceiveQueue(); m_Source.SetSampleRate(m_SampleRate); m_Source.SetGain(m_Gain); m_Source.StartReceiving(m_ReceiveQueue.Handler); #else m_ReceiveQueue = new ReceiveQueue(); VirtualTransmitter virtualTransmitter = new VirtualTransmitter(m_SampleRate); virtualTransmitter.StartTransmitting(SinTransmitHandler); VirtualReceiver virtualReceiver = new VirtualReceiver(virtualTransmitter, m_SampleRate); virtualReceiver.StartReceiving(m_ReceiveQueue.Handler); #endif m_FFTTask = Task.Factory.StartNew(FFTHandler, TaskCreationOptions.LongRunning); m_FFT = new LomontFFT(); timer1.Interval = (int)m_FFTRate; }