10

The Fourier Transform is the Laplace Transform with the complex variable s restricted to be the imaginary axis on the s plane. For this reason the Fourier Transform only exists when the imaginary axis is within the region of convergence. The variable s is called a "complex frequency" as it is the frequency variable that can take on real ($\sigma$) and ...


5

It's natural consequence of applying a transform to a convolution relation. The output $y(t)$ of an (continuous-time) LTI system is described by a convolution integral : $$y(t) = h(t)\star x(t) = \int_{-\infty}^{\infty} x(\tau) h(t-\tau) d\tau $$ And when you apply a Fourier transform on this relation, it turns out to be a multiplication in the transform ...


3

The proof is quite straightforward. With $$x[n]=\frac{1}{2\pi}\int_{-\pi}^{\pi}X(e^{j\omega})e^{jn\omega}d\omega\tag{1}$$ and with $X(e^{j\omega})=X^*(e^{j\omega})$ (i.e., a real-valued DTFT) we get $$\begin{align}x[-n]&=\frac{1}{2\pi}\int_{-\pi}^{\pi}X(e^{j\omega})e^{-jn\omega}d\omega\\&=\frac{1}{2\pi}\left[\int_{-\pi}^{\pi}X^*(e^{j\omega})e^{jn\...


2

Let me put a practical answer with the following Matlab / Octave Code : L = 2*1000; % signal sample count n = 0:L-1; % discrete-time index Fs = 44100; % sampling frequency am = [1, 0.5, 2, 0.5, 0.3, 0.6, 0.1, 0.2]; % magnitudes of 8 components fm = [882, 2646, 4410, 6615, 8820, 10000, 13230, 15876]; % frequencies % Time domain ...


2

For a causal time domain signal, the Fourier Transform will be complex with the imaginary part as the Hilbert Transform of the real part. This may be clearer by noting the following additional properties of the Fourier Transform: The FT of a non-causal real even waveform ($f(t) = f(-t)$) will be all real. The FT of a non-causal imaginary odd waveform ($f(...


2

The negative exponent in the forward transform is necessary and inevitable, because inner product axioms for complex vectors or functions without conjugation are inconsistent. For example, the inner product of a complex vector with itself would not be real and non-negative without conjugation.


2

The same effect will happen on the time-domain sequence too, due to the fact that DFT time and frequency domains are exact duals apart from a scaling factor and reversal. Therefore, by properly zero padding (to the center of) the FFT data, the corresponding time-domain signal will be interpolated; i.e., more samples from the same signal will be obtained.


2

Here is a hint that will help you: The DFT is cyclical in time and in frequency. For the sequence given by $$x(n) = [-1,2,-3,2,-1]$$ With x(0) = -3 would be solved using the standard DFT equation that starts at n=0 using $$x(n) = [-3, 2, -1,-1, 2]$$ From that you can solve for the DFT and then determine easily for each result what it's phase is.


1

Let's assume you have 2 signals: vX and vY. So: clear(); numSamplesX = length(vX); numSamplesY = length(vY); numSamplesConv = numSamplesX + numSamplesY - 1; vTimeDomainConv = conv(vX, vY); vFrequencyDomainConv = ifft(fft(vX, numSamplesConv) .* fft(vY, numSamplesConv), 'symmetric'); max(abs(vTimeDomainConv - vFrequencyDomainConv)) %<! Should be < ...


1

For a 2D FFT (fft2), first do an "fftshift" to center the low frequency portion of the 2D FFT in the center of the matrix. Select this inner region and then do an inverse 2D FFT (ifft2) of the fftshifted result. The format of the result also needs to be 8-bit unsigned. The image below depicts the low frequency portion of the frequency domain of the image ...


1

Spectrogram contains magnitude values only, that explains why the values start at 0 instead of some negative value. And scipy seems to calculate it with 24bit accuracy, where $2^{24}\approx 16.7\cdot10^6$.


1

I think this question is based on a wrong premise: "[...] why Laplace transform reveals the transient properties of the system". It's not true that the transients can only be obtained from the Laplace transform. The Fourier transform can do the same, assuming it exists. What is true is that it is more convenient to use the unilateral Laplace transform for ...


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

The key is to apply 'shift and scale'. So for $x(-2t + 4)$, you would first do $x_1(t) = x(t+4)$, then $x_2(t) = x_1(-2t) = x(-2t + 4)$. So $X_1(f) = e^{-j2\pi f(-4)}X(f)$ = $e^{j8\pi f}X(f)$. Then $X_2(f) = \frac{1}{|-2|}X_1(f/-2)$ = $\frac{1}{2}e^{j-4\pi f}X(f/-2)$ In your answer how did you assume it is symmetric? Also, in your third step, for $x(-t)$...


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