8

It's quite benefical to view the mathematical expression of the process as well. In discrete-time interpolation, a mere $N$ times repetition of a single sample (pixel) into the new enlarged block is an interpolation with zero-order hold kernel. This is mostly applied for simple fast but crude image zooming. In 1D, the kernel is $$h_0[n] = \begin{cases}{ 1 ~...


5

For example a delay of 0.75 sampling periods would have an impulse response like this (red squares sampled from the blue delayed sinc): Time (horizontal axis) unit is sampling periods. That kind of a filter is not causal as there are non-zero samples at negative times. None of the samples is zero, no matter how far left or right you go. That's what they ...


3

The problem with downsampling is that it can be lossy -- since you're reducing the sampling rate, you can introduce aliasing. So, you can reverse the order whenever downsampling does not result in aliasing. For example, say your discrete-time signal $x[n]$ contains energy in frequencies up to $f_N/3$, where $f_N$ is the Nyquist frequency. Then, downsampling ...


3

There are two ways (I see right now) to model this system in terms of other known systems. First that comes to my mind is a zero-order sample and hold system. Although those are usually described in a continuous time domain, it might be interesting to look at as well. Another model is a combinition of a usual upsampler followed by an FIR with all $N$ taps ...


3

For one practical example, I'll point to GNURadio's frequency translating FIR filter block: https://github.com/gnuradio/gnuradio/blob/master/gr-filter/lib/freq_xlating_fir_filter_XXX_impl.cc.t It's a channelizer & decimator block that gains an efficiency by spinning a user provided FIR LPF up to be a complex BPF where the channel is and filtering first ...


2

If you are running a causal/real-time process, note that any upsampling/downsampling sub-process involves anti-alias filtering that will add a delay (a linear delay in the case of a symmetric FIR filter). So, if you want to re-combine resampled and non-resampled processing chains, you might want to add delays to the non-resampled processing paths to match ...


2

You are on the right track. You can use decimation and interpolation (or resampling, which is a combination of both decimation and interpolation) to change the sample rate. For instance, if you start with 48 kHz samples you can decimate by 6 to get down to 8 kHz, do some processing, then interpolate by 2 to get to 16 kHz, do some processing, then ...


2

The ideal delay has a frequency response of: $$ H(e^{j\omega}) = e^{-j\omega D} $$ this has impulse response $$ h(n) = \mbox{sinc}(n - D) = \frac{\sin(\pi(n-D)}{\pi(n-D)}. $$ For $D$ an integer, this just becomes: $$ h(n) = \delta(n-D) $$ where $\delta$ is the Kronecker delta. That means there is no resampling, so I am not sure where you get that from (it's ...


2

The Sampling operation (both upsample and downsample) depends on two very critical conditions: 1- The existance and applicability of ideal frequency selective filters 2- The operated signal being strictly bandlimited For most practical systems these two critical conditions are only approximately met. Hence the computational results by those practical ...


2

I think you are referring to the symbol shown at the left of the structure: the arm that moves between different phases? See slide 4 of this PDF. The point the Polyphase representation is trying to get across is that we give different samples of the input to different Phases of the Polyphase filter. Polyphase Filtering is a Digital Signal Processing ...


2

In addition to what hotpaw2 said, it's important to understand that sample rate reduction is the corner stone of actual applicability in many systems. Software Defined Radio frontends nowadays produce hundreds of complex-valued Megasamples per second – if you don't reduce that amount of data, no commonly available PC can deal with that. Also, many devices ...


2

[Good question, that made me rethink of stuff I believed natural. I shall incorporate them in future lectures] Downsampling the highpass (and the lowpass) provide you with a critically sampled filterbank, in other words, not redundant. Critical sampling is a price to pay in some applications like compression, and in the context of finding an orthogonal ...


2

This is a problem from Multirate Systems and Filter Banks by P. P. Vaidyanathan. In Section 4.6.2.E, there is a discussion on what he calls Euclidean Complementary Functions. Specifically, he discusses one of the results of Euclid's theorem: ... if $H_0(z)$ and $H_1(z)$ are relatively prime, there exists polynomials $F_0(z)$ and $F_1(z)$ such that $$H_0(...


2

As you know you have to use an ideal low-pass filter, and zero order hold is an approximation which needs more compensation. Ideal LPF has a flat response with sudden cut-off and zero stop band but your moving average window has a sinc frequency response. So the deep valleys belong to the zeros of sinc function and the remaining which has high attenuation ...


2

The decimator by integer $M$ can be shown to be the following block: $$ x[n] \longrightarrow \boxed{ \downarrow M } \longrightarrow y[n] = x[Mn] $$ Assuming that the input $x[n]$ is WSS it has the ACS as $$ r_x[k] = E\{ x[n] x^*[n+k] \} $$ Then the output autocorrelation can be defined as: $$ r_y[n,n+k] = E\{ y[n] y^*[n+k] \} = E\{ x[Mn] x^*[Mn+Mk] \} =...


2

Linear and more generally polynomials are pretty common methods for interpolation or extrapolation, easy to implement, and simple in a causal setting (prediction). Parabolic interpolation (in the Fourier domain) or Savitzky-Golay filtering are practically useful examples, especially for peak-like signals. Polynomials however can be poor at modeling ...


2

You would upsample by 441 and downsample by 640 since $11025 \cdot 640 = 16000 \cdot 441$ That would be a rather expensive operation, so in practice you would either fugde it a bit: 31/45 would get you to 11022Hz and 11/16 to 11000 Hz or you would use a suitable poly-phase irrational conversion algorithm


1

If you are upsampling a class of bandlimited signals, such as specch, using polynomial interpolators, then you are introducing erros into your results. This is because polynomial interpolators will not have the necessary conditions for being an image free upsampler. The remaining spectral images are observed as errors in the interpoated signal. However, if ...


1

We can start from what is "shift invarient": Transform G is shift invariant if - $$\forall x:\sigma^nG(x) = G(x)$$ $\sigma^n$ being shift by n. Examples for transforms that are invarient to shifts are histogram and the amplitude of Fourier transform. Commuting with shift is - $$\forall x:\sigma^nG(x) = G(\sigma^nx)$$ So it can't be shift invariant (unless ...


1

With every polyphase filter bank I have worked with, the first block in the analysis phase is an IFFT, and the block in the synthesis phase is a DFT. These operations essentially cancel one other, so it should be fairly intuitive. Think of the DFTs acting as sinusoids modulators in this case rather than an operation to convert to the frequency domain. By ...


1

just a WSS signal $x[n]$ passed through an $M$-fold decimator (a multirate signal processing block where $M=2$, used in fractional rate conversion), no filter follows the decimator. So $y[n] = x[Mn]$ WSS means that the autocorrelation function only depends on the distance between the points (and that the mean and variance are time-independent); i.e. the ...


1

If the only reason for the buffer is so your algorithm has something to process, then the simplest way to implement this is to keep your current algorithm but use a shorter buffer. If the larger buffer was present for other reasons (i.e. data arrives in large chunks), then keep that larger buffer, but feed it into a shorter buffer that is given to your ...


1

Put band pass filters (5 MHz wide) … Re-sample the chunks to 4 MHz. Don't do that! If you reduce the sampling rate to 4 MS/s, you need to filter to 4 MHz bandwidth anyway. So you could instead just use 4 MHz wide filters and get rid of the resampling filter.


1

I will try to explain from my understanding. For interpolation, the whole process can be viewed as two parts: up-samping with padding zeros, and the low-pass filtering. The zero padding will increase the length and thus the computational costs. For the low-pass filtering, there are lots of zeros, thus these multiplications could be omitted. For decimation,...


1

So the central question here is what the restrictions for the filters of this class of filterbanks (i.e. $N=2$-filter bank with the HPF generated from a lowpass/highpass transform of the LPF) is. Let us for that first introduce a couple of helping definitions: $$\begin{align} \mathbf{h}(z) &= \begin{bmatrix}h_0(z)\\h_1(z)\end{bmatrix}&\text{...


1

"Multirate" has multiple acceptations. The main ideas is that data is composed of different components that each different dynamics or rates (your two sines for instance). The standard approach is "he who can do more can do less": one adapts to the fastest rate. The multirate approach is a divide and conquer process: somehow, you can use different (and ...


1

Not only is there less data to process, but also the required length of finite impulse response (FIR) filters is shortened by the same proportion. The amount of work in time domain convolution is proportional to both of those and is thus reduced to a fraction that is a square of the downsampling ratio, as compared to naive FIR filtering at the original rate.


1

Once upon a time, when a lot of DSP algorithms were being developed, expensive DSP processors were a thousand to maybe a million times slower than a current budget smart phone. Same issue with memory prices. So anything that reduces CPU cycles or KBytes of memory required were considered important techniques. Even today on modern hardware, reducing sample ...


1

The matlab functions upsample and downsample just insert zeros, and remove samples respectively. There are big aliasing/imaging problems with using them for fractional resampling that you probably are seeing. (Those imaging and aliasing problems are still there at non-fractional rates too, but happen to cancel each other out specifically when you upsample ...


1

By definition, the Impulse Response of a Filter is the response the filter has to an Impulse: https://en.wikipedia.org/wiki/Impulse_response Since your Cascaded Integrator Comb Filter is an optimized FIR filter, it's response will be Finite in length (as opposed to IIR - Infinite Impulse Response) and you can calculate this response by sending a single ...


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