How to use the dsp.HDLIFFT system object?

2 次查看(过去 30 天)
I am developing a symple OFDM modulator. I use QPSK symbols as input for the IFFT block (dsp.HDLIFFT). The problem is that my system is not working correctly, sometimes I receive the expected data and sometimes I don´t. I tested the QPSK alone and It works fine. But, when I put together the dsp.HDLIFFT wiht the QSPK modulador the system suffers the above problem.
Exampl of the problem:
A ===> [QPSK,IFFT] ====> B (CORRECT) 1st Test
A ===> [QPSK,IFFT] ====> C (INCORRECT) 2nd Test
A ===> [QPSK,IFFT] ====> D (INCORRECT) 3rd Test
A ===> [QPSK,IFFT] ====> E (INCORRECT) 4th Test
A ===> [QPSK,IFFT] ====> B (CORRECT) 5th Test
The system works fine sometimes but as you can see above I receive wrong data most of the time.
My system object defination is:
ifft128 = dsp.HDLIFFT('FFTLength',128,'ResetInputPort',true);
My code is something like this:
funciton tx = transmitter(rx)
UART_RX_funcion call
MAIN_FUNCTION call
UART_TX_function call
%%%%%%%%%%%%%%%%%%%%
[outputs] = main_fsm(inputs)
persistent a b c ifft128 ...
if isempty(a)
ifft128 = dsp.HDLIFFT('FFTLength',128,'ResetInputPort',true);
end
switch(state)
state1
state2
state3
end
[yOut,validOut] = step(ifft128,yIn,validIn,resetIn);
  11 个评论
Alireza
Alireza 2017-4-3
You need to have a timing constraint when you synthesize, and make sure that the design meet the timing. Check the clock frequency of your design and create a timing constraint based on the clock frequency. After the synthesis and place and route, check if the design meet the timing.
Pablo Medina
Pablo Medina 2017-4-21
Thanks for the answer I still looking forwar this timming contraint.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Code Generation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by