模型是給出了一個加速度訊號,xn2=t*exp(a*t)*(sin(pi*t)+b*sin(8*pi*t)),要透過兩次積分求出位移訊號,其中a,b為常數,我取的1。其中加速度取樣頻率是100Hz,位移取樣頻率是5Hz,並在位移訊號上新增10%RMS的高斯白噪聲,要求用welch方法計算位移的功率譜密度。
我的程式:
xn1(1)=0; %速度
xn(1)=0; %位移
Fsa=100; %加速度取樣頻率
Fs=5; %位移取樣頻率
t=0;
for n=1:1:10000 %進行加速度取樣
xn2(n)=t*exp(t)*(sin(pi*t)+sin(8*pi*t));
t=t+1/Fsa;
end
for n=1:1:500 %進行位移取樣
xn1(n+1)=xn1(n)+xn2(n*20)/Fs;
xn(n+1)=xn(n)+xn1(n)/Fs;
n=n+1;
rmsx=sum(xn.*xn); %加噪聲
rmsx=(rmsx/length(xn))^0.5;
nxn=xn+0.1*rmsx*randn(1,length(xn));
Nfft=512;
window=hanning(256);
noverlap=128;
dflag="none";
[Pxx,f]=pwelch(nxn,window,noverlap,Nfft,Fs);
plot(f,10*log10(Pxx));
xlabel("頻率/Hz");ylabel("功率譜/dB");
title("PSD--Welch方法");grid on;
模型是給出了一個加速度訊號,xn2=t*exp(a*t)*(sin(pi*t)+b*sin(8*pi*t)),要透過兩次積分求出位移訊號,其中a,b為常數,我取的1。其中加速度取樣頻率是100Hz,位移取樣頻率是5Hz,並在位移訊號上新增10%RMS的高斯白噪聲,要求用welch方法計算位移的功率譜密度。
我的程式:
xn1(1)=0; %速度
xn(1)=0; %位移
Fsa=100; %加速度取樣頻率
Fs=5; %位移取樣頻率
t=0;
for n=1:1:10000 %進行加速度取樣
xn2(n)=t*exp(t)*(sin(pi*t)+sin(8*pi*t));
t=t+1/Fsa;
end
for n=1:1:500 %進行位移取樣
xn1(n+1)=xn1(n)+xn2(n*20)/Fs;
xn(n+1)=xn(n)+xn1(n)/Fs;
n=n+1;
end
rmsx=sum(xn.*xn); %加噪聲
rmsx=(rmsx/length(xn))^0.5;
nxn=xn+0.1*rmsx*randn(1,length(xn));
Nfft=512;
window=hanning(256);
noverlap=128;
dflag="none";
[Pxx,f]=pwelch(nxn,window,noverlap,Nfft,Fs);
plot(f,10*log10(Pxx));
xlabel("頻率/Hz");ylabel("功率譜/dB");
title("PSD--Welch方法");grid on;