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/...


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

The advantage of a RRC filter with a smaller span is that it has fewer taps, so the filter requires fewer multiplies and additions per sample. Longer filters approximate the ideal RRC response more closely but require more computation. Shorter filters do not approximate the ideal RRC as well but require less computation. Typically, one will choose a ...


2

Classic filteration is indeed done using convolution. Though I have seen broader definition of filtering as shaping the signal in its frequency domain which can be done in many other methods as well. Of course you can create meaningful operations using element wise operations and even specifically multiplication. Think of the case you have a noise with the ...


2

I'm not a Ruby programmer, so there will be a lot of handwaving in this answer. If you are particularly concerned about skipped details, you'll have to look in the Ruby source code. In array.sort {|a,b| a <=> b}, the sort method of array is being called with a block { ... }. The arguments used by the block are given by |a,b|. The comparison "spaceship"...


1

The sharper the filter is in the frequency domain, the longer the impulse response will be. This typically leads to "time blur" or "ringing" in the time domain. In addition, a zero phase filter is non-causal, so you get "pre-ringing" and any sharp onsets or transients in the time domain get degraded. The long impulse response also leads to a long "...


1

The filter order equals the number of taps minus $1$. The filter order is the order of the polynomial corresponding to the filter's transfer function. E.g., $$H(z)=h[0]+h[1]z^{-1}+h[2]z^{-2}\tag{1}$$ has $3$ coefficients (taps) but it is a second order polynomial (in $z^{-1}$), so the filter order equals $2$ (i.e., it has $2$ zeros and $2$ poles). For ...


1

Signal 1 was an average of a left and right signal and signal 2 was a binocular signal. I followed the suggestion of MBaz, and computed the frequency response of the filter for each segment (N = 3) for each subject (N=12). Then I averaged the frequency responses of the filters. Here is the result: MBaz and Matt: Thank you so much for solving my problem. ...


1

A zero at $z = e^{j\theta_1}$ corresponds to the transfer function $H_1(z) = 1 - e^{j\theta_1}z^{-1}$. You have an implicit plus sign (rather than minus) in your vectors b1 and b2.


1

Questioner's answer... sigma have the same units as x and y i.e. number of pixels. In multi-scale filtering, the size of the filter must change when the sigma changes. Obtain the number of pixels per one millimeter or the vice-versa. (I did this using the property of pixel spacing included in the DICOM metadata in Matlab you can do this as info=dicominfo('...


1

Given an Image $ I \in \mathbb{R}^{m \times n} $ I would solve it as following (Using the Convolution Theorem): I would sample the function in Fourier Domain into a grid of $ m \times n $. I would apply DFT transform on the image to get the $ m \times n $ representation in the Fourier Domain. I would apply Element Wise multiplication between the 2 $ m \...


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