From: Mark on
On Apr 26, 10:25 am, Jerry Avins <j...(a)ieee.org> wrote:
> On 4/26/2010 9:37 AM, Greg Berchin wrote:
>
>    ...
>
>
>
>
>
> > Ah, the perils of designing in the frequency domain.  It's so much easier to get
> > that frequency response "just right" when you don't have to worry about the time
> > domain.
>
> > Consider that frequency response is a steady-state concept.  That is to say,
> > when you specify the response of a filter at a certain frequency, you tacitly
> > assume that a signal of constant amplitude at that frequency was applied an
> > infinitely long time ago, and will continue for an infinite time to come.
>
> > But we live in the time domain.  Signals start, stop, and change.  Those starts,
> > stops, and changes trigger time-domain responses from filters.  And the
> > time-domain responses can be very unattractive when the filters are designed in
> > the frequency domain.  It is a fundamental give-and-take; to optimize something
> > in the frequency domain almost always means to "un-optimize" something else in
> > the time domain, and vice-versa.
>
> > So the answer to your question on how to "correct" the filter is to design the
> > filter for better time domain response in the first place.  And, of course, that
> > means giving up something in the frequency domain.
>
> What a wonderfully concise way to emphasize a simple truth! Those
> paragraphs should be in the preface to every writing on filter design.
>
> Jerry
> --
I thought so too except for this part:

"But we live in the time domain."

I think the time domain and frequency domain are both equally valid
but orthoganal ways to observe the world we live in.

In any particular situation, one or the other may have an advantage
but they are both fundamentally valid.

Mark

From: Rob Gaddi on
On 4/26/2010 9:32 AM, Mark wrote:
> On Apr 26, 10:25 am, Jerry Avins<j...(a)ieee.org> wrote:
>> On 4/26/2010 9:37 AM, Greg Berchin wrote:
>>
>> ...
>>
>>
>>
>>
>>
>>> Ah, the perils of designing in the frequency domain. It's so much easier to get
>>> that frequency response "just right" when you don't have to worry about the time
>>> domain.
>>
>>> Consider that frequency response is a steady-state concept. That is to say,
>>> when you specify the response of a filter at a certain frequency, you tacitly
>>> assume that a signal of constant amplitude at that frequency was applied an
>>> infinitely long time ago, and will continue for an infinite time to come.
>>
>>> But we live in the time domain. Signals start, stop, and change. Those starts,
>>> stops, and changes trigger time-domain responses from filters. And the
>>> time-domain responses can be very unattractive when the filters are designed in
>>> the frequency domain. It is a fundamental give-and-take; to optimize something
>>> in the frequency domain almost always means to "un-optimize" something else in
>>> the time domain, and vice-versa.
>>
>>> So the answer to your question on how to "correct" the filter is to design the
>>> filter for better time domain response in the first place. And, of course, that
>>> means giving up something in the frequency domain.
>>
>> What a wonderfully concise way to emphasize a simple truth! Those
>> paragraphs should be in the preface to every writing on filter design.
>>
>> Jerry
>> --
> I thought so too except for this part:
>
> "But we live in the time domain."
>
> I think the time domain and frequency domain are both equally valid
> but orthoganal ways to observe the world we live in.
>
> In any particular situation, one or the other may have an advantage
> but they are both fundamentally valid.
>
> Mark
>

Yes and no. The frequency domain representation of a thing is really
only as valid as the time domain representation if you really do run
your transform all the way back to t = -inf. Otherwise, you're only
looking at an approximation of the frequency domain, the importance of
which, as you said, varies by application.

--
Rob Gaddi, Highland Technology
Email address is currently out of order
From: Jerry Avins on
On 4/26/2010 12:07 PM, Ross wrote:
> On Apr 26, 4:08 pm, Vladimir Vassilevsky<nos...(a)nowhere.com> wrote:
>> Hm, it is interesting to guess. The OP is obviously not a pro although
>> he tries to accomplish some kind of sub audio signaling; so it should be
>> something very common. My first guess would be amateurish EEG or ECG.
>
> I am not a professional in DSP. For various applications I use filters
> designed for me by software or from cookbooks. The point of my
> question is whether there are known solutions to a particular problem
> (described in my previous post) that I would need to be aware of, or
> whether I am risking producing a soft computing solution to a problem
> that already has a hard mathematical solution. Or at least where there
> are tools and techniques that cannot be ignored and should form
> components of a soft computing solution.

Whatever you do depends strongly on the waveform you hope to track.
Consider a sawtooth. It increases at steady rate from an initial value
and abruptly returns to that initial value at the cycle's end. Without
knowing the peak value /a priori/, there is no way to determine the
period until the instant of reset, even without complications that a
filter introduces.

Jerry
--
"I view the progress of science as ... the slow erosion of the tendency
to dichotomize." --Barbara Smuts, U. Mich.
�����������������������������������������������������������������������
From: Tim Wescott on
Richard Dobson wrote:
> On 26/04/2010 17:02, Ross wrote:
> ..
>> Vladimir: Here is the real problem.
>>
>> Monophonic guitar (and other instruments) can be created by tracking
>> the pitch of a digitally sampled version of the notes played by the
>> musician and synthesising a sound which follows the played pitch, and
>> usually uses the volume which which notes are played as a parameter in
>> the synthesis.
> ..
>> I wanted to do an experiment. Not a great big experiment, but just a
>> little quick hack personal experiment. I wanted to experiment with as
>> close to zero lag as I could possibly get.
>
>
> The problem is that at the instant of plucking the string, the pitch
> actually is not in any sense already there - the spectrum is mostly
> chaotic (the basis of the classic Karplus-Strong waveguide model). Never
> mind the filter - the string itself takes a measurable time to 'settle"
> into the target pitch. It may not seem a long time to the human ear, but
> to a dsp process it amounts to a lot of samples. Shorten the response
> time and the procedure involves more and more guesswork; and tracking
> zero-crossings will likely give you more wrong than right answers. The
> high harmonics will also tend to settle/converge before the fundamental;
> which is at least in part why many trackers give octave errors when
> trying to reduce latency that bit too much.
>
> I can't cite references offhand, but the Kalman Filter is widely used in
> guitar pitch trackers; well worth investigating.

I was thinking that a Kalman filter, or some other sort of filter whose
response evolves over time after the note is first plucked, would be the
way to go.

But a full-blown Kalman filter isn't an easy thing to apply.

My kid's student-model bass guitar doesn't show a fundamental at all on
the lower notes -- the pickups respond nicely to the overtones, but take
your hands of the frets and pluck the fattest string, and you don't see
the fundamental. This can't help but complicate things.

--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com
From: Jerry Avins on
On 4/26/2010 1:16 PM, Tim Wescott wrote:

...

> My kid's student-model bass guitar doesn't show a fundamental at all on
> the lower notes -- the pickups respond nicely to the overtones, but take
> your hands of the frets and pluck the fattest string, and you don't see
> the fundamental. This can't help but complicate things.


"Fundamental" is a slippery concept. Many take it loosely as the lowest
frequency present, but that's inadequate. That frequency of which all
other components are integer harmonics is probably correct. It is also
the reciprocal of the period. It need not in fact be present in a
waveform; it could be absent not only in your pick-up output, but in the
string itself (although I doubt that). A simple example of a waveform
whose lowest frequency is three times the reciprocal of its period is a
square wave with the fundamental suppressed. It makes an interesting
plot: (4/pi){sin(3t)/3 + sin(7t)/7 + sin(9t)/9 + ... } What is the
fundamental of a metronome beating at 72/min.?

Jerry
--
"I view the progress of science as ... the slow erosion of the tendency
to dichotomize." --Barbara Smuts, U. Mich.
�����������������������������������������������������������������������