网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
二、波特图分析仪原理仿真:一阶检测系统编程仿真题目要求
波特图分析仪原理仿真:一阶检测系统编程仿真题目描述要求如下所示
- 1、在软件(matlab/Simulink、LabVIEW等均可)中,对该一阶检测系统进行建模。
- 2、使用软件产生模拟正弦扫频信号(信号幅值和扫频间隔可在程序的GUI界面进行设置。且可以为设置线性扫频和对数扫频。此要求为选做)输入该检测系统。
- 3、将检测系统输出信号的幅值与输入信号的幅值相比较,得出幅值测量误差e。
- 4、将所有频率值(频率范围可自定,提示:不超过1000Hz)和对应的幅值测量误差e曲线绘制出来,横坐标为频率f,纵坐标为幅值测量误差。
- 5、 程序应该能够自动显示幅值误差ε<±5%对应的频率范围。
三、波特图分析仪原理仿真:一阶检测系统编程仿真实现步骤
3.1、一阶系统的Simulink建模
一阶系统的Simulink建模如下所示
3.2、幅值误差的判断曲线的GUI设计
幅值误差的判断曲线的GUI设计如下所示
3.3、在计算的回调函数中编写代码
在计算的回调函数中编写代码如下所示
function pushbutton\_Ok\_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton\_Ok (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
A = get(handles.maxValue, 'String');
minF = get(handles.minFrequency, 'String');
maxF = get(handles.maxFrequency, 'String');
T = get(handles.edit_time, 'String');
K = get(handles.edit_K, 'String');
e = get(handles.edit_e, 'String');
A = str2double(A);
minF = str2double(minF);
maxF = str2double(maxF);
T = str2double(T);
K = str2double(K);
E = str2double(e);
y = [];
for f = minF: 1: maxF
w = 2 \* pi \* f;
e = A - K / (1 + w^2\*T^2)^0.5;
y = [y e];
end
x = minF: 1: maxF;
axes(handles.axes1);
plot(x, y, 'r');
![img](https://img-blog.csdnimg.cn/img_convert/b7a242e806ff6405aa43c045fc049cce.png)
![img](https://img-blog.csdnimg.cn/img_convert/a893d81daaaa8cd1571c2bf4f141adcc.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
45628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**