texts: How to Estimate a Normalized PSD Using the Burg’s Method in MATLAB?

texts:
I'll try to be most sintetic as I can.
I'm using an EEG system and I want perform an frequency analisys of the brain waves. I found this interesting article which describe how is possible to discern the "like" or "dislike" statement of mind looking at some specific band frequencies. To do this, they calculate the Power Density Spectrum (PSD) usign the Burg method and then normalize it. Following the relative extract from article:

  The power spectral density (PSD) of each epoch (16 epochs) for each
  subject (15 subjects) was estimated using the Burg method. The Burg
  method is an autoregressive (AR) pre-diction model based parametric
  spectral estimation method and yields a PSD estimate given by

  $\widehat P(f)=\frac{1}{f_s}\frac{\epsilon_c}{|1+\sum_{k=1}^{c}
\widehat a(k)e^{(2\pi jkf/f_s)}|}$

  where fs is the sampling frequency, c is the order of the model, f is
  the frequency, and a(k) are the AR model parameters. These parameters
  are computed by the minimization of the back-ward and forward
  prediction errors while satisfying a specific recursion scheme called
  the Levinson–Durbin recursion. In the Burg method the signal whose PSD
  to be estimated is assumedto be the output of an all-pole linear
  system driven by whitenoise. In our study, the model order was taken
  as 15 after literature. This method estimates the model
  parameters directly without a need for the autocorrelation function
  calculation. The main advantages of this approach are
  resolving closely spaced sinusoids in signals with low noise levels,
  and successfully estimating power spectral densities of short
  data recordings. In addition, this technique guarantees a
  stable autoregressive model and is computationally efficient. For each
  epoch, we computed/estimated PSD values at each integer frequency. To
  be more specific, we have computed thespectrum at f = 4, 5, 6, . . .,
  39, 40 Hz, total of 37 frequency points. We then normalized the power
  values using the sum of all power values in that segment to minimize
  inter-subject and intra-subject variability. Therefore, we obtained 37
  normal-ized power values (NPVs) for each epoch (totally 16 epochs),
  [...]

Now I want recreate this analisys in MATLAB but I haven't deep knowledge of this method. I found only an specific function but I don't know how to use it to have the normalized values (NPV's) described above. I tried it but the I don't understand for example why the result band frequency is 0-129Hz.
The lenght of my epochs is 1000 sample whit a sample frequency of 250Hz.

Maybe the answer to my question could be long and complicated but can anyone explain me how to use the MATLAB funcion correctly? Why in the article choose the Burg's method to obtain the PSD? And what means

  We then normalized the power values using the sum of all power values
  in that segment

?


texts: Blow sound recognition without using machine learning

texts:
I am building an experience in Unity that will recognize when a user blows into the microphone. I have a working implementation that recognizes sounds above a certain loudness threshold, but I want to take it a step further and identify only blow sounds.
My current implementation is:
I extract FFT information from a 1-second sound clip and identify the range of frequencies involved. The idea is that the blowing sound covers a larger number of frequencies than typical speech (based on its spectrogram), so I expected its frequency range to be close to 100%. This implementation picks up other sounds and speech that have a frequency range close to 100%, which I guess is to be expected, but that's what I have so far.
As you can see in the spectrogram, it's easy to see where the blowing sound occurs. While speech appears more jagged, the blowing sound seems to have a very consistent pattern.
Research that I have done:

I tried to follow the steps in this academic research paper first. While I learned a lot about digital sound, I also realized it was relying on machine learning, and I want to avoid that.
I analyzed the spectrogram above and semi-successfully implemented sound recognition based on the frequency range for a 1-second sound clip. I used FFT information for this implementation.
I tried to treat a frequency histogram of my audio sample as an n-dimensional vector. I calculated the dot product of an audio sample and a pre-recorded blowing sound based on one of the answers from this post. The results were inconsistent, so I abandoned the idea.
I found a question that seemed the most similar for my situation. The comments helped me solidify my belief that machine learning would be an overkill for this situation. The answers seem to suggest classification algorithms as a solution, and, if I'm not mistaken, that's machine learning. (Correct me if I'm wrong though)

My question is:
Which other audio features can I extract from the audio clip/FFT to identify a blowing sound more precisely?
I can visually see the blowing sound in the spectrogram, which leads me to believe it's possible to identify it with an algorithm without using machine learning.
I am relatively new to sound processing, so any information is highly appreciated.


texts: Deterministic method to compute “Process noise covariance matrix, Q” for a Kalman filter when parameter variations of the model is known apriori

texts:
I am implementing a Kalman filter (for a linear ODE system for now).

My model represents a physical device that has 6 "parameters", i.e. those values of the device do not evolve over time (within a time-domain simulation environment for now).

I have 100 such "slightly differing devices", i.e. whose parameter values differ from the nominal, but the distribution of all 6 of the model parameters are known apriori (Gaussian, with known mean (nominal values) and standard deviations). I think that these deviations in model parameters (from the nominal) can be treated as process noise.

I am assuming that there is no other source of process noise (i.e. no unmodeled states or other dynamics are present)

I am implementing a Kalman Filter with a single tuning parameter across all these 100 devices. Is there a deterministic way, i.e. a recipe, to compute the "Process noise covariance matrix", typically denoted as QQ in Kalman Filter literature?

I am thinking that one can somehow exploit the affine properties of Guassian distributions to arrive at the error covariance matrix, although I am a bit rusty with the math.

Partially related, but different question asked by someone else:
Question about Q matrix (noise process covariance) in Kalman filter


texts: Methods of combing two parameter estimates

texts:
If you have two different methods of calculating a continuous parameter (eg. heart rate), each with their own uncertainty, what would be some common methods of combining these parameters to create a better estimate?

One simple implementation I can think of would be a simple weighted average of the two based on a confidence metric (eg. $σ^2$) but I am curious as to what some alternative methods might be.

Thanks


texts: Finding the gradient of a norm in a minimization problem

texts:
I have to find the gradient of the following term with respect to $X_{1}$:

$\|\Phi\circ(X_{1}-X_{2})-u\|_F^2$ ,

where $u\in\mathbb{R}^{n}$; $X_{1}, X_{2}\in\mathbb{R}^{N\times J}$ and $\Phi\in\mathbb{R}^{n\times NJ}$. The $\circ$ operation is defined as follows:

$\Phi\circ X=\Sigma_{i=1}^{J}\Phi_{i} x_{i}$,

where $x_i$ are the columns of $X$ and $\Phi_{i}$ are $n\times N$ submatrices of $\Phi$.

I know that $\frac{\partial}{\partial X}\|X\|_{F}^{2}=2X$, but the $\circ$ operation is making it rather complicated. Can somebody help?

P.S. Also, would changing the Frobenius norm to l2 norm make any difference here (since $(\Phi\circ(X_{1}-X_{2})-u)$ is a column vector)?


texts: I have a mix signals (2 signals with different dc offset). How to recover another dc value which has been buried by the stronger dc value?

texts:
Let say I have a time-varying signal which is a mixture of two signals with different dc offsets. If I apply the fft on that signal, I will only get the dc value (at f=0hz) with stronger energy. How can I obtain another dc value which has less energy?

Is there any other methods that I can use to extract both dc values?
Please advice. Thank you.

Additional info:

I have a mix signal and it contains 2 signals with different frequency; one is at 20hz and another one is at 40hz. Also these 2 signals have different dc offsets. I am interested to obtain the dc offsets for both signals so I use the signal processing toolbox in Matlab to perform the FFT analysis in order to find the dc values (at f=0hz).

However,I found out that only dc value (measured in power spectral density) at 20hz appears at the resulted FFT. How do I know that the appear dc value is belong to 20hz? I know it because I firstly measured the 20hz signal individually and obtain its dc offset and then do the same thing for 40hz signal (from here I know that the dc value for 40hz is smaller than 20hz). Only then, I measured both signals concurrently to obtain the mix signals.


texts: Why should one use windowing functions for FFT?

texts:
So I just revised my pitch calculation algorithm using a harmonic product spectrum algorithm. I was just curious about why this explanation of Harmonic Product Spectrum states that you need to implement a Hanning Window to the data set. What would be the effect of implementing other Window functions on a data set (and then FFTing it)? Which Windowing function is actually the best for frequency detection? Here are the relevant methods I have used in my code:

/**
 * Calculates the Frequency based off of the byte array,
 * @param bytes The audioData you want to analyze
 * @return The calculated frequency in Hertz.
 */
private int getFrequency(byte[] bytes){
    double[] audioData = this.bytesToDoubleArray(bytes);
    audioData = applyHanningWindow(audioData);
    Complex[] complex = new Complex[audioData.length];
    for(int i = 0; i<complex.length; i++){
        complex[i] = new Complex(audioData[i], 0);
    }
    Complex[] fftTransformed = FFT.fft(complex);
    //return calculateFrequency(fftTransformed);
    System.out.println("Max size:" + (fftTransformed.length*getFFTBinSize(fftTransformed.length)/4));
    return calculateFundamentalFrequency(fftTransformed,4);
}

private double[] applyHanningWindow(double[] data){
    return applyHanningWindow(data, 0, data.length);
}

private double[] applyHanningWindow(double[] signal_in, int pos, int size)
{
    for (int i = pos; i < pos + size; i++)
    {
        int j = i - pos; // j = index into Hann window function
        signal_in[i] = (double)(signal_in[i] * 0.5 * (1.0 - Math.cos(2.0 * Math.PI * j / size)));
    }
    return signal_in;
}

/**
 * Harmonic Product Spectrum
 * @param fftData
 * @param n
 * @return
 */
private int calculateFundamentalFrequency(Complex[] fftData, int n){
    Complex[][] data = new Complex[n][fftData.length/n];
    for(int i = 0; i<n; i++){
        for(int j = 0; j<data[0].length; j++){
            data[i][j] = fftData[j*(i+1)];
        }
    }
    Complex[] result = new Complex[fftData.length/n];//Combines the arrays
    for(int i = 0; i<result.length; i++){
        Complex tmp = new Complex(1,0);
        for(int j = 0; j<n; j++){
            tmp = tmp.times(data[j][i]);
        }
        result[i] = tmp;
    }
    //Calculates Maximum Magnitude of the array
    double max = Double.MIN_VALUE;
    int index = -1;
    for(int i = 0; i<result.length; i++){
        Complex c = result[i];
        double tmp = c.getMagnitude();
        if(tmp>max){
            max = tmp;;
            index = i;
        }
    }
    return index*getFFTBinSize(fftData.length);
}


texts: Parameters of Gaussian Kernel in the Context of Image Convolution

texts:
Hi Everyone i am new at image processing. I copy code from this website, I have image $600 \times 480$ gray scale.

What will be the value of standard deviation or $\sigma$?
What will be the value of radius?
What will be the size of kernel?

After I get the kernel how can I use the convolution method? Can use the same like in this website? I know its lot to ask.


texts:
A whitening transformation (PCA) is simply a rotation into a space in which variables become uncorrelated.

Because a DFT is a transformation into a coordinate space of orthogonal frequency components, a DFT is a also just a rotation. We can obtain the DFT of a signal by creating a matrix of orthogonal basis vectors and solving for their weights. You can test this in Matlab using:

B = 1000;
b = 0:B-1;
Fs = 1000;
t = b/Fs;
y = 3*cos(2*pi*1*t) + 2*sin(2*pi*2*t + pi/2);
X = [cos(2*pi*1*Fs/B*t)' sin(2*pi*1*Fs/B*t)' cos(2*pi*2*Fs/B*t)' sin(2*pi*2*Fs/B*t)'];
Y = (X'*X)\X'*y'; % assuming y = XY, so Y gives the coefficients of the frequency components

We see that the coefficients corresponding to cosine of 1 and 2 Hz are 3 and 2, as expected (since the sin of 2 Hz has a phase of pi/2).

If both of these are just rotations of the original data, does that mean that whitening the original signal is equivalent to whitening its DFT?


texts: Is it important to learn to find de period of the sum fo two DT signals?

texts:
The fundamental period (N) of the sum of two DT signals could be the LCM of the fundamental periods. However, this is not always the case. I would like to know wether, during engineering design or engineering labor, it is important to know to find it (when it is not just the LCM)?
Can one always find N just by plotting? Or should one learn methods to find it mathematically.


texts: How to generate random samples of Gaussian distribution directly in the frequency domain?

texts:
One can easily draw (pseudo-)random samples from a normal (Gaussian) distribution by using, say, NumPy:

import numpy as np
mu, sigma = 0, 0.1 # mean and standard deviation
s = np.random.normal(mu, sigma, 1000)

Now, consider the Fast Fourier transform of s:

from scipy.fftpack import fft
sHat = fft(s)

Considering "the Fourier transform of white noise is white noise":

Can we generate sHat directly without the Fourier-transform of s?

I have recently tried to discuss a practical implementation of such thought herein.


texts:
I'm trying to plot fft in python. I use pyalsaaudio for capturing audio in PCM (S16_LE) format. I use the ion() and draw() functions in matplotlib to have the fft plotted in real time. This is the program I wrote :

import alsaaudio as alsa
import numpy as np
from matplotlib import pyplot as plot
from matplotlib import animation
import time

#Configuration

card = 'default'
audio = alsa.PCM(alsa.PCM_CAPTURE,alsa.PCM_NONBLOCK, card)

def configure():
    plot.ion()
    audio.setchannels(1)
    audio.setrate(44100)
    audio.setformat(alsa.PCM_FORMAT_S16_LE)
    audio.setperiodsize(1000)

def run():
    loops = 100000
    plot.show()
    while loops > 0 :
            loops-=1
            length,data = audio.read()

            if length:
                #converting into a float array
                npdata = np.fromstring(data,dtype='<i2')
                #Obtaining FFT
                freq_list = np.fft.fft(npdata)
                plot.plot(freq_list)
                plot.draw()
                plot.clf()

    plot.close()

configure()
run()

1) The entire plot is jumpy. The y axis limits range from -5 t 5 to several tens of thousands. Since the range of y axis keeps changing, so does the location of the plot. How can I fix this?

2) The x axis range is the argument to audio.setperiodsize(). In this case, it is 1000. From the pyalsaaudio documentation, "When the hardware processes data this is done in chunks of frames. The time interval between each processing (A/D or D/A conversion) is known as the period". Hence period is something to do with the time domain. It should have no relevance in the plot since fft is in the frequency domain. So why does the x axis of my plot end at the period size?

3) I believe that the fft function returns a set of complex numbers. What do they mean? The real part signifies the frequency and the imaginary part the amplitude? When I call matplotlib.plot() on the set of fft values, what is being plotted actually?

4) My objective is to determine the dominant frequency of a signal. To do this, I need to know the frequency and the amplitude of the component with that particular frequency. Can I get this from the fft plot?

Thanks for looking into this.


texts: Artificial Neural Network Example Problem

texts:
I was looking at an example of a NN but I dont understand in the Answer i where the .68 come from or .6637

This is the link of the tutorial


texts: Is there a difference between filtering a signal before or after differentiating it?

texts:
I have a time series and I want to apply:

a differentiation
a Butterworth filter

Does the order theoretically (mathematically) make any difference? Does it make any difference in real life when I use numpy?

Thanks in advance!


texts: Adaptive equalization vs inverse of transfer function

texts:
I have the following equalization problem as shown in the figure below:

Now I can compute the coefficients for my adaptive FIR filter c (dim(c) = N) the following:
$\mathbf{c_{opt}} = (\mathbf{H}^T\mathbf{H})^{-1}\mathbf{H}~\mathbf{h_{ideal}}$
where $\mathbf{H}$ is a convolution matrix with shifted vectors of $\mathbf{h}$  and $\mathbf{h_{ideal}}$ is chosen such that $x[n]=d[n]$ (delay-free equalizer).

The channel impulse response is given as
$\mathbf{h} = [1, 0.5]^T$
$\Rightarrow H(z) = 1+0.5 z^{-1}$ so the inverse of the system would be IIR:
$1/H(z) = \frac{z}{z+0.5}$

Now the question is the following: What is the difference between the LS-solution with an adaptive filter and direct inversion of the system? Is it just that one filter is FIR and the other one IIR? Therefore with the FIR-filter we cannot reach full equalization and a residual error stays?


texts:
Im new to communications so this may be a stupid question, but I am somewhat confused. I am trying to train an automatic modulation classification (AMC) algorithm on IQ data from the RadioML dataset. The data comes  in IQ format (eg [1024, 2] matrix).

I am reading papers now which use feature based methods and talk about getting the hilbert transform / DFT of the received signal and extracting features from there (for example, the std deviation of the instantaneous amplitude, see Table 1 here).

My question is what do I take the hilbert transform/DFT of? Would it be the IQ signal (I+jQ) or is there something more else involved (multiplying by sin/cos)?


texts: What is the physical meaning of the cross-spectrum of two signals measured at two locations and different moment?

texts:
I am working with steady state pressure field measurement where sound pressure at multiple locations in the field needs to be measured. In my case, more than one microphone existing in the field at the same time will intrude the field itself. As a result, the pressure of each location needs to be measured at different moments.

My question is is it still physically meaningful to calculate the cross-spectrum of signals of two microphones? If so, what is the physical meaning of the phase of the cross-spectrum at one given frequency?

I understand that for two signals that are measured at the same time, the phase of the cross-spectrum is the phase shift due to the time lag. But when both time and space is involved, I am confused on the meaning of the phase from cross-spectrum calculation.


texts: Does the duration of a signal affect its frequency component's amplitude? Also, does the sampling frequency affect the power of a signal?

texts:
I have two questions that are bugging me:

Does the duration of an audio signal affect the amplitude of frequency components of that same signal? For example, I am recording the sound of a fan using a microphone. At first, I record only for 10 sec and convert the audio signal into frequency spectrum. Then, I record the same sound for 20 sec and then convert the audio signal into frequency spectrum. In both the cases, the sound of the fan is same, but does the duration of the signal affect the amplitude of frequency components in the spectrum plot?
For example, I have 2 audio signals. For the first one, I have that same fan sound recording for 10 sec and the sampling frequency is 5KHz, and for the second recording, I have that same audio signal but now the sampling frequency is changed to 15KHz. I used MATLAB to check the power for both the signals and the power for both the signals was same, however I want to know why. Formula that I used was  Power=rms(signal)^2. According to me the second signal should have more power because now there are more number of samples compared to the first recording and since those extra samples would also have a random amplitude, the average shouldn't be the same as for the first one. Am I thinking it right?
Can anyone provide their thoughts? Thank You!


texts: How to calculate performance of your object recognition algorithm and compare results with others?

texts:
I am working on a novel object recognition algorithm with BoF implementation for my MSc project and it performs fairly well. I am using it on Caltech101 dataset. I want to compare the results with other techniques, like SIFT, SURF, PHOW and so on. The problem I'm facing is that none of the papers that list out their performance in terms of accuracy mention the number of categories taken into consideration.

E.g. for the Vl_feat PHOW, the script says in the comment section that it should give you about 64% accuracy. But when I run it without any changes, I'm getting 92%. When I changed it to test on all 102 categories, it's giving me an accuracy in the 30's range.

I am fairly new to this, so if I'm missing something that's obvious, please accept my apologies.


texts: Pearson correlation of neural responses with it's linear estimation

texts:
I am trying to understand the following fact from this article (page 13):
How can single neurons predict behaviour

Suppose I have a linear estimation of a stimulus:
$ \hat{s} = \mathbf{w}^T(\mathbf{r} - \mathbf{f}(s_0)) + s_0$

where $\mathbf{w}$ is a vector of weights, $\mathbf{r}$ is a vector of responses of two neurons to a stimulus, $\mathbf{f}$ is the vector of average neural responses to the stimulus, and the stimuli (angels between $-\pi$ to $\pi$) are symetric (amount and location) around $s_0 = 0$.

Can anyone see why the following is true for the Pearson correlation (where $\Sigma$ is the covariance matrix of $\mathbf{r}$):

$$ Corr(\hat{s},r_k) = \frac{\langle \hat{s}r_k \rangle - \langle \hat{s} \rangle \langle r_k \rangle}{\sqrt{( \langle \hat{s}^2 \rangle - \langle \hat{s} \rangle^2) }\sqrt{( \langle r_k^2 \rangle - \langle r_k \rangle^2) }} = \frac{(\Sigma \mathbf{w})_k}{\sqrt{(\Sigma_{kk}\mathbf{w}^T \Sigma \mathbf{w})}} $$

Thanks!


texts: Negative frequency in the Fourier Transform

texts:
Why use this instead of a positive frequency? I asked on the math forum but it just wasn't helpful.

I understand the idea of a negative frequency is important in general since many real signals like cosine can be constructed using complex exponentials of two opposite rotating frequencies. But why in the FT? Also would it be correct to view this as 'frequency' since in the complex domain it can be negative? I recall someone arguing it is not frequency but index: https://www.quora.com/What-is-the-meaning-of-negative-frequencies-in-the-Fourier-transform

An interesting explanation I had never seen was from wikipedia:

But can any signal input be modeled as a complex exponential form as above? For example, if your input was a rectangle function.


texts: Inverse Laplace transform Using Inversion Formula

texts:
Use the complex inversion formula to calculate the inverse Laplace transform $f(t)$ of the following Laplace transform:
  $$F_L (s) = \frac{1}{(s+2)(s^2 +4)}.$$
  When the region of convergence is:
  \begin{align}(1)& \quad Re(s)<-2;\\(2)&\quad -2<Re(s)<0;\\(3)&\quad Re(s)>0.\end{align}

Attempt:

Here is an explanation of the complex inversion formula. Plugging the function into the formula:

$$f(t) = \frac{1}{j2\pi}  \int^{\sigma + j \infty}_{\sigma - j \infty} \frac{e^{st}}{(s+2)(s^2+4)}\ ds \tag{1}$$

So, how do I need to choose $\sigma$?
And how do I evaluate this for each of the three regions?

P. S. I tried to solve this without the complex inversion formula, just to see what the answer should look like. I started out by expanding using partial fractions as:
\begin{align}
\frac{1}{(s+2)(s^2 +4)}&= \frac{1}{8} \left( \frac{1}{s+2} + \frac{1}{s^2+4} \right)\\
&=\frac{1}{8} \left( \frac{1}{s+2} + \frac{1}{(s+2j)(s-2j)} \right)\\
&=\frac{1}{8} \left( \frac{1}{s+2} + \frac{j}{4(s+2j)} - \frac{j}{4(s-2j)} \right).
\end{align}

Looking at a Laplace transform table, $\frac{1}{s-a} \leftrightarrow e^{at},$ so

$$f(t) = \frac{1}{8} \left( e^{-2t} + \frac{j}{4} \left(e^{-2jt} + e^{2jt}\right) \right).$$

Is this correct?
If so, how can I get to this using the complex inversion formula?


texts: Unit delay operator as parameter in function

texts:
I'm busy trying to implement a filter from this paper. I'm a bit confused with one particular step (30e in the paper).

Basically I need to find the zero frequency gain (K) of the following whitening/comb filter:

The relevant steps in the algorithm are:

and

where $q^{-1}$ is the unit delay operator, $\omega_0$ is the fundamental freq of the comb and $\rho$ is a constant.

I'm not sure how to calculate K. Since the function isn't acting on anything, what should be delayed? The signal (at time t)? Or does passing a constant in place of the delay mean it should be replaced?

Any help is greatly appreciated!

EDIT

Some clarification on $q^{-1}$:

  The right-shift operator $q^{-1}$ acts on a discrete-time signal f(k, T) as $q^{-1}$ f(k, T) = (k − 1, T). The operation $q^{-1}$ therefore shifts the discrete-time signal to the right by one sampling interval.


texts: Very basic question about filters in signal reconstruction

texts:
I am studying digital signal processing and I would like to ask a question about sampled signal -> original signal reconstruction filters.

Most textbooks use a box filter or a tent filter to show how a discrete-time sampled signal can be reconstructed to (an approximation in this case) of the original signal. However my question is:

Given a discrete signal result from sampling a signal with a sampling interval "Ts", the spectrum will consist of infinite replicas spaced at 1/Ts and scaled by 1/Ts.  Now I assume 1/Ts is more than double the original signal maximum frequency, so there is no aliasing.

Our intent with the box (rect) or tent filter is try to "cut off" the spectrum replica in the middle with convolution. What most textbooks do not explain, is what size we should choose the rect or tent to be. Most examples I've seen use a box filter which has a base of Ts, or a tent filter with a base of 2*Ts. Why the base of the tent filter is double of that of the box filter? Is this an arbitrary choice? Looking at the fourier transform of a tent function (squared sinc) compared to that of a rect function (sinc) we shouldn't need to double the base to get the cutoff frequency near the (ideal) 1/2*Ts. With a tent with base 2*Ts  we actually hit 0 amplitude at 1/4*Ts. Aren't we cutting out more frequency than we should?


texts: image resolution in smartphones and laptop

texts:
If I used a smartphone with high pixel per inch (ppi) value for capturing an image with certain dimensions, what happened if this image is displayed on a laptop (larger screen) with:

the same ppi value
lower ppi value
higher ppi value

Do the dimensions of the image change? or still the same?
Is interpolation required when displaying an image on a mobile phone different from the mobile phone that captured it, if both mobile phones have different ppi values?


texts: Audio Watermarking in MATLAB - How to choose frames to embed in?

texts: Hello I am working on audio watermarking in MATLAB and am trying to choose specific frames of the audio signal where the watermark will be embedded. Through research, I have read that the best way to do this is to choose parts/samples of the audio signal that are the loudest, or above a certain threshold. By using wavread in MATLAB, the result is an array of the audio data in type double precision, which represent the sound pressure at a given sample. My question is, since the numbers represent sound pressure, will the loudest portions of the audio signal be the largest numbers? If not, is there another way to achieve what I am trying to do? Thank you!


texts: How do I apply the Nyquist criterion on the following spectrum to see if it satisfies the criterion or not?

texts: I am trying to find out if the pulse in the figure satisfies the Nyquist criterion for a modulation interval T. I'm used to the Nyqusit frequency, but I cannot grasp what the Nyquist criterion is about.


texts: Why real part of FFT converts image into rotation + original?

texts:
I have read this image:

taken its FFT (2D) and then Inverse FFT to get exactly the image back. Code is provided for reference:

imfft = fft2(photographer);
im = uint8(ifft2(imfft));

imshow(im); %Output is same image

But when I change the fourier and take only the real part,

imfft = real(fft2(photographer));
im = uint8(ifft2(imfft));
imshow(im);

I get an image like this (note that size change is irrelevant and only due to saving it from Matlab figure handler):

Can someone explain me the theory (maths) behind it? Thanks