def test_004_t (self): attenuatedRandomSamples = [] # Attenuate to 1/100 of power for x in range(len(self.randomSamples)): attenuatedRandomSamples.append(self.randomSamples[x] / 100.0) src_data = \ tuple(attenuatedRandomSamples) + \ self.pnSequence + \ tuple(self.recvFirstFrame) + \ tuple(attenuatedRandomSamples) + \ self.pnSequence + \ tuple(self.recvSecondFrame) src_data = tuple([val for pair in zip(src_data,src_data) for val in pair]) expected_data = \ self.firstFrame + \ self.secondFrame source = gr.vector_source_c(src_data) dut = correlator_cc.correlator_cc() sink = gr.vector_sink_c() self.tb.connect(source, dut) self.tb.connect(dut, sink) self.tb.run() result_data = sink.data() #print "Expected\n" #print expected_data #print "Results\n" #print result_data self.assertEqual(expected_data, result_data)
def test_002_t (self): src_data = \ tuple(self.randomSamples) + \ self.pnSequence + \ tuple(self.recvFirstFrame) + \ tuple(self.randomSamples) + \ self.pnSequence + \ tuple(self.recvSecondFrame) src_data = tuple([val for pair in zip(src_data,src_data) for val in pair]) expected_data = \ self.firstFrame + \ self.secondFrame rotatedSrcData = [] for x in range(len(src_data)): rotatedSrcData.append(src_data[x]*(0+1j)) source = gr.vector_source_c(tuple(rotatedSrcData)) dut = correlator_cc.correlator_cc() sink = gr.vector_sink_c() self.tb.connect(source, dut) self.tb.connect(dut, sink) self.tb.run() result_data = sink.data() #print "Expected\n" #print expected_data #print "Results\n" #print result_data self.assertEqual(expected_data, result_data)
def test_003_t (self): src_data = \ tuple(self.randomSamples) + \ self.pnSequence + \ tuple(self.recvFirstFrame) + \ tuple(self.randomSamples) + \ self.pnSequence + \ tuple(self.recvSecondFrame) src_data = tuple([val for pair in zip(src_data,src_data) for val in pair]) expected_data = \ self.firstFrame + \ self.secondFrame rotatedSrcData = [] # Frequency error 1000 samples/cycle phaseChangePerSample = cmath.rect(1, 2*math.pi/1000) currentPhase = (1 + 0j) for x in range(len(src_data)): rotatedSrcData.append(src_data[x]*currentPhase) currentPhase = currentPhase * phaseChangePerSample source = gr.vector_source_c(tuple(rotatedSrcData)) dut = correlator_cc.correlator_cc() sink = gr.vector_sink_c() self.tb.connect(source, dut) self.tb.connect(dut, sink) self.tb.run() result_data = sink.data() #print "Expected\n" #print expected_data #print "Results\n" #print result_data self.assertEqual(len(expected_data), len(result_data)) for x in range(len(expected_data)): angle = cmath.polar(expected_data[x]/result_data[x])[1] #print "Angle = " + str(angle) #print expected_data[x] #print result_data[x] if angle > math.pi: angle = 2*math.pi - angle self.assertLess(abs(angle), 2*math.pi/400)
def test_001_t (self): src_data = \ tuple(self.randomSamples) + \ self.pnSequence + \ tuple(self.recvFirstFrame) + \ tuple(self.randomSamples) + \ self.pnSequence + \ tuple(self.recvSecondFrame) src_data = tuple([val for pair in zip(src_data,src_data) for val in pair]) expected_data = \ self.firstFrame + \ self.secondFrame source = gr.vector_source_c(src_data) dut = correlator_cc.correlator_cc() sink = gr.vector_sink_c() self.tb.connect(source, dut) self.tb.connect(dut, sink) self.tb.run() result_data = sink.data() #print "Expected\n" #print expected_data #print "Results\n" #print result_data self.assertEqual(expected_data, result_data)