[HN Gopher] Nyquist Frequency
       ___________________________________________________________________
        
       Nyquist Frequency
        
       Author : 1_over_n
       Score  : 56 points
       Date   : 2023-04-11 12:07 UTC (10 hours ago)
        
 (HTM) web link (en.wikipedia.org)
 (TXT) w3m dump (en.wikipedia.org)
        
       | gooseyard wrote:
       | Dan Worrall made a fantastic video which touches on Nyquist. His
       | youtube channel is a tremendous resource:
       | https://www.youtube.com/watch?v=-jCwIsT0X8M
        
       | kimburgess wrote:
       | Had a great encounter with this recently!
       | 
       | In an environment I work there's multichannel audio recordings
       | that are archived. The archival recordings all had a perfect 4kHz
       | tone appearing, seemingly out of nowhere. This was happening on
       | every channel, across every room, but only in one building.
       | Nowhere else. Absolutely nothing of the sort showed up on live
       | monitoring. The systems were all the same and yet this behaviour
       | was consistent across all systems only at one location.
       | 
       | The full system was reviewed: from processing, recording, signal
       | distribution, audio capture, and in room. Maybe there was a test
       | gen that had accidentally deployed? Nope. Some odd bug in an echo
       | canceller? Also no. Something weird with interference from
       | lighting or power? Slim chance, but also no. Complete mystery.
       | 
       | When looking for acoustic sources there was an odd little blip on
       | the RTA at 20kHz. This was traced back to a test tone emitted
       | from the fire safety system (ultrasonic signal for continuous
       | monitoring). It's inaudible to most people and will be filtered
       | before any voice-to-text processing so no reason for concern.
       | Anyway 20kHz is nowhere near 4kHz though so the search continued.
       | 
       | The dissimilarly of 20kHz and 4kHz is true, until you consider
       | what happens in a non-bandwidth limited signal. The initial
       | capture was taking place at a 48kHz sampling rate. It turns out
       | the archival was downsampling to 24kHz, without applying an anti-
       | aliasing filter. Without filtering, any frequency content above
       | the Nyquist 'folds' back over the reproducible range. So in this
       | case a clean 24kHz bandwidth signal with a little bit of
       | inaudible ultrasonic background noise was being folded at 12kHz
       | to create a very audible 4kHz tone.
       | 
       | It was essentially a capture the flag for signals nerds and a
       | whole lot of fun to trace.
        
         | spacechild1 wrote:
         | > It turns out the archival was downsampling to 24kHz
         | 
         | But... why?
        
           | [deleted]
        
           | InitialLastName wrote:
           | In situations where you don't need the archival to be at
           | "perfect reproduction" quality (including things like
           | broadcast archives or recordings of voice comms) you can get
           | by with a 12kHz maximum frequency without losing the
           | essentials (especially clarity of voices). Many adults can't
           | hear much past 12kHz anyway and most music and voice content
           | doesn't have content past 10khz. You don't lose much, but you
           | save half your file size by x2 downsampling.
        
             | Sesse__ wrote:
             | I'd guess the "why" was "why on earth did they not have an
             | antialiasing filter", not "why did they downsample". A good
             | lowpass filter is easy to design, cheap to apply, and
             | protects you from this kind of stuff.
        
       | lumb63 wrote:
       | Signals and systems was a tough course for me. It was what
       | crushed my 4.0 GPA. Nyquist frequency was a concept I could not
       | wrap my head around. I've improved, but it still doesn't click as
       | I'd like it to.
       | 
       | When I took the course, it made no sense to me that you could
       | sample at twice the frequency of the signal and reconstruct it.
       | Consider a sine wave at 1 Hz. If you sample at 2 Hz, you'd get
       | readings of 0, 1, 0, -1, etc. If you graph that, it's a perfect
       | triangle wave, not a sine wave! That's what I couldn't not get
       | past. I thought you'd need an infinite sampling rate to
       | accurately capture the sine wave.
       | 
       | As I type this out, I'm realizing that a critical component of
       | this that I wasn't taught (or I didn't grasp) is the need for the
       | signal to be bandlimited. Returning to my sine example from
       | above, what bothered me was, if I don't sample more points, how
       | do I know that it's only a sine wave, and nothing more? That only
       | works if you pretend there are no higher frequencies (or filter
       | them out, though an ideal filter is impossible in practice). If
       | there aren't higher frequencies, there can't be anything you
       | "can't capture" by sampling at the Nyquist frequency.
        
       | elromulous wrote:
       | To add another misconception, the Nyquist frequency is a lower
       | bound, below which you necessarily get aliasing. It doesn't say
       | anything about whether said sampling rate is sufficient for
       | reconstruction or whatever your intended use is.
       | 
       | E.g. sampling a 1hz signal at 2hz still doesn't tell you if the
       | signal was a 1hz sin or a 1hz sawtooth (depending on how lucky or
       | unlucky you are).
        
         | Gordonjcp wrote:
         | Sampling a 1Hz sawtooth at 2Hz will alias.
        
         | TimTheTinker wrote:
         | A low pass filter at 2hz would filter out the high frequencies
         | contained in a sawtooth waveform, thus rendering a 1hz sine
         | waveform.
         | 
         | To accurately sample a 1hz sawtooth waveform, you'd have to
         | filter/sample at a _much_ higher frequency.
        
         | Evidlo wrote:
         | A 1Hz sawtooth contains frequencies above 1Hz.
         | 
         | It actually has frequency components that go out to infinity,
         | so its impossible to perfectly reconstruct a sawtooth without
         | knowing beforehand that its a sawtooth.
         | 
         | This is true for any signal with discontinuities (i.e. not
         | "band-limited").
        
           | PaulDavisThe1st wrote:
           | This is incorrect, though subtly, and for several different
           | reasons:
           | 
           | 1) It is completely possible to create a sawtooth wave that
           | contains only a single frequency. However, you could also
           | consider the wave to be an (infinite) sum of sinusoids at
           | different frequencies. Both views are "correct", and which is
           | more appropriate depends on the context.
           | 
           | 2) Related to (1): natural (acoustic) sounds are almost
           | always best considered as a sine series. While there are such
           | sounds which are most easily described as a sawtooth, when
           | you consider the physical/mechanical process by which they
           | are formed, the sine series is a more obvious approach.
           | 
           | 3) A digital 1Hz sinusoid can trivially contain no harmonics
           | at all. However, the moment you attempt to convert this into
           | an acoustic pressure wave, the nature of the physical world
           | essentially guarantees that the acoustic pressure wave will
           | have a series of harmonics going out far beyond the base
           | frequency. Once you start actually moving things (like
           | magnetic coils, speaker cones and air), it's more or less
           | impossible to avoid generating harmonics. But since the
           | original signal was genuinely a pure sine tone, it becomes a
           | little tricky to decide what the correct way to describe this
           | is.
        
             | stagger87 wrote:
             | At the "textbook"/"theory" level, the person you are
             | replying to is not wrong. A sawtooth waveform has infinite
             | harmonics. If you were going to be nitpicky (which your
             | response was in that spirit), the best thing to have said
             | (IMO) was that the high frequency harmonics are going to
             | drop off and be below any sort of "noise floor" or
             | sensitivity of the system and not matter anyways. Instead
             | you wrote a bunch of stuff about sounds and pressure waves
             | that I don't think had the effect you intended. I think you
             | lost the plot somewhere along the way.
        
               | PaulDavisThe1st wrote:
               | > A sawtooth waveform has infinite harmonics
               | 
               | This is only true if you consider the waveform to be a
               | sine series. As I indicated, this is a perfectly
               | legitimate way to think about a sawtooth (and indeed, it
               | appears to be fundamentally how the human ear works too).
               | 
               | But a sawtooth waveform is _also_ nothing more than a
               | very sharp rise /drop in air pressure followed by a
               | longer drop/rise, repeated over and over again.
               | 
               | If you want to synthesize a sawtooth wavefrom with analog
               | equipment, then thinking of it as an (infinite) sine
               | series makes sense, because that's how you will end up
               | approximating the (perfect) sawtooth.
               | 
               | However, digital synthesis does not require this sort of
               | conception at all, and can be constructed without any
               | summing of a harmonic series.
               | 
               | Also, I find it assuming that in the comments of a post
               | about nyquist, you would write
               | 
               | > a bunch of stuff about sounds and pressure waves that I
               | don't think had the effect you intended. I think you lost
               | the plot somewhere along the way.
               | 
               | What do you the plot is?
        
               | Gordonjcp wrote:
               | > However, digital synthesis does not require this sort
               | of conception at all, and can be constructed without any
               | summing of a harmonic series.
               | 
               | Yes, but you also cannot just make something that goes
               | from -1 to 1 and then wraps back to -1 again, in a
               | discrete-time (sampled) world.
               | 
               | You will get aliasing, because at some point your
               | harmonic series will have partials that are noticeably
               | large and exceed the Nyquist frequency, which will fold
               | back into the output signal's spectrum. And, wouldn't you
               | know it, except for a few very precise frequencies, those
               | aliases will be inharmonic as all hell.
               | 
               | Here's an example (headphone warning - excessively loud)
               | from a daft idea I had to implement a "virtual analogue"
               | synth on an Arduino. Yes, one of the 8-bit ones, that
               | can't do arithmetic.
               | 
               | https://raw.githubusercontent.com/ErroneousBosh/slttblep/
               | mas...
               | 
               | The first sweep is generated with bandlimiting disabled,
               | and you can hear the "swoopy" noises as the aliases slide
               | up and down. The second sweep has some bandlimiting
               | applied by "bending" the points where the signal resets
               | to roughly correspond to a weighted sinc filter,
               | eliminating (most of) the partials above Nyquist.
               | 
               | It uses 16-bit arithmetic on 8-bit lookup tables, and is
               | output through an 8-bit PWM abused as a DAC, so it's not
               | super clean, but it is at least not grossly incorrect.
               | 
               | You cannot filter the synthesized partials that go past
               | Nyquist out after the signal has been generated, because
               | the damage has been done.
        
               | jameshart wrote:
               | You can't physically construct a speaker that makes a
               | sawtooth wave. Its cone would need to change velocities
               | from -n to +n or vice-versa instantaneously in order to
               | generate the 'teeth' of your wave. The air particles you
               | are moving would likewise need to instantly accelerate.
               | That is a physical impossibility - these things have
               | mass, accelerating them requires force, infinite
               | acceleration requires infinite force.
               | 
               | Those physical constraints manifest as limits on the
               | frequency of sinusoidal harmonics it is possible for you
               | to put into the wave; for the medium to carry; and for
               | you to physically detect at the other end.
               | 
               | Mathematicians don't break functions down into sinusoidal
               | harmonics because they like trig functions. They do it
               | because they fundamentally _are_ what's happening.
        
               | PaulDavisThe1st wrote:
               | > You can't physically construct a speaker that makes a
               | sawtooth wave.
               | 
               | This was my point (3), though you've added an additional
               | set of reasons why it is particularly hard for shapes
               | like a sawtooth.
        
             | titzer wrote:
             | > It is completely possible to create a sawtooth wave
             | 
             | For a loose definition of "wave". All of the math behind
             | information theory and sampling signals assumes waves are
             | sinusoids. It also happens that waves in nature behave like
             | (dampened) sinusoids. It's a completely natural way to
             | model them mathematically when one has no a prior knowledge
             | of the source, which is what the comment above you is
             | pointing out.
             | 
             | To recognize and then reconstruct a sawtooth with no a
             | priori knowledge, you need to sample much higher than the
             | frequency of the sawtooth. You can _compress_ said
             | information quite well if you have not only wavelets, but
             | sawtooths in your encoding. I am no audio expert but I don
             | 't think codecs exploit sawtooths (sawteeth?) for
             | compression because they sound _unnatural_ (because they
             | are).
             | 
             | Note that even digitally you can't create a perfect
             | sawtooth wave because there is a fundamental quantization
             | of time in digital systems. It's a question of, again, how
             | fast you can alter voltages, i.e. a frequency, so you end
             | up generating a step-like function, inescapably. Yeah,
             | sure, you can switch digital systems at MHz or GHz, but
             | still.
        
               | ska wrote:
               | > All of the math behind information theory and sampling
               | signals assumes waves are sinusoids
               | 
               | This isn't really true. The point about the sinusiods is
               | mostly that the form a very convenient complete basis of
               | a useful space of functions, hence the fourier expansion.
               | This doesn't amount to an assumption about how the
               | signals are _generated_ , rather how they are
               | _represented_. You could pick a different basis and you
               | 'd get a different representation, but as functions they
               | are identical. By definition this applies equally to any
               | signal in the class, however you generate it.
               | 
               | Where the shape of the underlying basis vectors does show
               | up is in errors and estimation, e.g. the similar
               | estimation error in fourier vs. Haar will show up as
               | sinusoids or steps.
        
         | ska wrote:
         | That isn't really what is going on. If the signal doesn't
         | contain any higher frequency information, the Nyquist limit
         | establishes what you need to _exactly_ reconstruct the signal.
         | It is therefore sufficient for any use.
         | 
         | So your case, a 1hz sin doesn't contain any higher frequencies,
         | and will be reconstructed perfectly. A 1hz sawtooth contains
         | higher frequencies, and so is not.
         | 
         | I think what you are really getting into is that a signal with
         | periodicity of, say 1hz, does not mean that the Nyquist limit
         | is 1hz. Square waves and sawtooths are particularly obvious
         | examples of this, because the sharp edges cannot be achieved
         | without (very many) high frequency contributions.
         | 
         | Now you can avoid this by creating a different set of component
         | functions and a different sense of "frequency" but that just
         | pushes the problem around. Also, since you are doing non-
         | standard things you need to explain it, especially if what you
         | are using doens't form a proper basis.
         | 
         | Finally, of course this is all in the idea mathematical
         | setting, in real world noise etc. also has to be taken into
         | effect.
        
         | GeompMankle wrote:
         | What is the point of adding a misconception?
         | 
         | The conception of the theorem is that if the signal being
         | sampled is sufficiently integrable AND bandlimited AND the
         | signal is uniformly sampled at at least the Nyquist rate over
         | all time/space THEN then reconstruction of the bandlimited
         | signal is exactly possible using the sinc interpolator. The
         | proof is covered in "Shannon's original proof" in the Wikipedia
         | article and most books on signal analysis such as Gaskill's
         | Linear System book. Most EE people will have to do the proof as
         | an intro course assignment in the first month of a DSP class.
         | 
         | OTOH, if you are not able to sample the function over all space
         | or time AND the function happens to be periodic outside the
         | interval you did sample THEN reconstruction of the bandlimited
         | periodic signal is possible using the Dirchlet kernel.
         | 
         | If you are not able to sample the function overall space (from
         | the first) AND that function is not periodic, you have small
         | problems which occasionally become big problems if you are no
         | careful. Most DSP books have a chapter about windowing discrete
         | data and dealing with this conundrum. Basically, exact
         | reconstruction is not guaranteed and context-specific
         | techniques need to be employed to ensure desirable fidelity.
        
         | Sesse__ wrote:
         | > To add another misconception, the Nyquist frequency is a
         | lower bound, below which you necessarily get aliasing. It
         | doesn't say anything about whether said sampling rate is
         | sufficient for reconstruction or whatever your intended use is.
         | 
         | Yes, it does. The Nyquist criterion gives exactly the (minimum)
         | sampling frequency you need for perfect reconstruction of a
         | bandlimited signal.
         | 
         | > E.g. sampling a 1hz signal at 2hz still doesn't tell you if
         | the signal was a 1hz sin or a 1hz sawtooth (depending on how
         | lucky or unlucky you are).
         | 
         | A 1 Hz sawtooth is not a bandlimited signal, so the Nyquist
         | theorem does not apply.
        
         | duped wrote:
         | > It doesn't say anything about whether said sampling rate is
         | sufficient for reconstruction or whatever your intended use is.
         | 
         | Formally, the Shannon-Nyquist theorem states that if you sample
         | a band limited signal at twice its bandwidth, an ideal
         | reconstruction filter can be used to perfectly reconstruct the
         | input signal. There's some wiggle room over ideal
         | sampling/filtering, but the point is that it tells you
         | _exactly_ what the input was, provided it was band limited.
         | 
         | The misconception I think you're having is that band width is
         | not the period of a signal.
        
         | kardos wrote:
         | A 1hz sawtooth would not be band limited below 2hz
        
       | kurokawad wrote:
       | [flagged]
        
       | EarthIsHome wrote:
       | One misconception that many make regarding the Nyquist frequency
       | is thinking that the sampling rate needs to be twice the highest
       | frequency.
       | 
       | Your sampling should really really be twice the _bandwidth_.
       | 
       | e.g. your bandwidth is 100 MHz centered at 1 GHz (it needs to
       | actually be bandlimited to 100 MHz**). You do not need to sample
       | at 2.2 GHz. You sample at 200 MSPS (really, you should sample a
       | little more than that, say 210 MSPS, so that the bandwidth of
       | interest doesn't butt up against the Nyquist zone edges.)
        
         | mikepavone wrote:
         | Is this assuming you have some analog hardware that's
         | demodulating the signal in front of your ADC? How do you
         | demodulate a signal from a 1GHz carrier with 200 MSPS?
        
           | labcomputer wrote:
           | As the sibling comment mentioned, you don't need to
           | demodulate first, because that is actually what the sampling
           | process of your ADC does.
           | 
           | You can think of it as multiplying the original signal by a
           | comb (in the time domain) of delta functions, which folds
           | everything (in the frequency domain) back into the nyquist
           | frequency of your ADC. Each delta function corresponds to one
           | sample. If your original signal was truly band-limited to
           | 100MHz, then what comes out is a replica of the band limited
           | signal.
           | 
           | One catch (which is actually fairly easy to do in practice)
           | is that the sampling window needs to correspond to around 1/f
           | of the carrier frequency. This is what YakBizzaro is talking
           | about (ADC analog bandwidth) in their sibling post.
        
           | klodolph wrote:
           | No, this assumption is incorrect. You can ADC first and then
           | demodulate afterwards. The spectrum of your high-frequency
           | (near 1 GHz) signal will be aliased at frequencies below the
           | Nyquist frequency, but it's easy to calculate the original
           | frequency, if you know that the signal is band-limited.
        
         | kayson wrote:
         | I know what you're getting at, but your statement, as others
         | have pointed out, is incorrect. Your sampling rate always
         | always has to be twice the highest frequency of the signal you
         | are sampling.
         | 
         | If you are sampling an RF-modulated signal with a center
         | frequency of 1GHz and 100MHz of baseband bandwidth, then yes,
         | you do need to sample at 2.2GHz+. And some applications do
         | exactly that.
         | 
         | If you're taking the RF signal, mixing it down to baseband, and
         | filtering it to bandlimit, then you have a signal with maximum
         | frequency component of 100MHz, and in that case, yes, your
         | sampling rate can be 200MHz+
        
           | diydsp wrote:
           | Actually, GP is correct. See Bandpass Sampling:
           | https://en.wikipedia.org/wiki/Undersampling.
           | 
           | "In signal processing, undersampling or bandpass sampling is
           | a technique where one samples a bandpass-filtered signal at a
           | sample rate below its Nyquist rate (twice the upper cutoff
           | frequency), but is still able to reconstruct the signal.
           | 
           | When one undersamples a bandpass signal, the samples are
           | indistinguishable from the samples of a low-frequency alias
           | of the high-frequency signal. Such sampling is also known as
           | bandpass sampling, harmonic sampling, IF sampling, and direct
           | IF-to-digital conversion."
        
           | abstrakraft wrote:
           | From an information theoretic perspective (which is the
           | perspective Nyquist was originally coming from, though it
           | didn't yet have that name), you don't need to mix the signal
           | down. Assuming it is truly band-limited, you can sample the
           | signal directly at RF, and reproduce it from those samples.
           | Additionally, you will need to modulate the reproduced signal
           | into the original band, which means you need to know where
           | that band is - perhaps this is the detail you're pointing
           | out?
           | 
           | Another way of looking at it is that sampling inherently does
           | the mixing down to baseband. Although it may not be exactly
           | the baseband you want if the spectrum isn't cleanly symmetric
           | about a multiple of the sample frequency.
        
             | Sesse__ wrote:
             | I've worked on ultrasound systems that definitely worked
             | this way, not just in theory but also in practice. Bandpass
             | filter 20-40 kHz, sample directly at 40 kHz (giving 20 kHz
             | bandwidth). No mixer step involved, but your spectrum
             | becomes inverted (e.g. if you do an FFT, a 22 kHz tone will
             | be in the 18 kHz bin, not the 2 kHz bin as you would
             | perhaps expect).
        
               | abstrakraft wrote:
               | Aliasing makes more sense (to me, anyway) if you think
               | about the spectrum of complex signals, in which signals
               | of real samples are modeled as the sum of positive and
               | negative frequencies.
               | 
               | In the sampling operation, all sinusoids are shifted down
               | to the "natural baseband" by adding or subtracting some
               | multiple of the sampling frequency that places the
               | resulting frequency within +/- half of the sampling
               | frequency. So for your example of 22kHz, that real
               | frequency has two components: +22kHz that gets shifted
               | down to -18kHz=22kHz-40kHz, and -22kHz that gets shifted
               | up to +18kHz=-22kHz+40kHz.
               | 
               | Note that this "natural baseband" is an abstraction of
               | our own invention. You can just as easily think of the
               | spectrum as ranging from 0Hz to the sampling frequency
               | f_s, rather than -f_s/2 to f_s/2. The fact that some
               | prefer one over the other is precisely why fftshift
               | exists.
        
         | YakBizzarro wrote:
         | That's true, but there are a couple of things more. First, your
         | DAC or ADC need to have such analog bandwidth. Working in a
         | higher Nyquist zone also require higher amplification since the
         | signal would be considerably weaker and more complex filtering
         | to remove the signal from the other zones
        
         | wittenbunk wrote:
         | Only true for continuous RF sources.
         | 
         | For transient signals you need at least Nyquist frequency.
        
           | azalemeth wrote:
           | Or use the traditional "lock-in" amplifier technique of
           | mixing with a known reference at the frequency mid-point of
           | the range you care about? (That's how NMR spectrometers / MRI
           | scanners worked for decades
        
             | muffles wrote:
             | Isnt the lock-in amplifier technique used to improve the
             | SNR ratio of a signal by filtering out noise at frequencies
             | outside a specific range of interest? High-speed sampling
             | would still be required to accurately measure transient
             | signals.
        
           | mhh__ wrote:
           | In that sense isn't the bandwidth 0-Max anyway though?
        
         | gaze wrote:
         | Yeah but you also need the bandwidth of the sampler to exceed
         | the highest frequency of the sample. Most samplers are limited
         | by some kind of RC time and not their sinc envelope. Most.
        
         | IIAOPSW wrote:
         | I'm mentally filling in the gaps here and assuming MSPS is
         | MegaSamplesPerSecond?
        
           | BenjiWiebe wrote:
           | Yes
        
         | paulsutter wrote:
         | Thank you I came here to post exactly this. Suggestion, you
         | might want to correct the wikipedia page
        
           | eternauta3k wrote:
           | Is the wikipedia page really wrong though? Highest frequency
           | is what the mathematicians care about. EEs care about
           | bandwidth because they're always modulating stuff and
           | thinking in terms of carrier and baseband. Strictly speaking,
           | what the EE grandparent suggested is using aliasing to mix
           | the signal down to baseband.
        
           | stagger87 wrote:
           | You do not want to "correct" the wiki because the wiki is not
           | wrong. The person you are replying to is clearly thinking
           | about some sort of RF system (given the frequencies
           | mentioned) where it's important to have a baseband filter to
           | eliminate aliasing, and that filter will have some sort of
           | roll off region, resulting in a higher sample rate than
           | available bandwidth. That's all great, but the Nyquist
           | theorem isn't talking about an RF system. It's referring to
           | sampling. When the wiki uses the word "bandwidth", they mean
           | the frequencies that don't alias given a specific sample
           | rate.
        
       | polalavik wrote:
       | If you're interested in learning more about various DSP topics, I
       | run a blog on over at https://signalprocessingjobs.com/ - a
       | signal processing job board and blog!
       | 
       | One of the more popular series is the Journal2Matlab blog about
       | translating academic journal papers into easy to read matlab.
        
       ___________________________________________________________________
       (page generated 2023-04-11 23:01 UTC)