2014-03-05 208 views
1

我有一个来自信号发生器的60Hz正弦波的小输入信号,它受到50Hz市电电源频率的影响。我想用FFT测量60Hz信号的幅度,因为在示波器中看到的信号非常小。
Matlab的FFT代码:Matlab中的FFT图

y = data;  
Fs = 2048; 
[r, L] = size(y); 
NFFT = 2^nextpow2(L); % Next power of 2 from length of y 
Y = fft(y,NFFT)/L; 
f = Fs/2*linspace(0,1,NFFT/2+1); 
% Plot single-sided amplitude spectrum. 
plot(f,2*abs(Y(1:NFFT/2+1))) 

但FFT图在50和60Hz的不给尖峰。情节如下:

连续的点有高低幅度交替出现锯齿状的情节。为什么这样? 60Hz的幅度是否受此影响?

+2

这将是很好,如果你添加时域信号图。什么是信号源? – User1551892

回答

0

大概有两个方面的影响

  1. 如果一个测量的信号的时间窗口,这导致不可避免的信号模式的起点和终点之间的相位差距。间隙或矩形信号的FFT导致高频振荡。这些由边界效应引起的振荡可能因窗口函数而衰减,从而使信号平滑到边界。

  2. DFT中存在离散频谱。如果测量的信号与这些离散模式中的任何一个不匹配,则需要更多的频率来重建原始信号。

0

50赫兹信号可能不是一个完美的纯正弦波。与完美正弦波(如削波或失真)的任何差异相当于将产生频谱边带的调制。

将周期不是FFT长度的精确的子倍数的信号加窗也会将窗口伪像与该信号进行卷积。