About +90⁰ Phase-Shifting

I have run into people, who believe that a signal cannot be phase-advanced in real-time, only phase-delayed. And as far as I can tell, this idea stems from the misconception, that in order for a signal to be given a phase-advance, some form of prediction would be needed. The fact that this is not true can best be visualized, when we take an analog signal, and derive another signal from it, which would be the short-term derivative of the first signal. ( :1 ) Because the derivative would be most-positive at points in its waveform where the input had the most-positive slope, and zero where the input was at its peak, we would already have derived a sine-wave for example, that will be phase-advanced 90⁰ with respect to an input sine-wave.

90-deg-phase-y

But the main reason this is not done, is the fact that a short-term derivative also acts as a high-pass filter, which progressively doubles in output amplitude, for every octave of frequencies.

What can be done in the analog domain however, is that a signal can be phase-delayed 90⁰, and the frequency-response kept uniform, and then simply inverted. The phase-diagram of each of the signal’s frequency-components will then show, the entire signal has been phase-advanced 90⁰.

90-deg-phase

(Updated 11/29/2017 : )

Continue reading About +90⁰ Phase-Shifting

There has been some confusion about the Sinc-Filter.

I have read descriptions about the Sinc-Filter somewhere, which predicted that it would become unstable, if the frequency of the input stream, happened to correspond to the spacing, between its non-zero coefficients. As far as I can tell, this prediction was based on a casual inspection of the Sinc Function, but overlooks something which is easy to overlook about it. This case also happens to correspond, to the input stream having a frequency equal to the Nyquist Frequency, of certain practical applications, such as over-sampling.

The Sinc Function has zero-crossings at regular intervals, including the center-point, where its coefficient is stated as being equal to (1.0) . This happens because the value at the center-point, is the solution to a limit equation, that corresponds to (0/0) .

This center coefficient is symmetrically flanked by two positive ones, one of which is only positive, because it forms as a division of the sine of x by the corresponding negative value of x. At frequencies below the Nyquist Frequency, the sum of their products starts to reinforce the center element. Above Nyquist, they start to cancel the product with the center coefficient.

sincplot_2

This can be complicated to plot using Computer Algebra Systems, because plotting functions are always numerical, and at (x=0), there is no numerical solution (only the Algebraic solution given lHôpitals Rule). So, a CAS typically needs to have the Sinc Function defined as a special case, to be able to plot it, otherwise requiring a complex workaround.

So it is possible that the frequency of the incoming stream aligns to the spacing between the maxima and minima of the Sinc Function. If that happens, there are two behaviors to bear in mind:

  1. The peak of the input stream could be aligned with the center-point. In that case, all the other waves will have zero-crossings, where the Sinc Function has maxima. The fact that the single input-sample seems to produce (1.0) as the output amplitude, is due to how the function is frequently normalized for practical use. According to that, maximum output should reach (2.0) at a frequency of zero…
  2. The input stream could have a zero-crossing, at the center-point of the Sinc Function, so that its product from there should equal (0.0) . In that case, the input stream will have positive peaks on one side of the center-point, that all correspond to negative peaks on the other side of the center-point. According to that, the instantaneous output should equal (0.0) .

All of this would suggest to me, that the Sinc-Filter will work properly.

sincplot_3

One way in which people can misinterpret the plot of the curve, would be to notice it has a positive peak in the center, to notice that after a zero-crossing, it forms two negative peaks, and then to conclude that those negative peaks are also the two closest non-zero coefficients to the center.

Continue reading There has been some confusion about the Sinc-Filter.

I feel that standards need to be reestablished.

When 16-bit / 44.1kHz Audio was first developed, it implied a very capable system for representing high-fidelity sound. But I think that today, we live in a pseudo-16-bit era. Manufacturers have taken 16-bit components, but designed devices which do bot deliver the full power or quality of what this format once promised.

It might be a bit of an exaggeration, but I would say that out of those indicated 16 bits of precision, the last 4 are not accurate. And one main reason this has happened, is due to compressed sound. Admittedly, signal compression – which is often a euphemism for data reduction – is necessary in some areas of signal processing. But one reason fw data-reduction was applied to sound, had more to do with dialup-modems and their lack of signal-speed, and with the need to be able to download songs onto small amounts of HD space, than it served any other purpose, when the first forms of data-reduction were devised.

Even though compressed streams caused this, I would not say that the solution lies in getting rid of compressed streams. But I think that a necessary part of the solution would be consumer awareness.

If I tell people that I own a sound device, that it uses 2x over-sampling, but that I fear the interpolated samples are simply generated as a linear interpolation of the two adjacent, original samples, and if those people answer “So what? Can anybody hear the difference?” Then this is not an example of consumer awareness. I can hear the difference between very-high-pitch sounds that are approximately correct, and ones which are greatly distorted.

Also, if we were to accept for a moment that out of the indicated 16 bits, only the first 12 are accurate, but there exist sound experts who tell us that by dithering the least-significant bit, we can extend the dynamic range of this sound beyond 96db, then I do not really believe that those experts know any less about digital sound. Those experts have just remained so entirely surrounded by their high-end equipment, that they have not yet noticed the standards slip, in other parts of the world.

Also, I do not believe that the answer to this problem lies in consumers downloading 24-bit, 192kHz sound-files, because my assumption would again be, that only a few of those indicated 24 bits will be accurate. I do not believe Humans hear ultrasound. But I think that with great effort, we may be able to hear 15-18kHz sound from our actual playback devices again – in the not-so-distant future.

Continue reading I feel that standards need to be reestablished.

About the Amplitudes of a Discrete Differential

One of the concepts which exist in digital signal processing, is that the difference between two consecutive input samples (in the time-domain) can simply be output, thus resulting in a differential of some sort, even though the samples of data do not represent a continuous function. There is a fact which must be observed to occur at (F = N / 2) – i.e. when the frequency is half the Nyquist Frequency, of (h / 2) , if (h) is the sampling frequency.

The input signal could be aligned with the samples, to give a sequence of [s0 … s3] equal to

0, +1, 0, -1

This set of (s) is equivalent to a sine-wave at (F = N / 2) . Its discrete differentiation [h0 … h3] would be

+1, +1, -1, -1

At first glance we might think, that this output stream has the same amplitude as the input stream. But the problem becomes that the output stream is by same token, not aligned with the samples. There is an implicit peak in amplitudes between (h0) and (h1) which is greater than (+1) , and an implicit peak between (h2) and (h3) more negative than (-1) . Any adequate filtering of this stream, belonging to a D/A conversion, will reproduce a sine-wave with a peak amplitude greater than (1).

(Edit 03/23/2017 : )

In this case we can see, that samples h0 and h1 of the output stream, would be phase-shifted 45⁰ with respect to the zero crossings and to the peak amplitude, that would exist exactly between h0 and h1. Therefore, the amplitude of h0 and h1 will be the sine-function of 45⁰ with respect to this peak value, and the actual peak would be (the square root of 2) times the values of h0 and h1.

(Erratum 11/28/2017 —

And so a logical question which anybody might want an answer to would be, ‘Below what frequency does the gain cross unity gain?’ And the answer to that question is, somewhat obscurely, at (N/3) . This is a darned low frequency in practice. If the sampling rate was 44.1kHz, this is achieved somewhere around 7 kHz, and music, for which that sampling rate was devised, easily contains sound energy above that frequency.

Hence the sequences which result would be:

s = [ +1, +1/2, -1/2, -1, -1/2, +1/2 ]

h = [ +1/2, -1/2, -1, -1/2, +1/2, +1 ]

What follows is also a reason for which by itself, DPCM offers poor performance in compressing signals. It usually needs to be combined with other methods of data-reduction, thus possibly resulting in the lossy ADPCM. And another approach which uses ADPCM, is aptX, the last of which is a proprietary codec, which minimizes the loss of quality that might otherwise stem from using ADPCM.

I believe this observation is also relevant to This Earlier Posting of mine, which implied a High-Pass Filter with a cutoff frequency of 500 Hz, that would be part of a Band-Pass Filter. My goal was to obtain a gain of at most 0.5 , over the entire interval, and to simplify the Math.

— End of Erratum. )

(Posting shortened here on 11/28/2017 . )

Dirk