Prev: 3D medical image registration
Next: remove
From: pietro on 30 Jul 2010 04:17 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
From: Wayne King on 30 Jul 2010 06:49 "pietro " <bracardi82(a)email.it> wrote in message <i2u1q6$oek$1(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
From: pietro on 8 Aug 2010 04:27 Hi Wayne, thank you very much for your information, I will study that command. bye "Wayne King" <wmkingty(a)gmail.com> wrote in message <i2uan0$elu$1(a)fred.mathworks.com>... > "pietro " <bracardi82(a)email.it> wrote in message <i2u1q6$oek$1(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
From: Greg Heath on 9 Aug 2010 05:34 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
From: pietro on 9 Aug 2010 17:12
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? Greg Heath <heath(a)alumni.brown.edu> wrote in message <58317205-c6d8-4ccc-8b61-73597dcdc923(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 |