FSK with RFX2400

Hi everyone,

I am trying to implement simple FSK system with USRP and I am using two
USRP’s each with one RFX2400 daughter card. I have tried fsx_tx.py and
fsk_rx.py which are available in gnuradio_examples folder. after using
tune
to set the proper ferquency I was able to run transmitter and receiver
sussfully. I didnt change anything else in the example. The problem is
data
which I receive is too much corrupt (lot of data errors). Can any one
suggest what can be the errors or problems and what can I do to get
correct
data.

Secondally how can I remove the ISM bandpass filter which is by default
there with RFX2400.

I am thankful in advance.

Kaleem Ahmad

View this message in context:
http://www.nabble.com/FSK-with-RFX2400-tp18587205p18587205.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Secondally how can I remove the ISM bandpass filter which is by default
there with RFX2400.

You have to de-solder it. Optionally (in case you don’t want to remove
the part, since it will be difficult to reinstall it), you could
install a jumper (zero-ohm resistor) or (better) a small 10pF
capacitor in parallel (there is a pad), but this may cause some weird
side-effects if you use the USRP in the ISM band after installation.

Cheers,
-Jonathan

Jonathan F. wrote:

You need to put a cap of between 25 and 500 pF in that location, AND you
need to cut the traces which go to the filter. If you don’t you will
get weird resonances.

Matt

Quoting kaleem ahmad [email protected]:

Dear All,

Can anyone also address the first part of my question aslo, I mean how to
improve the quality of received data. I mean is it normal with GNU
Radio/USRP that we receive so currupt data or I am doing something wrong.
Any suggestion please…???

Thanks

Oh, where to begin…

Look, there are so many possible reasons for errors that it’s impossible
to help
you out when you just ask where they are coming from. Corruption of bits
is what
radio channels do best.

Tom

Dear All,

Can anyone also address the first part of my question aslo, I mean how
to
improve the quality of received data. I mean is it normal with GNU
Radio/USRP that we receive so currupt data or I am doing something
wrong.
Any suggestion please…???

Thanks

Matt E. wrote:

side-effects if you use the USRP in the ISM band after installation.


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


View this message in context:
http://www.nabble.com/FSK-with-RFX2400-tp18587205p18607143.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Hi,

You can find attached the code for transmit and receive sides, and the
file
which I am sending (send.txt) and one which I am receiving (rcv.txt).
You
can see that nearly 80%-90% received data is corrupt. I am receiving
around
50dBm at receiver antenna, and I have tried with both stations at less
than
1 meter. so transmission power can not be the problem. There is nearly
zero
interference where I am checking it so interference cant be the problem.

If you have two USRP boards and two RFX2400 daughter cards then you can
try
these codes (fsk_tx.py and fsk_rx.py) using:

./fsk_tx.py send.txt for transmitter
./fsk_tx.py -f rcv.txt for receiver (But dont forget to empty rcv.txt
before
running this)

I’ll be thankfull if you can point out the reason.

Thanks

trondeau wrote:

Tom


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page

http://www.nabble.com/file/p18611348/fsk_rx.py fsk_rx.py
http://www.nabble.com/file/p18611348/fsk_tx.py fsk_tx.py
http://www.nabble.com/file/p18611348/rcv.txt rcv.txt
http://www.nabble.com/file/p18611348/send.txt send.txt

View this message in context:
http://www.nabble.com/FSK-with-RFX2400-tp18587205p18611348.html
Sent from the GnuRadio mailing list archive at Nabble.com.

I have just provided the information which can be helpful for you, and
the
code is also attached with it and a sample received file is also there
along
with actual sent file.

Please just scroll up and you will find my message with all this
information. Additionally OS is ‘openSUSI’ a favour of Linux. But if you
still need some more info then please let me know.

Thaks

Patrick S. wrote:

Radio, hardware setup, used parts (cable, antennas), environment.


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


View this message in context:
http://www.nabble.com/FSK-with-RFX2400-tp18587205p18611871.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Hello Kaleem!

kaleem ahmad wrote am 2008-07-23 15:58:

If you have two USRP boards and two RFX2400 daughter cards then you can try
these codes (fsk_tx.py and fsk_rx.py) using:

Which version of GNU Radio are you using?
Which cable/antenna setup do you use?

You are hard coding your frequency. You could extend the options to set
the frequency with a parameter to get more flexibility.

Moreover with two USRP you are probably not exactly at the same
frequency. Read
[email protected] [1]:
--------8<----------
The 64MHz oscillator on the board has a maximum 50PPM error. This
gives an error of up to 3200Hz.
--------8<----------

You can watch the sender (and find the apparent receiver frequency) with
usrp_fft.py (from gr-utils) .

You could try it first with a lower frequency. Start with a Basic{RX,TX}
if you have, this results in less error. If you really need to use
2.6GHz, you will have to find and lock your signal before you will be
able to get good transmissions.

Patrick

[1] http://permalink.gmane.org/gmane.comp.gnu.radio.general/11044

Engineers motto: cheap, good, fast: choose any two
Patrick S.
Student of Telematik, Techn. University Graz, Austria

kaleem ahmad wrote am 2008-07-23 11:38:

Dear All,

Can anyone also address the first part of my question aslo, I mean how to
improve the quality of received data. I mean is it normal with GNU
Radio/USRP that we receive so currupt data or I am doing something wrong.
Any suggestion please

Before you wrote

after using tune
to set the proper ferquency I was able to run transmitter and receiver
sussfully. I didnt change anything else in the example.
The problem is data
which I receive is too much corrupt (lot of data errors)…

Your description is not very exact. You could help us to help you with
more information:

What is your setup? OS, distribution, used version of packages, GNU
Radio, hardware setup, used parts (cable, antennas), environment.
What do you do? Which code do you use?
What did you change?
What did you get? Error messages? (add exact transcripts of errors)
What did you expect?
Please provide exact information, code should be attached. If you
changed something, mark the changes so helpers will find it easier.

If you have recorded samples of a good and bad transmissions, send us a
representative part of it. If you need to show more than a hand full of
kilobytes, put them on a web server or ftp server and provide a link.

Are you sure to have read the FAQ and introducing documentation?

Patrick

Engineers motto: cheap, good, fast: choose any two
Patrick S.
Student of Telematik, Techn. University Graz, Austria

kaleem ahmad wrote am 2008-07-23 16:23:

I have just provided the information which can be helpful for you

Seen it, just after I pressed the send button.

Race condition :wink:

Patrick

Engineers motto: cheap, good, fast: choose any two
Patrick S.
Student of Telematik, Techn. University Graz, Austria

Hi Kaleem,

Each USRP has its on reference crystal oscillator. This oscillator may
have maximum +/- 50 PPM ( Matt said the new USRPs has maximum 20 PPM)
frequency error. Lets assume the error is 10 PPM in each USRP. This
means, that at 2500 MHz (2.5 GHz) the error = 2500 * 10 = 25000 Hz =
25KHz.

Now imagine that the first USRP has +25 KHz frequency deviation error
and the second one has - 25KHz frequency error. This means + 50 KHz
frequency mismtch between your TX and Rx Frequencies. This is probably
what is causing this high error rate that you see.

To solve this problem you simply do :

  1. Use usrp_siggen.py to send single tone at F1 frequency (For example,
    use F1 = 2475 MHz) from your TX USRP. The best thing is F1 be the
    frequency used in your FSK experiments.

  2. With your RX USRP, start usrp_fft.py with frequency F1 and
    decimation= 128 (or 256). You should see your transmitted tone but may
    be it’s frequency is shifted. Calculate this frequency shift.

  3. Add/subtract this frequency shift to your RX USRP frequency tunning
    function.

  4. Now your two USRPs frequency mismatch should not be the problem. If
    the errors is still there, then you have to search for another reason.

Regards,

Firas

— On Wed, 7/23/08, kaleem ahmad [email protected] wrote:
From: kaleem ahmad [email protected]
Subject: Re: [Discuss-gnuradio] FSK with RFX2400
To: [email protected]
Date: Wednesday, July 23, 2008, 5:23 PM

I have just provided the information which can be helpful for you, and
the
code is also attached with it and a sample received file is also there
along
with actual sent file.

Please just scroll up and you will find my message with all this
information. Additionally OS is ‘openSUSI’ a favour of Linux. But if
you
still need some more info then please let me know.

Thaks

Patrick S. wrote:

kaleem ahmad wrote am 2008-07-23 11:38:

Dear All,

Can anyone also address the first part of my question aslo, I mean how
to
improve the quality of received data. I mean is it normal with GNU
Radio/USRP that we receive so currupt data or I am doing something
wrong.
Your description is not very exact. You could help us to help you with

Student of Telematik, Techn. University Graz, Austria


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


View this message in context:
http://www.nabble.com/FSK-with-RFX2400-tp18587205p18611871.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Hi,

Can some one explain in a little bit detail about where is the clock or
oscillator (on daughter board or on mother board) and how much is its
resulution for RFX2400 daughter board.

I tried to solve the problem of frequency mismatching by calculating the
frequency shift at receiver end by using usrp_fft.py and then by
adding/subtracting that frequency from RX USRP frequency as explained by
Firas and Patrick. But it dont solve the problem although it improves
the
quality of data but because of this effort at least I understand that
the
problem is really some where because of frequency mismatching.

So it will be helpful for me if some one either give some good document
of
USRP explaining clock/oscillator or just explaing the fuctionality of it
by
him/her self.

Thanks

Firas A. wrote:

mismtch between your TX and Rx Frequencies. This is probably what is
frequency is shifted. Calculate this frequency shift.

along

Any suggestion please
more information:
If you have recorded samples of a good and bad transmissions, send us a

View this message in context:
Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


View this message in context:
http://www.nabble.com/FSK-with-RFX2400-tp18587205p18632632.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Hi,

  1. See :
    http://gnuradio.org/trac/wiki/UsrpFAQ
    http://gnuradio.org/trac/wiki/UsrpFAQ/Clocking
    http://gnuradio.org/trac/wiki/UsrpFAQ/Gen

  2. To make nearly 0 Hz frequency shift between your TX and RX you have
    to use a third device Spectrum analyzer or third USRP (no need to warry
    about its calibration since the error will be the same for both) as
    follows:

a) Start transmitting single tone from TX USRP (using usrp_siggen.py)

b) Observe and record spectrum analyzer received tone frequency.

c) Stop TX USRP.

d) Start transmitting single tone from your RX USRP (using
usrp_siggen.py).

e) Observe spectrum analyzer received tone frequency. Adjust your
transmitting frequency from your RX USRP until you get exactly the same
value found in step-b

  1. I appolagize about my previous post so many spelling errors!.

Regards to all,

Firas

— On Thu, 7/24/08, kaleem ahmad [email protected] wrote:
From: kaleem ahmad [email protected]
Subject: Re: [Discuss-gnuradio] FSK with RFX2400
To: [email protected]
Date: Thursday, July 24, 2008, 5:07 PM

Hi,

Can some one explain in a little bit detail about where is the clock or
oscillator (on daughter board or on mother board) and how much is its
resulution for RFX2400 daughter board.

I tried to solve the problem of frequency mismatching by calculating the
frequency shift at receiver end by using usrp_fft.py and then by
adding/subtracting that frequency from RX USRP frequency as explained by
Firas and Patrick. But it dont solve the problem although it improves
the
quality of data but because of this effort at least I understand that
the
problem is really some where because of frequency mismatching.

So it will be helpful for me if some one either give some good document
of
USRP explaining clock/oscillator or just explaing the fuctionality of it
by
him/her self.

Thanks

Firas A. wrote:

mismtch between your TX and Rx Frequencies. This is probably what is
frequency is shifted. Calculate this frequency shift.

along
with actual sent file.

Please just scroll up and you will find my message with all this
information. Additionally OS is ‘openSUSI’ a favour of Linux. But
if

Dear All,

Can anyone also address the first part of my question aslo, I mean
how
to
improve the quality of received data. I mean is it normal with GNU
Radio/USRP that we receive so currupt data or I am doing something
wrong.
Any suggestion please

Before you wrote

after using tune
to set the proper ferquency I was able to run transmitter and
receiver
sussfully. I didnt change anything else in the example.
The problem is data
which I receive is too much corrupt (lot of data errors)…

Your description is not very exact. You could help us to help you with

If you have recorded samples of a good and bad transmissions, send us
a
representative part of it. If you need to show more than a hand full
of
kilobytes, put them on a web server or ftp server and provide a link.

Are you sure to have read the FAQ and introducing documentation?

Patrick

Engineers motto: cheap, good, fast: choose any two
Patrick S.

Discuss-gnuradio Info Page


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


View this message in context:
http://www.nabble.com/FSK-with-RFX2400-tp18587205p18632632.html
Sent from the GnuRadio mailing list archive at Nabble.com.

I am facing another problem in (fsk_tx.py, fsk_rx.py) , At receive end
it do
not always write the received data to file. Although it always receive
signal which I can see from fft window and received ‘seqno’ are also
printed
on command prompt but when I check the received file I find it empty.

What can be the problem…???

Kaleem Ahmad

Firas A. wrote:

use a third device Spectrum analyzer or third USRP (no need to warry about

Firas
Can some one explain in a little bit detail about where is the clock or
So it will be helpful for me if some one either give some good document of

Hi Kaleem,
causing this high error rate that you see.

code is also attached with it and a sample received file is also there

improve the quality of received data. I mean is it normal with GNU
The problem is data
What did you get? Error messages? (add exact transcripts of errors)
Are you sure to have read the FAQ and introducing documentation?


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


View this message in context:
http://www.nabble.com/FSK-with-RFX2400-tp18587205p18652907.html
Sent from the GnuRadio mailing list archive at Nabble.com.