Hi everybody I want to build an analog signal sampler system on a spartan 3A fpga (AES220B fpga board). The critical part is how to identify the max/peak values. The signal has random behaviour. I mean there are random peaks and I want to "detect" them. Can anoyone make some suggestions how to achieve to find them in a continuous signal stream. Thanks in advance
In VHDL to find the maximum value may look like this:
if akt_value > max_value then max_value <= akt_value; end if;
What HDL do you use? Is your value signed or unsigned? What speed do you get samples? Macellan M. wrote: > I mean there are random peaks and I want to "detect" them. Define "detect them". You must know the time/position of all those values with the very same value as the maximum value? Best would be to show a picture of that signal and point to the "peaks" to be detected. > The critical part is how to identify the max/peak values. What happens to those peaks aftwerwards?
Dear IkMiller I have a similar idea as you stated but this continuous data stream made me some confused. Data comes from an analog digital converter chip connected to a 5 us width analog signal. By means of peak, it is the heighest voltage level or biggest value coming out of ADC chip. I'm new at fpga design so does (un)signed or std_logic_vector make any difference? I'm planning to sample the signal at 5 MHz speed using a VHDL design. When I got the peak values I want to count and order the numbers for 256/512 different channels. This is called pulse height analysis. What I thought before is store some part of the continuous stream (1000 values) find the peak and do other stuff. This is a time window. But what if the peak appears on the edge of the window? So this doesn't look reasonable to me. Searching for a method to do this... Thanks in advance
We are doing this with radioactivity pulses. The Task is to detect a local maximum as i guess you want as well. So like in school math you could calculate the numerical derivation, and check if it changes in sign. To suppress noise you should also build in some kind of threshold.