cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
evgenia89
Participant
Participant
6,817 Views
Registered: ‎02-06-2012

Data type of the signal

Jump to solution

Hello,

 

I am trying to modify a reference design for Virtex-6 DSP Kit. I want to insert a Simulink model to the project and I need to indicate the data type and the binary point position for GatewayIn in the model. How can I know which data type with binary point position the signal which I am connecting to the GatewayIn has?

Also I am going to catch the data in HyperTerminal before sending them to DUC_DDC ports IF_IN_I(15:0) and IF_IN_Q(15:0). I user UART-macros and I can tranfer 8 bits every time. How should I combine the i and q 16-bit signals to get the whole 32-bit signal in the end?

 

Thanks in advance!

Evgenia.

0 Kudos
1 Solution

Accepted Solutions
vlavruhin
Explorer
Explorer
7,593 Views
Registered: ‎12-08-2010

The UART can process only 8 bits every cycle, so I need to divide the 32 bit of the signal to 4 parts: IF_IN_I(15 downto 8), IF_IN_I(7 downto 0),  IF_IN_Q(15 downto 8) and  IF_IN_Q(7 downto 0).

In which order can I read the signal to get in the computer the right 32-bit signal?


In same order they were sent. If you transmit first byte IF_IN_I(15 downto 8), second IF_IN_I(7 downto 0), third IF_IN_Q(15 downto 8) and fourth IF_IN_Q(7 downto 0), then in same order they will be received: first IF_IN_I(15 downto 8), second IF_IN_I(7 downto 0), third IF_IN_Q(15 downto 8) and fourth IF_IN_Q(7 downto 0).

Best Regards,
Vitaly.

View solution in original post

7 Replies
chrisar
Xilinx Employee
Xilinx Employee
6,810 Views
Registered: ‎08-01-2007

In hardware there is not such thing as a binary point.  The binary point is a conceptual idea that helps to understand how to interpret the data.

 

This is a fixed value that is determined as a setting in the gateway.  You should be able to solve this by using variables to define the gateway data width and binary point, and using those same variables where evern else you need to know the data width and binary point.

 

i.e.

  datawidth = 16

  binpt = 8

Chris
Versal ACAP: AI Engines | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
evgenia89
Participant
Participant
6,794 Views
Registered: ‎02-06-2012

Thank you for your answer.

Does it mean that I can put any position for the binary point in the Simulink model?

 

And what abut the second question about IF_IN_I(15:0) and IF_IN_Q(15:0) signals? I just don't know the format of the data for reading this with the help of UART.

 

Best regards,

Evgenia.

0 Kudos
vlavruhin
Explorer
Explorer
6,785 Views
Registered: ‎12-08-2010

Hello,


Does it mean that I can put any position for the binary point in the Simulink model?

As Chris have noticed, binary point is just 'imaginary' point that divides integer and fractional parts. It allows us to interpret the bits of number as fractional number. You can put it at any position, but you should understand in which numeric interval represented numbers are allowed to be. Some System Generator blocks expect it at certain position (for example, DDS block).


And what abut the second question about IF_IN_I(15:0) and IF_IN_Q(15:0) signals? I just don't know the format of the data for reading this with the help of UART.

Could you elaborate on this? IF_IN_I and IF_IN_Q are 16-bits input intermediate frequency in-phase and quadrature signals. If you send 4 bytes in UART, then you can get 1 I/Q sample.

Best Regards,
Vitaly.
0 Kudos
evgenia89
Participant
Participant
6,781 Views
Registered: ‎02-06-2012

Hello!

 

Ah, now I see, thanks for the explanation.

 

The problem in details:

These two signals are 16-bit signals. The UART can process only 8 bits every cycle, so I need to divide the 32 bit of the signal to 4 parts: IF_IN_I(15 downto 8), IF_IN_I(7 downto 0),  IF_IN_Q(15 downto 8) and  IF_IN_Q(7 downto 0).

In which order can I read the signal to get in the computer the right 32-bit signal?

 

Best regards,

Evgenia.

0 Kudos
vlavruhin
Explorer
Explorer
7,594 Views
Registered: ‎12-08-2010

The UART can process only 8 bits every cycle, so I need to divide the 32 bit of the signal to 4 parts: IF_IN_I(15 downto 8), IF_IN_I(7 downto 0),  IF_IN_Q(15 downto 8) and  IF_IN_Q(7 downto 0).

In which order can I read the signal to get in the computer the right 32-bit signal?


In same order they were sent. If you transmit first byte IF_IN_I(15 downto 8), second IF_IN_I(7 downto 0), third IF_IN_Q(15 downto 8) and fourth IF_IN_Q(7 downto 0), then in same order they will be received: first IF_IN_I(15 downto 8), second IF_IN_I(7 downto 0), third IF_IN_Q(15 downto 8) and fourth IF_IN_Q(7 downto 0).

Best Regards,
Vitaly.

View solution in original post

evgenia89
Participant
Participant
6,756 Views
Registered: ‎02-06-2012

Dear Vitaly,

 

thank you for your help.

I have one extra question about the signal. How can I plot this? Should I plot only one of two components or should I combine them somehow?

 

Thank you in advance.

 

Evgenia.

0 Kudos
vlavruhin
Explorer
Explorer
6,741 Views
Registered: ‎12-08-2010

Hello, Evgenia.


How can I plot this? Should I plot only one of two components or should I combine them somehow?

It's complex signal. I.e. S(t) = S_real(t) + j * S_imaginary(t) = S_inphase(t) + j * S_quadrature(t).

There is a reason to use this complex representation for communications signals only in a case of the baseband signals (i.e., signals with center frequency near zero). Such signals are usually plotted as two curves (plot of S_inphase(t) and plot of S_quadrature(t) ). If this complex signal is a passband signal (i.e., it's already shifted to intermediate or radio frequency), then imaginary part can be discarded.

 

Best Regards,
Vitaly.
0 Kudos