[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)