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_symbol*s, 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 olivier.goyett...@gmail.com
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio