Hi. I am trying to generate pink noise using Voss-McCartney algorithm.
The way how i generate 1st row noise:
1. Call a random function
2. Update the output every 2 cycle. (e.g. 3,3, 57, 57, 100, 100...)
3. 1048576 samples was used in FFT
1) Your spectrum goes from 0 to the Nyquist frequency (i.e. from bin 0 to 512K in your scale), while the reference shows the complete fft (up to the sampling frequency, i.e. 2*pi). So, the fall at the end of your plot is the notch at half the frequency in the reference (pi). Note that the normalizations (horizontal scale) are different in your plot and in the reference.
2) Your plot is linear in the hirizontal (frequency) axis while in the reference is log, so compressed in the right part and expanded in the left part.
3) In the reference is theoretical (smooth) while yours is an estimation from a single realization without averaging (fat yellow band).
With more rows it should look more "pink". Use log frequency scale for see it.
Regards
From my understanding, there is no way to plot more than half sampling frequency. Besides, any freq above nyquist freq will be having a mirror of signal, right? Why there is a ripple instead of mirror image?
May i know how to plot more than half sampling frequency? So that i can see the ripple.
Besides, what is the ohm in horizontal scale represent?
From my understanding, there is no way to plot more than half sampling frequency. Besides, any freq above nyquist freq will be having a mirror of signal, right?
Discrete (or Fast) Fourier Transforms calculates values for frequencies ranging from 0 to Fsampling (or alternatively from -Fsampling/2 to Fsampling/2).
It is true that for real signals the spectrum has simmetry around frequency 0 or Fsampling/2 (and then only one half is sufficient), but this is not the case for complex signals.
"Omega" represents normalized angular frequency, measured in radians per sample. Nyquist frequency corresponds to Ω=pi; sampling frequency corresponds to Ω=2*pi.
How to determine a signal is complex signal or real signal? From my point of view, every value of each row generated by random function is real. So, it should be the real signal. May i know why you call it complex signal? Is it relates to the euler identity? Pls elaborate in details.
Can you suggest me a reference to me? so, that i can try to plot a graph that more than Nyquist frequency.
"Omega" represents normalized angular frequency, measured in radians per sample. Nyquist frequency corresponds to Ω=pi; sampling frequency corresponds to Ω=2*pi.
How to determine a signal is complex signal or real signal? From my point of view, every value of each row generated by random function is real. So, it should be the real signal. May i know why you call it complex signal? Is it relates to the euler identity? Pls elaborate in details.
You are generating real signals, but you could generate complex as well with real and imaginary parts. Compex signals are used a lot in communications (I and Q components in modulation-demodulation, etc.) and signal processing. Look in communications and signal processing books.
woeichee said:
That depends of the application you use for the plot. There should be a way to calculate and represent the whole spectrum.
For example, fft functions in Matlab computes the whole spectrum. What program are using you?
woeichee said:
"Omega" represents normalized angular frequency, measured in radians per sample. Nyquist frequency corresponds to Ω=pi; sampling frequency corresponds to Ω=2*pi.
You are generating real signals, but you could generate complex as well with real and imaginary parts.
Basically, you are talking the pink noise plotted on that website is generated by complex signal, since you mention that the spectrum i attached is limited by Nyquist frequency. Am i right? if that is the case, how to generate a random number with imaginary part? Is it using a 2 random function: one as real part and another one is imaginary part?
For example, fft functions in Matlab computes the whole spectrum. What program are using you?
I am using Agilent VEE. e.g Perform 1024 point fft will generate 513 point (real and imaginary)
You are generating real signals, but you could generate complex as well with real and imaginary parts.
Basically, you are talking the pink noise plotted on that website is generated by complex signal, since you mention that the spectrum i attached is limited by Nyquist frequency. Am i right?
No. I intended to answer this question: Besides, any freq above nyquist freq will be having a mirror of signal, right?
telling that Fourier Transforms of complex signals don't have that symmetry. Signal of the website seems to be real; its spectrum looks symmetrical.
woeichee said:
if that is the case, how to generate a random number with imaginary part? Is it using a 2 random function: one as real part and another one is imaginary part?
I don't know if it has an option for generate the whole spectrum. You have the spectrum from 0 up to Fsamp/2 for a real signal. This is OK for real signals. So, your spectra will look like the first half of those of the website. If you want to reproduce the figures of the website, you need the whole spectrum.