在我的应用程序中,有一个传入的正弦信号,我需要通过VHDL编码找到它的频率和幅度。这是不可综合的,因为我们没有在FPGA上实现它。
到目前为止,我一直在使用VHDL的“最大”函数来找出振幅。在testbench中,我成功地生成了正弦波,因此在我的源代码中,我使用了maximum函数。但问题是,我得到的不是一个值,而是几个值。
这是我的代码示例;
--in the entity
(input_sine : real;
Amp_out : real;
frq_out : real);
end entity;
--in the architecture,
signal S_amp : real := 0.0;
process
begin
Amp_out <= MAXIMUM(input_sine, S_amp);
wait for 1 us;
end process; 我希望输出只有一个值,即输入正弦波的最大幅值。并找出它的频率。我不确定如何继续,我也不知道这个最大值函数。所以,谁来帮帮我。
提前谢谢。
发布于 2019-10-25 16:39:51
https://www.edaplayground.com/x/4nsb
为了找到input_sine的最大值(即它的振幅)和它的频率,你需要写一些代码。这是一种硬件描述语言,不是Matlab。
https://stackoverflow.com/questions/58554811
复制相似问题