Hi Olivier,

On 10.06.2016 03:06, Olivier Goyette wrote:
> Excuse me for not understanding everything, but there seem to be a
> lack of comprehension coming from me.
>
> 1- Where is your "625 kHz" coming from ?
2x312.5kHz, your FSK deviation, and what looks like to be about your
filter bandwidth!
>
> 2- The links I provided are only the reference where I took the
> information for trying to build things up. I didn't include the link
> where it specifies the RRC and I don't have it with me now.*I will
> feed it tomorrow*.
>
Thanks!
> 3rd and most IMPORTANT ! Keep in mind I've never touched an USRP in my
> life before nor do I have skills in digital radio design.
Yes, I try to keep that in mind and hence I tried to illustrate my
considerations :) Also, that's why I stress that you should first get
your simulation running. Real world radio is hard enough as is, and the
beauty of SDR really is that you can develop in simulation before you
bring it to the air.
> I know that it's a big project for someone as newbie as me, but we
> gotta learn somewhere.
I like that approach :)
> Now if you agree with me, instead of replying to numerous e-mails that
> in my opinion tend to give less useful info and more opinion on what's
> good or what's not good, would it be possible to start from the
> beginning with the parameters I have ? Does someone has ever done
> CPFSK and understands it ? I don't mean offense to anyone but people
> on forums tend to give more their opinion and it doesn't help me at
> all. I want to understand what's behind the wheel.
Huh, I wasn't aware of me being overly opinionated, aside from my
opinion whether you can call a single-sample FSK "FSK".
>
> USRP N210/WBX daughtercard
>
> baud rate = 1.041667 Mbps
> sample rate = 6.25 Msps
> sample/symbol for CPFSK mod = 6
> modulation index (k) = 0.6
> center frequency = 978MHz
> delta F for CPFSK = +- 312.5 kHz
> roll-off factor for the Root Raised Cosine filter = 0.5
>
The point is really that the RRC doesn't make sense after CPFSK,
mathematically (not an opinion).

To show that we really don't want to put you down or so, and don't act
based on opinion and preference, but math:

OK. Let's look at the spectrum of an FSK transmission like yours. Let's
first build a slightly simplified one, so that the math doesn't kill us.

So first of all, let's look at your data stream, and define it to be a
square wave (alternating -1, 1,-1,...) $s_{data}(t)$. Let us keep the
frequency of this signal a bit variable, first.

Let's now decompose that data stream into two other square waves:
$s_{H}(t)$, which is 1 whenever $s_{data}>0$, else 0, and
$s_{L}(t)$, which is 1 whenever $s_{data}<0$, else 0.
We immediately see that $s_{data} = s_{H}+(-1)s_{L}$.

Let's also define the two tones of your FSK as signals $c_{H} = e^{j2\pi
f_0 t}$  (H for "high") and $c_{L} = e^{-j2\pi f_0 t} =
\overline{c_{H}}$ (L for "low") simply the complex conjugate of $c_{H}$.

Since we know that $c_{H}$ will be sent exactly  when $s_{H}$ is "on",
and the same goes for the $c_{L}$ and $s_{L}$, we know that we can write
the FSK signal as:

$s_{FSK}(t) = s_{H}c_{H} + s_{L} c_{L}$.

So, what's the spectrum $S$ of this?

$S = \mathcal F\left\{ s_{FSK}\right\}(f) = \mathcal F\left\{ s_{H}c_{H}
+ s_{L} c_{L}\right\}$.

Since the Fourier Transform is linear:
$S=  \mathcal F\left\{ s_{H}c_{H}\right\} + \mathcal F\left\{ s_{L}
c_{L}\right\}$
Bear in mind that $s_{L} = 1-s_{H}$, so this reduces to
$S=  \mathcal F\left\{ s_{H}c_{H}\right\} + \mathcal F\left\{
\left(1-s_{H}\right) c_{L}\right\}$

So let's look at the first component: It's the Fourier Transform of a
product of two functions, and by the convolution/multiplication duality
for the Fourier Transform:

$S_{+1} = \mathcal F\left\{ s_{H}c_{H}\right\} = \mathcal F\left\{
s_{H}\right\}*\mathcal F\left\{c_{H}\right\}$, with $*$ being the
convolution operator.

$\mathcal F\left\{c_{H}\right\}$ is easy, it's a dirac at $\mathcal
F\left\{c_{H}\right\}=\delta_{f_0}$. That makes convolution a lot
easier, too – it reduces convolution to a frequency shift by $f_0$.
That leaves us with finding the Fourier Transform of our "positive bit
stream". That is just an offset, scaled standard square wave. I won't
derive that in completeness now, you can probably look up a good
derivation of it in every introduction to signals and systems, but put
it down how I memorized it. So what *is* the Fourier series that
describes a square wave like this one?

$s_H = \underbrace{\frac12}_\text{scaling}\cdot\underbrace{\frac4\pi
\sum\limits_{k=0}^\infty
\frac{\sin(2\pi(2k+1)f_{sq}t)}{2k+1}}_\text{standard square
wave}+\underbrace{\frac12}_\text{offset}$

So what you can see from this formula, or most importantly from the sum,
is that a square wave's spectrum consists of the spectral components at
every /odd/ (hence, the $2k+1$) multiple of the square wave  Not only
that, but the energy contained at that $(2k+1)$th harmonic just goes
down with $\frac1{2k+1}$, which means that if you low-pass filter early,
you lose *a lot* of the original signal's energy. Rule of thumb: To get
something that "visually" resembles a square wave, you need to keep the
DC, the first and third harmonic. Everything else will just look very
much like a somehow distorted sine. Usually, you'd try to keep at least
the fifth, too.

Now, the third harmonic of your $f_{sq}=\SI{1.041667}{\mega\hertz}$
signal is at 3.125 MHz. You have to shift that with your deviation
$f_0$, i.e. by 312.5 kHz, and you end up with the third harmonic of the
positive data wave at + 3.4375 MHz, and for symmetry reasons, the third
harmonic of your negative data wave is - 3.4375 MHz. Now, that leads to
a total bandwidth of $2\cdot 3.4375=6.875$ MHz.

Even your sampling rate is lower than that, so you're neglecting the
Nyquist/Shannon sampling theorem. And if you use a filter *after* the
FSK modulation, you will cut off even more of your signal, and that
means there's nothing you can do to recover it.

This, again, points to the fact that if you do any pulse shaping with a
RRC, you do it with the data signal, and hence filter $s_{data}$, not
$s_{FSK}$.

Best regards,

Marcus
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to