接收到的数据为复数,请问用FPGA如何处理?或者说在FPGA中能进行复数运算吗?
自然界中不存在复数,工程技术中为了工程需要会使用或产生复数,比如通信工程中的DDC、DUC、FFT、Hilbert变换等,称之为IQ信号。FPGA处理这类信号时,通常将它们分成实部与虚部分别输入,再按照复数运算的分配律和交换律计算,输出复数结果与输入采用同一形式。
比如(a+bi) * (c+di)=(ac-bd)+(bc+ad)i,转换成两组乘加运算就可以了。
http://blog.csdn.net/xuexiaokkk/article/details/50012303
fpga本身不能进行复数运算,需要编程者做特殊的程序设计,你比如两个复数相,你要去程序中做实部相加和虚部相加,最后得到复数的实部和虚部。
如果是Xilinx的片子,可以使用专用ip核,添加complex_multiplier IP核。