資源簡介
基于脈沖響應辨識的matlab程序,對過程施加M序列的擾動,辨識起過程脈沖響應函數
代碼片段和文件信息
clc
clear
%---------------------------相關法辨識脈沖函數---------------------------------
%獲得辨識所需數據
%1、白噪聲
N=1000;?????????? %設置實驗長度
A?=?[1??-1.5??0.7]; %建立系統模型
B=?[0?1?0.5];
Model=?idpoly(AB);???????%理想系統模型
Model_white_error=?idpoly(AB1);??????%模型中加入白噪聲
U=?iddata([]idinput(N‘prbs‘)); %設置輸入信號(采樣間隔為1s的1000個輸入)‘prbs‘為二值偽隨機信號M序列??格式為iddata(輸出?輸入?取樣頻率)
E=?iddata([]idinput(N‘rgs‘)); %設置噪聲信號為白噪聲????‘rgs’為高斯隨機信號
Y=?sim(Model_white_error[U?E]);?? %獲得輸出數據
%辨識
%1、白噪聲
Z=[Y?U]; %得到輸入和輸出組
Z=dtrend(Z); %濾波處理?????????dtrend()函數將原始數據實現去趨勢處理,即零均值化、平穩化處理;
%??第二幅圖像
figure?
[irrcl]?=?cra(Z10001);?????%采用相關分析法估計對象的脈沖響應
%其中ir為對象脈沖響應的估計
plot(ir(2:50));????%繪制辨識結果曲線
xlabel(‘t‘)ylabel(‘y‘)title(‘辨識結果曲線‘)?
grid
- 上一篇:qpsk 調制 解調 simuli
nk - 下一篇:逐點比較法插補
評論
共有 條評論