discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] CPFSK mod/demod + strange behavior


From: Olivier Goyette
Subject: [Discuss-gnuradio] CPFSK mod/demod + strange behavior
Date: Wed, 8 Jun 2016 08:59:26 -0400

Hello dear community !

I'm actually trying to develop an application with GRC that does CPFSK mod/demod but I haven't got some satisfying results yet and I hope you will be able to get me back in the right way.

The flowgraph i've made (https://www.dropbox.com/s/6vuyleerbwl3df2/UAT.png?dl=0) is based upon the many forums (Gnu radio, stack overflow etc ) i've visited during the last 3 weeks. The blocks i've integrated are those who came back often in the discussions i've read and as far as i've been able to understand the theory, I think they are really necessary. You'll see that i'm using reed-solomon blocks, but i'm pretty sure they are no problem cuz i've tested them and they work :).

Now, I have many concerns and I will try to make them as clear as possible. For your information, let me show you what are my parameters :

sample_rate : 6.25M
baud_rate : 1.041667M
sample_per_symbols : 6
fsk_deviation_hz : 312.5K
center_freq : 978 MHz

1st concern : when I enable the rational resampler with Interpolation set to : baud_rate and Decimation set to : sample_rate, GRC seems to not execute the flowgraph at all as if the calculations were too big ?! Since sample_rate / baud_rate = sample_per_symbols, I tried to put Interpolation to 1 and Decimation to 6, but GRC freezes for about a minute after execution of the flowgraph. So, what should I do to keep my parameters valid if I really need to use a rational resampler block?

2nd concern : If you look at the other picture I included (https://www.dropbox.com/s/0lw4o0941kodj0o/20160607_144649.jpg?dl=0), it's the actual output of the CPFSK mod block that I captured on an oscilloscope. From what I've understand about FSK is that we should be seeing a change in frequency whether it's a binary '1' or a binary '0' we're transmitting. From what we see, it looks a lot more like an Amplitude Modulation or something like that. Do someone has an explanation about that? Have you ever look at CPFSK with an oscilloscope ? Have you seen the same thing ? In this application, the fsk_deviation_hz shall be +312.5K for a '1' and -312.5K for a '0'. How may I be sure to respect this specification by using the CPFSK block ?

3rd concern : On every forum I've been, people have been using a "Frequency Xlating FIR filter" on Rx side. What is it used for ? I don't understand why we need to use this block. I must admit that Rx side is a bit of mystery for me right now as I've been working with GRC for only 4-5 weeks up until now. The other aspect of this block that confuses me is the filter taps we need to specify. I've specified a low pass filter tap for this block, but i'm not sure what parameters do I need to put in it and if I really need a "low-pass" tap?!

4th concern : Same as #3 but for the polyphase clock sync. I've understand with my readings that on the receiver side we need something to "lock-on" the carrier and that's why people have been using this block. The thing is that I don't understand any of the parameters we need to set except for samples/symbols hehe :). Again, I've seen people using Root Raised Cosine taps for this block, but what parameters would I need to set in order to fit with my application ?

5th concern : Should the sample_rate on Rx side be twice the sample_rate on Tx ? If I have 6.25M on Tx should I set it to 12.5M on Tx?

Thank you for your time and your support.

Olivier

P.S : I'll leave my personal e-mail address if someone would like to stay in touch and help me with it. It's sometime simpler than posting directly on the forum

address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]