Subhadip Saha

Feb 20, 2022 14:15
So, do I have to increase the total data length over 1 second ? since, sampling rate is ~100 MHz, even for 1 second oftotal data-length (or time series) there will be 10^8 to 10^9 data points to checked against threshold voltage. This is quite large, yet kindly let know if I have to run the simulation over 1 sec or not.
Feb 20, 2022 14:15
And, also in the programming, to calculate background rate (which is in Hz) the data length I am running my simulation is 1 second.
Feb 20, 2022 14:14
Sir, as I can see allen deviation minimizes ~100 sec. However, when a signal hits (even if it is noise signal) detector responses nearly instantaneously, right ? or will it wait for ~100 seconds ?
Feb 20, 2022 13:50
Yes, Sir your answer does explain totally. Thanks a lot.
Feb 18, 2022 17:37
ok. Thanks a lot for your valuable suggestion, one last thing I shall alter the value of n accordingly with sampling frequency to keep collection time conserved in all cases, right ?
Feb 18, 2022 17:34
yes sir,I am quite accustomed with scipy and numpy
Feb 18, 2022 17:34
Python
Feb 18, 2022 17:34
yes sir
Feb 18, 2022 17:33
ok sir. Thanks.
Feb 18, 2022 17:32
Thanks a lot.
Feb 18, 2022 17:32
Is there any methodological way to calculate value of n ?
Feb 18, 2022 17:32
and then I van compare the V_rms with V_TH to calculate Background Rate ?
Feb 18, 2022 17:31
like may be over 4-5 consecutive points ?
Feb 18, 2022 17:30
Sir, so I must take n-point average on square of the voltages ??
Feb 18, 2022 17:28
I amused to know that as I am changing the sampling frequency the total power (as well as standard deviation of Gaussian distribution) changes. This is because I have fixed "B" in expression of V_rms at all the sampling rate and hence used the same V_rms as standard deviation of Gaussian distribution in all the compilations (i.e., at different sampling frequencies). I have also rephrased the question with more information.
Feb 18, 2022 17:28
sir, if I understand this correctly, as I am trying to write a simulation on this and hence I am not applying any sort of filters, so background rate will increase as long as the sampling rate is chosen less than the bandwidth under consideration ? I mean the band-width (B) used in the expression of V_rms ? This is so ?
Feb 18, 2022 17:28
Sir, " and the thermal noise was amplified to be well above the quantization noise" - Pardon but I did not quite get this. Since, I am trying to estimate "Background Rate" for a Power Sensitive device and as you have mentioned that power essentially remains same with sampling frequency, right ? So for such a systems Background Rate must be independent of Sampling frequency, Right ? Kindly let me know whether I am on right track or not since I am merely a new learner. Thanks.
 
Sep 30, 2021 11:34
I may also use `np.fft.fftfreq(n, dt)' but here we can't ascertain whether the data has been taken for enough long t i.e $Ts$. So to precisely extract FFT data what shall be the most reliable way ? Thanks a lot.
Sep 30, 2021 11:33
in That case the way I defined freq array it has df =1 Hz, now actual df could have been far more smaller then will that not create any inconsistency in my fft data ?
Sep 30, 2021 11:33
we may have knowledge about $maximum frequency = Fs/2$.
Sep 30, 2021 11:33
but in real life implication we may not have any idea about df right
Sep 30, 2021 11:32
the input pulse is combination of sine wave of frequencies of dual bands
Sep 30, 2021 11:32
sir, here we know that
Sep 26, 2021 16:36
Thanks.Let me go through this.
Sep 26, 2021 16:36
Yes sir, the ifft of this rectangular fft data turns out to be similar as that of the original pulse. However, is "runge phenomenon " intrinsic artefact of np.fft.fft() module ? Or could we eliminate this sort of artefact ? as in a real pulse we may not know which of the frequencies are present hence this sort of artefacts may implant a wrong notion about frequency components. Right ?
Sep 26, 2021 16:36
Ok. I would like to request yout to suggest me some relevant illustrations or references on this as I would require this in my work and thus I am keener to learn these things in details and earnestly hope for your kind aid and coopertion. Thanks. And just to ascertain t = np.linspace(0, Ts, Ns+1)[:-1] + 1e-10 - Ts/2 shall be a better choice than t = np.linspace(0, Ts, Ns+1)[:-1] used earlier right ?
Sep 26, 2021 16:36
Okay, I got this now. Thanks. One last thing if you could explain, "The signal construction for the frequency spacing of df=0.001 is prohibitively expensive, it requires the evaluation of the sine 10000000000 times", How are you actually estimating that "10000000000" this number for df ?
Sep 26, 2021 16:36
Got it. Thanks a lot.
Sep 26, 2021 16:36
in your last code where you have mentioned about Riemann sums, Why have you chosen Ts so large ? Since,here df = is not so small !! And in the output there shall be values at 4 different frequencies i.e. 80, 30, 10, 1 Hz, Then why is not there only 4 peaks ? Kindly explain this.
Sep 26, 2021 16:36
so to keep both low frequency and high frequency components, How may I proceed ? since, in real lie the data I may receive may have dual band of frequencies. And, as I am keeping t_upper = 1/df the resulting fourier plot is far from rectangle. Kindly see here in the link, [link] (drive.google.com/file/d/1qjzd_eajFvrAowzuDtq0cehUdBuDr8Bt/…‌​)
Sep 26, 2021 16:36
But, np.concatenate() sort of concatenates two different arrays/tuples of same lengts rather than summing, Right ? whereas, y2 is thought to be a pulse which is superposition (sum of , may be coherent or incoherent ) of sine waves of dual frequency band. So, if you could kindly explain why are we chosing concatenate() rather than sum(). However, your code is running great. Thanks a lot.
Sep 26, 2021 16:36
As I am considering; 'f_g = np.arange(1, 10, 0.001) ; y2 = 0.0; y2 = sum(np.sin(2 * np.pi * f * t) for f in f_g) ; f_f = np.arange(30, 80, 0.001) ; y2 = sum(np.sin(2 * np.pi * f * t) for f in f_f)' . Then the low frequency components are missing from the frequency graph. Could you suggest me any way out?
Sep 26, 2021 16:36
Sir, one more thing that I have nocited just now, if, df = 1/1000 between 30 to 80 Hz, so we do expect a sort of uniform closely spaced amplitude (constant). Right ? If I use T_upper = 1/df I am not getting that sort graph, rather, if I chose T_upper >= 10*(1/df) then only I am getting uniform nearly continuous amplitude(sort of rectange) from 30 to 80 Hz. Please have your kind opinion this. Thanks a lot.
Sep 26, 2021 16:36
Sir, As you mentioned if df = 1/1000 then length of t shall be 1000. Right ? Is it the length or rather the upper limit such that t = np.linspace(0, 1001, Fs+1) ?
Sep 26, 2021 16:36
Sir, one more thing if you could kindly tell me, "[: -1]" Why is it used after linspace, what does it ensure ? Further, I understand that dt = 1/Fs. But, actually, didn't know about that upper time limit shall be set such that t_upper = 1/df ? Could you please explains why is it so required in our algorithm or may suggest me some study reference for that. Thanks