資源簡介
自定義過零檢測 生產函數 測量信號之間的相位差

代碼片段和文件信息
function?[?zero_reu2]=FindZeroes(sig)
%%%%?Revision?@?2011.02.07??%%%
%求取頻率時,要用上升沿零點減去上升沿零點(或下降沿零點減去下降沿零點)
%這在實際現場信號時很重要,因為實際現場信號可能會有偏置
%之前的findzero.m文件中有錯誤,分別是系數b以及零點返回時加上了(n-2)
ii=1;
for?n=3:length(sig)-2??
????if(??sig(n)?*?sig(n-1)<0??)????
%?????????a=0.5*sig(n-2)-sig(n-1)+0.5*sig(n);
%?????????b=-0.5*sig(n-2)*(n-1+n)?+?sig(n-1)*(n-2+n)?-?0.5*sig(n)*(n-1+n-2);
%?????????c=0.5*sig(n-2)*(n-1)*n?-?sig(n-1)*(n-2)*n?+?0.5*sig(n)*(n-2)*(n-1);
????????a=0.5*sig(n-2)-sig(n-1)+0.5*sig(n);
????????b=-0.5*sig(n-2)*(3-1+3)?+?sig(n-1)*(3-2+3)?-?0.5*sig(n)*(3-1+3-2);
????????c=0.5*sig(n-2)*(3-1)*3?-?sig(n-1)*(3-2)*3?+?0.5*sig(n)*(3-2)*(3-1);
????????zerotemp=roots([a?b?c]);
????????if(??2 ????????????zero_reu2(ii)=zerotemp(1)?+?n?-3;
????????elseif(??2 ????????????zero_reu2(ii)=zerotemp(2)?+?n?-3;
????????else
?????????????zero_reu2(ii)=(n-1)+abs(?sig(n-1)?/?(?sig(n-1)?-?sig(n)?)?);
????????end
????????ii=ii+1;
????end?
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1101??2012-03-27?15:04??FindZeroes.m
-----------?---------??----------?-----??----
?????????????????1101????????????????????1
- 上一篇:linux Qt4 軟鍵盤
- 下一篇:匯編編譯器comp86
評論
共有 條評論