Thank you Tom, I will adjust the decimation and then take a look at your other suggestion. I’ll keep you posted as to how it goes. At least I feel that I am on the right track now!
Kevin > On Nov 7, 2015, at 11:02 AM, Tom Rondeau <t...@trondeau.com> wrote: > > > > On Sat, Nov 7, 2015 at 12:40 AM, Kevin McQuiggin <mcqui...@sfu.ca > <mailto:mcqui...@sfu.ca>> wrote: > Hi All: > > I hope that this is not too simple a question for the group. I have spent > several weeks working on this issue (reading, studying, experimenting), and > as success is still elusive, it is time to ask for assistance. Thanks in > advance for any assistance you may be able to give. > > This post is kind of long, but I am trying to provide thorough and complete > information! > > > Goal: > > My goal is data recovery and then decoding of RDS/RBDS 57 KHz sub carrier > signals in the FM broadcast band. This is a learning exercise - I know of > gr-rds; redsea, etc, but I want to accomplish this myself! I’m not > interested in downloading and running a working package! I have used redsea > for testing, but I want to learn the process and reach this goal this myself. > > My post is specifically related to problems with the 57 KHz sub carrier > recovery, and PSK demodulation of that signal. See below. > > > System and Other Relevant Data: > > USRP B200, good antenna > Ubuntu 14.04 > Gnuradio 3.7.8 > Year-old i5-based system, 32 GB RAM, USB 3.0 working. Gnuradio and the > USRP work well in all other respects. I have several other analog receivers > working. > “Redsea” works well on RDS recovery with an RTL dongle on the same > antenna, so it is not a reception problem. > I have read the RDBS specs front to back > > > Project Components: > > There are two components to this project: the signal recovery and > demodulation; and the post-processing to recover the RDS/RBDS blocks and > groups from the demodulated data. I am not interested at this time in > processing the RDS data in real time. I want to pack demod data bits and > send them to a file sink. Then I have written a C program that will read the > data file and recover the RDS blocks and groups in a post-processing fashion. > At least in theory! I need valid demod data first. > > I have verified that the bit packing in my flowgraph, i.e. the LSB/MSB > ordering of the individual demod bits is working appropriately. My C program > has also been pretty thoroughly tested. If I can get valid data into it, I > am pretty sure that it will recover RDS blocks and groups. > > > The Problem: > > On the recovery/demodulation side, I am having problems in recovering the > BPSK sub carrier and doing the demodulation. I will present my flowgraph > below. > > > Summary of Flowgraph: > > I use a USRP source tuned to a known-good RDS station at 93.7 MHz. I use a > low pass filter to isolate 200 KHz, then pass the signal through the WBFM > receiver. At one point I added a frequency sink here and could see the 57 > KHz sub carrier clearly. > > The output of the demodulator goes to a frequency translating FIR filter > centred at 57 KHz with a bandwidth of ~2.6 KHz. This signal goes into the > PSK demodulator, set with what seems to be appropriate parameters - this is > my main area of concern! > > The RDS data stream runs at 1187.5 bps. In the PSK demod block I compute > “samples per signal” by dividing my samp_rate by the decimation of the FIR > xlating filter (20), then further dividing by 1187.5 and casting to int, for > a figure of 20 samples per symbol. > > Bits (one per byte) coming out of the demod are packed in a LSB manner and > then go into a file sink. > > I have tried several approaches to the demodulation (PFB, MPSK, PSK Demod, > RRC filter, Costas Loop, CMA equalizer, etc) and through the use of > constellation sinks I can see that in several iterations I have achieved a > fairly good, stable 2-point constellation. The guided tutorials and several > other sources, including some videos on YouTube have been very helpful, but > valid bits are eluding me. > > > Generally, you don't want to be handling 20 sps, and some of the blocks can > fall apart over that number. You really want to knock your bandwidth down to > 2 samples/symbol, which you can do in the frequency translating filter that's > already decimating some. > > If this works, you might then want to look at the performance of the blocks > in your flowgraph to see if you'd be better off with a multistage down > conversion system. > > Tom
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio