COMPGROUPS.NET | Post | Groups | Users | Stream | Browse | About | |

### AR, Burg methods worse resolution than FFT

• Permalink
• Email
• Follow

```Hi, I've been told Autoregressive Process (AR) offers better frequency resolution than classic Periodogram methods.

So I used an example available in the MATLAB manual and compared with Periodogram. Results showed that Periodogram had better frequency resolution than AR via Burg method.

I also studied pyulear, pcov, pmcov, their spectral looks almost identical. I've two questions.
1. Why my Periodogram has better frequency resolution than AR-based methods?
2. Have you experienced very similar spectrum in your data analysis?

Thank you all,
Cheers
----------Code----------------------
randn('state',0)
fs = 1000;           % Sampling frequency
t = (0:fs)/fs;       % One second worth of samples
A = [1 2];           % Sinusoid amplitudes
f = [150;140];       % Sinusoid frequencies
xn = A*sin(2*pi*f*t) + 0.1*randn(size(t));
% [P1,f] = pwelch(xn,hamming(256),128,1024,fs);
[P1,f] = periodogram(xn,rectwin(length(xn)),1024,fs);
[P2,f] = pburg(xn,14,1024,fs);
plot(f,10*log10(P1),'r-',f,10*log10(P2),'b--'); grid
legend('Periodogram','AR-Burg')
ylabel('PSD Estimates (dB/Hz)');
xlabel('Frequency (Hz)');
```
 0
Reply Dean 8/7/2010 10:56:03 PM

See related articles to this posting

```On Aug 7, 3:56=A0pm, "Dean " <jiangwei0...@gmail.com> wrote:
> Hi, I've been told Autoregressive Process (AR) offers better frequency re=
solution than classic Periodogram methods.
> ...

Perhaps you have rediscovered a quaint historical artifact that a
number of algorithms commonly labeled "high resolution" should have
been labeled "high SNR only".

Dale B. Dalrymple
```
 0
Reply dbd 8/8/2010 12:37:13 AM

```dbd <dbd@ieee.org> wrote in message <c855b29e-c1e0-447d-a6d4-8a6ac14dbffe@m35g2000prn.googlegroups.com>...
> On Aug 7, 3:56&nbsp;pm, "Dean " <jiangwei0...@gmail.com> wrote:
> > Hi, I've been told Autoregressive Process (AR) offers better frequency resolution than classic Periodogram methods.
> > ...
>
> Perhaps you have rediscovered a quaint historical artifact that a
> number of algorithms commonly labeled "high resolution" should have
> been labeled "high SNR only".
>
> Dale B. Dalrymple

Hi Dale,

I also found all these AR methods, such as Burg, Covariance, YW, Modified Covariance actually producing almost visually identical spectrum (even with noise added). Is that something textbook won't tell me?

Cheers,

Dean
```
 0
Reply Dean 8/8/2010 3:14:06 PM

```"Dean " <jiangwei0515@gmail.com> wrote in message <i3koa2\$2nv\$1@fred.mathworks.com>...
> Hi, I've been told Autoregressive Process (AR) offers better frequency resolution than classic Periodogram methods.
>
> So I used an example available in the MATLAB manual and compared with Periodogram. Results showed that Periodogram had better frequency resolution than AR via Burg method.
>
> I also studied pyulear, pcov, pmcov, their spectral looks almost identical. I've two questions.
> 1. Why my Periodogram has better frequency resolution than AR-based methods?
> 2. Have you experienced very similar spectrum in your data analysis?
>
> Thank you all,
> Cheers
> ----------Code----------------------
> randn('state',0)
> fs = 1000;           % Sampling frequency
> t = (0:fs)/fs;       % One second worth of samples
> A = [1 2];           % Sinusoid amplitudes
> f = [150;140];       % Sinusoid frequencies
> xn = A*sin(2*pi*f*t) + 0.1*randn(size(t));
> % [P1,f] = pwelch(xn,hamming(256),128,1024,fs);
> [P1,f] = periodogram(xn,rectwin(length(xn)),1024,fs);
> [P2,f] = pburg(xn,14,1024,fs);
> plot(f,10*log10(P1),'r-',f,10*log10(P2),'b--'); grid
> legend('Periodogram','AR-Burg')
> ylabel('PSD Estimates (dB/Hz)');
> xlabel('Frequency (Hz)');

Hi Dean, Typically resolution improvements with AR methods for sinusoids are seen with short data records. So for example:

reset(RandStream.getDefaultStream);
fs = 1000;
t = (0:fs/15)/fs;
A = [2 1];
f = [140;150];
xn = A*sin(2*pi*f*t) + 0.1*randn(size(t));
hburg = spectrum.burg(24);
psd(hburg,xn,'Fs',fs);
hper = spectrum.periodogram;
figure;
psd(hper,xn,'Fs',fs);

Note how the AR estimate resolves the two peaks, but the periodogram smears them together because they are closer than 14.92 hertz resolution of the periodogram (in this case).

Don't get me wrong, I'm a big fan of nonparametric methods and have used them much more frequently than parametric methods (which have their own issues), but the resolution superiority is usually brought up in the context of short data records. Of course, if you overmodel the data using parametric methods, you can get line splitting where one true sinusoid gets split into two separate ones. Kinda the opposite problem :)

Also, there are the so-called superresolution methods, which begin with a signal model that is a superposition of complex exponentials plus noise. These methods decompose the autocorrelation matrix into a signal subspace and a noise subspace. They don't yield a PSD estimate, so they're used when you want to estimate frequencies, see spectrum.music and spectrum.eigenvector for examples in MATLAB.

Wayne
```
 0
Reply Wayne 8/8/2010 3:32:07 PM

```On 8 Aug, 00:56, "Dean " <jiangwei0...@gmail.com> wrote:
> Hi, I've been told Autoregressive Process (AR) offers better frequency resolution than classic Periodogram methods.

Don't believe what people tell you. There are plenty people around
who tell you all sort of stuff, that they - when challenged - turn
out to know nothing whatsoever about.

The AR methods don't provide frequency resolution. They characterize
the covariance structure of the signal in terms of an AR model.
The good part about this is that you can get good characteristics
with small ampunts of data (a novice or amateur might interpret
this as 'better frequency resolution'). The downside is that the
charactersitics might not be easily interpreted. The really bad side
is that if the the data do not comply to the assumed model (AR in
this case), the computed parameters might not make sense at all.

Rune
```
 0
Reply Rune 8/8/2010 5:29:37 PM

```Hi All,

Thank you for all your comments, really useful and encouraging.

I feel I also like classic non-parametric ones better than AR methods.

To my understanding, the model order P should be selected equivalent to 2*number of sinusoidal assuming in an ideal case. However, I got an error message like shown.

The signal is synthesized without noise added. I don't understand what makes matlab think I should use smaller P? Of course, I will never see three peaks for P=4.

Cheers,

Dean

----------Error Message ---------------------------------
??? Error using ==> arspectra at 87
The variance estimate of the white noise input to the AR model is negative. Try to lower the order of the AR model.
----------END of Error Message ----------------------

-------------Code-------------------------------------------
reset(RandStream.getDefaultStream);
fs = 1000;
t = (0:fs/15)/fs;
A = [2 1 1];
f = [140;150;155];
xn = A*sin(2*pi*f*t);
[Pxx_cov,f]=pcov(xn,6,2048,fs);
```
 0
Reply Dean 8/8/2010 5:50:08 PM

```"Dean " <jiangwei0515@gmail.com> wrote in message <i3mqog\$j8q\$1@fred.mathworks.com>...
> Hi All,
>
> Thank you for all your comments, really useful and encouraging.
>
> I feel I also like classic non-parametric ones better than AR methods.
>
> To my understanding, the model order P should be selected equivalent to 2*number of sinusoidal assuming in an ideal case. However, I got an error message like shown.
>
> The signal is synthesized without noise added. I don't understand what makes matlab think I should use smaller P? Of course, I will never see three peaks for P=4.
>
> Cheers,
>
> Dean
>
> ----------Error Message ---------------------------------
> ??? Error using ==> arspectra at 87
> The variance estimate of the white noise input to the AR model is negative. Try to lower the order of the AR model.
> ----------END of Error Message ----------------------
>
>
>
> -------------Code-------------------------------------------
> reset(RandStream.getDefaultStream);
> fs = 1000;
> t = (0:fs/15)/fs;
> A = [2 1 1];
> f = [140;150;155];
> xn = A*sin(2*pi*f*t);
> [Pxx_cov,f]=pcov(xn,6,2048,fs);

Hi Dean, Fitting an AR(p) models explicitly models the output, y(n), as
y(n)-a(1)y(n-1)-a(2)y(n-2)- a(p)y(n-p)=e(n)
where e(n) is white noise. There should be a white noise input.

To be fair to AR spectral methods, they do have a lot of important uses. There are applications where the physical nature of the signal generation mechanism makes an AR model a good a priori choice. If you look at human speech analysis, you find a number of applications where AR models are quite useful. It just so happens that the things I've used spectral analysis for, nonparametric methods have been more appropriate.

Another thing you might find interesting about AR processes given your other posts, AR processes have nice closed-form expressions for their PSDs. Therefore, you can generate a realization of an AR process, determine its true PSD, and then test spectral estimators against it. Note for the example the use of an AR(4) process to illustrate the problem of bias in the periodogram:

reset(RandStream.getDefaultStream);
x = randn(1024,1);
%AR(4) Process
A = [1 -2.7670 3.8106 -2.65335 0.9238];
y = filter(1,A,x);
sigma = 1;
f =0:(1/length(x)):0.5;
tmp = zeros(length(2:length(A)),length(f));
for k = 2:length(A)
tmp(k-1,:) = A(k)*exp(-1j*(k-1)*2*pi*f);
end
tmp = sum(tmp);
denom = abs(1+tmp).^2;
psdtrue = sigma^2./denom;
h = spectrum.periodogram;
psdest = psd(h,y,'Fs',1,'NFFT',length(x));
figure;
plot(f,10*log10(psdest.Data)); hold on;
plot(f,10*log10(psdtrue),'r','linewidth',2);

See how the periodogram blows the estimate above about 0.2 Hz? That is a demonstration of the known bias effect in the periodogram. Note how the use of a Hamming window alleviates that problem.

hwin = spectrum.periodogram('Hamming');
psdwin = psd(hwin,y,'Fs',1,'NFFT',length(x));
figure;
plot(f,10*log10(psdtrue),'r','linewidth',2);
hold on;
plot(f,10*log10(psdwin.Data));

Wayne
```
 0
Reply Wayne 8/8/2010 8:07:07 PM

```On 8 Aug, 19:50, "Dean " <jiangwei0...@gmail.com> wrote:
> Hi All,
>
> Thank you for all your comments, really useful and encouraging.
>
> I feel I also like classic non-parametric ones better than AR methods.

Agreed. Better than that: There exists a scientific argument to
support that subjective feeling. See below.

> To my understanding, the model order P should be selected equivalent to 2*number of sinusoidal assuming in an ideal case.

Yep indeed!

Congratulations! You are one of the extremely few who are able
to figure that one out on your own! Seriously. For once none of
my irony or sarcasm; merely sheer joy and happiness that somebody
are able to actually figure this one out.

Yes, the model order is the CATCH 22 of DSP. The feasible range of
model orders depends on the number data points available (the
exact details depend on the method in use). For simplicity, say
P = N/2 where N is the number of data points and P is the maximum
allowable order. Denote the *true* number of sinusoidals as D.
For the AR-type predictors to work, D < P. If one uses the Levinson
recursion one can estimate D on the fly, using some sort of
order estimator.

If one contemplates this, one finds that one necessary criterion
for AR-type methods to work, is that the relation

D < P = N/2

holds.

In other words, the designer / analyst who configures the AR-type
methods can not choose N arbitrarily, but must know in advance what
scenario he is working in. Feed the method too few data points and
one ends up with

D >= N/2

and the method unconditionally breaks down.

Just try it. Use N = 12 data points, no noise, and try and feed
the AR method first data from an AR(1) process, then and AR(2),
then AR(3), and so on. With the 'usual' model, you will be able
to recover the AR parameters (possibly with errors due to estimator
bias) for models up to and including AR(5).From AR(6) and beyond,
the computations need not make any sense at all.

All this forms the argument in support of non-parametric methods:
They might not produce the best results, but they have no such
Achilles heels either. The non-parametrics work where the
parametrics break down.

Rune
```
 0
Reply Rune 8/9/2010 8:07:01 AM

```On Aug 8, 10:50=A0am, "Dean " <jiangwei0...@gmail.com> wrote:
> Hi All,
>
> Thank you for all your comments, really useful and encouraging.
>
> I feel I also like classic non-parametric ones better than AR methods.
>
> ...
> Dean

The classical non-parametric method for tones is really a two part
process. First the peaks of the periodogram and then an interpolation
method applied to the dft coefficients about the peaks. See:

D. C. Rife, and R. R. Boorstyn, =93Single tone parameter estimation
from discrete-time observations,=94 IEEE Trans. Inform. Theory, vol.
IT-20, pp591-598, 1974

D. C. Rife, and R. R. Boorstyn, =93Multiple tone parameter estimation
from discrete-time observations,=94 Bell Sysr. Tech. J., vol. 55, pp.
1389-1410, 1976.

The stationary tone case has been frequently presented in the IEEE
Trans on Instrumentation and Measurement:

http://wwwtw.vub.ac.be/elec/Papers%20on%20web/Papers/JohanSchoukens/IM92Sch=
oukens-The%20Interpolated.pdf

For the non-stationary case, one of the approaches can be found under
the label "frequency reasignment", for example:

http://perso.ens-lyon.fr/patrick.flandrin/0065-Ch05.pdf

Anyone who limits their comparisons to non-parametric techniques to
peak-picking the periodogram is either uninformed or intentionally
misleading. You can find both in the literature.

Dale B. Dalrymple
```
 0
Reply dbd 8/9/2010 6:00:17 PM
 comp.soft-sys.matlab 203832 articles. 540 followers.

8 Replies
729 Views

Similar Articles

[PageSpeed] 22

• Permalink
• Email
• Follow

 Reply:

Similar Artilces:

Simplex resolution of the method tab by the Method of M.
Hi!!! I am looking for a software for Hp48 that solve by Simplex method tab by the Method of M. I have downloaded mm.lib of hpcalc.org but in some iteration do a error. Could somebody help me? I can send my dump rom, exercise to solve, and mm.lib. fran.roy.morales@gmail.com ...

humour ar ar ar
http://www.programmersguild.org/Guild/Humor.htm It's worth reading. I had heard some of them before but the new ones (and the old ones) gave me a chuckle "delusion" <mynewemailaddressitis@yahoo.co.uk> wrote in message news:e279b74b.0309071004.53ad46b3@posting.google.com... > http://www.programmersguild.org/Guild/Humor.htm Problem Solving Program 01 * 02 * Copyright 2003 Rocking Red � Imaginary Company Incorporated 03 * 04 * 09-08-03 Rocking Red - Set up as example 05 * 06 FALSE = 0 07 TRUE = 1 ...

To FFT or not to FFT
hi, i am working on mc-cdma and in most of the papers that i read, the recieved signal vector is written as Y = HCA + N, where H is a channel matrix (rayleigh fading diagonal matrix),C is an orthogonal code matrix and A is the bit vector. N is the noise vector. My doubt is that is there no need to ifft . I mean that is how we transmit it, so is that step not required in the simulations. if yes, then why is it not used in these papers and if no then why not thanks a lot, prateek dayal "Prateek" <prateek@iitg.ac.in> wrote in message news:72a694e0.0312070319.208d489f@posting....

method! and method?
I am trying to find the meaning of ! and ? appended to method names but I cannot find what they mean. Can someone explain? -- Posted via http://www.ruby-forum.com/. On Tue, Sep 14, 2010 at 4:12 PM, Gene Angelo <web.gma@gmail.com> wrote: > I am trying to find the meaning of ! and ? appended to method names but > I cannot find what they mean. Can someone explain? From the language functionality point of view, they don't mean anything. They just happen to be valid characters for method names, and people can use them to give more readability to their code. The cor...

FFT Resolution
I am trying to increase the resolution on an FFT plot. Currently I am using the following: y=fft(Vout); x=y.*conj(y); Vout is a large 1x4001 double array which contains a module of a AM modulated signal. The resulting Spectrum plot shows the spikes in the correct location, but they look more like somewhat skinny triangles. I am looking to make these mole like spikes like I would see on a spectrum analyzer display. Does anyone know how to do this?? L. Ciotti wrote: > > > I am trying to increase the resolution on an FFT plot. > > Currently I am using the following: > > ...

method method
In JS:TGP, Crockford defines a method called method: "Throughout the book, a method method is used to define new methods. This is its definition: Function.prototype.method = function (name, func) { this.prototype[name] = func; return this; }; It will be explained in Chapter 4." So far, so good. Then, in Chapter 4 in the section "Augmenting Types" he goes on: "For example, by augmenting Function.prototype, we can make a method available to all functions: Function.prototype.method = function (name, func) { this.prototype[name] = fun...

FFT Spectrogram Resolution
Hello all, My name is Nick and I'm new to this forum. Currently, I am learning DSP and, specifically, trying to figure out Wav theory and Fourier's calculus. This is all necessary since I'd like t write a program that can _accurately_ convert a sound into a bitma spectrogram, and then back again, without any loss in quality (if that' even physically possible!). As many of the professionals here probably know, the digital spectrogra feature which is a component to many modern audio software is driven b the fast fourier transform. My question is: How is it that one ca increas...

Accuracy and Resolution of an FFT
Is there a difference? ie suppose I sample at 10kHz with 1024 points - the resolution is then 10000/1024Hz. Is this the same as the accuracy ie isuppose the resolution is 1Hz can we say the accuracy is + or - 0.5Hz?Also, when we average FFTs I assume the resoltion stays teh same but does teh accuracy increase and if so by how much depending on the SNR and the number of averages,type of average. M. -- Posted via a free Usenet account from http://www.teranews.com >Is there a difference? ie suppose I sample at 10kHz with 1024 points the >resolution is then 10000/1024Hz. >Is this ...

FFT Resolution bandwidth
If I have sampled a signal at say fs=1MHz sampling rate and I capture N=10 samples of that signal, my resolution bandwidth in frequency domain will b fs/N = 10kHz. 100 samples correspond to 100us of capture. If sampling frequency is doubled and if the capture duration is als doubled, I would expect the resolution bandwidth also to increase by factor of x. But it is not the case. Resolution bandwidth remains the same. Why i that? What is the intuition behind this? Sumeer, The resolution should change. If it is not happening then we have to see the reason why? case 1 : Fs...

Super Resolution FFT
Hi there, I am working on a method of peak detection, and after I run my fft process with a suitable N length I am out by about 15Hz on the target freq (I know what it is because I embedded it). (Fs = 16000Hz, Ftarget = 5000Hz, N = 1024. Ftarget is embedded in to an audio wav file with freqs upto 8000Hz, most non-embedded power is around 2kHz at about -70dB the power of Ftarget) Zeropadding isn't going to help in this case as far as I can tell (not that I can figure out how to actually do it in MATLAB) A quick search on here show this thread: skt, "Getting the true frequencies&quo...

FFT resolution lines
The FFT function returns Nyquist (half) of input points. How do I get 400 lines of resolution out of 1024 points? Do I just disregard other 112? Thanks In an ideal world, a 1024-point FFT results in 512 valid values, at frequencies from 0/N * Fsamp up to (N/2-1) / N * Fsamp. Of course, an ideal world would also have a filter with 100% pass at the nyquist frequency, and 0% at any frequency above it. T'ain't no such beast. The usual reason for using 400 lines instead of 512 (or 800 instead of 1024, etc.) is the imprecision of the input filters - you don't really know if their cuto...

PSD with FFT method
Dear Reader, I am posting my question again with a more clear problem. I was calculating PSD with fft method with the help of Tech note 1702 and with periodogram method. <http://www.mathworks.com/support/tech-notes/1700/1702.html> Please see the following code: fu=10.6e9; N=64; Tm=1e-9; %Tm=1; hold all t=linspace(-Tm/2,Tm/2,N+1); % x=2*fu*sinc(2*fu*t)-2*fl*sinc(2*fl*t); x=sin(2*fu*t); Fs=(N+1)/Tm; % Use next highest power of 2 greater than or equal to % length(x) to calculate FFT. NFFT= 2^(nextpow2(length(x))); % Take fft, padding with zeros so that length(FFTX) is equal to % NFFT F...

dynamic method resolution
Hello, What does dynamic method resolution mean? Thanks. Frank Frank wrote: > Hello, > > What does dynamic method resolution mean? Thanks. Try asking on a Smalltalk or Objective-C newsgroup. Chris -- Chris Gray chris@kiffer.eunet.be /k/ Embedded Java Solutions ...

how do I increase fft resolution?
I'm currently running an fft calc on a real time accelerometer DAQ signal. By tweaking the DAQ settings or setting my own time average using shift registers I can reduce the dt which does increase the resolution but the number of data points seems to be limited to 50 regardless of what I do, i.e. reducing the dt decreases range of frequencies visible in the freq-spectrum. &nbsp; Thanks, &nbsp; Rob Here are simple guidelines 1) the number of lines (answers in the FFT) are equal to number of dat samples passed to the FFT divided by two.&nbsp; Most vibration experts use 2.56 as t...

Virtual method resolution
How does Java resolve a virtual method at runtime? If a particular virtual call site can have many potential targets because the object could possibly be one of many types, what exactly goes on in the machine to resolve this call? Is there a lot of overhead associated with this resolving process? I have heard of devirtualization as a technique to overcome these overheads..what exactly is that? Thanks! KL One object can be an instance of only one class. The class may have a superclass, the superclass another superclass and so on, until we reach java.lang.Object. During the loa...

inheritance
Where is the rule that explains why this will not compile? I've always expected this to work, but it would appear that I haven't run into this problem yet. To resolve the problem, do I really need to override every single method from the Base with the same name as the specific method I am interested in overriding? I have a good 20 of them in production code. A simple test case to reproduce what I am experiencing in more complicated code: class Base { public: virtual void Foo() { } void Foo(int x) { } }; class Derived : public Base { public: void Foo() { ...

Passing a method(reference) to an other method and calling the method.
I have a staight forward question. Is is posible to pass a method as a parameter and call the passed method from within the other method? Something like the apply function in Python where can specify which fuction with what parameters is called (apply("thisMethod", arg1)). The reason I ask this is because I want to implement a callback mechanism. How can this be done or is there an other way to implement a callback mechanism where it's posible to call an arbitrary method? Thanks. Erik Erik wrote: > I have a staight forward question. Is is posible to pass a method as a >...

cepstrum = fft(log(fft(x))) or cepstrum = inverse-fft(log(fft(x)))?
The help page of the 'rceps' command (http://www.mathworks.com/access/helpdesk/help/toolbox/signal/rceps.html) states: "The real cepstrum is the inverse Fourier transform of the real logarithm of the magnitude of the Fourier transform of a sequence." whereas those two pages: http://www.websters-online-dictionary.org/definition/english/ce/cepstrum.html http://dict.die.net/cepstrum/ define the cepstrum as the FOURIER transform of the log-magnitude spectrum and NOT the INVERSE ft. So who's wrong here? Or am _I_ missing something here? Best regards, Alex Nagel Alex Nag...

FFT+inverse FFT
Hey! I'm a beginner at IDL and have problem with FFT. I'm trying to perform 2d-FFT but the code doesn't work properly even on test images. So I create an image, make the Fourier transform, then the inverse Fourier transform and finally I expect to get the initial image. But the resulting image is the initial one, reversed with respect to the center. My code: nx=256L x1=findgen(nx)-nx/2.0+1.0 x2=findgen(nx)-nx/2.0+1.0 ytest=fltarr(nx,nx) for i=0l,nx-1 do begin for j=0l,nx-1 do begin if (x1[i] le 20.0 and x1[i] ge 0.0 and x2[j] le 20.0 and x2[j] ge 0.0) then begin...

calling a method from a method
Hi I have a a function with several methods. For simplicity it looks a bit like this: super.prototype.aProperty="HELLO"; super.prototype.returnValue = function () { return 2; } super.prototype.aMethod = function () { var a = this.returnValue() alert(a) } function super() { } theObject= new super; theObject.aMethod(); How can I call a method from within a method? In other word how can I make the "this" keyword refere to the object and not the method? Tor On 2006-04-21 17:10:09 +0200, "torbs" <torchestra@gmail.com> said: > Hi > > I ha...

Spectrogram/FFT Frequency Resolution
When computing the Power spectrum from the spectrogram or fft functions, the frequency range is in integers. Our situation is that we are running [S,F,T,P] = spectrogram(...) with a sample rate of 1kHz. By hand we computed the most prominant oscillation in the signal to be 8.3Hz. However, the power spectral density output (P) is in integers and rounds to 8Hz. Is there a way to get the pre-rounded amount? Thanks in advance Travis "Travis " <meyert11@gmail.com> wrote in message <hv304b\$c56\$1@fred.mathworks.com>... > When computing the Power spectrum from the s...

any smart methods
Hi, I am trying to optimize a piece of code where am stopped at the following point: I have Y(F) = FFT[ x(n) * w(n)] where * is multiplication. 0<= n <=N With Y(F) in hand (already computed) I would like to know if anyone could think of a smart way of finding out Z(F) without much complexity where, Z(F) = FFT[ x(n) * w(N-n)] On Wed, 20 May 2009 05:13:59 -0700, hurry wrote: > Hi, > > I am trying to optimize a piece of code where am stopped at the > following point: > > I have > Y(F) = FFT[ x(n) * w(n)] where * is multiplication. 0<= n <=N > > Wi...

FFT of audio signal resolution
Hi, I have a doubt which might be very basic. I am currently working on a project. In that i input a test audio signal of 1.5 seconds in which the actual audio is of only 0.5 seconds or so. The sampling frequency is 44100. I am currently using a hanning window and the pwelch command in matlab to find the frequency spectrum. However I am using a hanning window of size 128 and that gives me a resolution of only 173Hz or so. I would like to improve the resolution to 1hz or so. I am only interested in the frequencies at which the peaks occur the actual magnitude is irrelevant. I though...

frequency resolution in FFT function?
Hello Guys This is not a quite Matlab question, but hopfully someone can give me any hint. I have 1000 piont signal sampled at 10kHz. The fundamental frequency is 50Hz. It also has harmonics ranges from 55~75Hz which are important to me to measure them. When I used FFT in Matlab, the frequency resolution was 10Hz. Is there any way to imporve the resolution without changing the sampling frequency or number of points? Thank you very much Mike Mike skrev: > Hello Guys > > This is not a quite Matlab question, but hopfully someone can give me > any hint. > > I have 1000 pion...