matlab/simulink电力电子仿真傅里叶变换模块(fourier)测幅值相角的设置与使用
今天要说的是一个可以测量信号的幅值和相角的模块,fourier,长下面这样:
有时候我们需要求某个信号的幅值或者相位,或求两个信号之间的相位差。那就可以用到这个模块。直接在库中搜索“Fourier”,找到下图中的这个模块。
1 功能介绍/原理
这个模块,可以测量输入信号的直流分量、基波、高次谐波分量的幅值和相位,从某种角度上说,是RMS模块的升级版(但是计算的算法是不同的),RMS模块的使用参考这篇matlab/simulink电力电子仿真有效值RMS设置和使用。
模块利用的是傅里叶变换,即
注意:波形至少要跑完一个周期,才能给出正确的值。(比如频率是50Hz,那么至少要仿真1/50=0.02s)。而在第一个周期跑完之前,输出的是设置的初始值(这和RMS模块也是一样的)。
2 参数设置
2.1 fundamental frequency
所需要测量的信号的基波频率,单位是Hz。
注意,如果你想要测量的信号的基波是50Hz的,但是你要测3倍频(也就是150Hz)的谐波信号的幅值和相角,那你应该填多少呢?
**答案是50Hz哈。**不解释了。
2.2 Harmonic
想要测量的谐波次数。
- 如果想要测直流分量,则写0;
- 想要测基波,则写1;
- 想要测n次谐波,则写n
2.3 Initial input
初始值。意义不大。可以不用管。
2.4 Sample time
采样时间。0就是连续采样。
3 输入输出端口
注意,三个端口都是三角形的,意味着需要接一个测量仪器。
左边是输入端口。想要测量的信号从这里输入,注意连一个电压表再接过来。
右上是幅值输出,更准确地说是峰值,注意不是有效值。
右下是相角输出。单位是度(°)。
4 具体应用
再次强调,如果你的仿真时间太短,波形都没有跑完一个周期,那么输出的是设置的初始值(2.3节中的Initial input),这样结果就不对了。
下图是该模块最简单的用法。我用的电压源是一个有效值270V,85000Hz,相角为0的交流电压源。可以看到输出的是382(270*sqrt(2)=382),相位几乎为0。
如果想要求两个信号之间的相位差,也很容易实现,利用sum模块即可。
下图是我做的有效值270V,85000Hz,相角为0和有效值270V,85000Hz,相角为50的交流电压源的仿真。可以看到两者的相位差是-50度。