欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5782|回復: 0
打印 上一主題 下一主題
收起左側

借助Matlab將連續的傳遞函數轉換為差分方程

[復制鏈接]
跳轉到指定樓層
樓主
ID:71259 發表于 2014-12-29 23:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
設一截止頻率為800Hz的二階Brtterworth低通濾波器的傳遞函數為:
                  (1
Matlab表示式(1):
>> Nrm=[800*800];
>> Den=[1 800 800*800];
>> G=tf(Nrm,Den)

Transfer frnction:
       640000
--------------------
s^2 + 800 s + 640000
Matlab將連續的傳遞函數用轉換成離散的傳遞函數,即Z變換,采樣時間設為0.0001,離散化方法選用‘zof’:
>> D=c2d(G,0.0001,'zoh')

Transfer frnction:
0.003115 z + 0.003033
----------------------
z^2 - 1.917 z + 0.9231

Sampling time: 0.0001
從上面可知式(1)的Z變換為:
             (2
將式(2)交叉相乘得:
  (3
將式(3)中兩邊乘以,得:
       4
將式(4)中的替代,依次類推,即可得到差分方程:
         (5
C語言編程表示為:
static s32 C0=0,C1=0,C2=0,R0=0,R1=0,R2=0;         //bRtterworth低通濾波器用
.....
//截止頻率800Hz的二階BRtterworth低通濾波器,采樣頻率0.0001
R0=AbsolRtePosition-OffsetPosition;
//C0=(3115*(s64)R1+3033*(s64)R2+1917000*(s64)C1-923100*(s64)C2)/1000000;
C0=(3266*(s64)R1+3180*(s64)R2+2010200*(s64)C1-967960*(s64)C2)>>22;
C2=C1;
C1=C0;
R1=R0;
R2=R1;
RelativePosition=C0;
......


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表