How to implement RLS algorithm in simulink without actually using the RLS block ?
์ด์ ๋๊ธ ํ์
I have an algorithm for UDRLS which is based on matrix manipulation in iterations
Step 1: The algorithm starts with initialization. Read V(k) and I(k), k=1,2. Set initials for ฮธ as the estimate of last operation from nonvolatile memory (NVM).
Set appropriate ? and ? for the initial covariance matrix. Set a forgetting factor 0 < ฮป โค 1.
Step 2: Read a new pair of data V(k) and I(k).
Step 3: Update ?(?) using the present data V(k) and I(k), and the previous V(k-1), V(k-2), I(k-1) and I(k-2).
Step 4: Let ?0 = ?. Define two vectors ? and ? as
f=[?1, โฆ , ??]' = ??(? โ 1)?(?)
g=[ ?1, โฆ , ??]' = ?(? โ 1)?.
Step 5: For ? = 1,2, โฆ ,6, go through Step 5.1-5.2.
Step 5.1: Compute the following:
?? = ?? โ1 + ?? ??
?(?)?? = (?? โ1)*(? (? โ 1) ?? )/(?? ?)
?? = ??
?? = โ?? /?? โ1.
Step 5.2: For ? = 1,2, โฆ , ? โ 1, go to Step 5.2.1 (if ? = 1, skip Step 5.2.1).
Step 5.2.1: Compute the following:
?(?)?? = ?(? โ 1)?? + ?? ??
?? = ?? + ?(? โ 1)?? ?? .
Step 6: Compute ?(?) = [?1, โฆ , ?? ]'/?? .
Step 7: Compute the estimation error as
?(?) = ฮ? ? โ ?? ? โ 1 ?((?).
Step 8: Update ฮธ to minimize the estimation error ? by
?(?) = ?(? โ 1) + ? ? ?(?).
PFA if algorithm is not understandable.
๋ต๋ณ (0๊ฐ)
์นดํ ๊ณ ๋ฆฌ
๋์๋ง ์ผํฐ ๋ฐ File Exchange์์ Optimization์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!