New answers tagged

0

The "spikes" that you see are coming from a "half-done" inverse Discrete Fourier Transform (DFT). The main thing to note is that when you specify a filter in the frequency domain (as it is hapenning here), that filter has to "fit" the DFT spectrum ordering too. You conclude (correctly) "I'm splitting the transforms range in ...


1

Sample rate conversation is easy in theory but tricky in practice. Assuming you want to convert to the standard rate of 44.1 kHz (not 44 kHz), you have an awkward conversion ratio. $3800 =2^3 \cdot 5^2 \cdot 19$ and $441 = 3^2 \cdot 7^2$ are mutually prime that means that rational sample rate conversion is impractical,so you need irrational sample rate ...


1

Your digital signal is originally sampled at $380KHz$ and you want to downsample it to sampling rate $44KHz$. Therefore, you will require fractional sampling rate change. You cannot just downsample to $44KHz$ because $\frac{380}{44}$ is not an integer. First upsample by a factor of $11$ and then downsample by a factor of $95$ to reach your goal. Since you ...


0

The fft product alone is not the convolution, but the frequency domain of the convolution. To complete the operation the OP must also take the inverse FFT to get a circular convolution result. $$CONV = \text{ifft}(\text{fft}(a) \text{fft}(b))$$ However, similarity would be determined using correlation not convolution. To do this, simply complex conjugate one ...


1

As @hotpaw2 says, the FFT assumes periodic boundary conditions, that is the next point on the right should be equal to the first point on the left. It's not the case in your code because the time $t=10$ is included in your time array. The next point on the right is thus $t=10+dt$ and you get the discontinuity because $y(10+dt) \neq y(0)$. You can fix this by ...


3

FIR filter with impulse response $h[n] = {-\frac{1}{2}, \frac{1}{2}}$ means that : $$y[n] = \frac{1}{2}x[n-1] - \frac{1}{2}x[n]$$ This is in some sense a mirror operation of Moving Average of two samples. This is Moving Difference (samples reversed). A High Pass Filter. So, each output sample is the difference of current input sample with previous input ...


0

You shouldn't perform the filtering operation on the FFT data, but on the original time domain data. The functions filtfilt and lfilter both take time domain data as their inputs, not frequency domain data. Filtering can also be implemented in the frequency domain (by multiplication), but the functions you're using don't do that.


0

Having a look into the sources of librosa.display.specshow reveals how bins are converted into frequencies internally: The plotting uses librosa.core.fft_frequencies, which shows that it is basically the same as numpy.fft.fftfreq: >>> librosa.fft_frequencies(sr=22050, n_fft=16) array([ 0. , 1378.125, 2756.25 , 4134.375, 5512.5 ,...


1

If you don't want to use the PyPI package for bm3d, you can use ffmpeg and run the bm3d filter as an OS command- command="ffmpeg -i "+input_image_path+" -filter_complex bm3d=sigma=30/255:block=4:bstep=2:group=1:hdthr=10000:estim=basic /path/to/output/directory/output.png" os.system(command) This takes lesser computation time.


1

THe DWT does not really know about the actual sampling. It do cares about the relative frequency span. And it has not knowledge about pre-processing, like linear filtering. So in your case, the detail coefficients of the first level of wavelet coefficients correspond, more or less, to the [128/2-128]/2 frequency range. Because of the initial [0-30] low-pass ...


1

If you are not interested in picking out the frame that bubbles start forming and since the transition is (clearly) from order (clearly formed shapes) to disorder (mostly noise), you can use a feature based approach. That is, characterise the whole image with a few numbers. An obvious feature here is image entropy. The typical (but not the only) way to ...


0

I was hoping someone would be able to give me an explanation hilighting some of the differences between cochleagrams and STFTs, and what their individual use-cases would be STFT (short time fourier transform) is a technique that is used to obtain a time-frequency representation of audio signals. Spectrograms and phase vocoders are arguably the most ...


1

First you will need to build the frequency tables for each note scale ex. [B, A, G, F, E, D, C], you will need say what scale you will use to compare with each window pitch, of course you also have to worry that your frequency table includes major or minor chords. But the essence of one basic autotunes works by adjusting to the chromatic scale, In other ...


0

You must be assuming you have a dominant peak at zero from only looking at the same graph you shared, but if you really did remove the mean, then value at bin 0 will be 0 (as bin 0 is directly proportional to the mean). Inspect the data carefully as their does not appear to be anything wrong with the code with respect to the FFT. What is likely occurring is ...


2

I'd try a very "tinkery" approach here: Erode the image, so that the black area is shrunk by a fixed radius of pixels from its border (say, 5px). Dilate the resulting image by the same amount measure the amount of difference between original and processed image. The idea is that something that is a locally convex border doesn't suffer through erosion (it's ...


0

If you know exactly what to look for (3 sines of known duration, frequency, relative phase/amplitude), perhaps you can simply use that as a template in a matched filter, regarding anything else as noise and ad-hoc find a suitable threshold? It might seem expensive to run a full-rate convolution of thousands of taps. Recognizing that your signal bandwidth is ...


1

Are you using scipy by any chance ? If yes , this might help https://scikit-dsp-comm.readthedocs.io/en/latest/_modules/sk_dsp_comm/digitalcom.html check for functions "QPSK_tx" and "QPSK_bb"


1

Did you solve your problem? Otherwise, I can introduce you an utility software tool (free to download) to convert any raw images to jpgs. I converted all long/short .RAF and .ARW images (in Learn to see in dark) to jpgs in just 30 sec. Unlike rawpy, it doesn't change (brighten) the images.


Top 50 recent answers are included