Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

DIY Signal Processing

Status
Not open for further replies.

Olant

Newbie level 4
Newbie level 4
Joined
Nov 16, 2013
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
41
Hello everyone, I am new :?: to electronic design and I have a question. I have a signal which needs to be analyzed and the frequency must be detected. Which is the best way to do so? I wish to avoid use of a microcontroller or microprocessor. The output must be a dc voltage depending on the frequency.
 
Last edited:

We need a lot more information to answer your question.

What are the lowest and highest frequencies?
What voltage do you want out of it?
Are the signals 'clean' or are there mixed frequencies in them?
What are the signal levels? They could be GHz/uV from a Mars probe or AC from a power station.
How do you want to relate the voltage to the frequency?

Brian.
 

    V

    Points: 2
    Helpful Answer Positive Rating
Thanks for your reply!
What are the lowest and highest frequencies?

The lowest frequency is around 0.4 Hz while the highest is around 8 Hz.

What voltage do you want out of it?

Preferably a DC voltage of 0-5V.

Are the signals 'clean' or are there mixed frequencies in them?

The signals are mixed.

What are the signal levels? They could be GHz/uV from a Mars probe or AC from a power station.

Is this a rephrase of earlier questions? Correct me if I am wrong. Just to be sure, the signals might be in micro-volts. However, I will construct an amplifier too. In the meantime, they are just in µV.

How do you want to relate the voltage to the frequency?

Linear dependence. Again, correct me if I misunderstood your question.

To make things clearer. There are other higher frequencies too which would be removed by a low-pass filter. I needed answers before I spend money on the project. :)
 

OK, those are good answers, I think you can see why it was necessary to narrow down the options.

One more question: When you say the signals are mixed, will there be more than one frequency within the range you want to measure at the same time. For example, is it possible there will be frequencies at 1Hz, 2Hz, 5Hz and so on, mixed with the one you want to measure?

It's easy to use a low pass filter to remove all frequencies higher than 8Hz but to measure a waveform that is a mix of signals may require that you filter them individually. At those frequencies it could be difficult because the bandwidth will be so small compared to the frequencies within it. Probably the best solution is an FFT analysis but for that there would be no option but to use a microprocessor.

Brian.
 

    V

    Points: 2
    Helpful Answer Positive Rating
Your specification is very vague. Try out some simple circuits and see which is closest to the performance you want. The first step would be to use an op-amp to get your input signal to a reasonable amplitude, say 1V. Then use that level to trigger a monostable with a period of say, 10mS. The more pulses/second the higher the average voltage and you can just measure the output on an analogue type DC voltmeter. (twice the frequency = twice the voltage).
 

    V

    Points: 2
    Helpful Answer Positive Rating
Thank you for your quick and prompt replies!!

One more question: When you say the signals are mixed, will there be more than one frequency within the range you want to measure at the same time. For example, is it possible there will be frequencies at 1Hz, 2Hz, 5Hz and so on, mixed with the one you want to measure?

I am not sure about this. So I would assume, to be safer, that the signals are indeed mixed. Hence, my previous answer. If I must use FFT, how should I go on about it? I am not against µCs or µPs. I just thought that a full hardware solution seems to be easier given my programming skills.

Your specification is very vague. Try out some simple circuits and see which is closest to the performance you want. The first step would be to use an op-amp to get your input signal to a reasonable amplitude, say 1V. Then use that level to trigger a monostable with a period of say, 10mS. The more pulses/second the higher the average voltage and you can just measure the output on an analogue type DC voltmeter. (twice the frequency = twice the voltage).

I wish to use the output to drive other circuits, the simplest being just an LED. Will the average voltage idea still work??
 

FFT requires that you take voltage measurements at fixed intervals and store them in an array. You then perform the calculations, using the sampling period and values in the array to calculate the amount of energy at different frequencies throughout the range you are investigating. It will break down the total signal into it's component frequencies and their relative amplitudes. The sampling is easy, the math is complicated!

If all you want to do is find the dominant frequency, there are other methods you can try. The simplest is a tachometer, look up the LM2917 data sheet for lots of information on how they work.

Brian.
 

    V

    Points: 2
    Helpful Answer Positive Rating
FFT requires that you take voltage measurements at fixed intervals and store them in an array. You then perform the calculations, using the sampling period and values in the array to calculate the amount of energy at different frequencies throughout the range you are investigating. It will break down the total signal into it's component frequencies and their relative amplitudes. The sampling is easy, the math is complicated!

I am aware, only theoretically, on what Fourier transforms are. Your post suggests that I must store the previous values in an array. Does it imply that my output would be delayed as well? Or can we initialize values to say, zero and then the output will follow the input (neglecting component responses, of course)?
 

You would initialize them to zero (or just overwrite them with a new value) at each analysis session so you are correct in assuming the result would not be 'live' and there would be some delay. However, it should be a short delay and if the FFT is repeated continuously, you would get an almost constant stream of results. The Fourier analysis would return the energy present in each of a series of narrow frequency bands. It essentialy breaks the complex waveform in to it's component frequencies and amplitudes, reversing the process that originally created it. So instead of getting a single result you would get a breakdown of what the original frequencies were and how much of them were in the original. It allows you to pick any of the frequencies from the mathematical result rather than having to electrically filter out the ones you want to ignore. The math is quite complicated though and you would need a reasonably 'up market' processor to do it. Bigger AVR or the PIC18/PIC24 series should be OK, a DSP would be better because their instruction sets are better suited to math equations.

Brian.
 
  • Like
Reactions: Olant

    Olant

    Points: 2
    Helpful Answer Positive Rating
Thank you once more!

'up market' processors are out of my budget currently and so I think I will try out the LM2917 solution or the monostable solution. Hopefully they would suffice, otherwise I would have to really learn DSP.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top