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

Attachment: 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

Reply via email to