基于FPGA的信号发生器verilog实现,可以输出方波,脉冲波,m序列以及正弦波,可调整输出信号频率

125 阅读1分钟

1.算法运行效果图预览

(完整程序运行后无水印)

 

输出方波

image.png  

输出脉冲波

image.png  

输出m随机序列

image.png  

输出正弦波

image.png

2.算法运行软件版本

vivado2019.2

 

3.部分核心程序

(完整版代码包含详细中文注释和操作步骤视频)

`//the module of juxin signal

signal_jux signal_jux_u(

                  .i_clk    (clk_low),

                  .i_rst    (i_rst),

                  .o_signal (signal_cube)

                 );

 

//the module of pluse signal

signal_p signal_p_u(

                  .i_clk    (clk_low),

                  .i_rst    (i_rst),

                  .o_signal (signal_pluse)

                 );

          

//the module of m signal

signal_mseq signal_mseq_u(

                  .i_clk    (clk_low),

                  .i_rst    (i_rst),

                  .o_signal (signal_m)

                 );

 

 

//the module of sin signal         

signal_sin2 signal_sin2_u(

                  .i_clk    (clk_low),

                  .i_rst    (i_rst),

                  .o_signal (signal_sin)

                 );      

     

 

          

endmodule

35_001m`  

4.算法理论概述

       信号发生器是一种能够产生各种不同类型信号的电子设备,在电子工程、通信、自动化控制等领域中有着广泛的应用。传统的信号发生器通常采用模拟电路实现,但其存在精度低、稳定性差、功能单一等缺点。随着数字技术的发展,基于现场可编程门阵列(FPGA)的信号发生器逐渐成为研究的热点。

 

      方波信号是一种具有固定周期和占空比的信号,其数学表达式为:

image.png

脉冲波信号是一种具有固定宽度和幅度的信号,其数学表达式为:

image.png

       m 序列是一种伪随机序列,它具有良好的自相关性和互相关性,在通信、雷达、密码学等领域中有着广泛的应用。m 序列的生成可以采用线性反馈移位寄存器(LFSR)实现。

image.png

正弦波信号是一种具有固定频率和幅度的信号,其数学表达式为:

image.png