# Tag Info

13

The concept is based on the convolution theorem, which states that for two signals $x(t)$ and $y(t)$, the product of their Fourier transforms $X(f)$ and $Y(f)$ is equal to the Fourier transform of the convolution of the two signals. That is: $$\mathcal{F}\{x(t) * y(t)\} = \mathcal{F}\{x(t)\}\mathcal{F}\{y(t)\}$$ You can read more on the derivation of ...

10

Oppenheim and Willsky's Signals and Systems or Lathi's Linear Systems and Signals are intended for Sophomores who have only a single semester of differential equations under their belts, so it is a bit unfair to criticize them for leaving out the functional analysis and the conformal mapping. At the sophomore level my favorite book is Siebert's Circuits, ...

8

I usually do this by creating a low pass filter that entirely passes through the signal that I want to delay. I create the LPF "manually" by creating a windowed sinc function. Something along the lines of- filt = sinc(-80:.8:80); filt = filt .* hamming(length(filt)).'; This gets you a filter that passes about 80% of the nyquist region (the 80% is set by ...

7

If your signal is real-valued, then it's spectrum is conjugate symmetric. That means, that negative frequencies (or frequencies from $\frac{f_s}{2}$ up to $f_s$) are mirrored. Thus we can always neglect frequencies above Nyquist range. Although, if your signal is complex valued, then such symmetry won't exist, and frequencies above $\frac{f_s}{2}$ contain ...

7

The answer is: yes, sampling in the frequency domain causes aliasing in the time domain, exactly like the dual case: sampling in the time domain causes aliasing in the frequency domain. There are many ways to see this. One standard way is to sample the discrete-time Fourier transform (DTFT) of a discrete-time signal by multiplying it with a Dirac comb and ...

6

Since what interests you is the "embedded system" part, and since you have a low budget (this excludes anything that requires proprietary compilers), I'd recommend building yourself a board with an ARM MCU and a codec, like this one. There's less than $50 of parts - the processor, the codec and the bare minimum to get them to work. I'm recommending this ... 6 Essentially, the reason why you need two tones is to ensure that a normal human voice can't replicate the tones. As such, by simultaneously generating a tone from a high-frequency group and low-frequency group, it is highly improbable that a human voice can replicate a sound from such differing ends of the frequency spectrum at the same time. If we were ... 6 A canonical implementation of a digital filter has the minimum number of delay elements. The same filter cannot be implemented with less memory. Since memory is often not the only concern, a canonical implementation is not necessarily always the best implementation on a given platform. 6 The etymology refers to the canon, as a rule or a body of rules, or axiomatic or universal standards. It exists in arts: sculpture, music, script writing, etc. The notion of canon law is also used in the domain of religion: a "set of ordinances and regulations [...] for the government of a Christian organization or church and its members". In ... 5 The usual way to estimate the amplitude of a particular frequency is to use the Goertzel algorithm. There is a good write-up by Rick Lyons here. Even though Rick's writeup is about single tone detection, it can be applied when multiple tones are present, too. 5 You should take a look at "Mathematical Methods and Algorithms for Signal Processing" by Moon and Stirling. The only downside is its long list of errata, so hopefully there will be a new edition soon. A beautiful book about the Fourier transform as it's used in signal and system theory is "The Fourier Integral and its Applications" by Papoulis. It's quite ... 5 To answer your first question, what they mean is that the first training symbol only encodes data on the even-numbered subcarriers. The other subcarriers are set to zero. That is, the frequency-domain, $$X[k] = \begin{cases} s_k, &k \text{ mod } 2 = 0 \\ 0, &\text{otherwise} \end{cases}$$ The symbols to encode on the even-numbered subcarriers$...

5

Your counterexample to the book's assertion is confusing between two different uses for $n$. There was a question earlier in which some user (endolith? datageist?) gave an answer containing a detailed description of what exactly this confusion is and how to interpret the results correctly. My cursory search has not found this great answer, and so I will ...

5

The analytic way is to substitute the variable $z$ by $e^{j\omega}$ to get the frequency response $H(\omega)$ (with $\omega = \frac{2 \pi f}{F_s}$) - that is to say, the frequency response is the $z$ transform evaluated on the unit circle. Note that matlab has a built-in function for plotting the frequency response straight from filter coefficients (freqz), ...

5

I think you made a mistake between the power spectrum and the Fourier Transform. This is the right form of the Convolution Theory (Nothing is squared): $$\lvert Y(\omega)\rvert = \lvert H(\omega) X(\omega)\rvert$$ Try this and it will work for you on MATLAB. MATLAB Code % Calculating the Magnitude of the Filtered Signal vFilterCoeff = [1; 2; 3; 4; 5]; ...

5

This is related to Chirp Z-transform (CZT) (refer to the Bluestein's algorithm). Using this identity, the CZT can be expressed in terms of a convolution. Hence, it can be efficiently implemented using FFT.

5

Matlab’s ‘upsample()’ command does not “pad” a sequence with zero-valued samples. The ‘upsample()’ command “stuffs” a sequence with zero-valued samples. “Zero padding” and “zero stuffing” are two different operations. “Zero padding” means appending a sequential string (a sequence) of zero-valued samples to the beginning or end of a sequence. I believe ...

5

The general topic of finding similarities between signals is wide ranging: are the signals of same sampling, length, offset, shift or scale? where do they take their values (discrete, real, complex)? are they stationary? noisy? what do you consider similar (whole signals, chunks, specific features)? which are the invariances looked for? and most important:...

5

The denominator (recursive coefficients Ai) look OK: the poles of your system are at 45 degree angles ($\pi/4$), with magnitude 0.68 (which is not very aggressive for a notch filter; in my opinion they should be more like 0.9). But your numerator has its roots very near $z=1$, which corresponds to frequency 0 instead of the desired $\pi/4$ for implementing ...

5

a Digital Signal Processor is one that has, in its instruction set, some instructions and addressing modes that are optimized for processing digital signals. usually these optimizations can be shown around what is needed to perform the dot-product needed for an FIR filter. $$y[n] = \sum\limits_{i=0}^{L-1} h[i]\,x[n-i]$$ to do this in, say, $L$ ...

5

It is a symmetric odd-sized FIR smoothing kernel, belonging to the class of Pascal or binomial filters that somehow sample a Gaussian kernel. Plus, its coefficients are simple dyadic integers, that can be implemented as bit-shifts 1/4 1/2 1/4. The coefficients sum to one, hence it is unit gain at DC. In simpler word: (one of) the simplest real smoother ...

5

I myself recently graduated from Applied Mathematics and began PhD in signal processing. I do Stochastic Geometry modeling of wireless networks in particular, which is quite mathematical subject. It involves measure theory, probability theory, Fourier Analysis etc. etc. The area of Signal Processing is very broad indeed. It of course depends if you want to ...

4

First of all, your transfer function has a pole at $z=-3$, which means your filter is unstable and you will probably see your output going to infinity if your process anything with it. However, in general, you can process an impulse with your difference equation and do an FFT (or freqz) of the resulting impulse response. That should give the same result as ...

4

Just change the code to the following: x = randn(1,1000); h = [1 2 3 4 5]; y = conv(x,h); plot((abs(fft(h,1024))).*(abs(fft(x,1024)))); % It's |H(w)||X(w)| hold on plot(abs(fft(y,1024)),'--r') By mistake you raised the DFT of an impulse response to the second power. You could see that magnitudes are bit off, but peaks and valleys are more-less at the same ...

4

Suppose you have given an input signal to a system: $$x(n)=\begin{cases} 1, & \mbox{if } n=0 \\ 0, & \mbox{if } n\ne 0 \end{cases}$$ Then the output response of that system is known as the impulse response. In your example $h(n) = \frac{1}{2}u(n-3)$. This means that if you apply a unit impulse to this system, you will get an output signal $... 4 First, use a timer and an ISR to get accurate timing (don't forget to configure the NVIC so that this timer interrupt takes over any other ISR that would be running). Only this will ensure a consistant sample rate. Little variations in timing would create noticeable degradations of audio quality. In particular, in your current example, unless the "filters" ... 4 Finding the phase response of a biquad at a specific frequency is simple. Recall the transfer function of a biquad: $$H(z) = \frac{b_0 + b_1z^{-1} + b_2z^{-2}}{a_0 + a_1z^{-1} + a_2z^{-2}}$$ The frequency response of a system can be calculated by letting$z = e^{j\omega}$, where$\omega$is a normalized frequency in the range$[-\pi, \pi)$. SO, it would ... 4 This code is splitting a stereo signal with left and right components into a stereo signal with mid and side components, scaling the mid and side components and converting back to left and right components. To convert left (L) and right (R) stereo into mid (M and side (S): $$M = \frac{L + R}{2}$$ $$S = \frac{L - R}{2}$$ And back: $$L = M + S$$ $$R ... 4 assuming finite power signals:$$ \lVert x \rVert^2 \triangleq \lim_{N \to \infty} \ \frac{1}{2N+1} \sum\limits_{n=-N}^{+N} \big|x[n] \big|^2 \ < +\infty $$this is a Hilbert Space sorta thingie. define inner product:$$ \langle x,y \rangle \triangleq \lim_{N \to \infty} \ \frac{1}{2N+1} \sum\limits_{n=-N}^{+N} x[n] \cdot \overline{y}[n]$$where$\...

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