取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Adventurer
Adventurer
364 次查看
注册日期: ‎12-12-2018

如何将数组传给fft而不是例子中的.dat文件读取

转到解答

我在使用图像进行快速傅里叶变换,参考的vivado中的例子,它是采用读取.dat文件形式进行传参,但是我用数组的方式,不知道该如何修改代码。

我现在的程序:

PS端:
for(int i=0; i<rows; i++)
	{
		for(int j=0; j<cols; j++)
		{
			l_real[i*2 * R * colNum+j] = src1.at<float>(i,j);
			r_real[i*2 * R * colNum+j] = src2.at<float>(i,j);
		}
	}

for (int temp = 0;temp < 2 * R;temp++)
{
in_re_l[temp] = l_real[row*2*R*colNum+2*R*col+temp];
in_re_r[temp] = r_real[row*2*R*colNum+2*R*col+temp];
}
fft_top(FWD_INV, in_re_l, in_im_l, out_re_l, out_im_l, &ovflo);



HW函数:
void dummy_proc_fe(
    bool direction,
    config_t* config, 
//    cmpxD	ataIn in[FFT_LENGTH],
	float in_re [FFT_LENGTH], float in_im [FFT_LENGTH],
    cmpxDataIn out[FFT_LENGTH])
{
    int i; 
#pragma HLS interface ap_fifo port=config
    config->setDir(direction);
    config->setSch(0x2AB);
    for (i=0; i< FFT_LENGTH; i++){
//        out[i] = in[i];
    	out[i].real(in_re[i]);
    	out[i].imag(in_im[i]);
    }
}
void dummy_proc_be(
    status_t* status_in, 
    bool* ovflo,
    cmpxDataOut in[FFT_LENGTH], 
    float out_re[FFT_LENGTH],
    float out_im[FFT_LENGTH])
//    cmpxDataOut out[FFT_LENGTH])

{
    int i; 
//#pragma HLS interface ap_fifo port=status_in
    for (i=0; i< FFT_LENGTH; i++){
//        out[i] = in[i];
    	out_re[i] = in[i].real();
    	out_im[i] = in[i].imag();
    }
    *ovflo = status_in->getOvflo() & 0x1;
}
void fft_top(
    bool direction,
//    complex<data_in_t> in[FFT_LENGTH],
//    complex<data_out_t> out[FFT_LENGTH],
	float in_re[FFT_LENGTH], float in_im[FFT_LENGTH],
	float out_re[FFT_LENGTH], float out_im[FFT_LENGTH],
    bool* ovflo)
{
//#pragma HLS interface ap_hs port=direction
//#pragma HLS interface ap_fifo depth=1 port=ovflo
//#pragma HLS interface ap_fifo depth=FFT_LENGTH port=in,out
//#pragma HLS data_pack variable=in
//#pragma HLS data_pack variable=out
#pragma HLS dataflow
    complex<data_in_t> xn[FFT_LENGTH];
    complex<data_out_t> xk[FFT_LENGTH];
    config_t fft_config;
    status_t fft_status;
   
//    dummy_proc_fe(direction, &fft_config, in, xn);
    dummy_proc_fe(direction,&fft_config,in_re,in_im,xn);

    // FFT IP
    hls::fft<config1>(xn, xk, &fft_status, &fft_config);
//    dummy_proc_be(&fft_status, ovflo, xk, out);
    dummy_proc_be(&fft_status, ovflo, xk, out_re,out_im);
}

fft_top函数基本没有需要改的参数,但是在我标红线的地方,我感觉应该需要改,但是我不知道如何改,请求专业人员的技术支持,研究了好几个星期fft了,哎////

0 项奖励
1 个已接受解答

已接受的解答
Highlighted
Adventurer
Adventurer
257 次查看
注册日期: ‎12-12-2018

回复: 如何将数组传给fft而不是例子中的.dat文件读取

转到解答

非常感谢您的回复,我刚研究了PG109最后更改参数实现了输出,谢谢您的关心。另外我又出现了新的问题,希望能得到您的帮助,他在另一个新线程下面https://forums.xilinx.com/t5/SDx/sdsoc%E4%B8%AD%E6%88%91%E9%A1%BA%E5%88%A9%E7%9A%84%E5%BE%97%E5%88%B0%E4%BA%86fft%E7%9A%84%E7%BB%93%E6%9E%9C-%E4%BD%86%E6%98%AF%E4%BB%96%E8%B7%9F%E6%88%91%E5%9C%A8python%E4%B8%AD%E7%9A%84%E7%BB%93%E6%9E%9C%E5%AE%8C%E5%...

谢谢!

在原帖中查看解决方案

0 项奖励
4 条回复4
Highlighted
Moderator
Moderator
323 次查看
注册日期: ‎05-27-2018

回复: 如何将数组传给fft而不是例子中的.dat文件读取

转到解答

Hi @mu_yu

    方便把将HLS 生成的FFT ip核添加到Vivado中的block design提供一下吗?

谢谢,

Wen

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Highlighted
Adventurer
Adventurer
297 次查看
注册日期: ‎12-12-2018

回复: 如何将数组传给fft而不是例子中的.dat文件读取

转到解答

我是在sdsoc中使用的fft,并不清楚你说的block design,我fft如何读入数据已经很明白了,我也已经实现了样例中的通过.dat文件读入数据实现FFT,但是为什么我通过读取图像不能运行fft?这两个不同的输入,我需要改变什么参数设置?这是我的问题。

0 项奖励
Highlighted
Moderator
Moderator
286 次查看
注册日期: ‎05-27-2018

回复: 如何将数组传给fft而不是例子中的.dat文件读取

转到解答

Hi!

能不能把你的SDSoC工程源代码打包一下传上来呢?

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Highlighted
Adventurer
Adventurer
258 次查看
注册日期: ‎12-12-2018

回复: 如何将数组传给fft而不是例子中的.dat文件读取

转到解答

非常感谢您的回复,我刚研究了PG109最后更改参数实现了输出,谢谢您的关心。另外我又出现了新的问题,希望能得到您的帮助,他在另一个新线程下面https://forums.xilinx.com/t5/SDx/sdsoc%E4%B8%AD%E6%88%91%E9%A1%BA%E5%88%A9%E7%9A%84%E5%BE%97%E5%88%B0%E4%BA%86fft%E7%9A%84%E7%BB%93%E6%9E%9C-%E4%BD%86%E6%98%AF%E4%BB%96%E8%B7%9F%E6%88%91%E5%9C%A8python%E4%B8%AD%E7%9A%84%E7%BB%93%E6%9E%9C%E5%AE%8C%E5%...

谢谢!

在原帖中查看解决方案

0 项奖励