From: Mark on 26 Apr 2010 12:32 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 26 Apr 2010 12:43 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 26 Apr 2010 12:56 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 26 Apr 2010 13:16 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 26 Apr 2010 13:44
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. ����������������������������������������������������������������������� |