Prev: 3D medical image registration
Next: remove
From: Greg Heath on 9 Aug 2010 19:48 CORRECTED FOR THE HEINOUS SIN OF TOP-POSTING! On Aug 9, 5:12 pm, "pietro " <bracard...(a)email.it> wrote: > Greg Heath <he...(a)alumni.brown.edu> wrote in message <58317205-c6d8-4ccc-8b61-73597dcdc...(a)z10g2000yqb.googlegroups.com>... > > On Jul 30, 6:49 am, "Wayne King" <wmkin...(a)gmail.com> wrote: > > > "pietro " <bracard...(a)email.it> wrote in message <i2u1q6$oe...(a)fred.mathworks.com>... > > > > Hello, > > > > > I'm a newbie of signal processing. I have carried out several acceleration measurments in a vehicle at the same condition. I want to estimate the averaged PSD with a certain confidence level of all measurments. How can I do that with matlab? > > > > Thanks a lot > > > > Hi Pietro, Do I understand you correctly that you have several realizations of your process? > > > > Often people have just one realization of a random process and they estimate the PSD just based on that one realization. > > > > If you have several realizations, do they look stationary? In other words, does the mean value and variance stay about the same as you look across each recording? Is there a trend in the recordings, for example, linear? If there are clear trends, you want to detrend the data first. (see >>doc detrend ) > > > > Let's assume that the recordings are stationary and there is no obvious trend, then you can average over the processes and estimate the PSD based on the average. You can use the 'ConfLeveL' Name-Value pair in the psd() method to produce the desired confidence interval. > > > > % Asssume your recordings are the columns of a matrix > > > % Ten recordings of length 100 > > > > X = randn(100,10); > > > % average the time series > > > Y = mean(X,2); > > > % get the PSD estimate of the average > > > % using the periodogram > > > H = spectrum.periodogram('Hamming'); > > > PsdEst = psd(H,Y,'ConfLevel',0.95); > > > % Since you know the sampling frequency, use > > > % PsdEst = psd(H,Y,'Fs',Fs,'ConfLevel',0.95); where Fs is the sampling freq. > > > plot(PsdEst); > > > > Wayne > > > Don't you want to average the PSDs? > > > Greg > > Hi Greg, > > yes my aim is to average PDSs for a better FRF estimation. But I don't know in reality how I can perform that. I have several instance type: run up for order tracking, measurments in steady conditions and not stationary measurments (a sort of frequency sweep). For example I think that for steady state measurments I can use the method posted by Wayne, but for unsteady condition, what can I estimate the averaged >PSD? You perform the same data preparation that you use for the PSD of average method proposed by Wayne. However, instead of averaging the samples, you find their PSDs and average those. There must be a significant difference since the PSD is formed from the squares of the FFT component magnitudes. At any rate, do both and compare. Hope this helps. Greg |