Consonants come in various types and classes. One major differentiation is voiced vs unvoiced (in German: "stimmhaft" vs. "stimmlos", not sure I have the proper English words here). Voiced means that the vocal cords are moving which usually also results in a pitch perception (such as "mmm"). Unvoiced means the vocal cords do not move and there is not pitch ("s", "t" for example).

It looks to me that most unvoiced consonants should do the trick. Not sure though whether your language has 12 of those.

For further classifications of consonants and vowels see for example: http://www.zompist.com/kitlong.html


While converting discrete filter specs into continuous filter specs, why do we multiply gain by T

it is, in my biased opinion, because nearly every textbook with the sampling theorem puts the $T$ gain factor in the wrong place.

we've had nearly the same question asked a couple decades ago at the USENET comp.dsp newsgroup.  it was someone asking how to design a LPF reconstruction filter with a passband gain of $T$.  they were wondering if it made a difference if the gain was 20 (for microseconds) or 0.00002 (for seconds).

so Dilip here describes the sampling theorem making the same mistake (in judgment for where the $T$ should go). to fix this, i think that this old Wikipedia version of the Nyquist-Shannon Sampling theorem scales it correctly.

the reason is this, the sampling function should be the dirac comb scaled with $T$ so that the ideal brickwall reconstruction filter has a gain of 1 (or 0 dB) in the passband.  the reason for this is that the Fourier series coefficients of the properly-scaled dirac comb, all of those coefficients are 1.  not $\tfrac1T$

$$ T \sum\limits_{n=-\infty}^{\infty} \delta(t - nT) = \sum\limits_{k=-\infty}^{\infty} 1 \ e^{j (2 \pi k/T) t} $$

then to really understand how things are practically reconstructed, the sampled signal

$$\begin{align}
x_\text{s}(t) &= x(t) \, \cdot \ T \sum\limits_{n=-\infty}^{\infty} \delta(t - nT) \\
     &= \ T \sum\limits_{n=-\infty}^{\infty} x(t) \, \cdot \delta(t - nT) \\
     &= \ T \sum\limits_{n=-\infty}^{\infty} x(nT) \, \cdot \delta(t - nT) \\
\end{align}$$

but because this is also true (from the Fourier series of the scaled dirac comb):

$$\begin{align}
x_\text{s}(t) &= x(t) \, \cdot \ T \sum\limits_{n=-\infty}^{\infty} \delta(t - nT) \\
     &= x(t) \, \sum\limits_{k=-\infty}^{\infty} e^{j (2 \pi k/T) t} \\
     &= \sum\limits_{k=-\infty}^{\infty} x(t) \,  e^{j (2 \pi k/T) t} \\
\end{align}$$

and that means that the spectrum of the sampled signal is

$$\begin{align}
X_\text{s}(f) &= \sum\limits_{k=-\infty}^{\infty} X(f) \Bigg|_{f\leftarrow f+k/T} \\
     &= \sum\limits_{k=-\infty}^{\infty} X\left( f-\tfrac{k}{T} \right) \\
\end{align}$$

to recover $X(f)$ (which recovers $x(t)$), we eliminate (using an ideal brickwall filter) all of the terms except the $k=0$ term.

$$\begin{align}
X(f) = \operatorname{rect}(fT) X_\text{s}(f) &= \operatorname{rect}(fT)  \sum\limits_{k=-\infty}^{\infty} X\left( f - \tfrac{k}{T} \right) \\
&= \sum\limits_{k=-\infty}^{\infty} \operatorname{rect}(fT)   X\left( f - \tfrac{k}{T} \right) \\
\end{align}$$

in the last summation all terms are zero except the $k=0$ term which remains untouched.

the $ \operatorname{rect}() $ function is simply

$$ \operatorname{rect}(u) \triangleq \begin{cases}
1 \quad & \mbox{if } |u|<\tfrac12  \\
0       & \mbox{otherwise}
\end{cases} $$

then to understand how a Zero-order hold is modelled, you send the ideally dirac sampled signal $x_\text{s}(t)$ through a filter that has this for an impulse response:

$$ h(t) =  \frac{1}{T} \operatorname{rect}\left( \frac{t - \tfrac{T}2}{T} \right)
 = \begin{cases}
\frac{1}{T} & \mbox{if } 0 \le t < T  \\
0           & \mbox{otherwise}
\end{cases} $$

which results in this piecewise constant output

$$\begin{align}
y(t) &= h(t) \circledast x_\text{s}(t) \\
 &= \ T \sum\limits_{n=-\infty}^{\infty} x(nT) \, \cdot \frac{1}{T} \operatorname{rect}\left(\frac{t - nT - \tfrac{T}2}{T} \right) \\
 &= \sum\limits_{n=-\infty}^{\infty} x(nT) \cdot \operatorname{rect}\left(\frac{t - nT - \tfrac{T}2}{T} \right) \\
\end{align}$$

that shows the correct scaling for the Digital-to-Analog converter (DAC) output.  and the frequency response corresponding to the ZOH is

$$ H(f) \, = \mathscr{F} \{ h(t) \} \,= \frac{1 - e^{-j 2 \pi fT}}{j 2 \pi fT} = e^{-j \pi fT} \operatorname{sinc}(fT)  $$

and that is properly scaled so that the ZOH gain at DC is 0 dB with no dimensional constant like $T$.

so the reason for your question is that nearly every textbook does this wrong by leaving the $T$ factor out of the sampling function and putting it into the passband of the reconstruction filter.


Power Spectral Density and Fast Fourier Transform basic question

The second trace is probably the phase. You can express the spectral density either as a sine term and a cosine term (in phase and out of phase terms) or as a magnitude and phase angle.  In your first example, for your plot you have converted the sin/cos terms into a magnitude, and discarded the phase information.

Yes, log power differs from log voltage by a factor of two.  $ 2 \log{(V)} = \log{(V^2)} $. But different ways of calculating FT and inverse FT, or PSD and inverse PSD, put a constant value of $ \pi $ in different places: If you use different methods of calculation, you sometimes find that you have choosen to normalize the FT differently.


Detecting Individual Photos on a Scanned Page

Most of the image processing/computer vision algorithms are ad hoc. Your algorithm is good. However, I think that a few points can be improved:

Instead of finding median color, you could do use the geometry of your images, which is more robust. For example, you know that the background part (The one that touches the boundaries is black, and the one inside it has the color you are looking for.
In order to find the rectangle coordinates, you should use a blob analysis procedure. In Matlab it is done by using regionprops command. It will give you properties like

area of blob (To remove the small ones)
solidity (Can be used to separate the rectangles from non-rectangles)
coordinates of pixels

Also, you could try to use morphological pre-processing like opening, to remove small blobs.


Comparing two small audio files (e.g., hand clap) Android

What you're interested in sounds like a generic version of a matched filter. I'm not going to be able to speak to the software aspect of how you implement the file handling and "always-on" listening ability of this problem, but from a signal processing perspective, that's what you want to look into. It's worth noting that your filter is unlikely to match any hand clapping or any ball bouncing based on the reference waveform, but the magnitude of the matched filter response should give you a pretty reliable measure of how close the input is. You can use more advanced techniques if you get a lot of false alarms, like requiring the filter response to be a certain SNR by taking constant ambient noise measurements and comparing the amplitude to those.
EDIT: I re-read your question and am convinced this is the correct approach, but I suggest against trying to find a file-level solution to this issue. What you want to do is open the "reference" file and time-reverse the audio data. Then as mic input comes in, you convolve it with the reversed reference waveform (this is matched filtering). A strong response (impulse) from that convolution output indicates a match. In terms of tools you don't even need a powerful audio library, just something that can get the audio in 1-D vector form and then a time-reverse and 1-D convolution (common operations in matrix libraries).


Definition of "Power" in "Power Spectrum" (for translator)

the requestor says it's not appropriate to translate "power spectrum" as "(electric power) spectrum".

And I'd agree with him.
Let's start with the last of your questions:

Otherwise, could someone provide better explanation?

What's the layman area where one meets the term "spectrum"? Right, it's this rainbow:
Zátonyi Sándor, (ifj.) Fizped / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
What's depicted here is how a prism splits white light, which contains a continuum of frequencies of light, into components that all have a different frequency.
The power spectrum is just the answer to the question "how much power is there in the white light at the frequency of this specific color?".
No electricity involved at all. Just light.
Generally, in DSP, if you try too hard to identify magnitudes with any particular physical entitity, you'll often "phrase yourself into a corner", because DSP is just applied math, and that math doesn't care whether the signal analyzed is the amplitude of an electromagnetic wave like light, the intensity of pixels in an image, the instantaneous position of a vibrating string of a guitar, air pressure variations caused by that string, blood pressure, the magnitude of a gravity disturbance caused by rotating supermassive star pairs, or the voltage at some measurement device.
In fact, the power spectral density is as much a mathematical concept with no relation to any specific physical entity as you'll encounter: It's literally just "if you have a random function of a single real-valued number, and you can calculate the autocorrelation of that over a difference on that number axis, then the Fourier transform of that is called the power spectral density".
Physics is just good to us in that this really describes something that can be measured as power, if the random function can be understood as an amplitude. But again, nothing here says that anything is about electricity.

Is the highlighted part applicable as definition of "power" in "power spectrum" as well?

Yes. It's what I'd recommend to use. Power is just the square of some amplitude signal.

If so, is "(electric power) spectrum" incorrect translation because the "power" spans other types of physical power in addition to "electric power" (and also because "power" can imply the squared value)?

yes. and yes.


Simulation and theory of first-order low pass filter

I think, the reason for the difference between both results could be the difference between the angular frequency $\omega=2\pi f$ and the "normal" frequency $f$.
That means: In the time domain you have defined the frequency $f$, but after processing you (perhaps?) have interpreted the results as $\omega$.


Pose estimation of colored checkerboard cubes

This is the partial solution alluded to in the question. Should I be using a totally different approach (probably)? Are there standard operations that do what I've cobbled together (definitely)?

Sample circularly at a radius of ~6 around each pixel and compute the sum of the absolute differences to the opposite side. This seems to do a pretty good job of picking up edges, and smoothing noise:

Do the same thing again but, instead of comparing across to the 180 degree counterpart, compute differences to the 90 degree counterparts. This still picks up edges, but especially picks up the saddle points at the centers of each face (less so when tilted, though):

Subtract the previous two transformations, cancelling the edges and keeping the saddle points. This seems to work quite well:

Find isolated local maxima in the saddle point image. At each one over some threshold, sample every pixel a distance of ~10 away. Find the alternating colors via a kmeans with k=2 on those pixels' colors. Use the resulting labels and a simple maximization algorithm to estimate the angles where the colors switch. If the kmeans match is terrible or there's lots of mismatches between the angles, discard the point as a false-positive::

For each remaining saddle point, offset by ~15 along each of its diagonal directions and do a flood fill against a finer version of the half-turn-edges image, made by sampling at a radius of ~2 instead of ~6:

For each flooded area, compute its contour and fit a rectangle. If the rectangle covers significantly more area than the contour, the flood fill probably escaped the face. For the flood fills that worked, use the furthest points along the diagonals (the support points) to estimate the position of the corners and the side-centers. If the two flood fills adjacent to a side succeed, average the points. When 2/4 or 1/4 of the flood fills for a saddle point failed, use the existing points to infer the missing ones:

Use the four estimated corners to compute a perspective warp. Try to refine the warp by tweaking the points and preferring lots of brightness near the sides and equators of the half-turn-difference transformed image... and otherwise lots of darkness in the interior.

(todo) Fuse the found faces into cubes. Recover the entire 3d pose.

From my experimenting, the weaknesses of this method are mainly:

Bad at finding saddle points on faces titled more than ~45 degrees.
Bad at refining the faces, unless the flood fill gets it extremely close to correct.
Bad at excluding close false positives, like if the saddle point on an edge is assumed to be a center.
Any blurring from motion ruins the saddle point discovery.
Doesn't infer poses from the faces, yet.

Also its kind of slow, running at about 1fps, but I haven't put much effort into optimizing it.

Any suggestions?


Dimension of Matrix in MIMO with multi-path

The short answer is: if you transmit one block of $N$ symbols (no data before it for at least $L$ symbol times) over a frequency-selective channel of length $L$, then the channel matrix will be of dimension $NN_TN_R\times N$.

The long answer: start with $N_T=N_R=1$. Then the $n^{\text{th}}$ received sample can be written as

$$y_n=\sum_{l=0}^Lh_lx_{n-l}+z_n$$

If you arrange these samples in a vector-matrix form you get

$$\mathbf{y}_{N\times 1}=\mathbf{H}_{N\times N}\mathbf{x}_{N\times 1} + \mathbf{z}_{N\times 1}$$

Now let $N_T=1$ while the number of receive antennas $N_R$, then the $n^{\text{th}}$ received sample over $m^{\text{th}}$ receive antenna is

$$y_n^{(m)}=\sum_{l=0}^Lh_l^{(m)}x_{n-l}+z^{(m)}_n$$

for $m=1,\,2,\,\ldots,\,N_R$. If you arrange these sample in a vector-Matrix form, you get

$$\mathbf{y}_{NN_R\times 1}=\mathbf{H}_{NN_R\times N}\mathbf{x}_{N\times 1} + \mathbf{z}_{NN_R\times 1}$$

Similarly, you can do the general case for $N_T$ transmit and $N_R$ receive antennas.

As you can see, to make this work on block-by-block basis, you need to padding $L$ zeros before each block to eliminate the inter-block interference. Alternatively, you can use cyclic-prefixed (CP)-OFDM, which is more efficient at the receiver side.


Usually in speech recognition frame size is around 16 milliseconds (0.016 second), which corresponds to average length of an audio signal during which it is stationary (not to much variation). Regarding the overlap I suggest you to start with 50%, you can then try to play with it, but it should not change too much.

I do not really understand part of you question asking what will change if the file is 30 seconds long. Obviously frame length stays the same and only number of frames will increase.


Where can I get a database of speech signals?

you can also find speech corpus from here

English:

American National Corpus Open to All

Huge Corpus from Vox Forge Repository

Indian Local:

Hindi Language Corpus

Bengali Corpus

Speeches from Indian Language Consortium


Image Pixel Wise Transformations - Recommended Order

Since both operations are not linear they are not interchangeable.

When Processing RAW Files from Digital Cameras you first create the correct balance between the RGB channels (White Balance) and only then work one effects like contrast.

One could use hands waiving to say that before doing contrast one need to set the correct value of the pixel (White Balance).
There is a logic to that but it is not derived from a Physical law or Mathematical truth.


The Fourier transform is the Laplace transform along the imaginary axis in the complex plane.

The convergence of the Laplace transform ignores the complex part, as the imaginary part breaks down the signal into sinusoids: which are bounded, and so have no effect on the convergence.


How to find first 25 coefficients of DCT in Matlab?

In JPEG compression, DCT coefficients are generally parsed not as sub-blocks, but in an order:

  corresponding to the entries in the top left corner

This corresponds to a zigzag indexing:

This can be obtained by the following code. Here I use the $8\times8$ JPEG quantization table, and extracted the $5\times5$ top-left coefficients. On a light note, the bijection between the $2$D coordinates and the zigzag  $1$D coordinate can be obtained by Cantor pairing polynomials (Matlab implementation).

% ExtractComponent
nCoomponent = 25;
quantTable = [    16,  11,  10,  16,  24,  40,  51,  61;
    12,  12,  14,  19,  26,  58,  60,  55;
    14,  13,  16,  24,  40,  57,  69,  56;
    14,  17,  22,  29,  51,  87,  80,  62;
    18,  22,  37,  56,  68, 109, 103,  77;
    24,  35,  55,  64,  81, 104, 113,  92;
    49,  64,  78,  87, 103, 121, 120, 101;
    72,  92,  95,  98, 112, 100, 103,  99];

index = zigzag(length(quantTable));
indexCrop = index(2:26);
quantTableCrop = zeros(size(quantTable));
quantTableCrop(indexCrop) = quantTable(indexCrop);

figure(1)
image(quantTable);
figure(2)
image(quantTableCrop);

and the function

function index = zigzag(size)

% ZIGZAG(size) returns the zigzag order index
% for a size x size square matrix

    index = 1:size*size;
    [j,i] =  meshgrid(1:size);
    i = i(:);
    j = j(:);
    iplusj = i + j;
    even_ind = (rem(iplusj,2) == 0);
    odd_ind = ~even_ind;
    j(even_ind) =   j(even_ind);
    j(odd_ind) =    i(odd_ind);
    [nouse,tags] = sortrows([iplusj,j]);
    index = index(tags);
end


The experimental frequency domain data gives you information on the input-output behavior of the system. If the system is assumed to be linear and time-invariant (LTI), this information will be in the form of a transfer function. Given a transfer function, there are infinitely many state-space realizations that yield the same input-output behavior and, thus, are I/O-equivalent.

Having said that, you may want to take a look at the Adaptive Control literature.


As mentioned by the applesoup, you should try dftmtx(). However, if you want to write a code for generating the DFT matrix, here it is,

funtion dftmatrix = myDFTmtx(N)

    dftmatrix = [];
    for k = 0:N-1
        row = [];
        for n = 0:N-1
            row = [row exp(-j*2*pi*k*n/N)];
        end
        dftmatrix = [dftmatrix; row];
    end
end

The matrix returned by this function when multiplied with the time domain sequence or column vector, will return its DFT coefficients.


How i can smooth a sinusoidal signal using it's local maximum

You could use the Hilbert transform to calculate the signal envelope. It is discussed in this question.


How can I design Nyquist interpolation filters with the Parks-McClellan algorithm?

One design method, albeit one that is limited to powers of two, would be to start with one halfband filter, insert zeros at every other (creates a spectral replica), then convolve it with a second halfband filter having a wider transition band.  Repeat the process until you get to the required power of 2.

Here's an example that creates a lowpass filter with Fc=fs/8 and zero crossings every 4 samples:

b0=remez(34,[0 .45 .55 1],[1 1 0 0])';
b1=remez(6,[0 .25 .75 1],[1 1 0 0])';
b0up = zeros(1,2*length(b0)-1);
b0up(1:2:end) = b0;
B0up=freqz(b0up);
b2 = conv(b0up,b1);  % length = 34*2+1 + 6 = 75 coefficients


Algorithm to effectively find perspective transform in motion estimation

The suggested technique seems to be to gather points of interest, calculate a feature vector for them, and then find matching pairs of points in both images, followed by a calculation of the transform.

Here is a sample project: http://www.codeproject.com/Articles/95453/Automatic-Image-Stitching-with-Accord-NET

Here is a paper that claims improvement by preparing through a phase correlation stage: http://www3.nd.edu/~kwb/ThomasKareemBowyerIGARSS_2012.pdf


where is the matched filter being used exactly in Rx PHY?

Q1: Where in Rx PHY is the matched filter being used exactly

Not at all / it is a rectangular filter.

802.11a is an OFDM system, and that means it's a multi-channel thing – it divides the wide channel into many narrow channels, each of which is flat, i.e. only a single complex coefficient. It uses a rectangular pulse shape on each of these.

Thus, there's no matched filter explicit anywhere in the receiver.

When you further your study of modulation techniques, you'll learn why OFDM has to use a (in time domain) rectangular filter for each subcarrier (because that achieves the zeros in frequency domain that make the "O" in OFDM).

  Q2: If matched filters are used in demodulator as I expect, how is it implemented for a complex demodulation scheme (i.e., 64-QAM).

Filtering is not part of the symbol decider, but comes before it (in systems that, unlike OFDM, do make use of it), after the downmixing (if applicable).


How to Calculate the Hann Low Pass Filter / Kernel for Image Processing


Since this is clearly homework, and the limits on the $\sum$ are crucial to figuring out whether there's an answer:

Hint: Parseval's Theorem states that power in time domain is equivalent to power in frequency domain. What is the power in $x(t)$? Is $x(t)$ periodic? If so, what's the period?

As usual, it often helps to make a drawing (that's, by the way, the minimum I'd have expected from your question!) to get a feeling for the signal you're dealing with.


If you compute a $8\times 8$ 2D-DCT, and keep the top left corner only, you are keeping a quantity that is proportional to the average of each  $8\times 8$ block.  This is the DC component, similar to the $0$ frequency in a Fourier transform. This works like a JPEG coding with a quantization table looking like:

$$\displaystyle \left( \begin{array}{cccc}
1 & \infty & \cdots & \infty\\
\infty  & \infty  & \cdots & \infty\\
\vdots  & \vdots &  \ddots & \infty\\
\infty  & \infty  & \cdots & \infty
\end{array}\right)$$

Performing the inverse DCT with this "kind of" quantization spreads the average value over the $8\times 8$ block. What you are doing is equivalent to performing a moving average with an $8\times 8$ uniform window and then downsampling by  $8$ in both the $x$ and $y$ directions. You compress by replacing each $64$-pixel  block by its average, resulting (effectively) in a $64$ times smaller image, and you "fake" an original size image by extrapolating the average.

However, you cannot claim a $1/64$ compression yet, because the coefficients you keep are not quantized yet, and are stored for instance on $32$-bit floating point words. Before you go into more advanced coding, you are about at a  $1/16 = 1/64\times 32/8$ compression rate.


How would you generate this type of wave form?

Try a suitably parameterized function of form:

$$f(t) = \operatorname{clip}\big(a_0\sin(f_0 t) + a_1\sin(f_1 t)\big),$$

where $t$ is time, $f_0$ and $f_1$ are the frequencies and $a_0$ and $a_1$ the amplitudes of two sine waves, and:

$$\operatorname{clip}(x) = \left\{\begin{array}{ll}-1 &\text{if } x < -1\\x &\text{if }-1 \le x \le 1 \\1 &\text{if } x > 1.\end{array}\right.$$

You don't show the scale of the data so the bounds $-1$ and $1$ might be of wrong absolute value. I assumed that the data is zero-centered so there is no zero frequency (bias) term and the bounds look symmetrical in your graph.


No. You are doing a matrix mutliply and not a vector multiply. Correct version would be

a=[1,2,3,4,5,6,7,8]'; % column vector
b=triang(8); % also column vector
c=a.*b;    % vector multiply
d=fft(c)


Are the HOG features of the images good enough to do image classification alone? Why are their variances low?

Definitely not sufficient to detect;

First HoG is not scale invariant - you change resize your image and handle this problem-.

Second HoG is not rotation invariant - you should include vary poses of action but this makes your solution more complex-

In my opinion; you should choose another kind of feature descriptors which can handle rotation and scale invariance. (SIFT, SURF, ORB ...)

Maybe you can use spatio-temporal information for this problem - It will be very useful-

Thanks.

And one more suggestion is about Neural Networks. If you have enough dataset for your problem, you can use "Neural Networks" which can be more roboust to other kind of feature based methods.


The commonly called 5.1 format uses only surround channels, which are defined as rear/side channels in ITU-R BS 775. The case you want to deal with (turning rear surround channels to side surround channels) is therefore not explicitly defined.

Notice that in the referenced ITU document, the case of changing the number of rear/sides loudspeakers reproducing a common rear/side signal is mentioned (see Note 5) :

  If more than two rear/side loudspeakers are used, the LS signal should
  be fed to each of the side/rear loudspeakers on the left side of the
  room and the RS signal should be fed to each of the side/rear
  loudspeakers on the right side of the room. In doing so, it will be
  necessary to reduce the signal gain such that the total power emitted
  by the loudspeakers carrying the LS (or RS) signal is the same as if
  that signal had been reproduced over a single loudspeaker.

In your case, as you are keeping the same number of loudspeakers, I would simply map Rear Left (resp. Rear Right) to Side Left (resp. Side Right) with a gain of 1.0.

The case is different if you want to downmix a 7.1 format (of which several mappings are mentioned in ITU-R BS 2159, see figure 20) to a 5.1 format, where you will need to take into account which mapping is used in the 7.1 format to define downmix coefficients.

Also notice that although there are commonly used coefficients when downmixing multi-channels formats, most codecs use metadata sets to allow the content creator to specify it's own coefficients in order to preserve artistic intent (see Dolby Metadata Guide, part 4 for example).


Complex exp. Fourier series, finding $x(t)$ when $X(j\omega)$ is given as magnitude and phase plot

The video could've stopped at the answer:

$x(t)=4+ 2e^{j(3\omega t + \pi /2)} + 4e^{j(4\omega t - \pi /2)} + 2e^{-j(3\omega t + \pi /2)} + 4e^{-j(4\omega t - \pi /2)}$

And this answer can be read directly from the plots. The idea is that the $n^{th}$ term in the sum is equal to $|C_n|e^{j(n\omega t+\angle C_n)}$. You get this from the Fourier series equation which is $x(t)=\sum_n C_n e^{jn\omega t}$, where $C_n$ may be a complex coefficient meaning it has a magnitude and a phase. Re-write $C_n$ as $C_n = |C_n|e^{j\angle C_n}$, plug into the Fourier series equation and you get what I wrote above.

The extra steps that the video does is just to convert the complex exponential expression into cos/sin functions using Euler's formula. One result of Euler's formula is that $2cos(\theta)=e^{j\theta}+e^{-j\theta}$, and that is why in the end it turns out to be cosine and not sine.


The acoustic echo canceler (AEC) is supposed to cancel any signal in the microphone path that is correlated to the speaker signal. The microphone doesn't only pick up your voice but it also picks up the signal from the speaker, i.e., the signal from the far end. If there were no AEC, that signal from the speaker would be fed back to the far end, which is very disturbing. Since the speaker signal is available at the near end, it can be used as the input to the adaptive filter, which tries to remove any signal in the outgoing path that is correlated with the speaker signal. Basically, the adaptive filter will converge to the room impulse response between loudspeaker and microphone.


Taking the Moving Average of STFT Results

As rb-j says in his comment, this is often how the (magnitude-squared) STFT is smoothed $-$ using a moving average window.

The only concern might be that you're using too much smoothing. A 10 second moving average window (resulting in a 12.5 second "effective" window) may mean that some artifacts take a while to show or do not show up at all.


Difference between Fourier-Transform and FFT of rectangular pulse

Assuming that the relevant portion of a continuous-time signal $x(t)$ is inside (or has been shifted to) the interval $[0,T]$, the DFT of a sampled version of the signal approximates the continuous-time Fourier transform (CTFT) in the following way:

$$\begin{align}X(f)&=\int_{-\infty}^{\infty}x(t)e^{-j2\pi ft}dt\\&\stackrel{\textrm{truncation}}{\approx}\int_{0}^{T}x(t)e^{-j2\pi ft}dt\\&\stackrel{\textrm{sampling}}{\approx}\sum_{n=0}^{N-1}x(n\Delta t)e^{-j2\pi f n\Delta t}\Delta t\tag{1}\end{align}$$

with $T=N\Delta t$.
From $(1)$ with $\Delta t=T/N$ and with $f=k/T$, a sampled version of $X(f)$ can be approximated by

$$X\left(\frac{k}{T}\right)\approx \Delta t \sum_{n=0}^{N-1}x(n\Delta t)e^{-j2\pi k n/N}=\Delta t \cdot X_d[k]\tag{2}$$

where $X_d[k]$ is the length $N$ DFT of $x_d[n]=x(n\Delta t)$.

Note that for time-limited signals, the truncation error can be made zero, and for perfectly band-limited signals, the sampling error can be made zero. Since a signal cannot be time-limited and band-limited at the same time, there's always at least one of the two errors present. In practice, you usually have to deal with both types of errors.

The following Matlab/Octave code shows an example:

Fs = 1e3;   % sampling frequency
Ts = 1/Fs;
T1 = 0.1;
T2 = 2;
tgrid = 0:Ts:T2;
N = length(tgrid);
x = zeros(1,N);
x( find( tgrid <= T1 ) ) = 1;
fgrid = (0:N-1)*Fs/N;

% analytic continuous-time Fourier transform
X = T * sin( T*fgrid*pi ) ./ (T*fgrid*pi) .* exp( -1i*pi*fgrid*T );
X(1) = T;

% DFT approximation
X2 = fft(x,N) * Ts;

plot( fgrid,abs(X),fgrid,abs(X2),'r' )
axis([0,Fs/2,0,T]), grid on
legend('analytic','DFT')


Is there a way to further optimise my FFT?

Indeed, this is more or less the usual butterfly used in radix-2 FFT (can be extended to any prime number): http://en.wikipedia.org/wiki/Butterfly_diagram


why the number of filter coefficients in FIR filter has to be an odd number?

There is no such requirement. However, for linear-phase (symmetric) FIR filters, the delay can be expressed as:

$$
D = \frac{order}{2} = \frac{N_{taps} - 1}{2} \text{ samples}
$$

If the number of taps is odd, then the delay of the filter is an integer number of samples, which is desirable for some applications. If you have an even number of taps, then you end up with a half-sample delay.


What you're most probably looking for is a FIR filter designed using a window filter design method.

Essentially, you could argue "Hey, I know how I would like my filter's amplitude vs. frequency diagram to look like" (and use the inverse of your measured gains as exactly that), and then argue "OK, I want to multiply my signal's spectrum with this equalizing spectrum, so let's instead convolve the signal with this spectrum's inverse Fourier transform". And that actually works – but you get into a lot of problems because of effects of the fact that your filter "template" essentially has limited length, and you get spectral leakage. So you add windowing to the method, and tadah, get a usable method of designing a filter.

The article of this name on DSPRelated might be of interest.


Implementing a Kalman filter for position, velocity, acceleration

This is the best one that I know of

Full derivation with explanation

Kalman

This is a good resource for learning about the Kalman filter. If you are more concerned with getting the smartphone app working I would suggest looking for a pre-existing implementation of the Kalman filter. Why reinvent the wheel? For example if you are developing for android, openCV has an implementation of the Kalman filter. See Android OpenCV

Bradski and Kaehler is a good resource on image processing in general and includes a section on the Kalman filter including code examples.


The interference you cause to the other user is determined by:

The total transmit power of your transmitter
The gain of your beampattern in the direction of the other user
The path loss to the other user
If the other user uses receive beamforming, then also by the gain of its beampattern in the direction of the transmitter

So if you transmit with a power of 10dBm, have a gain in the users direction of -20dB and a pathloss of 60dB, the other user receives -70dBm of interference power from the transmitter. Whether or not this is bad then depends also on how powerful the useful signal of the other user is.

More information is required here for a more detailled answer.


How to find difference equation, given poles and zeros?

We have a zero at $z=0$ and poles at $z=1+i$ and $z=1-i$

Therefore the Transfer function is:

$$H(z) = k \dfrac{z}{[z-(1+i)][z-(1-i)]}$$

$$\Rightarrow H(z) = k\dfrac{z}{(z-1)^2+1}=\dfrac{kz}{z^2-2z+2}$$

$$\Rightarrow \dfrac{Y(z)}{X(z)} = \dfrac{kz}{z^2-2z+2}$$

$$\therefore Y(z)[z^2-2z+2] = kzX(z)$$

This gives:
$$z^2Y(z)-2zY(z)+2Y(z) =  kzX(z)$$
Taking inverse Z transform:
$$y(n+2)-2y(n+1)+2y(n) = kx(n+1)$$


Find autocorrelation of exponential signal $a^nu[n]$

Let $x[n]=a^nu[n], |a|<1$. Autocorrelation is

$$\phi_{xx}[n]=\sum_{m=-\infty}^{\infty}x[m]x[m-n]=\sum_{m=-\infty}^{\infty}a^mu[m]a^{m-n}u[m-n]$$
First assume that $n>0$. In this case, we have

$$u[m]u[m-n]=\begin{cases}0,& \forall m<n\\
1,& \forall m\ge n\end{cases}$$
Therefore,
$$\begin{align}
\phi_{xx}[n]&=\sum_{\color{red}{m=n}}^{\infty}x[m]x[m-n]\\
&=\sum_{m=n}^{\infty}a^ma^{m-n}\\
&=a^n(1 + a^2 + a^4 +\cdots )\\
&=\frac{a^n}{1-a^2}\end{align}$$

For $n<0$:

$$u[m]u[m-n]=\begin{cases}0,& \forall m<0\\
1,& \forall m\ge 0\end{cases}$$

$$\begin{align}
\phi_{xx}[n]&=\sum_{\color{red}{m=0}}^{\infty}x[m]x[m-n]\\
&=\sum_{m=0}^{\infty}a^ma^{m-n}\\
&=a^{-n}(1 + a^2 + a^4 +\cdots )\\
&=\frac{a^{-n}}{1-a^2}\end{align}$$

and since $\phi_{xx}[n]=\phi_{xx}[-n]$, we can write it for all $n$ as
$$\phi_{xx}[n]=\frac{a^{|n|}}{1-a^2},\ |a|<1$$


Outlined text extraction from image using OpenCV

You can obtain pretty good results by just thresholding the image at a high intensity (since your text appears always to be white) and do a closing operation to close the gaps:

# convert to grayscale
img = cv2.imread('OCR.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# threshhold
ret,bin = cv2.threshold(gray,245,255,cv2.THRESH_BINARY)

# closing
kernel = np.ones((3,3),np.uint8)
closing = cv2.morphologyEx(bin, cv2.MORPH_CLOSE, kernel)

# invert black/white
inv = cv2.bitwise_not(closing)

Result:

You can probably clean up most background artifacts with an opening operation of the inverted image. This should already yield pretty good OCR results.


Compute RMS value of non-stationary signal

The general way to obtain high resolution envelope of a signal is called envelogram which is the magnitude of the analytic signal obtained from your original signal(the analytic signal obtained by using Hilbert transform).

Simply take FFT of whole signal to obtain the spectrum, then replace the value of spectrum over negative frequencies with zero (keep the value of spectrum over positive frequencies as before). Now taking inverse FFT will give you a complex signal which its magnitude is the envelope of your signal which is the instantaneous power or RMS.
By applying a band pass filter around your fundamental frequency you could obtain the RMS of your fundamental frequency.

Another way is to use time-frequency analysis which is similiar to the method you suggested (it uses a moving window instead of splitting signal)


Automatic Image Enhancement of Images of Scanned Documents (Auto Whitening)

Their intention is to solve:

$$ \arg \min_{ J \left( x, y \right) } \sum_{x, y} \left\| J \left( x, y \right) - 255 \right\|_{2}^{2} + \lambda \sum_{x, y} \left\| \nabla J \left( x, y \right) - \nabla I \left( x, y \right) \right\|_{2}^{2} $$

Where $ I \left( x, y \right) $ is the input image and $ J \left( x, y \right) $ is the output image.

They state that usually the solution is constant locally and can be approximated by the map of Gain and Offset.
They do not say the method they use to calculate it but you can use few ideas:

Solve the above optimization problem for a downsampled version of $ I \left( x, y \right) $. From the downsampled solution of $ J \left( x, y \right) $ infer the downsampled map of the Gain and Offset. Then upsample the maps and apply them on the full size $ I \left( x, y \right) $.
Just like the Guided Filter approximate a local solution of the Weighted Least Squares filter, reformulate it for solution of the above problem (You'll see they are very similar).

Solving the Optimization Problem

As written in Dropbox's Blog Post - Fast Document Rectification and Enhancement the above is a Poisson Equation which has many dedicated solvers.
To give you a glimpse of straight forward way solve it we can vectorize the image into a vector. Let's say the input image is $ y $ and the output image is $ x $ (Vectors) then the problem can be rewritten:

$$ \hat{x} = \arg \min_{x} \frac{1}{2} {\left\| x - 255 \cdot \boldsymbol{1} \right\|}_{2}^{2} + \frac{\lambda}{2} {\left\| {D}_{h} \left( x - y \right) \right\|}_{2}^{2} + \frac{\lambda}{2} {\left\| {D}_{v} \left( x - y \right) \right\|}_{2}^{2} $$

Where $ {D}_{h} $ is the horizontal Derivative Operator, $ {D}_{v} $ is the vertical Derivative Operator and $ \boldsymbol{1} $ is vector of ones.
Then the solution is given by:

$$ \hat{x} = { \left( I + \lambda {D}_{h}^{T} {D}_{h} + \lambda {D}_{v}^{T} {D}_{v} \right) }^{-1} \left( \lambda {D}_{h}^{T} {D}_{h} y + \lambda {D}_{v}^{T} {D}_{v} y + 255 \cdot \boldsymbol{1} \right) $$

Pay attention that if the image $ I \left( x, y \right) \in \mathbb{R}^{m \times n} $ then $ D \in \mathbb{R}^{m n \times m n} $.
Hence from memory and computation this is hard to do for large images unless the solver takes advantage of the matrix $ D $ structure (Sparse) and that's what Poisson Solvers are all about (Be more accurate $ {D}^{T} D $ has a structure to take advantage of without ever formally creating it).
For very small images you can play with this.
For large you can do follwoing:

Use Direct Solvers
For example just using the \ operator in MATLAB.
Use Iterative Solvers
For example the Conjugate Gradient. Nice property of the Conjugate Gradient is it doesn't require the matrices themselves but the products of the matrices with the image which can be calculated by convolution.

So basically the above is about solving Linear Equation with special structure. You may read about solving those kind of equations at the course The Poisson Equation in Image & Shape Processing.

MATLAB Code

I added a MATLAB Code to solve the problem of whitening the image as described in the Blog Post.

Here is the result for different values of $ \lambda $:

As expected, one could see that the higher the regularization the better the contrast.

The full MATLAB code which implements the solution is at my Signal Processing StackExchange Question 50329 - GitHub Repository.
The code uses direct solver. In practice one should use Preconditioned Conjugate Gradient solver which only requires the result of the operator on the image which can be done using Convolution in much faster manner than Matrix Multiplication (At least for "Denser" operators).

As reference image I used Certificate of Arrival for Berta Werner.


Why did my sine wave turn into a square wave when written to a WAV file in Octave?

x is being clipped and that is why y looks like a square wave. When writing x to disk using wavwrite, the samples of x are stored in 16 bits Q15 fixed-point format. That means your data must be in range -1 to +1 (in principle +1 minus one lsb). Therefore, x must be normalized to be in this range before calling wavwrite in order to avoid clipping.


Where can we find noises like Gaussian, Rayleigh, Gamma, exponential noises in real world images?

Gaussian Noise: Standard model of amplifier noise.

Gamma Noise: Frequent in Radar/LiDAR.

Rayleigh Noise: One example where the Rayleigh distribution naturally arises is when wind velocity is analyzed into its orthogonal 2-dimensional vector components.

Exponential Noise: Channel Based Communication(see AEN).


Usefulness of Matched $z$ transform Method

the Matched Z method is the simplest method to convert an analog filter design with transfer function $H_\mathrm{a}(s)$ to a digital filter design $H(z)$.  It does it by mapping every pole and every zero from the $s$-plane to the $z$-plane using:

$$ z \leftarrow e^{sT} $$

where $T \triangleq \frac{1}{f_\mathrm{s}}$ is the sampling period and the reciprocal of the sample rate, $f_\mathrm{s}$.  Stable analog filters get mapped to stable digital filters.  That's all that it is.

The other two common methods are the Bilinear Transform, which approximates the above mapping:

$$ z \leftarrow \frac{1+\frac{sT}{2}}{1-\frac{sT}{2}} \approx \frac{e^{\frac{sT}{2}}}{e^{\frac{-sT}{2}}} = e^{sT} $$

and the Impulse Invariant method which is a time-domain way of looking at things:

$$ h[n] \leftarrow h_\mathrm{a}(nT) $$


How to detect whether a signal is unimodal or bimodal?

There are a few answers to a similar question over on Cross Validated.SE.

One suggested answer is to use Hartigan's dip test. Another is to use the mixtools package.

I've simulated some example data in R and used the diptest package and the mixtools package.  The diagram below shows the raw data in the top to graphs, and the estimated underlying distributions according to mixtools.

The diptest results are:

  data:  one_mode
  D = 0.0219, p-value = 0.9915

  data:  two_mode
  D = 0.0628, p-value = 0.004434

So diptest is saying the first (unimodal) data set has a 99.15% chance of being unimodal and the second (bimodal) data set has a 0.44% chance of being unimodal.

R Code Below
    # Q26358

one_mode <- rnorm(100, 0, 1)
two_mode <- c(rnorm(50, -2, 1), rnorm(50, +2, 1))

plot(1:100,one_mode,pch=16, col="green")
lines(1:100,two_mode, pch=16, col="red")

library(mixtools)

par(mfrow=c(2,2))
plot(1:100,one_mode,pch=16, col="green")
plot(1:100,two_mode, pch=16, col="red")

mixmdl = normalmixEM(one_mode)
plot(mixmdl,which=2)
lines(density(one_mode), lty=2, lwd=2)

mixmdl_two = normalmixEM(two_mode)
plot(mixmdl_two,which=2)
lines(density(two_mode), lty=2, lwd=2)

library(diptest)
dip.test(one_mode)
dip.test(two_mode)


Signal enhancing algorithm (deconvolution??)

I can see in your Signal on the right, the "picks" are separated equidistantly. So this is my proposition: Subsample your signal and add a amplified Gaussian signal centered at each sample.


How to go from wav file to spectrogram back to wav file in python?

You need to keep the phase information, which isn't included in a spectrogram.  "Spectrogram" is just the magnitude of the STFT output.

So this is conceptually the same as STFT ↔ ISTFT, which is supported in Python now:

STFT
ISTFT

The Examples section in the ISTFT link does exactly what you want, modifying a STFT and inverse transforming to reduce noise.


For many years the state of the art was to use a convolutional "inner code" and a block "outer code".  The "inner" and "outer" terminology come from the following block diagram:

$$\boxed{\scriptstyle \rm Payload}{\longrightarrow}\boxed{\scriptstyle\textrm{Outer Encode}}{\longrightarrow}\boxed{\scriptstyle\textrm{Inner Encode}}{\longrightarrow}\boxed{\scriptstyle\rm Channel}{\longrightarrow}\boxed{\scriptstyle\textrm{Inner Decode}}{\longrightarrow}\boxed{\scriptstyle\textrm{Outer Decode}}{\longrightarrow}\boxed{\scriptstyle\rm Payload}$$

Convolutional codes were used as the inner code because they are very powerful and can correct a large number of bit errors.  They have a weakness, though- when there are lots of errors that are close together they can break down and spit out errors in a burst at that location.  The outer code is used to correct those bursts of errors.  Block codes are not as powerful as convolutional codes (do not use as many parity bits/symbols either), but they are good at dealing with bursts of errors.  Also, there was usually a deinterleaver in between the inner and outer codes that spread the bursts of errors among many blocks, making it even easier for the block code to correct them.

As Wikipedia's Deep Space Telecommunications section says, early on the inner/outer codes were Viterbi (convolutional) and Reed-Muller codes.  Later they were Viterbi and Reed-Solomon codes.

In the early 90's Turbo codes were discovered and took the FEC world by storm.  In the 2000's low-density parity check codes have grown in popularity.  They were discovered in 1960 by Gallagher, but were not feasible to implement until recently because of the computational load that they require.  Both Turbo and LDPC codes are near optimal in the sense that they get very close to the Shannon limit of what it is possible to achieve with FEC.  Presently NASA uses both Turbo and LDPC codes, as far as I'm aware.

Like designing any reliable communications system, designing reliable deep space communications requires more than just adding powerful FEC.  Signal power, free-space path loss, receiver noise, etc., must be taken into consideration.  Deep space communications actually have a lot of advantages and two enormous disadvantages.  The disadvantages are the enormous distance and the limited transmitter power.  The advantages are the really high-gain directional antennas, the low noise that the earth dishes get from looking into empty space, the even lower noise they get by cooling their receivers with liquid nitrogen, etc.  They can also slow down their data rate while keeping the transmitted power constant to give each bit more energy.


How is Linear Canonical Transform a generalization of Fractional Fourier Transform?

The linear canonical transforms are all area preserving, orientation preserving, linear transforms on the time-frequency plane. The fractional Fourier transforms are a subset, namely the rotations. Both sets form (Lie-)groups under composition, and the rotations are a subgroup.


Where do I start in learning how to demodulate a BPSK31 signal in software?

This system uses phase shifts to encode characters (it is a differential encoding scheme). You need to design a system that can detect the phase changes, and that is able to synchronize, that is, find the start of a character. Your receiver must also be able to recover from ocassional errors in the phase change detection. Your question is where to start to learn how to do this; my answer is, read the book linked at the end of this page: http://sethares.engr.wisc.edu/telebreak.html. This book doesn't cover this specific modulation but you can learn everything you need from it.


Are there any real world applications for complex-valued signals or impulse responses?

Absolutely! Conjugates are mentioned in textbooks because conjugation has no effect on real signals, but it does on complex ones. This way, formulations are more general and apply to both real and complex valued signals. Complex numbers don't exist themselves, they are a mathematical construct.
Having said that, their mathematical properties can be replicated using real systems. You can separate the real and imaginary parts and treat them individually as real signals, but you must use additional hardware in order to do so. This manifests as needing more wires to handle both components, as well as additional memory to store complex values.
This is especially straight forward in the digital domain. However, I'm going to use continuous time signals to avoid introducing sample rates and is cleaner to present.
1. Complex $x(t)$, Real $h(t)$  - Moving Average Filter
Let's say we have a complex signal which is noisy and you want to smooth it out. One way to do this would be to employ a moving average filter on the signal. This requires that the filter be applied separately to both real and imaginary parts. In this example the input signal $x(t) $ is an arbitrary complex triangular signal with noise added. The moving average filter is given by
$$h(t) = \frac{1}{L}$$
So the output is
$$y(t) = x(t)*h(t) =  \frac{1}{L}\int_{-\infty}^{\infty}x(t - \tau)d\tau$$
The plot below shows the filter smoothing out the complex input signal.

We have processed a complex signal with a real-valued system. This is a very specific example as there are many types of real-valued systems that operate on complex (quadrature) inputs.
2. Real $x(t)$, Complex $h(t)$  - Bandpass Filter Design Using Lowpass
Using the frequency shift property of the fourier transform, you can yield a bandpass filter design given a lowpass filter $h(t)_{LP}$. Using this property, we can move the lowpass filter to be centered around a desired frequency $f_0$ and is given by
$$h(t)_{BP} = h(t)_{LP} \space e^{j2{\pi}f_0t}$$
Doing this makes $h(t)_{BP}$ complex and can be used to filter a signal.
Let's say we have an input signal that contains frequency components at $f_0 = 200 kHz$ and $2f_0 = 400 kHz$ but we only want $f_0$. We can start with an appropriate lowpass filter $h(t)_{LP}$ and apply the frequency shift to yield the new filter and process the signal.
$$x(t) = cos(2{\pi}f_0t) + cos(2{\pi}(2f_0)t) $$
$$h(t) = h(t)_{LP} \space e^{j2{\pi}f_0t} $$
Below we can see the initial lowpass filter and the bandpass filter we design using frequency shifting. The new filter performs as intended and we are left with the sinusoid at $f_0$.

We have processed a real signal with a complex-valued system.
3. Complex $x(t)$, Complex $h(t)$  - Radar LFM Pulse Compression
In pulse-Doppler radar systems, a technique called pulse compression is employed to achieve both good pulse widths (better energy on target) while maintaining fine range resolution. This is usually done via matched filters to achieve the highest SNR possible for a given target return.
A popular modulation scheme is linear-frequency modulation (LFM). The complex LFM signal transmitted with a chirp bandwidth $\beta$ and pulse width $\tau$ is
$$s(t) = e^{j{\pi}\frac{\beta}{\tau}t^2}$$
For the following example, we'll be using a bandwidth of 10 MHz and a pulse width of 10 $\mu$s. Below shows the real and imaginary parts of the LFM pulse.

The matched filter for this waveform is given by
$$h(t) = s(-t)^* = e^{-j{\pi}\frac{\beta}{\tau}t^2}$$
The return signal from a target arrives at a delay of $t_d$, so the signal we will process with the matched filter is
$$x(t) = s(t-t_d)$$
Convolution with a matched filter yields the cross-correlation output as
$$y(\tau) = x(t) * h(t) = \int_{-\infty}^{\infty}x(t)h(t+\tau)dt$$
Using the delay $\tau$, we can determine the range of the target since we know our pulse travels at the speed of light. Below we see the output of the matched filter for the nominal zero-delay case and for a target at 300 m.

We have processed a complex signal with a complex-valued system.


Square of Frequency characteristic of the system

I suppose you're talking about the frequency response of a continuous-time linear time-invariant system. It is defined as the Fourier transform of the system's impulse response $h(t)$:

$$H(j\omega)=\int_{-\infty}^{\infty}h(t)e^{-j\omega t}dt$$

Its practical relevance is that it shows the frequency dependence of the system's input-output relation. If $X(j\omega)$ is the Fourier transform of the input signal, and $Y(j\omega)$ is the Fourier transform of the output signal, then
$$H(j\omega)=\frac{Y(j\omega)}{X(j\omega)}$$

For a sinusoidal input signal $x(t)=\sin (\omega_0 t)$ the output signal $y(t)$ is given by

$$y(t)=|H(j\omega_0)|\sin (\omega_0 t + \text{arg}\{H(j\omega_0\})$$

where $\text{arg}\{H(j\omega_0\})$ is the phase of the complex function $H(j\omega)$ at frequency $\omega_0$. So you can see that $|H(j\omega)|$ represents the amplification of the system at frequency $\omega$. From above relations it is also obvious that the output signal cannot contain any frequencies that were not present in the input signal. $H(j\omega)$ can only reduce or amplify frequency components of the input signal. This is how (linear time-invariant) filtering works.


Why is LPCC and LPC used in speech recognition

I think a high-level explanation is the right thing to give here:

For recognition of a producing process (in this case: speech) from a signal (in this case: audio), you need to find a mapping from signal to a set of features.

The closer (correlated) these features are to the parameters of the producing process (here: voicing utterances), the more information your feature set contains about the thing you want to recognize; the better your recognition can work.

And since linear predictors have proven very effective in reducing the amount of data needed to transport a voice audio signal (for audio compression!) whilst keeping understandable, it is intuitive that using this thus demonstratably well content-correlated (at least to the human listener) set of coefficients for speech recognition.

It's all about reducing your signal to less data whilst keeping the maximimum  of info about what you want to recognize and simultaneously dropping as much info about what doesn't contribute to the phenomenon of interest!


Correlated fading channel: transmit and receive antenna correlation matrices

$R_H$ could be anything other than identity and you would get correlated fading with the definitions you have in place in the question. Defining a kronecker matrix product is one way.

$R_H$ should be $N_R \times N_R$ matrix, you can make the kronecker product to result in a non identity matrix of this size.


nature of output of the addition of white noise with colord noise

Are $x$ and $y$ uncorrelated? In this case the autocorrelation function of $x+y$ is just the sum of the autocorrelation functions of $x$ and $y$, which if one of them is not white will lead to its sum also not being white.
In general, for stationary processes you have $\phi_{zz}(\tau) = \phi_{xx}(\tau) + \phi_{yy}(\tau) + \phi_{xy}(\tau) + \phi_{yx}(\tau)$ where $\phi_{xy}(\tau) = \mathbb{E}\{x(t)y(t+\tau)\}$. Moreover, since the process is stationary you also have $\phi_{xy}(\tau) = \phi_{xy}(-\tau) = \phi_{yx}(\tau)$. So in general, the autocorrelation of $z$ depends not only on the autocorrelations of $x$ and $y$ but also their cross correlations.


Does Circular Convolution Correspond to Periodically Expanded Linear Convolution?

Yes, they are the same.

Let us take the linear convolution of $x[t]$ and $y[t]$ as 2 portions $H_1$ of length $N$ corresponding to first $N$ samples, and $H_2$ of remaining $N-1$ samples. Circular convolution between $x$ and $y$ causes $H_2$ to overlap over $H_1$ because of time-aliasing. So the first $N-1$ samples of the result is $H_1 + H_2$ with only the last sample being correct (corresponding to linear convolution).

Now, for the linear convolution between $\tilde{x}$ and $\tilde{y}$, the samples from $N$ to $2N-1$ will have additional component of first $N$ samples of $\textrm{conv}(x,y)$. So these samples will correspond circular convolution of $x$ and $y$.


Main purpose of my filtering is to smoothen the signal, remove those steps. I want to know how much benifit will i get by increasing the order of the filter, mathematically and practically

There are basically two parameters for filters like a Butterworth lowpass: Its order and the cutoff frequency. Both have influence on the response.

Setting the cutoff frequency lower will make the response more smooth. Setting it higher will make the response follow more closely the steps because more of the frequencies are retained and less are attenuated.

The filter order controls how selective the filter is / how "sharply" it separates the passpand (the frequencies that are preserved) from the stop band (the frequencies that are rejected. Inbetween the passband and the stopband you have the transition band which will get narrower the higher order you use. In the time domain higher order filters tend to make the response more wavy. The filter's impulse response oscillates more and its envelope decays more slowly. Choosing the filter order is kind of a trade-off between frequency selectivity and time selectivity. By time selectivity I mean that a tiny pop in your source signal will affect a larger window of time in the filtered signal.

Without knowing exactly what you are shooting for, it's hard to suggest anything. I hope this explanation of how the two tuning knobs affect the response will enable you to move into the right direction.

If you want to do noise reduction it's generally good to know what the PSD of your signal and the noise part looks like. In your case, the noise is highly correlated and depends too much on the signal. You basically have truncation without any prior dithering which would otherwise decouple the noise error from the signal. So, in your case it's hard to predict the PSD of the error. But given both spectra, Wiener filtering could get you closer to the solution. Then, a good filter's cutoff frequency would depend on the point where the signal PSD crosses the noise's PSD. The order would depend on the difference of the PSD slopes between signal and noise in a loglog domain. So, for example, given a brownish signal mixed with white noise, the difference of the PSD slopes in the loglog domain would be 2. Divide this by two (--> 1) and use that as a filter order. The most appropriate cutoff frequency setting would be to make the -6 dB point the frequency where the signal PSD curve intersects the noise PSD curve.

If you care about the phase response, you could apply the IIR filter bidirectionally. Once in the forward direction and then in the backward direction. This cancels the phase response and squares the magnitude response. To compensate for this you'd reduce the filter order by about a factor of two. This might be a good approach if you do this kind of filtering offline. The phase and group delay of higher order IIR filters is higher like you observed.


Counting human movement of exercise using ROI or pre-set passing line with OpenCV

This might help partially -

You can, possibly track the person's head from his hair color(usually black), so can be distinguished from the background. This tracking just needs a simple RGB Filter like ( r<val2 && g<val4 && b<val3). Then, you can calibrate the program to respond when the centroid of that hair-region crosses your desired lines/boundaries.


Will the received waves be the same if the transmitter use the beamforming to transmit the same signal?

Say you have the receive antennas very close together, like with spacing $\lambda/10$ or similar and they are uniformly spaced in a linear array. As you pointed out the the phase shifts between them will be fairly small, so what does it mean? It means that the spatial resolution of your beamformer will be poor. In the extreme case, consider something crazy where the spacing is $\lambda/1000$, all the receive antennas essentially receive the same copy of the signal. So why can't you just add them all up if they have no phase difference? You can, you just won't have any spatial discrimination and it is only really amplifying your signal by the number of receive elements.

I will leave a plot here that I generated in MATLAB which is the take away. You see as the spacing (specified in wavelengths) becomes smaller and smaller the beam response becomes flatter and flatter indicating that the receive array is unable to spatially discriminate because of the reasons outlined earlier. Hope this helps!


Interpreting this plot cross-correlation

Autocorrelation of $x$: at zero shift, the two signals being correlated ($x(t)$ and $x(t)$) are identical, hence a large correlation. At any other shift ($x(t)$ and $x(t+\tau)$), the correlation is near zero (no correlation). Some noise there is expected.

Autocorrelation of $y$: at zero shift, as always, there is maximum correlation of the two signals. Because the signal is smooth, correlation changes slowly with increasing shift. At various shifts peaks line up an the correlation has a local maximum.

Crosscorrelation of $x$ and $y$: you’re not showing the magnitude of the y-axis, I presume it’s small because the signals are not correlated. At some shift (it just happens to be close to zero, this is coincidence) there is the absolute maximum because it has to exist somewhere. Again, because $y$ is smooth, the correlation changes smoothly with the shift. But in general you’re looking at smoothed noise here.

If you computed the crosscorrelation by padding the input with zeros (rather than using the circular periodicity imposed by the Fourier transform) then you would expect the peak to be close to 0, as the correlation for larger shifts will include more of the zero values in the padding (the signals overlap less, hence the sum of their point-wise multiplication is closer to 0).


change function from continuous to discrete

if you take sampling frequency as 20Msamples/sec then sampling time Ts is
$$T_s=\frac{1}{f_s}\\T_s=\frac{1}{20\times10^6}\\T_s=50ns$$since the solution is till n=79 we can see that t=79*50=3950
From the continues time function this  Trt/2=50ns and T-Trt/2=3950ns hence we get 1 n=1 to 79 when n=0 we get the first case which is equal to 0.5 similarly of n=80.This can be see as$$
w_T(nT_s)=
\begin{cases}
    \sin^2(\frac{\pi}{2}(0.5 +\frac{n50ns}{100ns})),& \text{if } -50\times10^{-6}<n50\times10^{-6}<50\times10^{-6}\\
    1,              & \text{if  } 50\times10^{-6}\leq n50\times10^{-6}\leq 3950\times 10^{-6}\\
 \sin^2(\frac{\pi}{2}(0.5 -\frac{n50ns-4000ns}{100ns})),&\text{if } other case
\end{cases}$$
which comes down to
$$
    w(n)=
\begin{cases}
    \sin^2(\frac{\pi}{2}(0.5 +\frac{n}{2})),& \text{if } -1<n<1\\
    1,              & \text{if  } 1\leq n\leq79\\
 \sin^2(\frac{\pi}{2}(0.5 -\frac{n-79}{2})),&\text{if } 79<n<81  & \text{otherwise}
\end{cases}
$$
In the above equation we can remove the $$-1<n<1$$as n=0 when n=0 w(0)=0.5 for n=1to78 w(n)=1.When n=80 the third one become zero.Hence you get the finalized expression.I hope this answers your question


Power Spectral Density of Brownian Motion despite non-stationary

Please see N.J. Kasdin, "Discrete Simulation of Colored Noise and Stochastic Processes and $1/f^\alpha$ Power Law Noise Generation", Proceedings of the IEEE, 83(5), (1995), 802-827. On page 806, Kasdin discusses the factor of 2 issue and states that "It is this author's belief that the factor of two in (24) is an error due to a broad-band bias introduced by the rectangular window." With a Hanning window (with 8/3 normalization), Kasdin gets an expression (equation 25) that converges to $1/\omega^2$ for large T. He also says "Since the formal spectral density of Brownian motion doesn't exist, the better question is which provides the most accurate information about the second order properties and possible linear models (see Section II-D) for Brownian motion?" Hope this helps a bit!


How to match a drawn Chinese character to a database of stroke animations

You were looking for scholarly articles, I am surprised you did not find anything. Here's what a quick search through Google Scholar with keywords path stroke recognition and handwriting stroke recognition got me:

Plamondon, R.: Online and off-line handwriting recognition: a comprehensive survey: Looks like a good place to start. An explanation of digital handwriting representation, and handwriting recognition techniques (with and without the trajectory data of the stroke)
Does not deal specifically with Chinese characters, but I think it might be applicable.

Hideo Ogawa, Keiji Taniguchi: Thinning and stroke segmentation for handwritten Chinese character recognition: It looks quite old, but is dealing with stroke segmentation, or to quote "a way of breaking down a character to a set of consecutive partial strokes".
It is the reverse of what you want (you said you already have info about strokes), but maybe understanding the stroke representation might help you get on the right way.

Koschinski, M.: Segmentation and recognition of symbols within handwritten mathematical expressions: Again, not Chinese characters, but mathematical (which is still more "exotic" than regular text). Nice because it proposed a technique based on probabilities.

Cheng-Lin Liu, In-Jung Kim, Jin H. Kim: Model-based stroke extraction and matching for handwritten Chinese character recognition: I think the title says it all. Looks like exactly what you want, and promises promising results.

One more thing to add: The most recent reference in the above bunch is as old as 2000. That indicates that what you want to do is probably a well-researched area, with tried out state-of-the-art techniques. It should not have been hard to look for reference material.
Just to clarify, I did not actually read any of these articles. I just did my usual preliminary research step: go to article databases (google scholar, mendeley, ieeexplore...), type in a few keywords. Open the ones with promising titles, close one with completely uninteresting abstracts. Read the remaining abstracts more carefully, and select the ones that seem relevant. Having said this, not all the articles I proposed might be relevant, but judging from experience, they most probably are.
I hope this helps. Also, if you have done any research in the meantime, please edit it in your question and share with the community. It looks like an interesting topic.


Method to remove small unwanted region and fill holes for specific image

For this image in particular? I believe it should be sufficient to threshold (to get a binary image with only the visible particles present), then perform area opening (remove all objects with an area smaller than a certain value). Then, depending on how the remaining object looks, perform morphological operations such as thickening (simply enlarge the object) and closing (to fill in holes).


How are line pairs and pixels related in image resolution?

The spatial resolving capability of an optical system refers to its ability to distingusih between closest (and possibly tiniest) details. The distance between a pair of lines, yields a measure of how small the distance between them can be while they are still sperated from each other. Resolution depends on several factors such as brightness level, color, and environment.

Those resolution (line) charts are designed to test optical equipment and systems, including your eyes too. Consider two black lines (with some thickness) viewd at some length and let them come closer under your control. It's known that at some small distance, you can no longer tell that there are two lines, but they will seems like a single one. That distance is the limit of your optical resolution. To get rid of the viewing distance dependence, the resolution can often be stated in a spatial angle unit.

That's also true for a camera system. It's spatial resolution is limited by two factors; first the resolution limit of the lens (its sharpness), and then the resolution limit of the CMOS / CCD sensor grid (its sampling density).


Calculate Frequency/Period from Output of a Maximum Entropy Spectrum MATLAB function

From the code on p.$7$ of this document it can be seen that the $N$ (nfreq in the code) frequency points are chosen equidistantly between zero and Nyquist (i.e., $f_s/2$, with $f_s$ being the sampling frequency) using the command linspace(). So the individual frequencies are given by

$$f_k=\frac{kf_s}{2(N-1)},\qquad k=0,1,\ldots, N-1\tag{1}$$

[Note that the indices $k$ in $(1)$ start at zero.]


I want to get tilt sensor value for a given time t_0, but the tilt sensor data points are discrete. How do I interpolate between the discrete points?

Assuming that the signal is prefiltered and uniformly sampled according to Shannon Nyquist the textbook solution is to upsample it  using some approximation of the ideal (frequency domain) brickwall lowpass filter, equivalent with a (windowed) sin(x)/x function in the time domain.

The problem is similar to showing a smooth (zoomed in) waveform of discretely sampled audio in an audio editor. Perhaps you can find the code you need in eg Audacity?

If the signal contains noise, you might be able to trade noise suppression for signal distortion by knowing the statistics of both and using a Wiener filter.

As this seems to be a control systems project, perhaps you can use a Kalman filter.


Why are LTI filters not able to output frequencies not present at the input?

Because for an LTI system, every input sine has an output which is a sine of the same frequency, with a potential shift and an amplification factor.  In other words, input $x(t) = a\sin(\omega t+c)$ will be turned into some $y(t) = aH_\omega \sin(\omega t+d)$, where $H_\omega$ is the amplification factor for every sine  with frequency $\omega $.

This come from the theory: LTI are diagonalized by complex exponentials (in a pedantic way). As a result, an absent sine at a given frequency is a zero amplitude sine (in other words, $a=0$), and the output will be a shifted sine, with   zero amplitude whatever the amplification $H_\omega$  (since $aH_\omega=0$), still a zero amplitude sine.

More details:

Are complex exponentials the only eigenfunctions of LTI systems
Impulse Response to LTI


Hilbert transform of low pass and high pass signal

If $s(t)$ is a baseband signal and $x(t)$ is highpass, then under certain conditions, the Hilbert transform of $s(t)x(t)$ is $s(t)\hat{x}(t)$, where $\hat{x}(t)$ is the Hilbert transform of $x(t)$. This is known as Bedrosian's identiy (or theorem).

The easiest case to consider is when the high-pass signal is a sinusoid.

The frequency response of a Hilber transformer is
$$H(j\omega)=\begin{cases}-j,\text{ if }\omega>0 \\+j,\text{ if }\omega<0.\end{cases}$$

Note that the Hilbert transform of $\cos(\omega_0t)$ is $\sin(\omega_0t)$.

Now consider a band-limited baseband signal $s(t)$ with Fourier transform $S(j\omega)$. The spectrum of $s(t)\cos(\omega_0t)$ is $$\frac12 S(\omega-\omega_0) + \frac12 S(\omega+\omega_0).$$ The Hilbert transform of $s(t)\cos(\omega_0t)$ is then $$\frac{-j}{2} S(\omega-\omega_0) + \frac{j}{2} S(\omega-\omega_0)=\frac{-j}{2}\left(S(\omega-\omega_0) - S(\omega+\omega_0)\right),$$ which hapens to be the spectrum of $s(t)\sin(\omega_0t)$.

In conclusion, the Hilbert transform of the baseband signal $s(t)$ times the passband signal $\cos(\omega_0t)$ is the original baseband signal times the Hilbert transform of the passband signal.

This idea applies whenever you're finding the Hilbert transform of a signal whose spectrum is divided into two distinct bands which do not overlap; in other words, one band consists of only positive frequencies, and the other band is completely negative frequencies. This means that the lowest frequency component of the high-pass signal has to be larger than the bandwidth of $s(t)$. You can find more about the Bedrosian identity here, and a couple of proofs here.


What does standard deviation of noise 1 mean?

Your question is too basic, and it gives the impression that you haven't done enough study of the subject on your own. I'll provide a few hints:

To understand noise, you first need to specify its probability distribution. I assume you're refering to Gaussian noise in your question, but not all noise is Gaussian. In particular, in digital capture of an image, there are several kinds of noise present.
Gaussian noise is specified by its mean and its variance ($\sigma_n^2$) or its standard deviation ($\sigma_n$). The physical interpretation of the variance is that it is related to the noise power. There is nothing special about $\sigma_n=1$.
Most computer random generators (for instance, Matlab's randn) generate samples of a Gaussian random variable with zero mean and variance 1. It is easy to convert this random variable to another Gaussian random variable with any specified mean and variance.
You need to understand the effects of clipping Gaussian noise. Think about a sensor photosite being pulled or pushed beyond its dynamic range by the noise. However, as I said in another answer, the resulting noise is no longer Gaussian.


How compute frequency of signal from zero crossing?

From your signal crossing threshold it is fairly straightforward to calculate its period. When you know the period then calculating of corresponding frequency is very simple (its inverse). This answer: enter here answers to similar question.


Are there characteristics of photographic film that would make it an analog medium?

Film isn't absolutely "analog", as in continuous.  Every individual silver halide molecule, after exposure and development, is either metalized or not; and there are a finite number of these molecules in every frame of film, thus quantizing the exposure measurement.  However the density and location of the film grains and silver halide molecules is semi-randomized, which helps noise shape or dither the sampling, quantization and aliasing noise more than if they were in a regular grid with fixed step values.

So some current differences are not that film is in some sense a truly continuous measurement system (at least down to the Planck level), but more might be that the "sampling" is dithered, and also that the dynamic range may be higher than in the most common digital formats (8 bit integer per channel).


Filter signal for beamforming and phase response

An ideal delay and sum beamformer is Linear, which implies that filtering before  beam forming is equivalent to filtering after beam-forming.   If you filter each sensor, the filters have to be matched very closely, so for a pure analog system, do you want to use one or N nearly identical filters.  Given temperature sensitivity and parameter drift, filtering after is much cheaper. No implemented beam former is perfectly Linear. Filtering prior has a number of advantages, such as reducing dynamic range requirements. Also for a digital beamformer, you need an antialiasing filter prior to the A/D converter so you filter before anyway.  30 years ago, switched capacitor filters were very useful. Today, for audio, over sampled delta sigma converters are not expensive and have huge dynamic ranges but you still have to do some signal conditioning between the mechanical sensor and the converter. The trade off for RADAR is more complicated. If your converters have enough dynamic range.

So the answer is that filtering prior to beamforming needs nearly identical characteristics. Some deviation is ok but you need to make that determination for your self . Ceramic and moving coils are not ideally Linear phase devices either and sensor location uncertainty has an effect.  You also need to consider that you might have nonacoustic paths between the source and your array,  Element coupling is another problem that can emerge.


Bit scrambling as last state of transmitter - what advantages are there?

In normal usage, scrambling is used for two reasons:

It is used to remove the possibility of a long sequence of 1's and 0's in the bit sequence. The long sequence of 1's and 0's make timing synchronisation and clock synchronisation tougher at the receiver as regular transitions  help in working  of adaptive circuits like AGC and phase locked loop.
It eliminates the dependence of signal's power spectrum on the transmitted information sequence thereby keeping it below the maximum power spectral density requirement. If scrambling is not done, power might be concentrated in a narrow frequency band thereby causing intermodulation and crossmodulation distortion to adjacent channels.

Reference:
http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Scrambler.html


Book recommendations on DSP, statistical SP and signal detection

The Proakis and Manolakis book is good if you're looking for one book.

If you're looking for depth about statistical signal processing, I recommend the series of three by Steven M. Kay:

Fundamentals of Statistical Signal Processing Volume I: Estimation Theory
Fundamentals of Statistical Signal Processing Volume II: Detection Theory
Fundamentals of Statistical Signal Processing Volume III: Practical Algorithm Development

If you want some more advanced statistical signal processing books, then the ones by Harry L. van Trees might be more your style:

Detection, Estimation, and Modulation Theory (Part I)
Nonlinear Modulation Theory (Detection, Estimation, and Modulation Theory, Part II)
Detection, Estimation, and Modulation Theory, Radar-Sonar Signal Processing and Gaussian Signals in Noise (Part III)
Detection, Estimation, and Modulation Theory, Optimum Array Processing (Part IV)


Useful natural "Hilbert-like" $n$-uples and $n$-fold "analytic signals

The generalisation of the concept of an analytic signal is not straight forward. I'm quite certain however that looking for such a generalisation with quarternions (or even octonions) will not turn out fruitful. Those generalise complex numbers primarily algebraically, attempting to preserve as much of the field structure as possible, and not so much as a smooth geometric structure.

In my experience, the most useful generalisations of the complex numbers are usually either unitary Lie groups or Clifford algebras.

That brings me to my example, which I encountered in my work ten years ago. The mathematical background is unfortunately too vast to be laid out here, but I will attempt a sketch of the problem and explain how it relates to your question.

One of the key motivations of finding an analytic signal is the ability to extract instantaneous phase and amplitude. I will take this as the guiding theme for generalisation. In the following, I will refer to the Hilbert transform as the map from a real valued signal to its analytic counterpart and not the quadrature.

Consider the signal space $L^2(A,B)$ of square integrable functions from $A$ to $B$. The usual Hilbert transform is then a continuous (with respect to the natural topology) $\mathbb{R}$-linear shift invariant map $$H:L^2(\mathbb{R},\mathbb{R})\to L^2(\mathbb{R},\mathbb{C})$$

so that $\cos(\omega t)\mapsto \exp(i|\omega| t)$ for $\omega \in \mathbb{R}$.

We can slightly reformulate this by replacing $\mathbb{C}$ with $\mathbb{R}^+_0 \times \mathrm{U}(1)$, where $\mathrm{U}(1)$ is the unitary group of dimension 1. To be able to square-integrate that, we define the square operator $\square^2:\mathbb{R}^+_0 \times \mathrm{U}(1)\to\mathbb{R}$ so that $(a,\Phi)^2\mapsto a^2$ and $L^2(A,\mathbb{R}^+_0 \times \mathrm{U}(1))$ is well defined.

This is of course just the polar representation of the complex numbers and the Hilbert transform is still the same transform. However, with this reformulation, there is a nearly obvious generalisation. Replacing $\mathrm{U}(1)$ by a more general unitary group allows us to keep all the structure in place and have a sensible generalisation.

If we take $\mathrm{SU}(n)$ for the general case we also require an $n$-dimensional vector space for a faithful irreducible representation, so that we will allow signals in $L^2(\mathbb{R},\mathbb{R}^n)$ and the Hilbert transform is a continuous linear shift invariant map
$$H:L^2(\mathbb{R},\mathbb{R}^n) \to L^2(\mathbb{R},\mathbb{R}^+_0\times \mathrm{SU}(n) )$$
The actual map however is not obvious. It is easier to first generalise how it will be undone. The original Hilbert transform can be undone by taking the real part of the analytic result. For the generalisation, we can simply apply the group element to a unit vector, multiply the result with the amplitude and take the real part. So we map $$(a \in \mathbb{R}^+_0,\Phi \in \mathrm{SU}(n)) \mapsto a\cdot\Re\left(\Phi(\mathbf{e}_1)\right)$$ with a canonical basis vector $\mathbf{e}_1\in\mathbb{C}^n$. It is easily verified that this reduces to the standard case for $\mathrm{U}(1)$ and $\mathbf{e}_1=(1)\in\mathbb{C}^1$.

The preimages of the orbits of $\mathbf{e}_1$ generated by any generator $g\in\mathfrak{su}(n)$ of $\mathrm{SU}(n)$ under $H$ are therefore $$\Re\left( \exp(igt)\mathbf{e}_1 \right)=\frac{1}{2}\left( \exp(igt)+\exp(-igt)  \right)\mathbf{e}_1$$
where we used $g^\dagger = g$.
This suggests that $H$ should map
$$H:\frac{1}{2}\left( \exp(igt)+\exp(-igt)  \right)\mathbf{e}_1 \mapsto \left(1,\exp(igt)\mathbf{e}_1\right)$$
And here appears a problem. The map is supposed to work for all generators $g$, so also specifically for $-g$. If we plug in $-g$, the left hand side remains unchanged, but the right hand side is mapped to its complex conjugate. Hence, the map is not well defined. It is this very problem that makes using the magnitude of $\omega$ mandatory in the original Hilbert transform map. The generators in the Lie algebra form a vector space, and there is no canonical way to map all generators to a half space.

We have to equip the Lie algebra with an additional structural element, and that is a continuous map $$|\cdot|:\mathfrak{su}(n)\to\mathfrak{su}(n)$$ with the property $|g|\in \{g,-g \}$ and $|g|=|-g|$ for all $g$.

With this we have the generalisation of the Hilbert transform to unitary groups, given by the map
$$H:\frac{1}{2}\left( \exp(igt)+\exp(-igt)  \right)\mathbf{e}_1 \mapsto \left(1,\exp(i|g|t)\mathbf{e}_1\right)$$

The geometric interpretation of this transform is that a vector valued signal is decomposed into a real non-negative amplitude signal and a rotation in a complex vector space. The rotation is so the corresponding point on the Lie manifold traces a path whose time-oriented tangent is always in the same half-space, generalising the concept of positive frequency.

This does not exactly answer your original question though. You can however embed a lower dimensional signal into $\mathbb{R}^n$ and then use this generalisation to find an $n$-dimensional Hilbert transform with any number of generalised components that you desire.


Essentially what you'll need to do it adjust the pitch of the audio data such that your slightly sharp notes are 20 cents flatter.

By far the easiest way to do this would be to play the audio at a lower sampling rate, which will lower the pitch accordingly.  However, this approach will also slow down the original tempo.

A solution in which the signal retains its speed would be to use a time-scale modification algorithm to speed up the audio while retaining the pitch, followed by playing at a lower sampling rate, which returns the audio to the original tempo, with the desired lower pitch.

Clearly, the factor by which you adjust the time scale and pitch adjustment factor must be carefully chosen to yield the desired results.

In terms of implementation, playing back a reduced sampling frequency is (relatively) trivial.  A frequency domain algorithm which can perform the time-scaling for you is the phase vocoder.  You might check out the following links to help you implement it.

http://homes.esat.kuleuven.be/~bdefraen/Laroche.pdf
http://www.ee.columbia.edu/ln/labrosa/matlab/pvoc/

Good luck!


Similar questions have been asked before, you may search. (I'm sorry but I cannot refer to one here)

You want to identify an analog LTI system from analysing its response $y(t)$ to a known input $x(t)$.

One method of analysis involves the use of continous Fourier transforms of the input and output signals. It can be shown that (for a stable system)
$$H(j\Omega) = \frac{Y(j\Omega)}{X(j\Omega)} $$

Considering a continuous time analog LTI system, this method requires some convenient techniques to compute the Fourier transforms of the input and output signals. This method has practical limitations due to understandable reasons.

With the advent of digital computers and availability of dedicated hardwares, a more implementable approach has been developed during the rise of digital signal processing era, based on the sampling theorem to represent the continuous time signals by their samples, i.e., the continuous time analog system is represented in the form of an equivalent (and in a one to one relation to its continuous time counterpart) digital LTI system, as long as some necessary conditions are met.

An analysis based on the taken samples of input and output signals, however, should be handled with care, as the most critical element of success in this method relies on the fact that the continuous time system's frequency response function $H(j\Omega)$ be bandlimited to the half of the sampling frequency $\Omega_s = 2\pi F_s$, so that it can be digitally represented in an equivalent digital LTI filter with DTFT $H(e^{j\omega})$

If you know that this condition is satisfied, then there are other details such as the fact that Fourier transforms provide information on steady-state behaviour and not on the dynamic transients that will happen in any finite length measurements. (That can be avoided with longer recording durations, as you intent to do)

Also note that the LTI analog system must be stable so that its CTFT $H(e^{j\Omega})$ exists. Most often it will be stable I assume, but it's still important to consider though.

Finaly any noise and/or distortions on both the input and output signals not only prevent high precision computations but can even lead to misleading results.

So I suggest you to begin with a known setup first and apply your method to see if it can also identify that known LTI system. If yes, then you are ok.


Answering in reverse order,

For a tutorial, I recommend: (the all pole case is an AR model)

J. Makhoul, "Linear prediction: A tutorial review," in Proceedings of the IEEE, vol. 63, no. 4, pp. 561-580, April 1975.

doi: 10.1109/PROC.1975.9792

Abstract: This paper gives an exposition of linear prediction in the analysis of discrete signals. The signal is modeled as a linear combination of its past values and present and past values of a hypothetical input to a system whose output is the given signal. In the frequency domain, this is equivalent to modeling the signal spectrum by a pole-zero spectrum. The major part of the paper is devoted to all-pole models. The model parameters are obtained by a least squares analysis in the time domain. Two methods result, depending on whether the signal is assumed to be stationary or nonstationary. The same results are then derived in the frequency domain. The resulting spectral matching formulation allows for the modeling of selected portions of a spectrum, for arbitrary spectral shaping in the frequency domain, and for the modeling of continuous as well as discrete spectra. This also leads to a discussion of the advantages and disadvantages of the least squares error criterion. A spectral interpretation is given to the normalized minimum prediction error. Applications of the normalized error are given, including the determination of an "optimal" number of poles. The use of linear prediction in data compression is reviewed. For purposes of transmission, particular attention is given to the quantization and encoding of the reflection (or partial correlation) coefficients. Finally, a brief introduction to pole-zero modeling is given.
keywords: {Control theory;Econometrics;Frequency domain analysis;Information analysis;Predictive models;Rhythm;Signal analysis;Statistics;Time series analysis;Tutorial},
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1451722&isnumber=31191

How does one get rid of an AR process?

The inverse filter to an all pole filter, is a FIR filter using the AR coefficients.  Inverse filtering is my guess of what that means.

Question one,
There are a number of AR estimators in Matlab's Signal Processing tool box. You can look at those, or read the above paper and roll your own.  Essentially, you have to estimate the covariance of adjacent pairs of samples, and then use one of the methods detailed in the paper.  The term "one tap" might be confusing, [1 a0] might correspond to one tap or two, but [1] doesn't make sense while [1 a0] does.


Stereo triangulation similar triangle derivation

You are computing the base of the red triangle, not the blue one. The blue triangle's base is already indicated as $T$.

Not very clear from the given figure, but as the only consistent answer I could find, assume that the coordinate of the right corner, $P_r$ of the blue triangle $P_l P P_r$ is measured with respect to the second origin $O_r$ indicated in the bottom right, and it seems to be a negative number by definition.

Therefore the length of the base of the triangle $P_l P P_r$ can be given as
$$ L = |T| - |x_l| - |x_r|$$

where $T$ is a positive quantity by default, $x_l$ is measured wrtt left point $O_l$ and is positive by default, and $x_r$ will be a negative number as stated above; hence the absolute values can be expanded as

$$ L = T - x_l + x_r = T + x_r - x_l$$

Note that actually you do not have to use absolute values, but just proper adition of the signed quantities would suffice to derive the result. I've used the absolute values to provide some intuition into the signs of the summing coordinates.


What is the best Algorithm to estimate the frequency for Almost-Periodic Data or complex periodic data?

The dominant frequency always have the highest power and by looking at the PSD plot you can easily compute it. The dominant frequency in your case is where the PSD has the highest peak. In this case it is somewhere at around f = 2.7.


i have an audio signal. i have to find whether my audio signal is from given avi scene

The information about your problem is quite incomplete. If you want to find where is small signal is in large signal, then correlation give a best results usually.
If your problem is more complicated you can see on very popular application Shazam for music search by audio signal. Googling with string "shazam algorithm" give you a lot of information.  See for example article of author - An Industrial-Strength Audio Search Algorithm.

In brief - you create "fingerprint" of signal by using frequency spectrum of shorts chunks of signal. Fingerprints are used for searching in catalog of songs. You can use such method for your problem.


Polar form of the Fourier transform of $\sin(t)$

I read two question here. One is about the graphical representation of the Fourier transform of a sinusoidal function, and the other is about the magnitude (and phase) of such a Fourier transform. For ordinary functions, these two would be equivalent, but for Fourier transforms containing Dirac delta impulses they are not. The reason is that mathematically you can't compute the magnitude of a Dirac delta impulse. It is not a function, so there are no function values to take the magnitude of.

A standard graphical representation of the Fourier transform of the function $\sin(\omega_0t)$ would usually just be two arrows at $\omega=\omega_0$ and $\omega=-\omega_0$, one pointing up, the other one pointing down, where the $y$-axis is labeled by $j$ (which makes a separate phase plot unnecessary). An example of such a graph is shown here.

Even though you can't compute the magnitude of a Dirac impulse, you could write down a representation of the Fourier transform of a sinusoid consisting of a sum of Dirac impulses with positive areas and a phase term. For the function $f(t)=\sin(\omega_0t)$ such a representation would be

$$F(\omega)=\pi[\delta(\omega-\omega_0)+\delta(\omega+\omega_0)]e^{-j\frac{\pi}{2}\text{sign}(\omega)}\tag{1}$$

(Note that I use the non-unitary definition of the Fourier transform, which is different from the unitary version used by Wolfram Alpha. This is why there's a factor of $\pi$ in $(1)$ instead of $\sqrt{\frac{\pi}{2}}$.)

A similar representation of your example $A\cdot\mathcal{F}\{\cos(\omega_0t)\}$ with complex $A=|A|e^{j\phi_A}$, where $\phi_A$ is the argument of the complex number $A$, is given by

$$A\cdot\mathcal{F}\{\cos(\omega_0t)\}=|A|\pi [\delta(\omega-\omega_0)+\delta(\omega+\omega_0)]e^{j\phi_A}\tag{2}$$


How to compute the Laplace transform of a discrete signal?

This requires use of the MATLAB symbolic toolbox

>> syms x
>> f = x * cos(x);

>> t = linspace(0, 1000, 1000); % Or whatever values you want to evaluate the Laplace Transform over
>> L = double(laplace(f, t)); % Simulataneously compute the Transform and convert it from 'syms' to double

I guess this isn't exactly what you're asking for, as it requires keeping your function $f$ as a "symbolic expression". I dont know of any function which performs a "discrete Laplace tranform" though.

EDIT: Actually, I dont believe there is such thing as a Laplace Transform for discrete functions. However, the Laplace Transform is just a specific case of the z-Transform when $z = e^s$, which is definitely defined for discrete signals. Unfortunately I can't say much more about this relation between the two transforms, but hopefully this gives you a little more information about how to proceed from here.


Conceptual question on FFT and chirp signal

Your question is deeper than you think. For signals whose spectra is time varying,like your chirp signal, you lose this spectral variation information in simple Fourier transforms. You must consult time-frequency analysis to retain the full information of both time variation and spectral variations.

Consider using "specgram()" function of matlab which computes and plots time-frequency spectograms of signals.

Consider the following code from matlab:

  t=[0 0.5 1.0 1.5 2.0]; % time breakpoints
  f=[0 200 100 150 300];  % instantaneous frequency breakpoints
  p=polyfit(t,f,4);      % fit 4th order polynomial over time
  t=0:0.001:2;           % 2 secs @ 1kHz sample rate
  y=chirp(t,p);
  figure,specgram(y,128,1E3,128,120); % 2D time-frequency display

On the contrary a single FFT of the complete signal, which includes all the frequencies, nevertheless, loses their time variation information.


Constructing a Gaussian kernel in the frequency domain

You can check numerically that fft(g) = G, that will be easier to analyze than the filtered result. At least you can easily plot it and identify if the coefficients are shifted, flipped, or scaled. One thing easy to do incorrectly is the determination of the frequency corresponding to each coefficient. I would strongly recommend that you first aproach the 1D version of your problem, here you have an example of 1D filtering I wrote for a related question.


Since

$$f(x)=\frac{1}{2\pi}\int_{-\infty}^{\infty}F(\omega)e^{i\omega x}d\omega$$

you are looking for the inverse transform of

$$G(\omega)=\frac{F(\omega-a)}{i\omega}$$

If you look at a table of Fourier transform correspondences you will find

$$\frac{F(\omega)}{i\omega}\Longleftrightarrow \int_{-\infty}^x f(y)dy$$

and

$$F(\omega-a)\Longleftrightarrow e^{iax}f(x)$$

Consequently, the function whose Fourier transform is $G(\omega)$ is the integral of a modulated version of $f(x)$:

$$G(\omega)\Longleftrightarrow \int_{-\infty}^x e^{iay}f(y)dy$$

EDIT:

The correspondence

$$\frac{F(\omega)}{i\omega}\Longleftrightarrow \int_{-\infty}^x f(y)dy\tag{1}$$

assumes that

$$F(0)=\int_{-\infty}^{\infty} f(x)dx=0$$

This assumption is often made implicitly because it is a standard requirement (obviously, a sufficient one) for the Fourier transform to exist. If

$$g(x)=\int_{-\infty}^x f(y)dy$$

it simply means that $g(x)$ is a well-behaved function satisfying $\lim_{x\rightarrow\infty}g(x)=0$. However, it is also possible to compute the Fourier transform of functions that do not satisfy this condition. In this case, the correspondence (1) has to be modified:

$$\frac{F(\omega)}{i\omega}+\pi F(0)\delta(\omega)\Longleftrightarrow \int_{-\infty}^x f(y)dy\tag{2}$$

which obviously simplifies to (1) if $F(0)=0$. If this condition is not satisfied, the result for the inverse transform of $G(\omega)$ given above must be modified by an additive constant:

$$G(\omega)\Longleftrightarrow \int_{-\infty}^x e^{iay}f(y)dy-\frac{1}{2}\int_{-\infty}^{\infty}e^{iax}f(x)dx$$


Alternative function for Matlab Stationary Wavelet Transformation

I found an answer to this problem and hope to share it here.

Luckily there is another Matlab function call "MakeONFilter" which included in WaveLab package. That function can use to make a filter which can use as the input for FWT_Stat function.

E.g:

haarF = MakeONFilter('Haar');
FWT_Stat(x,D,haarF);


Is a pulse of white noise still properly described as stationary?

The pulsed process is not stationary. You can use the term "quasi-stationary" to describe a process that looks stationary in short time scales (e.g. during silence, or in the middle of a pulse).


I can't recall which type of DCT your formula refers to, but assuming the formula is right, then the summation in the first equation computes $N$ coefficients of the DCT sequence $F[k]$ of the $N$-point input sequence $x[n]$. A similar interpretation applies to the inverse formula.
The following Matlab/Octave code implements the first formula:
N = 6;              % length of input sequence x[n], and output sequence F[k]
x = [1,0,2,5,3,7];  % the input

F = zeros(1,N);     % the output: DCT coeffs

for k = 0 :N-1
    csum = 0;
    for n = 0: N-1
        csum = csum + 2*x(n+1)*cos((pi/(2*N))*k*(2*n+1));
    end
    F(k+1) = csum;
end