def test_fir_filter_ccf_001(self):
     self.generate_ccf_source()
     expected_data = ((0.001697700354270637 + 0.004312471952289343j),
                      (0.003520616563037038 - 0.003014103975147009j),
                      (0.004252811893820763 - 0.008337559178471565j),
                      (0.0030743128154426813 - 0.010262271389365196j),
                      (0.0007344777695834637 - 0.007861139252781868j),
                      (-0.0011067686136811972 - 0.0028924935031682253j),
                      (-0.002371778478845954 + 0.0019914964213967323j),
                      (-0.003023319412022829 + 0.005717850290238857j),
                      (-0.0021738125942647457 + 0.007211698684841394j),
                      (-0.0004628606839105487 + 0.005501383915543556j),
                      (0.0007428556564264 + 0.0019867848604917526j),
                      (0.001634795218706131 - 0.0013514887541532516j),
                      (0.002205110155045986 - 0.00402155052870512j),
                      (0.0015480631263926625 - 0.005179159343242645j),
                      (0.00026722141774371266 - 0.003887997241690755j),
                      (-0.0004911854630336165 - 0.0013578246580436826j),
                      (-0.0011226939968764782 + 0.0009080552263185382j),
                      (-0.0016229727771133184 + 0.0028335191309452057j),
                      (-0.0010890064295381308 +
                       0.0037298379465937614j), (-0.00012392725329846144 +
                                                 0.0027196139562875032j))
     src = gr.vector_source_c(self.src_data)
     op = filter.freq_xlating_fir_filter_ccf(1, self.taps, self.fc, self.fs)
     dst = gr.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:],
                                         5)
 def test_fir_filter_ccf_001(self):
     self.generate_ccf_source()
     expected_data = ((0.001697700354270637+0.004312471952289343j),
                      (0.003520616563037038-0.003014103975147009j),
                      (0.004252811893820763-0.008337559178471565j),
                      (0.0030743128154426813-0.010262271389365196j),
                      (0.0007344777695834637-0.007861139252781868j),
                      (-0.0011067686136811972-0.0028924935031682253j),
                      (-0.002371778478845954+0.0019914964213967323j),
                      (-0.003023319412022829+0.005717850290238857j),
                      (-0.0021738125942647457+0.007211698684841394j),
                      (-0.0004628606839105487+0.005501383915543556j),
                      (0.0007428556564264+0.0019867848604917526j),
                      (0.001634795218706131-0.0013514887541532516j),
                      (0.002205110155045986-0.00402155052870512j),
                      (0.0015480631263926625-0.005179159343242645j),
                      (0.00026722141774371266-0.003887997241690755j),
                      (-0.0004911854630336165-0.0013578246580436826j),
                      (-0.0011226939968764782+0.0009080552263185382j),
                      (-0.0016229727771133184+0.0028335191309452057j),
                      (-0.0010890064295381308+0.0037298379465937614j),
                      (-0.00012392725329846144+0.0027196139562875032j))
     src = gr.vector_source_c(self.src_data)
     op  = filter.freq_xlating_fir_filter_ccf(1, self.taps, self.fc, self.fs)
     dst = gr.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:], 5)
 def test_fir_filter_ccf_002(self):
     self.generate_ccf_source()
     expected_data = ((6.419439159799367e-05 - 0.0006292851758189499j),
                      (-0.00037074743886478245 + 0.0013245552545413375j),
                      (0.0006853155209682882 - 0.0023769831750541925j),
                      (-0.001427714480087161 + 0.002608160488307476j),
                      (0.0015907397028058767 - 0.000811046629678458j),
                      (-0.0004226673918310553 - 0.0024389736354351044j),
                      (-0.0013841050677001476 + 0.006231029983609915j),
                      (0.0035029184073209763 - 0.009738259017467499j),
                      (-0.005924836732447147 + 0.010320881381630898j),
                      (0.006831614300608635 - 0.003950652200728655j),
                      (-0.0021247887052595615 - 0.015604906715452671j),
                      (-0.04283163696527481 + 0.09995654970407486j),
                      (-0.01391829177737236 + 0.07924056798219681j),
                      (0.010886997915804386 - 0.02463012933731079j),
                      (-0.0056075905449688435 + 0.004998659715056419j),
                      (0.0016976913902908564 + 0.004312459379434586j),
                      (0.0007344821933656931 - 0.007861112244427204j),
                      (-0.002173811662942171 + 0.007211671676486731j),
                      (0.0022051059640944004 -
                       0.00402153329923749j), (-0.0011226903880015016 +
                                               0.0009080505697056651j))
     src = gr.vector_source_c(self.src_data)
     op = filter.freq_xlating_fir_filter_ccf(4, self.taps, self.fc, self.fs)
     dst = gr.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:],
                                         5)
 def test_fir_filter_ccf_002(self):
     self.generate_ccf_source()
     expected_data = ((6.419439159799367e-05-0.0006292851758189499j),
                      (-0.00037074743886478245+0.0013245552545413375j),
                       (0.0006853155209682882-0.0023769831750541925j),
                       (-0.001427714480087161+0.002608160488307476j),
                       (0.0015907397028058767-0.000811046629678458j),
                       (-0.0004226673918310553-0.0024389736354351044j),
                       (-0.0013841050677001476+0.006231029983609915j),
                       (0.0035029184073209763-0.009738259017467499j),
                       (-0.005924836732447147+0.010320881381630898j),
                       (0.006831614300608635-0.003950652200728655j),
                       (-0.0021247887052595615-0.015604906715452671j),
                       (-0.04283163696527481+0.09995654970407486j),
                       (-0.01391829177737236+0.07924056798219681j),
                       (0.010886997915804386-0.02463012933731079j),
                       (-0.0056075905449688435+0.004998659715056419j),
                       (0.0016976913902908564+0.004312459379434586j),
                       (0.0007344821933656931-0.007861112244427204j),
                       (-0.002173811662942171+0.007211671676486731j),
                       (0.0022051059640944004-0.00402153329923749j),
                       (-0.0011226903880015016+0.0009080505697056651j))
     src = gr.vector_source_c(self.src_data)
     op  = filter.freq_xlating_fir_filter_ccf(4, self.taps, self.fc, self.fs)
     dst = gr.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:], 5)