diff options
-rw-r--r-- | gr-dtv/examples/README.dvbt2 | 33 | ||||
-rw-r--r-- | gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc | 12 |
2 files changed, 29 insertions, 16 deletions
diff --git a/gr-dtv/examples/README.dvbt2 b/gr-dtv/examples/README.dvbt2 index 488569189f..98cb400857 100644 --- a/gr-dtv/examples/README.dvbt2 +++ b/gr-dtv/examples/README.dvbt2 @@ -15,21 +15,21 @@ http://www.w6rz.net/vv014-64qam34.ts 430,739,584 bytes md5sum = 481cb73003703867 http://www.w6rz.net/vv015-8kfft.ts 463,359,088 bytes md5sum = d10c005a4bbf794da1bd01d26f024949 http://www.w6rz.net/vv016-256qam34.ts 593,489,680 bytes md5sum = 3a054cfdcc04b85ad5459a330937ea11 http://www.w6rz.net/vv017-paprtr.ts 592,947,676 bytes md5sum = 10cebd26cd55695be08d294fadcbf1f3 -http://www.w6rz.net/vv018-miso.ts 571898256 bytes md5sum = b432c64e40a2724eba2051a820733c76 -http://www.w6rz.net/vv019-norot.ts 478864952 bytes md5sum = 34db2abd4f9745b7d241745d81604016 -http://www.w6rz.net/vv034-dtg016.ts 397372592 bytes md5sum = 4550dffe45a5d31d8b91508aed1a9c35 -http://www.w6rz.net/vv035-dtg052.ts 373828224 bytes md5sum = 8f31539a752fff44efcabedf5903b333 -http://www.w6rz.net/vv036-dtg091.ts 334481140 bytes md5sum = 4d16c6fd3d929bb85e60eed76a7226a5 -http://www.w6rz.net/germany-g1.ts 242683936 bytes md5sum = f6fc96bd2abed49f375285d45af31e3f -http://www.w6rz.net/germany-g2.ts 291631616 bytes md5sum = defa11f02511254e96fc8fbf59d47ff2 -http://www.w6rz.net/germany-g3.ts 316245704 bytes md5sum = 2494f7b77eb1f11dad2e1c903ba6b389 -http://www.w6rz.net/germany-g4.ts 345044672 bytes md5sum = da256d6828d97c458ffef27931c626ff -http://www.w6rz.net/germany-g5.ts 347665204 bytes md5sum = 48f72cef940f294b26247da91abb9f25 -http://www.w6rz.net/germany-g6.ts 444296264 bytes md5sum = 605a76d12cce7d7009a08c87e97c70bc -http://www.w6rz.net/germany-g7.ts 351893888 bytes md5sum = 3ca71e2a35ab7be27ebd13ad97f00e85 -http://www.w6rz.net/germany-g8.ts 365656052 bytes md5sum = 8cbd41ea1a6f6405f6662300f17a9104 -http://www.w6rz.net/germany-g9.ts 260004376 bytes md5sum = a83d60366bca873cf30d18db1d9e9f9f -http://www.w6rz.net/germany-g10.ts 229421288 bytes md5sum = 641a7e4c8a9db92f3020e19ec8d0b8a7 +http://www.w6rz.net/vv018-miso.ts 571,898,256 bytes md5sum = b432c64e40a2724eba2051a820733c76 +http://www.w6rz.net/vv019-norot.ts 478,864,952 bytes md5sum = 34db2abd4f9745b7d241745d81604016 +http://www.w6rz.net/vv034-dtg016.ts 397,372,592 bytes md5sum = 4550dffe45a5d31d8b91508aed1a9c35 +http://www.w6rz.net/vv035-dtg052.ts 373,828,224 bytes md5sum = 8f31539a752fff44efcabedf5903b333 +http://www.w6rz.net/vv036-dtg091.ts 334,481,140 bytes md5sum = 4d16c6fd3d929bb85e60eed76a7226a5 +http://www.w6rz.net/germany-g1.ts 242,683,936 bytes md5sum = f6fc96bd2abed49f375285d45af31e3f +http://www.w6rz.net/germany-g2.ts 291,631,616 bytes md5sum = defa11f02511254e96fc8fbf59d47ff2 +http://www.w6rz.net/germany-g3.ts 316,245,704 bytes md5sum = 2494f7b77eb1f11dad2e1c903ba6b389 +http://www.w6rz.net/germany-g4.ts 345,044,672 bytes md5sum = da256d6828d97c458ffef27931c626ff +http://www.w6rz.net/germany-g5.ts 347,665,204 bytes md5sum = 48f72cef940f294b26247da91abb9f25 +http://www.w6rz.net/germany-g6.ts 444,296,264 bytes md5sum = 605a76d12cce7d7009a08c87e97c70bc +http://www.w6rz.net/germany-g7.ts 351,893,888 bytes md5sum = 3ca71e2a35ab7be27ebd13ad97f00e85 +http://www.w6rz.net/germany-g8.ts 365,656,052 bytes md5sum = 8cbd41ea1a6f6405f6662300f17a9104 +http://www.w6rz.net/germany-g9.ts 260,004,376 bytes md5sum = a83d60366bca873cf30d18db1d9e9f9f +http://www.w6rz.net/germany-g10.ts 229,421,288 bytes md5sum = 641a7e4c8a9db92f3020e19ec8d0b8a7 Note: The vv012-64qam45 profile may not run in real-time due to the large number of PAPR iterations. @@ -41,4 +41,7 @@ can be increased with the following shell command: sudo sysctl kernel.shmmax=1073741824 +or: + +sudo echo $(( 1024 * 1024 * 1024 )) > /proc/sys/kernel/shmmax diff --git a/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc b/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc index cec39a7041..a83c56182e 100644 --- a/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc +++ b/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2015,2016 Free Software Foundation, Inc. + * Copyright 2015-2017 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,6 +26,10 @@ #include "dvbt2_paprtr_cc_impl.h" #include <volk/volk.h> +/* An early exit from the iteration loop is a very effective optimization */ +/* Change this line to #undef for validation testing with BBC V&V streams */ +#define EARLY_EXIT + namespace gr { namespace dtv { @@ -758,9 +762,15 @@ namespace gr { m = n; } } +#ifdef EARLY_EXIT if (y < v_clip + 0.01) { break; } +#else + if (y < v_clip) { + break; + } +#endif u = (in[m] + c[m]) / y; alpha = y - v_clip; for (int n = 0; n < N_TR; n++) { |