非参数模型辨识:脉冲响应曲线

article/2025/11/10 20:49:16

1.1 问题描述
在这里插入图片描述

1.2 方法思路
首先根据系统脉冲响应函数G(t)计算出51(0-50)个真值数据G,再利用以下公式产生550组带噪声的仿真数据。
在这里插入图片描述
最后利用上述仿真矩阵构造相应的数据矩阵,再用最小二乘法求解系统的脉冲响应估计值,其构造公式如下所示。
在这里插入图片描述

1.3 实验结果
在这里插入图片描述

1.4 实验代码(Matlab)

main.m

%%%采用最小二乘法辨识系统的脉冲响应向量,并与表达式计算出来的真值做比较
%%%-步:根据系统脉冲响应函数G(t)计算出51(0-50)个真值数据G
for k=1:1:51 %%%矩阵下标不能为0,令k=t+1,0时刻时的下标设为1G(k)=0.25*exp(-0.5*(k-1))-exp(-0.25*(k-1))+0.75*exp(-(k-1)/6);%产生第0时刻到50时刻的真实数据
end  %%%第二步:根据课本上式4-1-8计算带噪声的仿真数据
%%采用M序列作为系统的输入,由于要产生550个仿真结果,为了充分激励系统的模态,选择M序列的周期为2^10-1
u=F2(1023,1);%%利用作业2中代码封装成的函数产生周期为1023的M序列
%根据题目要求产生550组仿真数据,而真实数据为51个,故其构造的U矩阵为550*51
for m=1:1:550  %每一行的数据由u(p+m)到u(m)组成for p=1:1:51U(m,p)=u(51+m-p);%%%u(p+m)到u(m)end
end  
%%产生均值为0,方差为0.05的正态分布白噪声V
V=F1(0.05,0,550);%%利用作业1中代码封装成的函数产生白噪声
%%由课本上式4-1-7可得含噪声的仿真输出
y=U*G'+V';
%%%第三步:采用最小二乘一次完成法求解系统的脉冲响应估计值并与真实值比较
G1=inv(U'*U)*U'*y;%最小二乘估计值
%画图
figure 
t=[0:1:50];
plot(t,G,'r','linewidth',2); %%画出真实数据
xlim([-5 55])
hold on
plot(t,G1','b-.','linewidth',2);  %%画出最小二乘估计数据
legend('真值','估计值')
title('脉冲响应曲线比较图')

F1.m

function Y3=F1(v,m,n)
%利用乘同余法和变换抽样法产生均值为m,方差为v的正态分布的白噪声
%公式:Xi=A*Xi*mod(M)
M1=2^11;%2的方幂
M2=2^17;%2的方幂
A1=119;%%不能太小
A2=279;%%不能太小
x1=1;%伪随机序列1的初值
x2=11;%伪随机序列2的初值
X1=x1;
X2=x2;
Y1=[];%伪随机序列1
Y2=[];%伪随机序列1
% n=700; %伪随机序列长度
%%%%%采用乘同余法产生伪随机序列%%%%%
for i=1:n%产生伪随机序列1X1=mod(A1*X1,M1);Y1=[Y1 X1/M1];%产生伪随机序列2X2=mod(A2*X2,M2);Y2=[Y2 X2/M2];
end
%正态分布的白噪声
Y3=m+v*sqrt(-2*log(Y1)).*cos(2*pi*Y2);%正态分布的白噪声
figure
plot(Y3,'b');
title('正态分布的白噪声');
end

F2.m

function X=F2(T,a)
%%%采用伪随机信号发生器生成周期为1023的M序列
y=[1 1 0 1 1 0 1 0 1 0];%%%初始化10级移位寄存器,保证其初值不全为0
for i = 1:1:TY(i)=y(10);%%%第n级的输出即是M序列的两种状态M(i)=mod(y(10)+y(7),2);%第n级与第N1级模二加结果,此时分别为107%%%%移位寄存器工作原理%%%y(10)=y(9);y(9)=y(8);y(8)=y(7);y(7)=y(6);y(6)=y(5);y(5)=y(4);y(4)=y(3);y(3)=y(2);y(2)=y(1);y(1)= M(i);
end
for i=1:1:Tif Y(i)==1X(i)=a;elseX(i)=-a;end
end
stairs(X,'b'); %画出伪随机信号
title('周期为1023、幅值为1的伪随机信号');
ylim([-1.2 1.2])
end

http://chatgpt.dhexx.cn/article/lUjd60cE.shtml

相关文章

R语言VAR模型的不同类型的脉冲响应分析

目录 模型与数据 估算值 预测误差脉冲响应 识别问题 正交脉冲响应 结构脉冲反应 广义脉冲响应 参考文献 最近我们被客户要求撰写关于脉冲响应分析的研究报告,包括一些图形和统计输出。脉冲响应分析是采用向量自回归模型的计量经济学分析中的重要一步。它们的…

R语言用向量自回归(VAR)进行经济数据脉冲响应研究分析

自从Sims(1980)发表开创性的论文以来,向量自回归模型已经成为宏观经济研究中的关键工具。最近我们被客户要求撰写关于向量自回归(VAR)的研究报告,包括一些图形和统计输出。这篇文章介绍了VAR分析的基本概念…

matlab单位阶跃响应与单位脉冲响应,python 已知响应函数求单位阶跃响应或脉冲响应...

最近学习自动控制原理,关于控制系统的一些,老师用布置了一些作业说要用matlab画,我试试python 首先介绍一下所使用的库:control matplotlib sympy 1.control库:用来计算脉冲响应与阶跃响应 Paste_Image.png 2.sympy:用以化简多项式为和的形式方便写参数 比如我们使用 sym…

使用扫频信号测量房间脉冲响应

使用指数扫频正弦信号,信号生成方法如下: 其中: ,是扫频信号的起始频率和结束频率 是扫频信号的时长 是扫频率 逆信号是通过缩放时间翻转的信号计算,计算方法如下: 其中 信号的脉冲响应 扫频信号、逆信号、IR&#xf…

matlab一直系统函数画脉冲响应,【 MATLAB 】使用 impz 函数计算并画出脉冲响应

这篇博文在于讨论 impz 函数的使用。 我在 MATLAB 中查看 impz 的帮助文档时,始终看的不是太明白这个函数的使用,于是我根据一个例子,对这个函数做了一点分析,解决了一些我的疑惑,记录于此。 帮助文档上对这个函数的概括是数字滤波器的脉冲响应。 所谓的数字滤波器不就是一…

相关分析法辨识系统脉冲响应

背景介绍 在实际工程中,由于系统的测量都是载噪的,而且噪声对观测数据的影响常常达到不可忽略的地步,因此当噪声影响足以使得要求的精度不足时,就必须考虑噪声的影响。实际中,系统噪声存在各种难以精确描述的因素&…

脉冲响应

使用MATLAB中的系统建模工具对热风枪Chirp激励和输出数据建立三阶模型,并输出该模型的离散系统传递函数:tf2 。 基于Chirp信号激励下系统数据数据建模响应曲线 在MATLAB中显示 tf2 的数据。可以得到该离散时间系统函数有理多项式对应的分子和分母的系…

使用Stata做脉冲响应分析

Source: Rizaudin Sahlan → Impulse Response Function with Stata (time series) 在这篇推文中,我们讨论 VAR 模型中的脉冲响应函数(IRFs)。 脉冲响应函数反映了当 VAR 模型某个变量受到"外生冲击"时,模型中其他变量受到的动态影响。我们会…

matlab 单位脉冲响应,滤波器系数、单位脉冲响应、频率响应等概念笔记

单位脉冲响应:单位脉冲和滤波器系数的卷积。 对于FIR滤波器来说,单位脉冲响应就是滤波器系数。对于IIR滤波器,应该是需要用matlab中的filter函数,得到单位脉冲响应。 频率响应:幅度和相位随频率的变化关系。具体地&…

单位脉冲(冲激)响应与频率响应

1.线性时不变系统 (1)线性系统:满足可加性和比例性(齐次性)的系统。 令y(t)为系统对输入x(t)的响应: 比例性:ay(t)为该系统对ax(t)的响应,其中a为复常数。 可加性:为…

房间脉冲响应测量与模拟方法

本文是作者投稿到“21dB声学人”公众号的文章,现经有允许转载到自己的博客,技术交流可以联系593170280qq.com 房间脉冲响应(Room Impulse Response, RIR)表征了房间系统的系统响应,可以用于房间均衡和计算房间声学参数…

时间序列分析(12)| 脉冲响应函数、格兰杰因果检验

上篇介绍到,VAR模型研究的是多个时间序列变量之间的相互影响关系,但是模型估计出的参数结果及其显著水平似乎并不能直观地反映这种影响关系,而要想直观地呈现这种关系,就需要使用本篇介绍的「脉冲响应函数」(impulse r…

鸢尾花数据集可视化

Iris数据集 Iris数据集包含有四个属性一个标签 四个属性分别是 花萼(Sepall)长度花萼宽度花瓣(Petal)长度花瓣宽度 一个标签,用来说明是哪一种鸢尾花 山鸢尾(Setosa)变色鸢尾(versicolor)维吉尼亚鸢尾(virginica) 目标 任意两个不同的…

鸢尾花数据集分类--神经网络

1.1 鸢尾花数据集介绍 iris数据集是用来给莺尾花做分类的数据集,每个样本包含了花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征,我们需要建立一个分类器,该分类器可通过样本的四个特征来来判断样本属于山鸢尾(Setosa&#xff0…

机器学习鸢尾花数据集分析

目录 1 sklearn数据集的使用2 sklearn数据集返回值介绍3 查看数据分布4 数据集的划分5 总结 1 sklearn数据集的使用 鸢尾属(拉丁学名:Iris L.)是单子叶植物纲,鸢尾科多年生草本植物,有块茎或匍匐状根茎;叶…

决策树可视化:鸢尾花数据集分类(附代码数据集)

决策树 数据集实战可视化评价 决策树是什么?决策树(decision tree)是一种基本的分类与回归方法。举个通俗易懂的例子,流程图就是一种决策树。 有没有车,没车的话有没有房,没房的话有没有存款,没存款pass。这个流程就是…

机器学习算法:基于鸢尾花(iris)数据集的数据可视化 (200+收藏)

文章目录 基于鸢尾花(iris)数据集的数据可视化1、数据导入2、查看样本数据3、特征与标签组合的散点可视化3.1、 散点图3.2、 箱型图3.2、 三维散点图想要看更加舒服的排版、更加准时的推送 关注公众号“不太灵光的程序员” 干货推送,微信随时解答你的疑问 😃😃😃 基于…

鸢尾花数据集的可视化

#TensorFlow实战 鸢尾花数据集的可视化化展示 文章目录 前言一、介绍二、步骤1.引入库2.读入数据 前言 数据可视化展示能在实验中可视化展出实验结果,是基础部分 一、介绍 鸢尾花数据集是公开的数据集,可通过URL从TensorFlow的Keras连接下载。 二、步…

探索sklearn | 鸢尾花数据集

1 鸢尾花数据集背景 鸢尾花数据集是原则20世纪30年代的经典数据集。它是用统计进行分类的鼻祖。 sklearn包不仅囊括很多机器学习的算法,也自带了许多经典的数据集,鸢尾花数据集就是其中之一。 导入的方法很简单,不过我比较好奇它是如何来存…

线性回归实例-鸢尾花数据集

文章目录 一、具体实现步骤1. 导入Iris鸢尾花数据集2. 提取花瓣数据3. 拆分数据4. 训练模型 二、可视化结果展示1. 训练集2. 测试集 三、相关知识点讲解1. train_test_split()函数2. LinearRegression()函数3. 散点图与折线统计图的绘制 这篇文章中,我们要通过鸢尾花…