Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Peak rectifier problem

Status
Not open for further replies.
Ron H said:
One comment to add is that I want to detect the greater transient- the one with the higher rate of change.All others (slower) I want them filtered/smoothened-out.
How do you define the time interval for searching for the greatest transient? If you don't define an interval, you have to wait forever. Transients are like earthquakes - there will probably always be a bigger one if you wait long enough.

The greatest transient within ONE sound..The sound does not last more than 50ms and its main transient always comes within the first 10ms.
 
Russlk said:
A signal processor could do what you want but programming it is beyond my capabilities. If you can describe the process, it can be done, but you have not convinced me that you are able to describe the process.

Well, DSP would do the job. I was looking for an analog solution.

The process I thought is the following:

The "pulse extractor" RON H suggested is able to "read" the rate of change of a signal.
In addition, if a signal varies beyond (faster) than the speed set by the circuit, it passes unaltered.
This means I could set that speed limit high enough to allow the main transient to pass through (cause its rate of change is higher than the speed limit set);
while filtering all other transients (cause their rate of change is usually half the rate of change of the faster transient).

The only problem with this circuit is that "slower than the speed-limit variations" are filtered in the sense that the become quicker!

I don't want that.I want them to become slower (smoothen out).

What else would you like to know?Perhaps question its potential for actually doing the job?...Opinions are always welcome.


And thanx for the help.

xmat.
 
Nigel Goodwin said:
xmat said:
Nigel Goodwin said:
xmat said:
of let's say musical beats (beat detection)..

Simple! - use a low pass filter, it's a very common technique!.

But I suspect that isn't what you've been asking?, because it bears no resemblance to anything else you've asked!.

Really???That simple???

I should inform you that such technique has a limited dynamic range, i.e it totally filters out weak signals; or if u "tune" the filter to "hear" those weak signals, u get wrong beat detection during high level ones (level variation also changes frequency content, which enhances the potential for false detection..)...

It works perfectly well for the 100,000's of units which employ that method?.

What makes u think I NOT am saying what I am trying to do?

Because you have never explained it, and nothing you've previously mentioned makes any suggestion of wanting to do musical beat detection!.

Well, IMO none of this units is able to detect a beat within a noisy background.

Noisy background does not mean NOISE, just a sound with no beat which actually sounds louder than the beat sound.

xmat.
 
xmat said:
Well, IMO none of this units is able to detect a beat within a noisy background.

Noisy background does not mean NOISE, just a sound with no beat which actually sounds louder than the beat sound.

As we don't know what you are trying to do, it's rather difficult to comment?.

But your specification of detecting the beat in music is commonplace, and has been for years - presumably that's not what you want?.
 
Nigel Goodwin said:
xmat said:
Well, IMO none of this units is able to detect a beat within a noisy background.

Noisy background does not mean NOISE, just a sound with no beat which actually sounds louder than the beat sound.

As we don't know what you are trying to do, it's rather difficult to comment?.

But your specification of detecting the beat in music is commonplace, and has been for years - presumably that's not what you want?.

Imagine you have a function generator in your lab and feeding the circuit with a sine wave of 100 hz, in a volume level of 50db, let's say.

Since the variation of the signal is slow and steady (no transients), the circuit does not understand that a signal is fed into it.

Then, if I feed a signal with transients (i.e something that has a rapid evolvement--like a clap) in a volume level of 10db, the circuit will be able to tell when that a sound (beat) is fed into the circuit...NOW?
 
xmat said:
Imagine you have a function generator in your lab and feeding the circuit with a sine wave of 100 hz, in a volume level of 50db, let's say.

Since the variation of the signal is slow and steady (no transients), the circuit does not understand that a signal is fed into it.

Then, if I feed a signal with transients (i.e something that has a rapid evolvement--like a clap) in a volume level of 10db, the circuit will be able to tell when that a sound (beat) is fed into the circuit...NOW?

You appear to be missing my point :lol:

You've just described an experiment, I don't believe that's what your project is about?. That particular example doesn't help much either because it uses db's, without giving any reference (a db is a ratio, NOT an absolute value). But am I to understand you're wanting to detect an audio event 40db LOWER than the background noise?.

Which is why I would like to know what it is?, or some reason why we can't be told? - perhaps we could then offer informed sugestions instead of stabbing in the dark.

BTW, in the example above, how about a 100Hz notch filter to kill the 100Hz? - although if 40db higher was what you meant, it's a LOT stronger than the signal you want.
 
Nigel Goodwin said:
xmat said:
Imagine you have a function generator in your lab and feeding the circuit with a sine wave of 100 hz, in a volume level of 50db, let's say.

Since the variation of the signal is slow and steady (no transients), the circuit does not understand that a signal is fed into it.

Then, if I feed a signal with transients (i.e something that has a rapid evolvement--like a clap) in a volume level of 10db, the circuit will be able to tell when that a sound (beat) is fed into the circuit...NOW?

You appear to be missing my point :lol:

You've just described an experiment, I don't believe that's what your project is about?. That particular example doesn't help much either because it uses db's, without giving any reference (a db is a ratio, NOT an absolute value). But am I to understand you're wanting to detect an audio event 40db LOWER than the background noise?.

Which is why I would like to know what it is?, or some reason why we can't be told? - perhaps we could then offer informed sugestions instead of stabbing in the dark.

BTW, in the example above, how about a 100Hz notch filter to kill the 100Hz? - although if 40db higher was what you meant, it's a LOT stronger than the signal you want.

That experiment is indicative of what I am trying to do.

There are many applications that this circuit could be used, from beat detection to midi-scoring of musical context...All pretty much related to interpretation of music (music genre) and linkage to video media etc etc..Numerous applications which I think that by mentioning them there is really not much of a difference....since...

....I have this signal processing problem, I told you what the problem is, how I think it can be solved and all I hope for is

a schematic suggesting a solution.

Db is indeed a ratio, that is why I used it, cause i thought it resembles fluctuations and is a relative and not an absolute value.
Well, maybe it wasn't the best way to say that background sounds are louder than the sound it has to be filtered for beat detection of a musical-content sound.40 db was "a matter of speech".

Noise refers to music, not really noise (guitars, vocals etc etc).Within a song these elements dominate over rythm instruments, in the sense that they appear louder and more "in-your face".
However, they appear to have some form of rythmical content, which is both good or bad;
good when they follow they main rythm and bad when they are not.
The latter case I am to examine.

I can't kill 100hz cause its part of the fundamental frequencies existing in the sound I am trying to extract rythm from.

So, how about a suggestion?I am pretty sure you all find the issue intriguing in technical terms;
is there someone able to suggest a solution?

xmat.
 
JimB said:
Having looked at:
https://www.electro-tech-online.com/threads/voltage-regulator.17464/
I think I understand what you are trying to do.

You have a randomly varying signal and you are trying to detect and store transients/pulses from that signal which have an amplitude greater than the average amplitude of the signal.
Also, you only want to detect and store the first pulse of a series of pulses.

Am I correct with the above statement?


In your graphics in https://www.electro-tech-online.com/threads/voltage-regulator.17464/, there is a bit of a confuser.
The pulse on the right hand side, is that the first pulse and the pulses "A" come after it?
If so the first pulse should surely be at the left hand side, time advances to the right on a conventional oscilloscope or trend recorder.

JimB

Hi, since you claim to have undestood my goal, can u suggest a schematic for that?
It seems to me you are in a better position to help, cause the others seem not to have coped with what I am trying to do.

Many thanx in advance,

xmat.
 
Claim is perhaps too strong a word here! I THINK that I just about understand the problem.

My perception of the problem:
You are trying to identify (and capture) the first of a series of peaks in a signal. The peaks have a significantly higher amplitude than the rest of the signal.

What you are trying:
Using filters, I dont think this will work because you do not know what frequencies will be present as a result of the peak.

Using a "rate of change detector", I dont think that this will work because a high frequency small amplitude signal can have a faster rate of change than a large amplitude low frequency signal.

You are trying a totally analogue solution, I dont think that this is possible because of the reasons above.

My idea, probably flawed but hay ho:
Feed the signal through a "leveling amplifier" so that the output is of constant amplitude, but, set the time constant of the gain control feedback to be sufficiently slow to not respond to the rapid peaks you are interested in.
Use a level detector to detect the peaks in this levelled signal and create a trigger pulse.

Use an ADC to sample and store a digitised version of your original signal in a (100ms long at your chosen sample rate) data buffer. As the signal passes, the last 100ms is continually written to the buffer.

When one of your peaks occurs, use the trigger pulse to freeze the buffer (may need a 25ms? delay to ensure all the peak is in the buffer) and you will have the peak stored and digitised in the buffer, where you can do with it whatever you want.


So, is that any help?

JimB
 
JimB said:
Claim is perhaps too strong a word here! I THINK that I just about understand the problem.

My perception of the problem:
You are trying to identify (and capture) the first of a series of peaks in a signal. The peaks have a significantly higher amplitude than the rest of the signal.

What you are trying:
Using filters, I dont think this will work because you do not know what frequencies will be present as a result of the peak.

Using a "rate of change detector", I dont think that this will work because a high frequency small amplitude signal can have a faster rate of change than a large amplitude low frequency signal.

You are trying a totally analogue solution, I dont think that this is possible because of the reasons above.

My idea, probably flawed but hay ho:
Feed the signal through a "leveling amplifier" so that the output is of constant amplitude, but, set the time constant of the gain control feedback to be sufficiently slow to not respond to the rapid peaks you are interested in.
Use a level detector to detect the peaks in this levelled signal and create a trigger pulse.

Use an ADC to sample and store a digitised version of your original signal in a (100ms long at your chosen sample rate) data buffer. As the signal passes, the last 100ms is continually written to the buffer.

When one of your peaks occurs, use the trigger pulse to freeze the buffer (may need a 25ms? delay to ensure all the peak is in the buffer) and you will have the peak stored and digitised in the buffer, where you can do with it whatever you want.


So, is that any help?

JimB

Weeeell, it seems a totally new aproach, have to check..

Thanx for your help, really appreciated.

xmat.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top