# Tag Info

8

Yes the signal is perfectly reconstructed. Consider the process at each stage as I show using the block diagram below: Consider each sample of the signal at each node in the diagram (each sample is shown using the sample index at the node for each row): (Note: You see the same form of reconstruction in the FFT algorithm). I will attempt to illustrate how ...

5

Both taking a magnitude spectrogram and a Mel filter bank are lossy processes. Important information needed to reconstruct the original will have been lost. Thus you need to go back and use the original audio samples to do the reconstruction by determining a time or frequency domain filter equivalent to your dimensionality reduction. You can make ...

4

First, the P. P. Vaidyanathan condition is a sufficient one, not a necessary one. The upper part keeps every even sample. The lower part convert odds to evens, keeps every (novel) even, and put the (novel) evens back to thir old place. Hence, the delays $z^{-1}$ and $z^{+1}$ exactly interleave the kept evens (top) and odds (bottom). From P. P. ...

4

If we stick to the linear version and discrete versions of filter banks and wavelets, filter banks represent the generic tool, and wavelets can be implemented as a specific instance of iterated $2$-band filter banks satisfying some additional properties, namely that low-pass spaces are embedded dyadically. In other words: get a single-level $2$-band ...

4

The mathematical definition of orthogonality between two vectors is that their dot product is zero. It just means that there is no correlation between the two- at least at that "phase". It is often the case that if you shifted one of the vectors you would get strong correlation. Infinite vectors of different frequencies are always orthogonal, so in an ...

3

@jodag, you have not implemented any kind of filter. You implemented a top-path system in parallel with a bottom-path system. In the diagram below the impulse response of the top-path is shown with blue dots. The impulse response of the bottom-path is shown with red asterisks. The combined parallel system's impulse response is the sum of the impulse ...

3

Your work is correct. First just think about how causal digital filters produce an output as a function of the current and previous inputs. Right? Now think about the case where a 'filter' only produces an output as a function of the current input (i.e. not influenced by the previous inputs). We don't typically classify these as filters, instead we ...

3

It looks like you're doing everything correctly. For an $M$-channel DFT filter bank, the impulse response of the $m^{th}$ filter is given by $$h_m[n]=h_0[n]e^{j\frac{2\pi m}{M}},\qquad 0<m<M\tag{1}$$ where $h_0[n]$ is the prototype filter. For $M=4$, $h_3[n]$ is indeed centered at $\omega=3\pi /2$. Note that due to the $2\pi$-periodicity of discrete-...

3

One advantage of a polyphase filterbank approach is, as you guessed, that you can control the frequency response of each channel. When using a DFT alone, you have limited control over the frequency band covered by each bin (characterized by a Dirichlet kernel in the unwindowed case, or by the frequency response of whichever window function you select). This ...

3

Since the term linear does not appear in the question and the current answers, let me offer a complementary perspective. A kernel in this acceptation (especially for images, which don't always follow linear rules, think about occlusion or saturation) is an array that is applied, somehow, on any input data. One often distinguishes linear and non-linear ...

3

Orthogonality provides an interesting backbone to the structure of the filter-banks (FB). First, from an analysis FB, the synthesis FB is very direct, so it can ease implementations. Second, the orthogonality often allows faster implementations, as there is "little redundancy" in computation. Third, orthogonality ensures that matrices are well-conditioned, ...

2

Unlike the convolution, the lifting scheme can map integers to integers (CDF 5/3 transform in case of JPEG 2000), asymptotically reduces the computational complexity by a factor two, can be computed in-place, allows to simply treat signal boundaries (periodic symmetric extension in case of JPEG 2000).

2

It's input agnostic, anything will work just as it would with any other real valued prototype filter. I've implemented polyphase filter banks this on radar systems in practice, where we're operating on complex data, both pulse compressed and uncompressed. Filter banks like these have loads of applications due to the i inherent design and theoretical speed. ...

2

A windowed FFT with a length that corresponds to 2/100ths of a second will give you overlapping filters each with roughly 100 Hz bandwidth. Just use every other FFT result bin if you want 100 Hz filter spacing. The window shape (Von Hann, Nutall, etc.) will allow some tuning of the filter shape, but the main passband lobe of a windowed FFT will be about ...

2

However, it seems rather inefficient to implement two separate filters. Would it not be more efficient to implement a single filter, and then subtract the output from the original signal to determine the other signal? That is in fact a very common technique, and as Olli pointed out it can only work if you make sure that the HPF (LPF) version is subtracted ...

2

You are right about the importance of the phase. Subtraction in the time domain is equivalent to subtraction in the frequency domain. If the frequency domain phase at some frequency is not equal between the complex number being subtracted and the complex number subtracting, even if their magnitudes are the same, the result will be non-zero: Figure 1. ...

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 Using different filter lengths for different channels is basically what the Wavelet Transform does. I think it basically addresses this issue. Wavelet transforms divide the spectrum up into spectral bins of unequal width. There are efficient options for computing the Wavelet Transform (a tree structured filter bank approach usually). In the linked Wikipedia ... 2 MP3 is a lossy compression which exploits -psychoacoustic masking. Basically, the human ear has a perception limitations in identifying sounds due to active processing as well as due to non-linear frequency response. Also note, that sound pressure level - the scale that corresponds to perceived loudness is actually logarithmic not linear. OK - so this ... 2 If you have a 1D uniform M-channel multirate filter bank (FB), and N is the decimation (M \ge N), rational oversampling ratios (M/N) are indeed possible (see Fig. 2), or from Figure 1 in Optimization of Synthesis Oversampled Complex Filter Banks, J. Gautier et al., IEEE Trans. Signal Processing, 2009 (doi), which provides optimized synthesis FB ... 2 I have tested your code. There are problems with the decimation and upsample stages. When you run the analysis and synthesis filters at the undecimated rate, then you get the perfect reconstruction (plus a filter shift) First of all in case of applications which are sensitive to group delay, you should better use the conv / filter function and then ... 2 Typically what you’ll see in an application like this is a polyphase filter bank, which is designed with a single low pass filter prototype. This keeps your prototype filter real, and they can be quite efficient in comparison to directly designing an entire bank of individual bandpass filters. The short of it is this is a multi-rate technique which aims to ... 2 A filter bank really is just what it says: A bank of filters, each of which gets applied to the signal. So, one signals in (signal=image), 3 signals out. You apply each of the kernels separately and don't combine anything. 1 What many people do not seen to realize is that using a finite length transform (such as one iteration of an STFT FFT) on a longer signal already alters the longer signal by windowing (e.g. ignoring the portions of the signal that do not fit in the current finite length FFT). Not using a tapered window means that one is using a rectangular window. Using a ... 1 The factor of 1/2 comes from the fact that you are down-sampling. The down-sampling property of the z-transform states that given:$$ y[n] = x[nL] $$Then:$$ Y(z) = \frac{1}L \sum_{r=0}^{L-1}X(z^{1/L}e^{-j2{\pi}r/L})$$And in your case L = 2 so r indexes from 0 to 1 so then:$$ Y(z) = \frac{1}2 \sum_{r=0}^{1}X(z^{1/2}e^{-j{\pi}r}) To be more ...

1

Newer transform-based codecs do simply perform MDCT-based coding. MP3 carried over the filterbank structure from MP2 (MPEG I layer 2) as a historical artifact.

1

You mix up the convolution theorem: You cannot multiply the impulse responses, but merely their spectra, if you want to go this way. However, a simpler way (esp. when you have Matlab available and look for a numeric solution) is to calculate the overall impulse response. For example, considering the filter $x[n] \rightarrow x_1[n]$ you have: Let $x[n]=\... 1 Any spectrum that is between the two DFT bin centers ends up getting represented, in various proportions, in all the DFT bins (in the rectangular window case, the proportions decay as in a Sinc function, roughly by 1/(i-k)). Those proportions might be needed for your synthesis to be an accurate enough reconstruction. Using 2 bins alone usually creates a ... 1 First, I suggest you take a look at the STFT. Let say you use$N$-point FFT, then you filterbank has$N/2$filters (assuming real signal). Usually, you divide your signal into$K$segments, each$N\$ samples long (could be overlapping) and apply the FFT to each segment. Every time you apply the FFT you get a single sample for each filter. Therefore your ...

1

I have assumed your sampling rate as 1KHz & designed the code. The minimum sampling frequency is the nyquist frequency ofcourse. That depends on your design input. fs=1000; % sampling freq fc=99/2; % cutoff freq for filter fc1=101/2; % cutoff freq for filter LpfLength=96; % Number of Filter coefficients NFFT=8192; % Low Pass Filter lpf=fir2(LpfLength-...

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