最近小虎在网课上被老师问到编程写出一指数函数的频谱图,当时鼓捣了1个多钟???以前是画过bode图,bode的幅频图是对数幅频图。应该也可以用伯德图直接画的,但是这个问题的关键应该在拉氏变化。5分钟不到的事,要搞那么久,看来是小虎还不太理解拉氏变换。编程工具还是那熟悉的MATLAB。
目录
- 拉氏变换简介
- 傅里叶变换vs拉氏变换
- 拉氏变换表
- 频谱图简介
- 示例以及结果
- 方法1定义法
- 频谱图定义
- 结果图
- 完整代码
- 方法2bode图
- 总结
- 更多
拉氏变换简介
拉普拉斯变换(Lapalace transform),是一种线性变换,也就是说非线性不可以用这种方法,它可以将时域变量转换为复数变量进而得到复数频率。一般来讲,满足同质性f(ka)=kf(a)和可加性f(a+b)=f(a)+f(b),即为线性变换,参考这里。
在信号分析领域中,何岭松教授将之称为叠加性和比例性: 叠加性,系统对各输入之和的输出等于各单个输入的输出之和;比例性,数倍输入所得的输出等于原输入所得输出的数倍。
傅里叶变换vs拉氏变换
既然都是将时域信息转化为频域信息,那么拉氏变换和傅里叶变换(fourier transform)有啥区别呢?
wikipedia说,“The Laplace transform is similar to the Fourier transform. While the Fourier transform of a function is a complex function of a real variable (frequency), the Laplace transform of a function is a complex function of a complex variable.”他们主要区别是变量形式不同,在傅里叶变换是关于实数频率变量的方程,而拉氏变换是关于复数频率变量的方程。
不过两种时域to频域的变换工程上都有应用,像小虎用过的,数字图像处理滤波用过傅里叶变换、傅里叶反变换;自动控制用过拉氏变换求传递函数以及系统的动态特性等等。
傅里叶变换
拉氏变换
拉氏变换表
看下面其中一个网站:
Laplace TransformMicrosoft Word - New Laplace Transform Table
频谱图简介
以待画频谱的函数为例。
首先查拉氏变换表,的到exponent function的拉氏变换,上述函数的转换结果是:
令,可以得到
幅值、相角为:
这样,幅值和相位角就是关于频率的函数。将幅值和相位角关于频率的图像分别画出,就是幅频图(振幅频谱图magnitude spectrum)和相频图(相位角频谱图phase angle spectrum),两者合称为频谱图。
示例以及结果
设A=5,a=5。接下来提供提供两种方法画频谱图,两种方法表示不同,应用场景有点区别。
方法1定义法
频谱图定义
幅值关于频率变化的函数绘制出来的图像称为幅频图,函数可以表示为;相位角关于频率变化的函数绘制出来的图像称为相频图,函数可以表示为。幅度可以对函数取绝对值得到,而相位角,可以从复平面得到,比如
它的幅值为,相位角为:
结果图
完整代码
a=5;A=5;
w=-5*pi:0.01:5*pi;
Xw=A./sqrt((w.^2+a^.2));
phi=-atan(w/a);
subplot(2,1,1);
plot(Xw);
xlabel('\omega');
ylabel('|X(\omega)|');
subplot(2,1,2);
plot(phi);
xlabel('\omega');
ylabel('|\phi(\omega)|');
此法用于一般情况下求频谱图。
方法2bode图
bode图的意义和编程方法见小虎的这篇文章,这里不再赘述。结果图如下。
总结
不论是那种方法,都需要将时域变量转化为频域变量,然后再根据频谱图的相关定义画出来频谱图来。因为频谱图本身就是为了描述以频率为自变量的函数而存在的,所以在时域里鼓捣了1个多小时还鼓捣不出两幅图来也不足为奇了。