大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
大侠好,“宁夏李治廷”再一次和各位见面了,今天给各位大侠分享在FPGA数字信号处理中通信类I/Q信号及产生。
欢迎各位大侠一起切磋交流,共同进步。话不多说,上货。
加油
I/Q原理及优势
对于有些通信类,光通信类以及射频方向的同学都知道在通信的信号处理中,输入的信号需要分成两路(I路和Q路),也被称作为正交调制信号。通常射频信号需要将低频的基带信号搬移到高频的载波信号上进行传输,传统方式是通过一个乘法器,将信号和载波进行相乘,实现频谱搬移。
cos(a)*cos(b)=1/2[cos(a b)-cos(a-b)]
但是这样会增加两个多余的信号频率。信号通常来说越纯净越好,也对后续的插值,滤波,检波起决定性的作用。而且在滤波的过程中很难滤除另外一个频率,也徒然增加频带,消耗宝贵的资源。所以I/Q正交调制技术才得以在通信领域大展拳脚。
Cos(a-b)=cos(a)*cos(b) sin(a)*sin(b)
并且I/Q两路信号可以降低采样率,方便将信号采用复数信号的形式(z=a bi),降低每个支路的采样率,降低对ADC的要求,节省开发和成品的成本,很好的保留原始信号的相位信息。
加油
FPGA中利用IP核实现I/Q信号的产生
Quartus中提供了一个IP核为DDIO IP,可供采集高速ADC传入的数据后分成I/Q两路信号。并且通常比数据处理时采用数据截位生成I/Q两路数据方便高效。
DDIO IP核(双倍数据速率IO)
DDIO(Double Data Rate IO),IP核在逻辑单元(LE)中实现DDR寄存器,本程序中使用DDIO_IN实现一个DDR输入接口,IP将在参考时钟的上升沿和下降沿接收数据,实现2倍的时钟速率将数据锁存。
如果ADC选用的为14位,数据总线位宽选择14bits,以及异步清零,未选择数据使能端口,则数据的第一个bit将在输入时钟的下降沿被采集,反之将在上升沿被采集。
使用DDIO IP时需要注意OE信号在芯片中为低有效,但QuartusII软件自动在输出前添加一个反相器实现OE高电平有效,有需要可将OE转换回低电平有效。
所以使用DDIO IP是通信中比较常见的一种做法,高速且精准。产生的I/Q两路信号可以直接传输数字下变频(DDC)模块中进行处理,方便快捷。
大侠天赋异禀,本次交流到此结束,点到为止,有缘再见,告辞。
END
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!