Jagged Data


#1

Hi,

I’m trying to use a USRP to decode a CPFSK signal at 980MHz and 1Mb/s.
The decoder successfully detects the sync pattern, but only about once a
minute when the pattern is transmitted once a second. And when the
decoder does detect the sync pattern, the data following the pattern is
incorrect. I think the issue may be that the sample rate is too low.
When I record the raw signal data to my hard drive, graph it with
Matlab, and zoom way in, it’s very jagged and I can’t see the uniform
changes in frequency I would expect with CPFSK. Clearly there is some
data there since my code detects the sync pattern once in awhile, but I
feel like I may be right on the edge of the minimum sampling rate. When
I tell the USRP to sample at 4MHz, I do get periodic overflow errors and
when I sample at 2MHz I don’t, but obviously that’s only 2 samples per
bit.

What I don’t understand is how if the USRP is capable of recording an
HDTV signal, which has a bitrate well about 1MB/s, why I can’t seem to
get a sample rate fast enough for my slower signal. Can anyone tell me
what I’m doing wrong? Maybe it’s not sample rate, but something else?
If so, why is the data so jagged?

Thanks,
Andrew


#2

On Sun, Mar 29, 2009 at 11:17 AM, Andrew B. removed_email_address@domain.invalid
wrote:

the sync pattern once in awhile, but I feel like I may be right on the edge
of the minimum sampling rate. When I tell the USRP to sample at 4MHz, I do
get periodic overflow errors and when I sample at 2MHz I don’t, but
obviously that’s only 2 samples per bit.

What I don’t understand is how if the USRP is capable of recording an HDTV
signal, which has a bitrate well about 1MB/s, why I can’t seem to get a
sample rate fast enough for my slower signal. Can anyone tell me what I’m
doing wrong? Maybe it’s not sample rate, but something else? If so, why is
the data so jagged?

I am pretty sure the ATSC processing is done after the fact and
definitely not in real-time.

You may want to try something similar. Capture samples to a file
first and process the data. Once you’re happy with the result,
profile the code to see where the bottlenecks are in the processing
chain.

The data being “jagged” might just be due to the low sample/symbol rate.

Hope this helps, and good luck!

Brian


#3

Thanks for the response Brian. What you described is actually what I’m
currently doing: recording raw data to the hard drive and then
processing it later. The raw data that I recorded is jagged. That’s
what I can’t figure out. If the USRP can record HDTV data, what am I
doing wrong that I can’t record my slower signal smoothly?

Brian P. said the following on 3/29/2009 1:06 PM:


#4

On Sun, Mar 29, 2009 at 1:46 PM, Andrew B. removed_email_address@domain.invalid
wrote:

Thanks for the response Brian. What you described is actually what I’m
currently doing: recording raw data to the hard drive and then processing it
later. The raw data that I recorded is jagged. That’s what I can’t figure
out. If the USRP can record HDTV data, what am I doing wrong that I can’t
record my slower signal smoothly?

That’s interesting. I am surprised you can’t get 4Msps complex
without overflowing. You may want to debug that first. Sorry I don’t
have more insight.

Brian