1
我正在研究發動機溫度模型。我被困在一個點上。有一個信號名爲tred
,需要使用低通濾波器進行濾波,以獲得最終輸出信號爲tredf
。問題是tred
從90°C開始,但過濾後tredf
從0開始。我將我的simulink模型與另一個實時模型。除了初始化之外,一切似乎都可以。我想我的過濾信號tredf
也從90°C開始。我使用的濾波器是一個PT1(比例傳輸一階)濾波器(低通),它是從一個自創的庫中派生出來的。
該過濾器具有以下6個輸入:Simulink初始化
- U(k)的即輸入即
tred
。 - 即濾波時間常數即500.
- y(0)即初始值也即
tred
。 - 重置 - 連接到一個位(當位爲false時重置)。
- 計算 - 連接到同一位(當位爲真時計算輸出)。
- dT - 採樣/增量時間 - 我已將其設置爲0.1。
這是PT1塊的爲了更好地理解descreption:
- 的PT1塊是一個離散時間的低通時間常數T,則積分算法通過歐拉 - 向前。時間常數自動限制在其值範圍內(T> = dT)。 y(0) - 輸入是數字低通指定一個起始值,因爲初始值可以在任何時間通過復位 - 回車收據處的脈衝。 PT1塊必須明確帶有計算使能輸入
過濾器的前5個輸入是固定的,我只能設置dT
。有沒有人有一個想法,以便我做錯了什麼,輸出如何也可以從90°C開始?
這聽起來像(0)輸入需要設置爲90的Y,你有什麼用? –
不,它不能設置爲90,因爲給出了y(0)的輸入。我已經嘗試並理解了這個問題。 y(0)不是初始值,而是復位時的起始值。所以每當它重置時,它都會以初始值開始。但過濾器尚未初始化,因此simulink總是從0開始。我需要以某種方式將它重置爲第一個輸入,以便它自動獲取初始值。但我很想知道如何?任何想法@PhilGoddard –