1

我正在对正弦波进行一些分析,我注意到一些奇怪的东西。当我在正弦帧中的任意点随机引入单个样本脉冲时,FFT 未能找到它。直观地说,脉冲的 FFT 应该是正弦波,但我什么也没得到。事实上,我会说信息丢失了。为什么会这样?

在此处输入图像描述

要绝对清楚生成此代码的代码:

Fs=10e3; %Specify Sampling Frequency 
Ts=1/Fs; %Sampling period. 
Ns= 1024; %Number of time samples to be plotted. 
temp = Ts*(Ns-1);
t=[0:Ts:Ts*(Ns-1)]; %Make time array that contains Ns elements 
%t = [0, Ts, 2Ts, 3Ts,..., (Ns-1)Ts] 
f1= 60; 
f2=1000; 
f3=2000; 
f4=3200; 

x1=sin(2*pi*f1*t (1 : size(t, 2)/2)); %create sampled sinusoids at different frequencies 
x1(1, 400) = 5;
x2=cos(2*pi*f2*t (size(t, 2)/2 + 1: size(t, 2))) ; 

x = [x1 x2];

xfftmag=(abs(fft(x)));
xfftmagh=xfftmag(1:length(xfftmag)/2); 
%Plot only the first half of FFT, since second half is mirror imag 
%the first half represents the useful range of frequencies from 
%0 to Fs/2, the Nyquist sampling limit. 
f=[1:1:length(xfftmagh)]*Fs/Ns; %Make freq array that varies from 
%0 Hz to Fs/2 Hz. 


[ca, cd] = swt(x, 1, 'haar');
4

3 回答 3

3

我认为脉冲函数(又名狄拉克三角洲)将具有所有频率,而不是单个正弦波。

也许我们不同意脉冲函数的含义。

该参考说明:时域中的狄拉克增量是频域中的常数函数。

这是海森堡测不准原理的数学表达:你不可能同时知道时域和频域中的一切。

由于您选择的采样率,您的 FFT 也可能会丢失脉冲。尝试增加采样率,看看它是否捕捉到了脉冲。

于 2013-08-04T14:05:02.073 回答
0

您没有绘制相位函数。

如果你看一下,你应该找到一个线性相位关系(以 2pi 弧度环绕),它表明脉冲的每个组成频率(记住这是一个离散傅里叶变换,所以我们有一组离散的结果)有相位延迟略有不同——也就是说,它们在脉冲时间点都是同步的。显然,名义上将有两个频率,它们具有独立的主相位分量,以及它们的边带。

您可能会发现边带分量占主导地位,但对不同幅度分量进行一些调查应该可以帮助您了解不同部分是如何相加的。您还可以将幅度/相位绘制为 3d 螺旋线,这可以为简单的场景提供照明。

于 2013-08-10T16:39:56.830 回答
0

t 和 Nt 处的一对实(或复共轭)脉冲将在另一个域中产生余弦波。单个未配对脉冲的幅度将是一个常数,但相位会根据脉冲的位置以某个正弦曲线的速率旋转。因此,您需要查看复杂结果中的相位,而不仅仅是 FFT 的幅度,以定位脉冲。

仅查看幅度并忽略 FFT 结果中的相位信息是导致信息丢失的原因。由于脉冲下的总面积可能相对较小,因此变换的总面积也会相对较小(低且分散,可能隐藏在噪声中。)

于 2013-08-04T21:41:42.877 回答