30

Adapted from an answer to a different question (as mentioned in a comment) in the hope that this question will not get thrown up repeatedly by Community Wiki as one of the Top Questions.... There is no "flipping" of the impulse response by a linear (time-invariant) system. The output of a linear time-invariant system is the sum of scaled and time-...


15

Encouraged by Hilmar, I've decided to update the answer with all the steps necessary to calculate the Reverberation Time from a scratch. Presumably, it will be useful for others interested in this area. Obviously, it is the simplest approach because more advanced are definitely beyond a scope. In the beginning, you must obtain the impulse response of a room....


11

Somewhere in the chain between the sound card analog input and the samples that you're plotting, there is certainly a lowpass filter. There is likely an analog anti-aliasing filter before the ADC; in addition, there are likely one or more lowpass filters applied during resampling processes either on the card or in the operating system's audio driver stack (...


11

Let $h(t)$ denote the impulse response of an LTI system. Then, for any input $x(t)$, the output is $$y(t) = \int_{-\infty}^\infty h(\tau)x(t-\tau)\,\mathrm d\tau.$$ In particular, the response to the input $x(t) = \exp(j2\pi ft)$ is $$\begin{align} y(t) &= \int_{-\infty}^\infty h(\tau)\exp(j2\pi f(t-\tau))\,\mathrm d\tau\\ &= \exp(j2\pi ft)\int_{-\...


11

When talking about modeling, there are two things that usually get modeled: 1. the guitar amp, and 2. the speaker cabinet. Only the latter is modeled by an impulse response, which means that the cabinet is simply represented by an LTI system and implemented by convolution. This is of course an approximation but it works fairly well. You can find a lot of ...


10

Actually, I think I see why. $$X(j\Omega) = |X(j\Omega)|e^{-j\theta(\Omega)}$$ $|X(j\Omega)|$ is purely real, and therefore if we take the IFT it is even and symmetric. $\theta(\Omega)= a\Omega$ since the phase is linear, so $e^{-ja\Omega}$ merely shifts the corresponding even and symmetric magnitude in the time domain, so the resulting impulse response ...


8

A somewhat visual complement to the other answers You are talking about systems that are linear and time invariant. Exponential functions have one peculiar property (and can be actually defined by it): doing a time translation results in the same function multiplied by a constant. So $$ e^{t-t_0}=e^{-t_0}e^t$$ The red exponential could as well be the ...


8

The Butterworth filter's frequency response is the result of specific formulas and its characteristic is the flat passband frequency response. Consequently, if the coefficients of the IIR filter are modified in any way, the filter might not maintain the "Butterworth" characteristics. In addition to the responses by "Hilmar" and "Jason R", maybe you could ...


8

Real-time low-latency partitioned convolution reverb with a long impulse response works by dividing the impulse response into unequally sized partitions. The shortest partitions (blocks) are at the beginning of the impulse response, and the partition length grows towards the end of the impulse response: Each partition length can be processed separately, ...


8

No. The impulse response and frequency response of an LTI system are related by the Fourier transform, which is one-to-one.


8

If you're an EE student, you will have encountered the term LTI System (or you certainly will soon enough!): A system that, no matter the absolute time, outputs, given the same input, the same output; if you scale the input by a factor, the output is scaled by the same factor. Linear, time-invariant, so to speak. LTI systems can be applied to time-domain ...


7

Not an easy job. A loudspeaker produces a complicated 3 dimensional sound field, which heavily interacts with the environment. Even at a distance of a about 3 feet the reflected energy is significantly bigger than the direct energy at most frequencies. Typical loudspeaker measurements are On axis response in an anechoic chamber Full 3D response in an ...


7

If you know that the system is linear and time invariant, the easiest method (assuming that you have no noise added in the process) is to let the system act on an impulse function. The Fourier transform of the output is the frequency response of the system.


7

Let me clarify some definitions first. There is no such thing as a "passive impulse response", there are only passive systems. If you like, you can call the impulse response of a passive LTI system "passive", but that's not common usage. From what I understand from your question, you probably mean by a "passive impulse response" an impulse response $h[n]$ ...


6

Shortly, we have two kind of basic responses: time responses and frequency responses. Time responses test how the system works with momentary disturbance while the frequency response test it with continuous disturbance. Time responses contain things such as step response, ramp response and impulse response. Frequency responses contain sinusoidal responses. ...


6

There is no magic bullet, I'm afraid. You can use an elliptic filter to independently control pass band ripple and stop band attenuation, however you will find that the decay rate is closely related to the steepness and overall bandwidth of the filter. You can make the filter decay drastically faster by reducing the filter order to 1, but then again the ...


6

Using a sinusoid is a bad idea. In order to precisely detect the time of arrival, you want a signal with wide bandwidth. Here's a brief description of a good approach: Transmit a known direct-sequence spread spectrum (DSSS) waveform (typically a phase-shift-keyed digital signal, either BPSK or QPSK). You should pick a spreading code that has good ...


6

As Dilip pointed out in the comment above, you can get the impulse response using the inverse Fourier transform. However, a slightly easier method might be to use the Laplace domain instead; it's more amenable to easy inverse transforming via transform tables. First, recall that the frequency response is really just the $s$-plane transfer function evaluated ...


6

If the impulse response is $h[n], n\geq 0$, then the step response $s[m]$ at any time $m≥0$ is $$s[m]=h[0]+h[1]+h[2]+\cdots +h[m].$$ Note that if the filter is a finite impulse response (FIR) filter so that $h[m] = 0$ for $m > M$, then the step response at $M$ is $$s[M] = h[0]+h[1]+h[2]+\cdots +h[M]$$ and remains at this value forever afterwards, that is, ...


6

It is important to realize that due to the LTI property the response to an impulse $\delta(n)$ describes the system completely, because any input signal can be written as a weighted sum of shifted impulses: $$x(n)=\sum_kx(k)\delta(n-k)\tag{1}$$ Let $\mathcal{T}\{\cdot\}$ denote the system operator, so the response to a shifted impulse is $$\mathcal{T}\{\...


6

This is a nice question. I will try solving it using 2 approaches (Which are basically the same). The solution is the Least Squares Solution: $$ \hat{h} = \arg \min_{h} \frac{1}{2} \left\| h \ast x - y \right\|_{2}^{2} $$ We assume data is given in finite discrete form (As it is in practice). The convolution is done in valid mode (Like in MATLAB valid ...


6

In the general case you have $$H(z)=\frac{P(z)}{Q(z)}$$ where $P(z)$ and $Q(z)$ are polynomials in $z$. If - as is the case in your example - $Q(z)$ just has one single term, $H(z)$ is definitely FIR, because you can simply divide each term of $P(z)$ by that respective power of $z$, and the number of terms of $H(z)$ equals the number of terms of $P(z)$. ...


6

You can find the impulse response Let's take the case of a discrete system. If $s[n]$ is the unit step response of the system, we can write $$s[n]= u[n]\ast h[n]$$ where $h[n]$ is the impulse response of the system and $u[n]$ is the unit step function. Now using commutative property you can write $$s[n]=h[n]\ast u[n]$$ Expanding convolution we get $$s[...


6

$h_0(t)$ is inverse Fourier transform of $H(jw)$. Your formula is OK, you can continue your calculation to practice your math manipulation, why not. To check the result, you can remark that $H(jw)$ is rotated $sinc$ function. And $sinc$ must be the Fourier transform of a rectangular box function.


6

This is a fundamental topic and it needs a lot of explaination. I suggest you use the fading channel object of MATLAB, especially the Channel Visualization Tool. There are lots of examples with visualization in this link. MATLAB channel OBJECT


6

A causal first-order IIR filter is characterized by the following difference equation: $$y[n]=b_0x[n]+b_1x[n-1]-a_1y[n-1]\tag{1}$$ with $x[n]$ the input signal, and $y[n]$ the output signal. The impulse response of that system can be computed via the $\mathcal{Z}$-transform or otherwise, and it turns out to be $$h[n]=b_0\delta[n]+(-a_1)^{n-1}(b_1-b_0a_1)u[...


5

Here is one possible suggestion: use a second order microphone (e.g. cardioid microphone). The human voice is a point source and has strong reactive velocity near-field component which velocity mics are sensitive too. In plain English this means you get substantially more relative bass when the speaker is close by. You could leverage to compare the energy in ...


5

If a linear time-invariant system has (deterministic) input $x(t)$ and output $y(t)$, then the cross-correlation function $R_{y,x}$ of the output and input has value $h \star R_{x,x}$ where $R_{x,x}$ is the autocorrelation function of the input signal and $h$ is the impulse response of the linear system. For completeness, the autocorrelation function $R_{y,...


5

Ok. You are touching on the topic of deconvolution. You can do this most easily by transforming the data into the frequency domain, doing some basic math and then converting back to the time domain. For example for case 1, if you transform the signals you have $ H(f) = Y(f)/X(f) $ so $h[n] = IDFT[Y(f)/X(f)]$ You can do similar manipulations to handle ...


5

The z domain transfer function of the system is the z transform of the system impulse response, so start by taking the Z transform of h[n] ... $$H[z] = -z^1 + 1 + 2z^{-1} + 2z^{-2} + z^{-3} -z^{-4}$$ You may be able to message this into a nicer form, but that isn't necessary. Next, to get the the frequency response, replace z with $e^{jw}$ So this ...


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