?? mainar.m
字號:
function [dv,wnv]=mainar(order,t,SNR)
%參數(shù)識別主函數(shù)
%=========================
%獲得信號并進(jìn)行標(biāo)準(zhǔn)化處理
y=signal(t);
y0=mean(y);
vy=std(y);
y=(y-y0)./vy;
%=========================
%在已知信號中加白噪聲
%sigPower = sum(abs(y.^2))/length(y);
%noisePower=sigPower/SNR;
%x=y+sqrt(noisePower)*randn(1,length(y));
x=awgn(y,SNR,'measured');
plot(t,x)
%=================================
%用最小二乘法進(jìn)行AR建模
a=arlsq(x,order);
%================================
%求差分方程的解
c=roots(a);
%===============================
%結(jié)合經(jīng)典Prony法求阻尼比dv和固有頻率wnv
syms alp f
[d,wn]=solve('alp=-wn*d','f=wn/(2*pi)*sqrt(1-d^2)','wn','d');
nd=length(d);
sti=t(2)-t(1);%采樣時間間隔
for i=1:length(c)
alp=1/sti*log(abs(c(i)));
f=1/(2*pi*sti)*atan(imag(c(i))/real(c(i)));
dv(1:nd,i)=eval(d);
wnv(1:nd,i)=eval(wn);
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -