def test_fir_filter_scc_002(self):
     self.generate_scc_source()
     expected_data = (
         (-0.0080680437386 - 0.00158522999845j),
         (-0.0037795654498 + 0.00733159901574j),
         (0.00842926371843 + 0.00777021236718j), (0.0112090632319 -
                                                  0.00249325321056j),
         (-0.0027476802934 - 0.0115710813552j), (-0.0158688724041 -
                                                 0.00715934624895j),
         (-0.00802888441831 + 0.00620818417519j), (0.0131985172629 +
                                                   0.0149175003171j),
         (0.0190298333764 + 0.00956719089299j), (-0.00112380902283 -
                                                 0.00936658866704j),
         (-0.0204226914793 - 0.0333464704454j), (-0.00695514678955 -
                                                 0.0437445007265j),
         (0.0314490310848 - 0.0207983348519j), (0.0529675260186 +
                                                0.0302227605134j),
         (0.0317338332534 + 0.0667510479689j), (-0.00775565672666 +
                                                0.0437112376094j),
         (-0.024347923696 - 0.0303014591336j), (-0.0108893103898 -
                                                0.0875638127327j),
         (0.00204296782613 - 0.0721434056759j), (-0.00527479872108 -
                                                 0.00698097236454j))
     src = blocks.vector_source_s(self.src_data)
     op = filter.freq_xlating_fir_filter_scc(4, self.taps, self.fc, self.fs)
     dst = blocks.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_scc_001(self):
     self.generate_scc_source()
     expected_data = (
         (-0.00775564694777 + 0.0437113791704j),
         (0.0108830630779 + 0.0433648750186j),
         (0.015553932637 - 0.0133284125477j), (-0.0264905355871 -
                                               0.0403266139328j),
         (-0.0243480335921 - 0.03030154109j), (-0.000327925226884 -
                                               0.069333948195j),
         (-0.0306392069906 - 0.107313856483j), (-0.0452371090651 -
                                                0.0854917764664j),
         (-0.0108894333243 - 0.0875641107559j), (-0.0182112380862 -
                                                 0.118961036205j),
         (-0.0447825863957 - 0.0922874584794j), (-0.0147479763255 -
                                                 0.0572904124856j),
         (0.00204290449619 - 0.0721436738968j), (-0.027713002637 -
                                                 0.0548989400268j),
         (-0.0149045493454 - 0.00210141134448j), (0.0176361314952 -
                                                  0.00149522523861j),
         (-0.00527482619509 - 0.00698099425063j), (-0.0151527002454 +
                                                   0.036265052855j),
         (0.0199296213686 + 0.0452499426901j), (0.0122985243797 +
                                                0.0143278446048j))
     src = blocks.vector_source_s(self.src_data)
     op = filter.freq_xlating_fir_filter_scc(1, self.taps, self.fc, self.fs)
     dst = blocks.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_scc_002(self):
     self.generate_scc_source()
     expected_data = ((-0.0080680437386-0.00158522999845j),
                      (-0.0037795654498+0.00733159901574j),
                      (0.00842926371843+0.00777021236718j),
                      (0.0112090632319-0.00249325321056j),
                      (-0.0027476802934-0.0115710813552j),
                      (-0.0158688724041-0.00715934624895j),
                      (-0.00802888441831+0.00620818417519j),
                      (0.0131985172629+0.0149175003171j),
                      (0.0190298333764+0.00956719089299j),
                      (-0.00112380902283-0.00936658866704j),
                      (-0.0204226914793-0.0333464704454j),
                      (-0.00695514678955-0.0437445007265j),
                      (0.0314490310848-0.0207983348519j),
                      (0.0529675260186+0.0302227605134j),
                      (0.0317338332534+0.0667510479689j),
                      (-0.00775565672666+0.0437112376094j),
                      (-0.024347923696-0.0303014591336j),
                      (-0.0108893103898-0.0875638127327j),
                      (0.00204296782613-0.0721434056759j),
                      (-0.00527479872108-0.00698097236454j))
     src = blocks.vector_source_s(self.src_data)
     op  = filter.freq_xlating_fir_filter_scc(4, self.taps, self.fc, self.fs)
     dst = blocks.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_scc_001(self):
     self.generate_scc_source()
     expected_data = ((-0.00775564694777+0.0437113791704j),
                      (0.0108830630779+0.0433648750186j),
                      (0.015553932637-0.0133284125477j),
                      (-0.0264905355871-0.0403266139328j),
                      (-0.0243480335921-0.03030154109j),
                      (-0.000327925226884-0.069333948195j),
                      (-0.0306392069906-0.107313856483j),
                      (-0.0452371090651-0.0854917764664j),
                      (-0.0108894333243-0.0875641107559j),
                      (-0.0182112380862-0.118961036205j),
                      (-0.0447825863957-0.0922874584794j),
                      (-0.0147479763255-0.0572904124856j),
                      (0.00204290449619-0.0721436738968j),
                      (-0.027713002637-0.0548989400268j),
                      (-0.0149045493454-0.00210141134448j),
                      (0.0176361314952-0.00149522523861j),
                      (-0.00527482619509-0.00698099425063j),
                      (-0.0151527002454+0.036265052855j),
                      (0.0199296213686+0.0452499426901j),
                      (0.0122985243797+0.0143278446048j))
     src = blocks.vector_source_s(self.src_data)
     op  = filter.freq_xlating_fir_filter_scc(1, self.taps, self.fc, self.fs)
     dst = blocks.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_scc_002(self):
        self.generate_scc_source()

        decim = 4
        lo = sig_source_c(self.fs, -self.fc, 1, len(self.src_data))
        despun = mix(lo, self.src_data)
        expected_data = fir_filter(despun, self.taps, decim)

        src = blocks.vector_source_s(self.src_data)
        op  = filter.freq_xlating_fir_filter_scc(decim, self.taps, self.fc, self.fs)
        dst = blocks.vector_sink_c()
        self.tb.connect(src, op, dst)
        self.tb.run()
        result_data = dst.data()
        self.assertComplexTuplesAlmostEqual(expected_data, result_data, 4)
    def test_fir_filter_scc_002(self):
        self.generate_scc_source()

        decim = 4
        lo = sig_source_c(self.fs, -self.fc, 1, len(self.src_data))
        despun = mix(lo, self.src_data)
        expected_data = fir_filter(despun, self.taps, decim)

        src = blocks.vector_source_s(self.src_data)
        op  = filter.freq_xlating_fir_filter_scc(decim, self.taps, self.fc, self.fs)
        dst = blocks.vector_sink_c()
        self.tb.connect(src, op, dst)
        self.tb.run()
        result_data = dst.data()
        self.assertComplexTuplesAlmostEqual(expected_data, result_data, 4)