VGAtoBaseband: Unterschied zwischen den Versionen
Siro (Diskussion | Beiträge) K (+svn link) |
Siro (Diskussion | Beiträge) K (+bandwidth) |
||
Zeile 32: | Zeile 32: | ||
== Software == | == Software == | ||
This software generates analog I/Q Signals that can be feed into a rf-modulator. | This software generates analog I/Q Signals that can be feed into a rf-modulator. | ||
The current version | The current version runs on any symbolrate, recommended are 5MSymbols/s or more.<br> | ||
You need to set the DAC clock to 7*''desired MSymbols per second'',because low pixel clocks might not work and high pixel clocks can be scaled down by using multiple pixel per Msymbol (here 7).<br>For 9.142 MSym/s set 64Mhz. | |||
To do so use xrandr:<br> | |||
*xrandr command here* | |||
A symbols contains an I and Q value. | |||
It is possible to use fragment shader to low-pass filter the signal, simply pass the -filter argument. | It is possible to use fragment shader to low-pass filter the signal, simply pass the -filter argument. | ||
The I/Q values are feed using a unix fifo / a file. 8 byte form two 32bit floats, that equals a complex number. | The I/Q values are feed using a unix fifo / a file. 8 byte form two 32bit floats, that equals a complex number. | ||
Zeile 38: | Zeile 43: | ||
The complex value is assigned to the RED and GREEN channel, while the BLUE channel is set to 0.5f. | The complex value is assigned to the RED and GREEN channel, while the BLUE channel is set to 0.5f. | ||
8bit and 10bit VGA Graphic cards are supported. | 8bit and 10bit VGA Graphic cards are supported. | ||
== Bandwidth == | |||
OFDM useful carriers to total carriers ratio: 1705 / 2048 = 0.832 | |||
{| {{Prettytable}} | |||
! DAC clock [Mhz]!! Msymbols/s!! carrier ratio !! Bandwidth | |||
|- | |||
|64 | |||
|9.14285 | |||
|0.832 | |||
|7.61 | |||
|- | |||
|56 | |||
|8.000 | |||
|0.832 | |||
|6.66 | |||
|- | |||
|48 | |||
|6.8571 | |||
|0.832 | |||
|5.71 | |||
|} | |||
== Libraries == | == Libraries == |
Version vom 19. Februar 2013, 13:13 Uhr
VGAtoBaseband Release status: experimental [box doku] | |
---|---|
Description | use the VGA port to generate I/Q baseband signals |
Author(s) | siro |
Last Version | 0.1 () |
Platform | Evil Hack |
License | GPL |
Download | [1] |
Requirements
- PC with VGA adapter
- OpenGL with Direct Redering
- Vsync enabled
- Software-defined Radio Transmitter that generates I/Q Signals
- GL_ARB_fragment_program to use the low-pass filter
- GL_ARB_pixel_buffer_object for efficient CPU to GPU transfers
Linux
- Mesa 9.0 (other drivers are untested)
- X-server
Windows
- Windows XP doesnt work
- other OS are untested
Software
This software generates analog I/Q Signals that can be feed into a rf-modulator.
The current version runs on any symbolrate, recommended are 5MSymbols/s or more.
You need to set the DAC clock to 7*desired MSymbols per second,because low pixel clocks might not work and high pixel clocks can be scaled down by using multiple pixel per Msymbol (here 7).
For 9.142 MSym/s set 64Mhz.
To do so use xrandr:
*xrandr command here*
A symbols contains an I and Q value. It is possible to use fragment shader to low-pass filter the signal, simply pass the -filter argument. The I/Q values are feed using a unix fifo / a file. 8 byte form two 32bit floats, that equals a complex number. The values have to be between 0.0f and 1.0f. The complex value is assigned to the RED and GREEN channel, while the BLUE channel is set to 0.5f. 8bit and 10bit VGA Graphic cards are supported.
Bandwidth
OFDM useful carriers to total carriers ratio: 1705 / 2048 = 0.832
DAC clock [Mhz] | Msymbols/s | carrier ratio | Bandwidth |
---|---|---|---|
64 | 9.14285 | 0.832 | 7.61 |
56 | 8.000 | 0.832 | 6.66 |
48 | 6.8571 | 0.832 | 5.71 |
Libraries
- freeglut3-dev
- libglu1-mesa-dev
- libgl1-mesa-dev