6

No. It's only LTI (Linear and Time-Invariant) systems that can be modeled with convolution through a unique single impulse response. For example the systems $$ y(t) = g(t) x(t) $$ or $$ y[n] = \sum_{k=0}^{k < n} x[n-k] $$ are both linear but not time-invariant and their output $y[n]$ cannot be computed with the convolution operation ( $\star$ denoting ...


4

I would take approach based on Blind Deconvolution. Since we're dealing with ill posed problem some assumptions should be made. The intuitive approach would be using the information as a prior for the signal. Another idea is to add LPF assumption of the Filter by setting the sum of its coefficients to be 1 and non negative. Yet since we have Discrete ...


3

The way I understand the problem is each sample of the output is a linear combination of the samples of the input. Hence it is modeled by: $$ \boldsymbol{y} = H \boldsymbol{x} $$ Where the $ i $ -th row of $ H $ is basically the instantaneous kernel of the $ i $ -th sample of $ \boldsymbol{y} $. The problem above is highly ill poised. In the classic ...


3

Essentially, your code does not respect the inherent Hermitian symmetry of the output of the FFT. Here, your signal is odd-sized $2K+1$. Hence, this FFT yields a complex vector of coefficients $d$ (real) and $a_k$ (generally complex), arranged as: $$ \left[d,a_1,a_2,\ldots,a_K,\overline{a_K},\ldots,,\overline{a_2},\overline{a_1} \right]$$ If you want to ...


3

Any LTI system can be completely characterized (among other things) by it's transfer function or it's impulse response. If your filter represents an LTI system, that you can calculate it's output by either convolving the input with the impulse response or multiplying the transfer function with the spectrum of the input signal. In theory these things are ...


2

In general, one method to handle the issue that generalizes substantially to a problem of extracting two or more components is to take the spectra G¹, G² ⋯, Gⁿ of signals #1, #2, ..., #n, tabulate the total square Γ(ν) = |G¹(ν)|² + |G²(ν)|² + ⋯ + |Gⁿ(ν)|² at each frequency ν, and normalize G₁(ν) ≡ G¹(ν)* / Γ(ν), G₂(ν) ≡ G²(ν)* / Γ(ν), ..., G_n(ν) ≡ Gⁿ(ν)* / ...


2

Your model is exactly a Convolution with Uniform Kernel where the output is what is called the Valid Part of the Convolution. In MATLAB lingo it will be using conv2(mA, mK, 'valid'). So the way to solve it will be using a matrix form of the convolution and solving the linear system of equations. Let's use the Lenna Image as input (Size was reduced for ...


1

If this is used for channel sounding then you aren't concerned with the actual accuracy of your turntable (causing a frequency shift) in which case I suggest measuring the response in a static condition (non-changing channel) and determining the least square linear fit of the frequency sweep (I would assume but don't know that the test pattern would be a ...


1

Would that be anything like blind channel estimation using the Constant Modulus Algorithm?


1

This sounds like a blind channel estimation problem. Blind channel estimation is used such as in emerging massive MIMO systems where pilot contamination can otherwise limit the advantage of adding additional transmitters. A very simple example of blind channel estimation is decision directed least squares using the least squares technique that I describe at ...


1

As an answer probably require to have more details on the look-up table (smoothed and regularity of the kernels), here is a couple of recent papers, including a review: Satellite image restoration in the context of a spatially varying point spread function, 2010 Efficient shift-variant image restoration using deformable filtering, 2012 Fast Approximations ...


1

If the signal is oversampled and the PSF variation corresponds (approximately) to a smooth local compression/expansion, perhaps you can resample y so as to make the PSF approximately LTI, then apply conventional methods (somewhat akin to homomorphic processing) If the input signal is convolved with a small discrete set of PSFs, perhaps you can devonvolve ...


1

This problem is related to deconvolution and equalization. You are basically undoing the effect of a filter by another filter, such that the total system has a flat response, i.e., has a unit impulse as its impulse response. From $$(h\star g)[n]=\delta[n]\tag{1}$$ it follows that $$H(z)G(z)=1\tag{2}$$ must be satisfied. So the solution to the problem is $$...


1

Given no formal system model in the question, I will outline in words what each does and the relation between them. Matched Filter: The MF maximizes SNR when the signal is in additive Gaussian noise. You can go back and look at the derivation of the MF, but it does not include any mention of interference. During the derivation, there is a step where we say ...


1

For a convolution resulting in N+M-1 elements, with N>=M, best result might be to discard M-1 elements from both sides of the result. All the other convolutional result elements are "contaminated" by your assumptions about padding (zero, circular, random, etc.), and how closely that assumption corresponds to something useful or actual.


1

In this particular example best practice would be zero pad both signals to 2048 samples, FFT, multiply, and inverse FFT. This will result in 2048 time samples. The first 1999 are your convolution result and the last 49 are zero. Whether you want to discard the last 49 samples or just leave them as zeros, depends on what you want to do with them. If you ...


1

Lot of good comments and a nice answer but still I felt OP's question may have gone unanswered. A is length 100 sequence, B is length 80 sequence. So conv(A,B) linear convolution operation results in a 179 length sequence. The important thing to keep in mind is that the resulting sequence is 179 length. Now, coming to DFT of these sequences (remember FFT ...


1

the following matlab/octave code gives the linear convolution result using frequency domain : A = ((-1).^[0:79]').*hamming(80); % input one B = blackman(100); % input two C1 = conv(A,B); % A * B (convolution) in time domain C2 = real( ifft( fft(A,179).*fft(B,179) ) ); % convolution using freq domain The output will be identical of length 179 ...


1

Below is an attempt to do what you're asking in Python. First, the dashed item: Then the sensor. It's uniform,so just comes out as black. Then the output of the sensor (convolve the thing to be measured with the sensor). Finally, the output of the deconvolution. Note that the output is not precisely the same as the input, but it's pretty close. Code ...


1

The noise amplification would be the ratio of the norms: $\frac{\text{Norm of noise after inverse filter}}{\text{Norm of noise before inverse filter}} \leq \frac{||\mathbf{A}^{-1}||*||\mathbf{w}||}{||\mathbf{w}||}=||\mathbf{A}^{-1}||$ It seems your reasoning is correct that the norm of the inverse filter is an upper bound on the amplification.


1

How can I justify the expression of G′(ν)? That's easy enough. Denominator is the sum of the signal energy $|X(\omega)|^2$ and the noise energy $\lambda ^2$. If the signal energy is significantly larger, then the whole expression simplifies to $G(\omega)$. If the noise is larger, we can't do a anything useful with the information and the $1/ \lambda ^2$ ...


1

To unveil part of the mystery, let us recall how the convolution operation and the properties of linearity and time-invariance are related. In other words, if a discrete system $\mathcal{S}$ is linear and time-invariant, what would be the output for a discrete signal $x[n]$? To do that, let us rewrite the signal on the basis of Kronecker symbols $\delta_n$,...


1

A few comments: An overdetermined system (with more equations than unknowns) can have exact solutions. An overdetermined system can have approximate solutions; for example, in the least-squares sense, where $\mathbf{x}=(H^TH)^{-1}H^T\mathbf{y}$ minimizes $||H\mathbf{x}-\mathbf{y}||$. Deconvolution is usually performed in the frequency domain, where $X(f) = ...


1

Richardson Lucy does not need to necessarily work in linear space. It works by minimizing a log-likelihood function, so as far as it is concerned it does not matter whether the data is an array of photoelectrons e, xe, (xe)^y, or similar, with x and y being constants: minimizing the log of any of those will result in the 'same' solution in e-, ADU (ADU = e- ...


1

I found an implementation of STFT based on conv1d in pytorch here: https://github.com/huyanxin/phasen/blob/master/model/conv_stft.py edit: Actually, the phasen repository took the STFT code from https://github.com/pseeth/torch-stft edit2: Asteroid has an alternative implementation of STFT and iSTFT: https://github.com/mpariente/asteroid/


1

I do not think there is a method to get a perfect reconstruction of the original signal by using a trimmed/cropped convolution. However, I am hoping there are approximations/assumptions you can make like the measured signal has finite energy. If that is the case, what you can do instead is to find the inverse of the kernel, which you can then convolve with ...


1

Yes, the answer is here : Compensating Loudspeaker frequency response in an audio signal , The filter here is your room transfer function.


1

The idea here is to build the problem in its Matrix Form. We have the filter $ h $ which is represented by the matrix $ H $ to represent Linear Convolution operation: $$ H = \begin{bmatrix} {h}_{1} & 0 & 0 & \ldots & & 0 \\ {h}_{2} & {h}_{1} & 0 & \ldots & & 0 \\ \vdots & & \ddots & & & \...


1

This is impossible in general as stated in the accepted answer. The conditions under which it becomes possible to reconstruct the original signal given its autocorrelation need not be very restrictive however. If the signal that is to be reconstructed is sparse in some basis so that the constraint-ratio is larger than one certain phase retrieval algorithms ...


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