如何使用verilog生成sinc波

时间:2013-03-22 18:32:55

标签: verilog fpga xilinx

我正在制作一个"任意波形发生器"在FPGA上。目前,我正致力于生成" sinc"使用FPGA进行波动[使用verilog]。

对于固定频率,我可以在ROM上使用LUT制作sinc,但我需要选择使用用户定义频率的sinc。

所以,任何好主意如何制作它?

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

您仍然可以将LUT用于可变频率sin(x)功能。

只需生成一个1000左右的LUT(取决于您所需的分辨率)一个正弦波周期的条目。然后根据所需频率决定跳过每个时钟周期的条目数。

例如,如果您的时钟是1MHz,并且所需的输出频率是1KHz,那么您将在每个时钟步进到下一个LUT条目(在1000个时钟周期内完成该时段)。如果所需的输出频率为10KHz,则每个周期在LUT中跳转10个条目。 (完成100个时钟周期的时间段)

为了获得sinc sin(x)/x,我认为你需要实现一个除法电路,因为我无法想到这一点。