離散樣本序列求諧波的前提是離散樣本序列為周期序列,最好是已知周期。
取一個周期的樣本,假設樣本為一維矩陣X。
在matlab的命令行輸入下述命令即可:
y=fft(x,N); %對信號進行快速Fourier變換
mag=abs(y) %求得Fourier變換后的振幅
矩陣mag的第一個數是0次諧波(直流分量),第二個數為基波(一次諧波幅值,第n+1個數就是n次諧波的幅值。
上述運算方法存在一定的缺陷,就是一個周期(或整數個周期)樣本的點數應該是2的N次冪,否則,FFT運算時,會在后面自動補零,影響頻譜的真實性,改善的方法是增加樣本的周期數,當樣本點數足夠多時,補零造成的影響可以忽略不計。
WP4000變頻功率分析儀采用DFT算法,犧牲了運算速度,但是,對運算點數沒有2的N次冪的限制,提高了基波測量及頻譜運算精度。