9

Yes, it is called acoustic communications. Here is an example of a paper that uses orthogonal frequency division multiplexing (OFDM) in an underwater acoustic channel. EDIT: Note that you wouldn't call it a SONAR any more because SONAR stands for SOund Navigation And Ranging, whereas this is a communication system, just like you wouldn't call your cell ...


9

to be picky, RF is strongly attenuated is salt water. Fresh water is much less attenuated. During WW2 submerged submarines could use their radios in Lake Michigan. Very low frequency RF communications is possible in salt water. The bit rate is very low. Fiber optic cables work well too. Acoustics tend to be attenuated as well.


7

Short answer: You can't. If an attacker can insert a signal that covers the whole bandwidth (e.g. a white signal, or at least one that has no spectral zeros) into the system (and he can do that over an arbitrarily long time, or add up observations), they will get an output, and can through the magic of correlation get the impulse response.


6

Yes, actually sound waves are better than RF signal in underwater, because of the low frequency requirement. We don't covert sound waves to radio signals. The transceiver in this case is called transducer. EDIT: You have basically three options for wireless communication in underwater: RF signals, acoustic signals, and optical signals. RF signals suffer ...


6

The term “easy” can mean simply to need less effort but can include cases where an accumulation of prior efforts can be leveraged. Analog filters have a long history and someone in 1970 who was trained in analog design might consider modifying what they know to build a digital filter as “easier" than using an optimization routine written in Fortran ...


5

The best way for underwater communication is to be acoustic communication where sound waves are used. Sometimes, visible light is used such as red and green, but in all cases, acoustic communication is common and used more. Underwater acoustic communication is considered as one of wireless networks types. but it's more complicated, I can say the most ...


5

You have 3 ways of communicating underwater 1) Acoustic : Most popular means of communication. Has high latency but good range 2) Low frequency RF. To increase the range you have to lower the frequency, which means small bandwidth, so you can't transmit a lot of information. 3) Optical: Low latency + High bandwidth but the range is limited to less than ~...


5

A causal impulse response is zero for negative argument: $$h[n]=0,\qquad n<0\tag{1}$$ Hence its $\mathcal{Z}$-transform is given by $$H(z)=\sum_{n=-\infty}^{\infty}h[n]z^{-n}=\sum_{n=0}^{\infty}h[n]z^{-n}=h[0]+h[1]z^{-1}+h[2]z^{-2}+\ldots\tag{2}$$ Note that there are no positive powers of $z$ in Eq. $(2)$. Consequently, $H(z)$ converges for $|z|\to\...


5

The given single-pole IIR filter is also called exponentially weighted moving average (EWMA) filter, and it is defined by the following difference equation: $$y[n]=\alpha x[n]+(1-\alpha)y[n-1],\qquad 0<\alpha<1\tag{1}$$ Its transfer function is $$H(z)=\frac{\alpha}{1-(1-\alpha)z^{-1}}\tag{2}$$ The exact formula for the required value of $\alpha$ ...


5

The Jacobian is not computed numerically but analytically and then just evaluated. The frequency response of the IIR filter is $$H(e^{j\omega})=\frac{b_0+b_1e^{-j\omega}+\ldots+b_Me^{-jM\omega}}{1+a_1e^{-j\omega}+\ldots+a_Ne^{-jN\omega}}=\frac{B(e^{j\omega})}{A(e^{j\omega})}\tag{1}$$ Now you need the derivative with respect to the filter coefficients: $$\...


5

First of all, what is the order of your IIR filter? The highest order I have ever used was an order-10 IIR filter for a control loop application. I feel like it is unlikely that you need more that this. Second, it is a good idea to split your filter in second-order-sections (SOS) and cascade them , this usually fix most issues. https://www.dsprelated.com/...


4

Neither of you is wrong. Your final expression is just the same as $H(\omega)\cdot e^{-j\omega(N-1)/2}$, which is (an approximation of) the desired complex frequency response with an additional linear phase term that depends on the chosen filter length $N$. This means that you need to subtract that linear phase term from the desired phase response, because ...


4

This sounds like a quick conclusion. It is true that discrete-time IIR filters are typically designed by transforming continuous-time filters (also valid for actual and used tools, for example MATLAB). The research made on continuous-time filters has brought many results and analytical tools to design them efficiently, while the bilinear transform quickly ...


4

Limited numerical precision. The higher the sample rate, the closer the poles move to the unit circle, the closer to the unit circle, the less stable the filter is. There are different implementation methods that are better than others: design as poles, and zeros and not as transfer function, use cascaded second order sections, use correct section ordering, ...


3

These appear to be the coefficients of a linear phase (due to the even symmetry of the coefficients) 48 tap low pass filter arranged in polyphase structure and given the words interpolator in the title, for purpose of upsampling the input signal by a factor of 4. I have detailed the approach to designing a polyphase interpolator from the FIR coefficients ...


3

Since the discussion in the existing answers and comments has mainly focused on what Savitzky-Golay filters actually are (which was very useful), I will try to add to the existing answers by providing some information on how to actually choose a smoothing filter, which is, to my understanding, what the question is actually about. First of all, I'd like to ...


3

Your call to fir1 looks OK, but you should check the result yourself. You could probably answer several of your other questions by carefully reading the mathworks documentation of the respective functions. E.g., for fir2 you can read that f is a vector of frequency points in the range from 0 to 1, where 1 corresponds to the Nyquist frequency. The first ...


3

Long answer: Let's model the information flow from your "hidden" IIR $X$ to your observable output $Y$ as $$ X \longrightarrow Y$$ Then, we call the amount of information you get per observation the *mutual information $I(X;Y)$; that information is the reduction of uncertainty about $X$ to be achieved by observing $Y$. We call the expected uncertainty ...


3

First, the youtube source shows an 1st order active filter, maxim source shows 2nd order active filter and last source shows first order passive filter. That's three different designs. A 1st order active filter can be implemented either in the negative feedback branch of the op amp (as in youtube source), this does not need to be grounded. Or it can be ...


3

Approximation by the real part of a weighted sum of separable complex Gaussian component kernels Figure 1. The proposed scheme illustrated as 1-d real convolutions ($*$) and additions ($+$), for cut-off frequency $\omega_c = \pi/4$ and kernel width $N=41$. Each the upper and the lower half of the diagram is equivalent to taking the real part of a 1-d ...


3

Assuming: That you limit yourself to LTI filters. That you can characterize both the noise and the signal of interest. Then: (a) If you want to detect a signal of interest (e.g. detect footsteps), use a matched filter. (b) If you want to estimate the value of such signal, use a Wiener filter. These are "the best" you can do (under a bunch of assumptions)....


3

I've seen Julius' MATLAB code and I know what it does. Essentially, given an LTI filter with impulse response, $h[n]$, and frequency response: $$\begin{align} H(e^{j \omega}) &\triangleq \Big| H(e^{j \omega}) \Big| \, e^{j \phi(\omega) } \\ &= \sum\limits_{n=-\infty}^{\infty} h[n] \, e^{-j \omega n} \end{align}$$ Then $\Big| H(e^{j \omega}) \Big| ...


3

In general, there is no such requirement for notch filters that $H(e^{j0})=H(e^{j\pi})$ must be satisfied. You could definitely have a notch filter with $H(e^{j0})\neq H(e^{j\pi})$. Having the same gain at DC and at Nyquist is just a practical definition, and if you have a sufficient number of degrees of freedom (i.e., filter coefficients) you might as well ...


3

First of all, it's not correct to say "poles should (always) be inside the unit circle for an LTI system to be stable" ; unless it's implied that system is also causal. Otherwise, if the system is noncausal, then its poles should be outside of unit circle for the system being stable. For IIR systems that are described by LCCDEs causality must be externally ...


3

Given your hardware constrains mentioned in the comments, your best shot is probably to do this as parallel second order section. Since the parallel sections are independent of each other, it's pretty straight forward to vectorize and it's also a little cheaper: each section has a complex conjugate pole pair but only one real zero. Things get a bit more ...


3

In support of Comparable mixin, a default <=> or spaceship operator for pixels is defined in the function Pixel_spaceship in rmpixel.c. However, in your use of the sort method, you define your own code block that overrides the <=> operator, and yours takes a single argument rather than two which would be correct, so the definition is broken and ...


3

Ripples are usually an undesired side effect. E.g., when designing a frequency selective filter you normally want a piecewise constant magnitude of the frequency response, but this is physically impossible. Certain design criteria result in filters without ripples, such as the Butterworth criterion, which results in filters with a maximally flat response.


2

NOTE my previous answer (before this edit) denoting the Savitzky-Golay (S-G) filter as a nonlinear, time-varying input data dependent was wrong, due to a premature mis-interpretation of how a Savitzky-Golay (S-G) filter computes its output according to the wiki link provided. So now I'm correcting it for the benefit of those who would also see how S-G ...


2

As with anything, sometimes certain tools are better than others. Moving average (MA) filters can be used to smooth data, and are FIR. They're pretty much the simplest filter you can come up with, and they work well for a lot of tasks as long as you aren't trying to model any sudden jumps or polynomial trends. Keep in mind though that these are ...


2

Additional resource: this is JFonseca's code translated in Python: import numpy as np import matplotlib.pyplot as plt import scipy, scipy.stats, scipy.signal def adaptiveResonatorFilter(x,w0): X = np.fft.fft(x) mX = abs(X) mX = mX / max(mX) sf = scipy.stats.gmean(mX) / np.mean(mX) l = 0.99 if 0.5<1-sf else 0.0 B = [(1-l)*np.sqrt(...


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