Giter VIP home page Giter VIP logo

Comments (10)

spaivaras avatar spaivaras commented on July 16, 2024

Specs:
Raspberry Pi 2 B
Distro Minibian (jessie)
compiled from master

from rpitx.

F5OEO avatar F5OEO commented on July 16, 2024

The IQFLOAT type is float : be sure to not have a double float output from gnuradio.
As IQ is convert to phase/frequency, value around zero are subject to round errors. That's why you should shift the signal.
Agree, IQFloat is not well documented : TODO !

from rpitx.

ha7ilm avatar ha7ilm commented on July 16, 2024

IQFLOAT means 32 bit interleaved floats, like:

I(4 bytes) Q(4bytes) I(4 bytes) Q(4bytes) I(4 bytes) Q(4bytes) I(4 bytes) Q(4bytes) ...

Endianness depends on the system, it should be LE on both an RPi and a PC.

Also the signal should have the maximum amplitude possible (I mean that you should set the gain correctly in the appropriate GNU Radio blocks), but it should never exceed the [-1.0, 1.0] range. This is the line in the code where the data is converted to 16 bit signed imtegers:

https://github.com/F5OEO/rpitx/blob/master/src/RpiTx.c#L1308

However, if you want to generate an FSK or an FM signal, I suggest that you should always use rpitx in RF mode. Then the PWM will not be used and the signal will be cleaner.

@F5OEO Evariste, are these correct?

from rpitx.

F5OEO avatar F5OEO commented on July 16, 2024

Yes , thx Andras for these nices explanations. Have some good news : works
on pizero and now surely on rpi3 ! Could go also upper in frequency .

2016-08-24 15:51 GMT+02:00 András Retzler [email protected]:

IQFLOAT means 32 bit interleaved floats, like:

I(4 bytes) Q(4bytes) I(4 bytes) Q(4bytes) I(4 bytes) Q(4bytes) I(4 bytes) Q(4bytes) ...

Endianness depends on the system, it should be LE on both an RPi and a PC.

Also the signal should have the maximum amplitude possible (I mean that
you should set the gain correctly in the appropriate GNU Radio blocks), but
it should never exceed the [-1.0, -1.0] range. This is the line in the code
where the data is converted to 16 bit signed imtegers:

https://github.com/F5OEO/rpitx/blob/master/src/RpiTx.c#L1308

However, if you want to generate an FSK or an FM signal, I suggest that
you should always use rpitx in RF mode. Then the PWM will not be used and
the signal will be cleaner.

@F5OEO https://github.com/F5OEO Evariste, are these correct?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#31 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AF53Rl-1L-kiH7L0SKvVT3ttt0ThM6Rrks5qjExYgaJpZM4JrTw3
.

from rpitx.

ha7ilm avatar ha7ilm commented on July 16, 2024

works on pizero and now surely on rpi3 ! Could go also upper in frequency .

Great!

from rpitx.

spaivaras avatar spaivaras commented on July 16, 2024

Thank you for the explanation, its exactly what I thought and what GNURadio complex type actually is, 2 floats each 32bits (no doubles). I am probably missing a single gear somewhere in my approach :) as it seems no one else had issues with IQFLOAT. I will poke more around with simple sine waves to get a better idea what actually happens

from rpitx.

F5OEO avatar F5OEO commented on July 16, 2024

@spaivaras Do you succeed in using IQFLOAT with gnuradio ?

from rpitx.

spaivaras avatar spaivaras commented on July 16, 2024

@F5OEO Nop, Tried everything, pass data thru network, read it directly from file. Lower sampling rates, higher sample rates, gains, swapping I and Q data, shifting from center. The signal always seems very distorted (like 2 carrier frequencies). Checked the data that is coming thru, everything seems fine with setup. RF modes works quite well, just can't generate a RDS signal with RF mode. I can even use IQ demodulation in gnu radio itself and pass resulting floats via csdr with convert_f_samplerf and a constant for timing. And it works. But no success with IQFLOAT. In any case I think this can be closed, as no one else seems to have any issues (or just didn't try it). I will sniff in code at some point, if I find something I will create a PR :)

from rpitx.

F5OEO avatar F5OEO commented on July 16, 2024

Have to check this IQLOAT issue coming from external tool like gnuradio. Can you send me an example of file with IQFLOAT which is distorded to inspect and reproduce here ?

from rpitx.

spaivaras avatar spaivaras commented on July 16, 2024

Sure, I generated 3 files, which can be played with no problem in GQRX or other sdr software
https://www.dropbox.com/sh/37bybfdsh2xa688/AACyNhk-O1mO6X_7rdfp-7zba?dl=0
File names say, what settings they have

from rpitx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.