我正在制作一个"任意波形发生器"在FPGA上。目前,我正致力于生成" sinc"使用FPGA进行波动[使用verilog]。
对于固定频率,我可以在ROM上使用LUT制作sinc,但我需要选择使用用户定义频率的sinc。
所以,任何好主意如何制作它?
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
您仍然可以将LUT用于可变频率sin(x)
功能。
只需生成一个1000左右的LUT(取决于您所需的分辨率)一个正弦波周期的条目。然后根据所需频率决定跳过每个时钟周期的条目数。
例如,如果您的时钟是1MHz,并且所需的输出频率是1KHz,那么您将在每个时钟步进到下一个LUT条目(在1000个时钟周期内完成该时段)。如果所需的输出频率为10KHz,则每个周期在LUT中跳转10个条目。 (完成100个时钟周期的时间段)
为了获得sinc sin(x)/x
,我认为你需要实现一个除法电路,因为我无法想到这一点。