6

It works fine for me: from scipy.signal import hilbert import numpy as np from matplotlib.pyplot import plot sensor = np.loadtxt('signal.txt') plot(sensor) analytical_signal = hilbert(sensor) plot(analytical_signal.real) plot(analytical_signal.imag) amplitude_envelope = np.abs(analytical_signal) plot(amplitude_envelope) What are you doing differently? ...


3

One way to do this is to look at modeling your signal: $$ x[n] = x_h[n] + x_n[n] $$ where $x_h$ is the hissing sound and $x_n$ is the noise. If you can say that $x_n$ is modeled as: $$ x_n[n] = \sum_{k=K_1}^{K_2} a_k \sin(k\omega_0 n + \phi_k) $$ where $K_1$ is the lowest harmonic of frequency $\omega_0$ that makes it through your high pass filter, $K_2$ is ...


3

These are not the codes you are looking for... As I mentioned in the comments, there are quite a number of ways to do robust TDOA. (Cross-correlation with Linear Chirps, Exponential Chirps, and CDMA-type methods). You have already built a TDOA system utilizing codes, (and that is indeed a good choice over linear-chirps if you need robustness to doppler), ...


3

Cross correlation should work. I think the problem is the waveform that you are using. A square wave has bad auto-correlation properties. If it is a periodic square wave it will have multiple peaks. It sounds like you are just using a single pulse which is better, but it will still have a gradual roll-off which is a problem. Instead, use a Barker code, ...


2

The transient edge or pulse shape of a tone burst represents a modulation. The resulting modulated signal will contain frequency components higher than the tone frequency. Thus you may need a sample rate much higher than just over 2X the tone frequency to reproduce a waveform accurately enough for cross-correlation to match the edges of the pulse envelopes....


2

From what I can see you are not trying to detect defects. For defect detection (CM,Inspection) wavelets are really popular and they had and still has been used extensively. I am working in the same field for a while but from what I can understand, you are trying to measure the thickness of the material. In any case, I couldnt quite understand your problem ...


2

Since you have a measurement microphone, it should come with a manual that contains all necessary information to characterise it (if not with all this information in digital format too). One crucial piece of information is its Sensitivity which is expressed in V/Pa (Volts per Pascal), at a specific frequency. This figure allows you to convert VOLTAGE (...


2

I don't know python. But theoretically, Hilbert transformation is done by: Real part of the signal Rotating the phase of the signal by 90° Analytical signal = real + i*(rotated signal). Envelope is a distance function. It's the distance between the center of the analytic signal to the amplitude of the sample. Instantaneous frequency is the angle. So, I ...


1

Petrus. First of all, thanks for attaching my github library as an update into your question for other readers. I have just seen your question. According to my own experiences, echo hiding methods are fragile towards additional echoes, so are towards reverb. A simple spread-spectrum model using a PN Sequence, which introduces some noise, embeds data into ...


1

I had the same issue. As https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.hilbert.html says @Notes, you need to need to take the imaginary part of the hilbet transform result... "The Hilbert transformed signal can be obtained from np.imag(hilbert(x)), and the original signal from np.real(hilbert(x))."


1

So yes, increasing the duration of the transmitted sinusoidal pulse (by increasing the number of cycles transmitted) will provide improved detection at the same SNR. This is equivalent to a brute force bit duplication used to decrease the bit error rate (hence improve the reliable communication) at a given SNR. Note, however, that you will be transmitting ...


1

reddit user 'aspyhackr' may have found the solution. In his post ( https://www.reddit.com/r/amazonecho/comments/5oer2u/i_may_have_found_how_amazon_prevents_the_echo/ ) he says: "I noticed that the Amazon commercials usually do not trigger the device, or if they do, she only momentarily wakes before ignoring what is said. I did a little research tonight and ...


1

Most speaker/amplifier systems will have analog filters that cut off far below 24 kHz. In fact, with 44100 kS/s being a very common sampling rate, you can be certain that you can't transport any signal at frequencies above 22.05 kHz; Nyquist doesn't only apply to the digitizing process, but also throughout the rest of the signal processing chain. Since ...


1

I'd say it's extremely difficult to obtain the sound pressure from a WAV file. Consider what happens to the sound signal between the microphone and the WAV file. Pressure is applied to the mike. It is converted to an electrical signal, with power that depends on the properties of the mike transducer. Then it is attenuated on its way to the sound card, where ...


1

No Microprocessor is able to deal with such extreme rates as 100MS/s. That is clearly the domain of custom ICs and FPGAs, bringing the data to a very capable CPU, not something small and embedded. Regarding USB: I don't know your sampling bit width, but 40MB/s is not very much if you need to transport 100MS/s – you get 12bit per sample, in the ideal, zero-...


1

Given that the gain of the system and/or ADC seems to be unknown, the scale of the sample values can only be determined from samples of a calibrated source of known value at a known distance from the transducer. With a variable enough gain knob (or AGC) the scale of the samples could be anything.


1

I have worked with this kind of a positioning system before (NOT underwater, but still sound based), and I hope I can help. Your first option is probably not the best idea, even in a controlled environment there are many factors which can change your signal's amplitude and therefore making it unreliable information. I think your second option is a better ...


Only top voted, non community-wiki answers of a minimum length are eligible