Example #1
0
    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)
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
 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)