什么是10倍频程
10倍频程意思是在画频域图时作为横坐标的频率,其坐标刻度按照10倍递增,即后一个坐标点数值上是前一个坐标点的10倍。这在数学上用对数刻度的方式log10(频率)来实现,在matlab下有专门的画图函数semilogx(X,Y)来实现。
横坐标以对数刻度semilogx(X,Y)
semilogx(X,Y) 在 x 轴上使用以 10 为底的对数刻度、在 y 轴上使用线性刻度来绘制 x 和 y 坐标。
纵坐标dbm
横坐标以10倍频程时,纵坐标取20*log10(Y),单位为dB。
激励信号的10倍频程dbm画法
如何得到激励信号,参见激励生成。
[u_matlab,freq_matlab]= idinput();
首先把激励信号从时域转换到频域,使用快速傅里叶变换fft()。
u_matlab_fft=fft(u_matlab);
u_matlab_fft_mag=abs(u_matlab_fft);
semilogx(freq_matlab,20*log10(u_matlab_fft_mag))
u_matlab_fft_phase=angle(u_matlab_fft);
semilogx(freq_matlab,u_matlab_fft_phase)
系统传函的10倍频程dbm画法与bode图
如何得到系统传函G,参见频率响应数据模型的生成。
把bode函数的幅值和相位提取出来的绘制结果有时候相位会在180°有差异,bode函数绘制相位180°是在180°,提取出来相位之后