Re: [Discuss-gnuradio] ATSC fixups
Yeah, That doesn't seem to be anything I messed with, anyway I pushed another commit that if compiles for everyone could be merged into the Gnuradio master. I found that the Magic coupling constant isn't so magic and can be complexly removed and replaced with an AGC block set to a reference level of 4 ( the mean value of the pseudo-random 1 3 5 7 levels of the ATSC PAM signal ). So I separated that out of the fpll block. For some reason I simply cannot make a complex PLL that works the same way the old PLL works, I get close but i'm still missing something, once I get that figured out it will shave off approximately 12% from the decoding time ( thanks to the new performance counters I can now easily track what my fix-ups are doing and whats left before real-time decoding ). Thanks you, Andrew On Wed, Aug 7, 2013 at 4:11 PM, Souryal, Michael michael.sour...@nist.govwrote: I tried building this later push and this is as far as I got. ** ** [ 70%] Building CXX object gr-qtgui/lib/CMakeFiles/gnuradio-qtgui.dir/TimeDomainDisplayPlot.cc.o /raid/souryal/gnuradio-atscfixup/gr-qtgui/lib/TimeDomainDisplayPlot.cc: In member function ‘void TimeDomainDisplayPlot::setSemilogy(bool)’: /raid/souryal/gnuradio-atscfixup/gr-qtgui/lib/TimeDomainDisplayPlot.cc:358: error: ‘class QwtScaleDiv’ has no member named ‘upperBound’ make[2]: *** [gr-qtgui/lib/CMakeFiles/gnuradio-qtgui.dir/TimeDomainDisplayPlot.cc.o] Error 1 make[1]: *** [gr-qtgui/lib/CMakeFiles/gnuradio-qtgui.dir/all] Error 2 make: *** [all] Error 2 ** ** It doesn’t look related to ATSC, though. ** ** *From:* discuss-gnuradio-bounces+souryal=nist@gnu.org [mailto: discuss-gnuradio-bounces+souryal=nist@gnu.org] *On Behalf Of *Andrew Davis *Sent:* Monday, August 05, 2013 3:37 PM *To:* M. Ranganathan *Cc:* GNURadio Discussion List *Subject:* Re: [Discuss-gnuradio] ATSC fixups ** ** OK, pushed, could you see if that works better? ** ** Thank you Andrew ** ** On Mon, Aug 5, 2013 at 2:50 PM, Andrew Davis glneolistm...@gmail.com wrote: It was removed and left in fpll.h, i'll push a fix in just a bit, in the meantime you could just remove the include line from fpll.h ** ** Thank you Andrew ** ** On Mon, Aug 5, 2013 at 1:46 PM, M. Ranganathan mra...@gmail.com wrote:** ** Hello, I git cloned the atscfixup branch and tried building it. Here's as far as I got: In file included from /users/mranga/gr-atscfixup/gnuradio/gr-atsc/lib/receiver/atsc_fpll.cc:27: /users/mranga/gr-atscfixup/gnuradio/gr-atsc/include/gnuradio/atsc/fpll.h:32:44: error: gnuradio/atsc/diag_output_impl.h: No such file or directory Perhaps this file was accidentally left out of the repository (?) Ranga ** ** On Mon, Jul 15, 2013 at 10:56 PM, Johnathan Corgan johnat...@corganlabs.com wrote: On 07/15/2013 07:01 PM, Andrew Davis wrote: After this stuff and the reorganization a simple diff would not have saved much, also i'm working on 'atsc_tx.py',so 'all_atsc.py' would be confusing, hence the name change. First, let me say that I'm very happy this code is getting some attention. It was originally written to use the low-IF output of a TV tuner and ADC, and also when GNU Radio only had a single-threaded scheduler. Later, it was only minimally modified to use the USRP complex baseband IQ output. (I wasn't around GNU Radio at the time and the above is only what I surmise by looking at the code history.) The changes you describe are more like it would have been written had the USRP existed at the time. The all_atsc.py file was a work-in-progress effort by Ben Reynwar that I merged in, but he and I never finished what we were going to do with it.** ** Also the other scripts seem unnecessary with the new thread-per-block sceduler, the also seem to cause a lot of beginners confusion. So I felt they needed to go. Agree. I have also built a ( semi ) working complex fpll for gr-atsc, this removes the need for up-converting and the filtering after the current fpll, my next atsc_rx will need the new script style. After I finish updating the bit timing loop we will be almost real time I believe! The upconversion and filtering is a large CPU waste when it could be done at baseband, but it seems this was just a quick-and-dirty way to get the baseband IQ from a USRP to look like a low-IF output instead in order to re-use what was already written and working. Real-time execution would be a welcome accomplishment! P.S. I could still just do the diff to the old all_atsc.py and rename if you want. No need. By the way, before any of this can be merged, we'll need a copyright assignment from you. I'll email you off-list about how this works. Thanks again for working on this. -- Johnathan Corgan Corgan Labs - SDR Training and Development Services
Re: [Discuss-gnuradio] ATSC fixups
Hello, I git cloned the atscfixup branch and tried building it. Here's as far as I got: In file included from /users/mranga/gr-atscfixup/gnuradio/gr-atsc/lib/receiver/atsc_fpll.cc:27: /users/mranga/gr-atscfixup/gnuradio/gr-atsc/include/gnuradio/atsc/fpll.h:32:44: error: gnuradio/atsc/diag_output_impl.h: No such file or directory Perhaps this file was accidentally left out of the repository (?) Ranga On Mon, Jul 15, 2013 at 10:56 PM, Johnathan Corgan johnat...@corganlabs.com wrote: On 07/15/2013 07:01 PM, Andrew Davis wrote: After this stuff and the reorganization a simple diff would not have saved much, also i'm working on 'atsc_tx.py',so 'all_atsc.py' would be confusing, hence the name change. First, let me say that I'm very happy this code is getting some attention. It was originally written to use the low-IF output of a TV tuner and ADC, and also when GNU Radio only had a single-threaded scheduler. Later, it was only minimally modified to use the USRP complex baseband IQ output. (I wasn't around GNU Radio at the time and the above is only what I surmise by looking at the code history.) The changes you describe are more like it would have been written had the USRP existed at the time. The all_atsc.py file was a work-in-progress effort by Ben Reynwar that I merged in, but he and I never finished what we were going to do with it. Also the other scripts seem unnecessary with the new thread-per-block sceduler, the also seem to cause a lot of beginners confusion. So I felt they needed to go. Agree. I have also built a ( semi ) working complex fpll for gr-atsc, this removes the need for up-converting and the filtering after the current fpll, my next atsc_rx will need the new script style. After I finish updating the bit timing loop we will be almost real time I believe! The upconversion and filtering is a large CPU waste when it could be done at baseband, but it seems this was just a quick-and-dirty way to get the baseband IQ from a USRP to look like a low-IF output instead in order to re-use what was already written and working. Real-time execution would be a welcome accomplishment! P.S. I could still just do the diff to the old all_atsc.py and rename if you want. No need. By the way, before any of this can be merged, we'll need a copyright assignment from you. I'll email you off-list about how this works. Thanks again for working on this. -- Johnathan Corgan Corgan Labs - SDR Training and Development Services http://corganlabs.com ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio -- M. Ranganathan ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] ATSC fixups
It was removed and left in fpll.h, i'll push a fix in just a bit, in the meantime you could just remove the include line from fpll.h Thank you Andrew On Mon, Aug 5, 2013 at 1:46 PM, M. Ranganathan mra...@gmail.com wrote: Hello, I git cloned the atscfixup branch and tried building it. Here's as far as I got: In file included from /users/mranga/gr-atscfixup/gnuradio/gr-atsc/lib/receiver/atsc_fpll.cc:27: /users/mranga/gr-atscfixup/gnuradio/gr-atsc/include/gnuradio/atsc/fpll.h:32:44: error: gnuradio/atsc/diag_output_impl.h: No such file or directory Perhaps this file was accidentally left out of the repository (?) Ranga On Mon, Jul 15, 2013 at 10:56 PM, Johnathan Corgan johnat...@corganlabs.com wrote: On 07/15/2013 07:01 PM, Andrew Davis wrote: After this stuff and the reorganization a simple diff would not have saved much, also i'm working on 'atsc_tx.py',so 'all_atsc.py' would be confusing, hence the name change. First, let me say that I'm very happy this code is getting some attention. It was originally written to use the low-IF output of a TV tuner and ADC, and also when GNU Radio only had a single-threaded scheduler. Later, it was only minimally modified to use the USRP complex baseband IQ output. (I wasn't around GNU Radio at the time and the above is only what I surmise by looking at the code history.) The changes you describe are more like it would have been written had the USRP existed at the time. The all_atsc.py file was a work-in-progress effort by Ben Reynwar that I merged in, but he and I never finished what we were going to do with it. Also the other scripts seem unnecessary with the new thread-per-block sceduler, the also seem to cause a lot of beginners confusion. So I felt they needed to go. Agree. I have also built a ( semi ) working complex fpll for gr-atsc, this removes the need for up-converting and the filtering after the current fpll, my next atsc_rx will need the new script style. After I finish updating the bit timing loop we will be almost real time I believe! The upconversion and filtering is a large CPU waste when it could be done at baseband, but it seems this was just a quick-and-dirty way to get the baseband IQ from a USRP to look like a low-IF output instead in order to re-use what was already written and working. Real-time execution would be a welcome accomplishment! P.S. I could still just do the diff to the old all_atsc.py and rename if you want. No need. By the way, before any of this can be merged, we'll need a copyright assignment from you. I'll email you off-list about how this works. Thanks again for working on this. -- Johnathan Corgan Corgan Labs - SDR Training and Development Services http://corganlabs.com ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio -- M. Ranganathan ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] ATSC fixups
OK, pushed, could you see if that works better? Thank you Andrew On Mon, Aug 5, 2013 at 2:50 PM, Andrew Davis glneolistm...@gmail.comwrote: It was removed and left in fpll.h, i'll push a fix in just a bit, in the meantime you could just remove the include line from fpll.h Thank you Andrew On Mon, Aug 5, 2013 at 1:46 PM, M. Ranganathan mra...@gmail.com wrote: Hello, I git cloned the atscfixup branch and tried building it. Here's as far as I got: In file included from /users/mranga/gr-atscfixup/gnuradio/gr-atsc/lib/receiver/atsc_fpll.cc:27: /users/mranga/gr-atscfixup/gnuradio/gr-atsc/include/gnuradio/atsc/fpll.h:32:44: error: gnuradio/atsc/diag_output_impl.h: No such file or directory Perhaps this file was accidentally left out of the repository (?) Ranga On Mon, Jul 15, 2013 at 10:56 PM, Johnathan Corgan johnat...@corganlabs.com wrote: On 07/15/2013 07:01 PM, Andrew Davis wrote: After this stuff and the reorganization a simple diff would not have saved much, also i'm working on 'atsc_tx.py',so 'all_atsc.py' would be confusing, hence the name change. First, let me say that I'm very happy this code is getting some attention. It was originally written to use the low-IF output of a TV tuner and ADC, and also when GNU Radio only had a single-threaded scheduler. Later, it was only minimally modified to use the USRP complex baseband IQ output. (I wasn't around GNU Radio at the time and the above is only what I surmise by looking at the code history.) The changes you describe are more like it would have been written had the USRP existed at the time. The all_atsc.py file was a work-in-progress effort by Ben Reynwar that I merged in, but he and I never finished what we were going to do with it. Also the other scripts seem unnecessary with the new thread-per-block sceduler, the also seem to cause a lot of beginners confusion. So I felt they needed to go. Agree. I have also built a ( semi ) working complex fpll for gr-atsc, this removes the need for up-converting and the filtering after the current fpll, my next atsc_rx will need the new script style. After I finish updating the bit timing loop we will be almost real time I believe! The upconversion and filtering is a large CPU waste when it could be done at baseband, but it seems this was just a quick-and-dirty way to get the baseband IQ from a USRP to look like a low-IF output instead in order to re-use what was already written and working. Real-time execution would be a welcome accomplishment! P.S. I could still just do the diff to the old all_atsc.py and rename if you want. No need. By the way, before any of this can be merged, we'll need a copyright assignment from you. I'll email you off-list about how this works. Thanks again for working on this. -- Johnathan Corgan Corgan Labs - SDR Training and Development Services http://corganlabs.com ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio -- M. Ranganathan ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] ATSC fixups
On Sun, Jul 14, 2013 at 12:03 PM, Andrew Davis glneolistm...@gmail.comwrote: I have been working on getting gr-atsc running again, I have found a few speedups and some bugs that prevented ATSC decoding from working with new versions of GNURadio. I have put these fixes into a branch that can now decode signals from my local TV station. The changes are in commit in this branch: https://github.com/glneo/gnuradio/tree/atscfixup Andrew, can you detail the difference in implementation between the atsc_rx.py file you added and the all_atsc.py file that was there already? -- Johnathan Corgan Corgan Labs - SDR Training and Development Services http://corganlabs.com ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] ATSC fixups
Sure: - first the description is correct and not just copied from interp_short.py - removed the writing to 'atsc_complex.data' as this uses a lot of space and seems to have no meaning outside of debugging - I use interleave_short_to_complex instead of s2s - s2f - f2c chain - lp_coeffs and duc_coeffs uses input_rate instead of just the number, should make changing it easier - lp_coeffs no longer arbitrarily adds 3 gain - duc now shifts the frequency in the correct direction - the root raised cosine filter taps no longer need to be heterodyned into place as I just use it at baseband - the root raised cosine filer gets used now ( for some reason it was not in the chain before and this was severely causing ISI ) - lower_edge and upper_edge seemed arbitrary and were not in the right spot anyway After this stuff and the reorganization a simple diff would not have saved much, also i'm working on 'atsc_tx.py',so 'all_atsc.py' would be confusing, hence the name change. Also the other scripts seem unnecessary with the new thread-per-block sceduler, the also seem to cause a lot of beginners confusion. So I felt they needed to go. I have also built a ( semi ) working complex fpll for gr-atsc, this removes the need for up-converting and the filtering after the current fpll, my next atsc_rx will need the new script style. After I finish updating the bit timing loop we will be almost real time I believe! P.S. I could still just do the diff to the old all_atsc.py and rename if you want. Thank you Andrew On Mon, Jul 15, 2013 at 6:52 PM, Johnathan Corgan johnat...@corganlabs.comwrote: On Sun, Jul 14, 2013 at 12:03 PM, Andrew Davis glneolistm...@gmail.comwrote: I have been working on getting gr-atsc running again, I have found a few speedups and some bugs that prevented ATSC decoding from working with new versions of GNURadio. I have put these fixes into a branch that can now decode signals from my local TV station. The changes are in commit in this branch: https://github.com/glneo/gnuradio/tree/atscfixup Andrew, can you detail the difference in implementation between the atsc_rx.py file you added and the all_atsc.py file that was there already? -- Johnathan Corgan Corgan Labs - SDR Training and Development Services http://corganlabs.com ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] ATSC fixups
On 07/15/2013 07:01 PM, Andrew Davis wrote: After this stuff and the reorganization a simple diff would not have saved much, also i'm working on 'atsc_tx.py',so 'all_atsc.py' would be confusing, hence the name change. First, let me say that I'm very happy this code is getting some attention. It was originally written to use the low-IF output of a TV tuner and ADC, and also when GNU Radio only had a single-threaded scheduler. Later, it was only minimally modified to use the USRP complex baseband IQ output. (I wasn't around GNU Radio at the time and the above is only what I surmise by looking at the code history.) The changes you describe are more like it would have been written had the USRP existed at the time. The all_atsc.py file was a work-in-progress effort by Ben Reynwar that I merged in, but he and I never finished what we were going to do with it. Also the other scripts seem unnecessary with the new thread-per-block sceduler, the also seem to cause a lot of beginners confusion. So I felt they needed to go. Agree. I have also built a ( semi ) working complex fpll for gr-atsc, this removes the need for up-converting and the filtering after the current fpll, my next atsc_rx will need the new script style. After I finish updating the bit timing loop we will be almost real time I believe! The upconversion and filtering is a large CPU waste when it could be done at baseband, but it seems this was just a quick-and-dirty way to get the baseband IQ from a USRP to look like a low-IF output instead in order to re-use what was already written and working. Real-time execution would be a welcome accomplishment! P.S. I could still just do the diff to the old all_atsc.py and rename if you want. No need. By the way, before any of this can be merged, we'll need a copyright assignment from you. I'll email you off-list about how this works. Thanks again for working on this. -- Johnathan Corgan Corgan Labs - SDR Training and Development Services http://corganlabs.com signature.asc Description: OpenPGP digital signature ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio