sine sweep max speed?

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

lets imagine the non dithered signed 16bit 48000hz audio format,now imagine a sine sweep that starts at some multiple of the 48000hz samplerate

that would be 6000hz or 3000,1500,750,375hz,from this starting point,it will sweep upwards exactly one octave,since 24000hz is our maximum ( niquist freqency),the sweep would look like this

6000hz ---> 12000hz or 1500hz ---> 3000hz or 750hz ---> 1500hz,you get the point,a one octave sine sweep between two multiples of sampling rate

my question is,how FAST (short) can you make this sweep without any distortion? single 6000hz sinewave cycle is 8 samples long,3000hz cycle is 16samples,24000hz is 2 samples....

is there some kind of equation,some precise mathematical formula that explains this? I believe this is also called "chirp",is it something like sample lenght of starting freqency single sine cycle + sample lenght of final freqency single cycle?? so 3000hz to 6000hz sine sweep would have to be atleast 24 samples long to avoid distortion ( 16 + 8 )

I believe this is also called "Sweep rate",but thats more of ultrasound/radio term,I am thinking about wav digital signal

Post

Half of the sampling frequency
Applies to the speed of the pitch change too, not only to the frequency of the sine. Below Nyquist you can reconstruct the signal, doesn't matter if signal is changed by a fixed-frequency-sine-signal or by varying-frequency-sine-signal (or did I missed something?)

Post

I dont know if you understood me,but I failed to understand you or you dont understand me,and I understand you

"half of the sampling freqency" per second? that would be,24000 samples,I know for fact that you can sine sweep from 3000hz to 6000hz in much shorter timeframe than 24000 samples,I think you dont understand what I ask

Post

I dont know if you understood me,but I failed to understand you or you dont understand me,and I understand you

:D :D :D

My approach on this on was:
With 48Khz you can reconstruct signals below 24kHz.
A sine sweep from 0 to 24kHz does not produce frequencies above 24kHz, unless the sweep itself is faster than 24kHz.
So, as long as your sweep speed is below that you will be able reconstruct it. So max speed is 24kHz, or 0.04ms or 2 samples.
I might be wrong, though :D Does it make sense to you?

Post

I am sure if you sine sweep from 1500hz to 3000hz in 2 samples,you will distort it. No, let me take that back,I am pretty sure you will completly f.ck it up


I think if you tried sweep 1500hz to 3000hz in 2 samples it would just look like single 24000hz sine wave cycle.... 1500hz is 32 samples long,you cannot reproduce even single 1500hz cycle without atleast 32samples

Post

Well, if you sweep from 1500hz to 3000hz within 2 samples, the sweep is faster than a sine period.
So ofc you cannot reproduce a single 1500hz cycle during the sweep, because there is no full cycle during the sweep.
Like:
Your sine period is 20ms (50Hz sine) and you sweep to 100Hz (10ms period) in 5ms.
==> There is no full sine cycle during the sweep, because 100Hz cycle is 10ms. So why do you want to reconstruct one?

Post

neodymDNB wrote: my question is,how FAST (short) can you make this sweep without any distortion? single 6000hz sinewave cycle is 8 samples long,3000hz cycle is 16samples,24000hz is 2 samples....
The theoretical answer is simply that you can't. In general, you can't have a signal that is finite in both time and frequency domains at the same time, so even a finite time envelope is really out of the question.

Now, the practical answer is that this depends on the resolution of your analysis, because with sufficiently slow sweep you won't have enough resolution to actually see any side-bands since they will decay too fast. Alternatively if you use such a "chirp" to analyse a system, then your spectral resolution depends on the sweep rate.

Either way, you can always make it "better" by making it slower, it's just a matter of figuring out what is "good enough" for your purposes.

Post

I think your question is not really answerable. If by 'distortion' you mean aliasing, then there will always be some aliasing - you have to decide how much is too much. Frequency modulation (which is essentially what you are doing) produces an infinite number of harmonics - they fall off in amplitude as their frequency increases, but the amplitude never reaches zero.

The faster you modulate (or sweep), the higher the amplitude of these harmonics, and the more bandwidth they occupy.

You need to be clear what you mean by distortion, and how you would define an undistorted signal - then your question might be easier (or not!) to answer.

Post

PurpleSunray wrote: Your sine period is 20ms (50Hz sine) and you sweep to 100Hz (10ms period) in 5ms.

no,you dont understand me,you are describing irrational setting for input that create anything but the goal.You are thinking about things that are UNREAL

I am asking about REAL stuff,not just some random insane irrational input,but REAL output

sure you can input setting to sweep from 50hz to 100hz in 5ms but the result,the output,the REALITY would not contain 50hz,not 100hz,not even anything between!

Post

kryptonaut wrote:I think your question is not really answerable. If by 'distortion' you mean aliasing, then there will always be some aliasing - you have to decide how much is too much. Frequency modulation (which is essentially what you are doing) produces an infinite number of harmonics - they fall off in amplitude as their frequency increases, but the amplitude never reaches zero.

The faster you modulate (or sweep), the higher the amplitude of these harmonics, and the more bandwidth they occupy.

You need to be clear what you mean by distortion, and how you would define an undistorted signal - then your question might be easier (or not!) to answer.
you are talking continuous signal,I said 16bit 48000hz wav,so discrete signal,that means no infinite harmonics

"The faster you modulate (or sweep), the higher the amplitude of these harmonics, and the more bandwidth they occupy." is there speed,or sweep rate low enough that the sinewave is changing freqency but its not creating harmonics?

thats the point of my question,what is fastest rate of sweep that will still keep the sine clean,you get me?

Post

Well, it depends. FM modulation always creates infinite number of partials, which means infinite spectrum. But higher partials fall off very quickly, so it's very subjective.

As long as sum of both frequencies is significantly lower than Nyquist freqency, it should be fine.
you are talking continuous signal,I said 16bit 48000hz wav,so discrete signal,that means no infinite harmonics
You do not understand aliasing. Mathematically there ARE infinite harmonics no matter what you do, they just cause aliasing when they exceed 24000 Hz in your digitized signal.

16-bit consideration is interesting, though, if we assume partails below LSB are insignificant.
Blog ------------- YouTube channel
Tricky-Loops wrote: (...)someone like Armin van Buuren who claims to make a track in half an hour and all his songs sound somewhat boring(...)

Post

DJ Warmonger wrote:Well, it depends. FM modulation always creates infinite number of partials, which means infinite spectrum. But higher partials fall off very quickly, so it's very subjective.

As long as sum of both frequencies is significantly lower than Nyquist freqency, it should be fine.
I am no expert,but Chirp isnt really a FM modulation,yes yes we are modulating the freqency,but FM modulation thats usualy one oscillator manipulating pitch of another oscilator,so we are talking very fast changes

I am thinking more along the chirp lines,chirp doesnt generate any harmonics/partials.Its just sinewave that increases freqency slowly over time

Image
Last edited by neodymDNB on Fri Sep 23, 2016 3:33 pm, edited 1 time in total.

Post

neodymDNB wrote:thats the point of my question,what is fastest rate of sweep that will still keep the sine clean,you get me?
Well, you need to define what you mean by 'clean'.

Once you start sweeping the frequency, all of the wiggles that look sine-like will not actually be sinusoidal, so none of them will be truly 'clean'.

I don't think anyone can give you a definitive answer - your best bet would be to generate some sweeps at different speeds, feed them into a spectrum analyser, and decide for yourself what is acceptable.

Post

kryptonaut wrote:
neodymDNB wrote:thats the point of my question,what is fastest rate of sweep that will still keep the sine clean,you get me?


Once you start sweeping the frequency, all of the wiggles that look sine-like will not actually be sinusoidal, so none of them will be truly 'clean'.
but if thats true,wouldnt that make Chirplet transform immposible?

I believe you can sweep sine without it making any harmonic distortion,so at any point in time,its always just single freqency tone

https://en.wikipedia.org/wiki/Chirplet_transform

Post

neodymDNB wrote:
PurpleSunray wrote: Your sine period is 20ms (50Hz sine) and you sweep to 100Hz (10ms period) in 5ms.
no,you dont understand me,you are describing irrational setting for input that create anything but the goal.You are thinking about things that are UNREAL

I am asking about REAL stuff,not just some random insane irrational input,but REAL output

sure you can input setting to sweep from 50hz to 100hz in 5ms but the result,the output,the REALITY would not contain 50hz,not 100hz,not even anything between!
I do understand you, the point is that just that nodoby knows what is REAL for you.
If you can defined what's REAL, you already answert the question by yourself.
sure you can input setting to sweep from 50hz to 100hz in 5ms but the result,the output,the REALITY would not contain 50hz,not 100hz,not even anything between!
So what would the output be if not sin(changeRate+ phase), where changeRate modulates with the sweep?

Post Reply

Return to “DSP and Plugin Development”