Effacer les filtres
Effacer les filtres

How can I send complex data using serial communication to an fpga?

6 vues (au cours des 30 derniers jours)
Pablo Medina
Pablo Medina le 15 Nov 2016
Commenté : Walter Roberson le 20 Nov 2016
I developed a UART system for a Virtex 5 Xilinx FPGA. It work fine but I only sent binary data. In the other hand, my main function gives me a complex data which I want to send using the uart unit.
%main function
function tx = main_fcn(rx)
rx = uart_rx();
%I receive binary data from my uart_rx
rx = [1 0 1 0 1 1 0 0]; %as example
%Then I modulate rx
x = qpsk(rx);
%x = 1 + j; %as example
Xt = ifft(x); %then I calculate de IFFT of x
%I want to send Xt = a + bj to my uart_tx
tx = uart_tx(Xt);
the problem is that I need to send indiviual bits to my uart_tx (8-databits) but I have a complex number.
So my question is how I can covert the Xt complex number into binary data to sent it to the computer using my uart unit.

Réponse acceptée

Walter Roberson
Walter Roberson le 15 Nov 2016
Pull apart the number using real() and imag() and send the pieces .
  3 commentaires
Walter Roberson
Walter Roberson le 20 Nov 2016
There are many ways to convert floating point to binary.
Since you are using FPGA you should be using the fixed point toolbox. The fixed point toolbox offers a method to extract the bit sequence of the representation. Look at the properties and methods of fixed point objects.
Walter Roberson
Walter Roberson le 20 Nov 2016
For any given fi, say A, you can
bin(A) - '0'
to get the bit values. If you follow RS232 protocol, you need to transmit the least significant bit first, which would be right to left in the order you get from bin()
The start bits and stop bits are constants, logical 0 (positive voltage) for the start bit, and logical 1 (negative voltage) for the stop bit; https://wcscnet.com/tutorials/introduction-to-rs232-serial-communication/

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by