Improved the pnac ofdm sync block. This is based on a VTC'99 paper by Tufvesson, et al. that does a bit more work than the Schmidl and Cox to produce a more identifiable peak for the timing. This seems to work well in the simulation for low frequency errors. The correlation doesn't seem to track well, though. See the comments for more info. Also, the peak detection requires unity amplitude for the threshold detection. So, who wants to make an OFDM AGC?...
to complete what I started, this makes the ofdm_sync_fixed block work again in the OFDM receiver. Its only used for testing in the simulation mode if you want to remove any affects of the synchronization blocks. You have to manually edit the number of symbols and any fractional frequency offset you might want to use....
The ofdm_sync_pnac method now works, though not that well. The frequency estimation is horrible and it still has some problems that may be a fundamental issue with the idea. I need to get the paper this was based off of to review it.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@8212 221aa14e-8319-0410-a670-987f0aec2ac5
Fixed to pass distcheck, except QA test operates differently during distcheck vs. command-line, so commented out for now.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@8207 221aa14e-8319-0410-a670-987f0aec2ac5
Merged r8195:8205 from jcorgan/ecc into trunk. Adds convolutional encoderand decoder corresponding to the R=1/2, K=7 CCSDS standard ("Voyager").
This code is a GNU Radio wrapper around a 1995-era KA9Q portable-Cimplementation, and is designed for continuous streaming data, not packets....
Mostly fixed the van de Beek ML synchronization scheme. Instead of using the CP timing signal, it correlates against the known preamble just to send along the timing trigger. This works nicely and keeps the frequency more constant in the receiver since it updates the estimate every received symbol. Read the comments inside to see why it's 'mostly fixed' -- this was mostly proving a point for myself today....
Adjusting structure a bit to redistribute responsibilities. This does not change the behavior or performance at all. The sync. block only calculates the frequency and timing signals and now outputs the fine frequency adjustment signal from output 0 and the timing signal for the start of the packet from output 1....
Fix typo in previous check-in
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@8194 221aa14e-8319-0410-a670-987f0aec2ac5
Addes gr.cpfsk_bc(), a continuous phase frequency shift keying modulator block.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@8193 221aa14e-8319-0410-a670-987f0aec2ac5
Adds gru.daemonize() and example application. Simplifies running GNU Radio applications as background daemon processes instead of foreground applications.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@8191 221aa14e-8319-0410-a670-987f0aec2ac5
Also available in: