bode图实际上描述的就是系统的频率响应,首先对画系统频率响应的方法进行讨论。
滤波器频率响应
下面代码给出了怎么去画滤波器的频率响应(幅频和相频曲线),以及滤波的方法。
clear, close all
%% initialize parameters
% 载波频率
samplerate = 1000; % in Hz 采样率
N = 512; % number of points, must be even, better be power of 2
%% define a and b coeffients of H (transfer function)
a = [1 -0.2 0.8]; % denominator terms
b = [0.2 0.5 0]; % numerator terms
%% 或者下面:
N = 512;
[h1 , ftp] = freqz(b,a,N,samplerate);
mag = 20*log10(abs(h1)); % get magnitude of spectrum in dB
phase = angle(h1)/pi*180; % get phase in deg.
figure,
subplot(2,1,1),semilogx(ftp,mag)
xlabel('Frequency (Hz)'),ylabel('Magnitude (dB)')
grid on
subplot(2,1,2),semilogx(ftp,phase,'r')
xlabel('Frequency (Hz)'),ylabel('Phase (deg.)')
grid on
%% 信号滤波
acc_magFilt = filtfilt(b, a, acc_magFilt);
给信号滤波的过程中,需要注意幅频响应。如果在带通范围内不是1的话,就会改变信号的幅值,就会改变最终加速度输出的信号。另外,上面的图就是bode图,但是是基于离散系统的。
上面是一个离散系统,对于一个连续系统,可以直接调用bode(b,a)就可以画出传递函数的bode图了。
如何去理解bode图?
总结来说有以下几点:
- 振幅的比较用10log10就行,但是能量的比较需要20log10
- 振幅与功率/能量之间的关系如下:
从一个实例出发理解bode图
对于系统传递函数:
- 截止频率:w=a
这个-3dB很重要,表达的是输出的振幅是输入的振幅的sqrt(1/2),能量是一半的关系。
∠G(gw)=−arctan1=−45∘
- 高频:w>>a
bode图如下:
bode图的作用是什么?
实际上,我们可以将级联系统的子系统bode图进行累加,那么我们就得到了新的级联系统的真正的bode图了。原理如上。
评论(0)
您还未登录,请登录后发表或查看评论