1.fft Fs=1000; % Sampling frequency T=1/Fs; % Sampling period L=1500; %lengthofsignalt=(0:L-1 ) t; % Time vector实时s=0.7*sin(2*pi*50*t ) sin )2*pi*120*t ); 创建包含%振幅0.7的50Hz和振幅1的120HZ的复合正弦波信号。 x=S2*Randn(size(t ); %用平均值为0、方差为4的白噪声扰乱了该信号,最后描绘了信号x(t )的模式。 plot(1000*t ) X(X(1:50 ),X(X(1:50 ) ) title (signalcorruptedwithzero-meanrandomnoise ) xlabel ) title
从以上图可知,通过观察信号x(t )很难确定频率分量。 计算一下信号的傅立叶变换吧。
y=FFT(x; %这里得到的y是复数值,不方便直接画p2=ABS(y/L )。 %P2为双侧光谱p1=p2(1:L/21 ); 将%p2的前一半赋予P1,P1为单侧光谱p1(2:end-1 )2*p1 ) 23360end-1 ); 将%p1的值加倍的f=fs*(0:(L/2 ) )/L; plot(f,P1 ) title (单次串行外围设备(t ) ) xlabel ) ) f(Hz ) ) ylabel(|P1 ) ) ) )
我们现在用原始未破坏信号的傅立叶变换精确搜索振幅0.7和1.0。
y=FFT(s; P2=ABS(y/L ); P1=P2(1:L/21 ); p1 ) 2:end-1 )=2*p1 ) 2:end-1 ); plot(f,P1 ) title (单稳态多任务(t ) ) xlabel ) ) f(Hz ) ) ylabel(|P1 ) ) ) )