天天看点

matlab复数信号_DFT(FFT)结果,采样率,信号频谱的理解

1、因为周期T1信号可以表示为各级高次不同频率的信号(正余弦或者指数)叠加。

但是,我们通常接触的都是数字信号。数字信号是对原始模拟系统采样而得到的。

2、由于采样后得到信号的频谱,是将原始模拟信号的频谱中,低于fs/2的部分和高于fs/2的频谱混叠在一起,而且呈周期出现。因此我们看到的DFT(FFT是其快速计算方法,含义相同)不一定是真实的频谱。只有在采样率高于模拟信号包含频率的最高频率的两倍,我们看到的才是真实的频谱。这个要求采样率高是容易理解。

matlab复数信号_DFT(FFT)结果,采样率,信号频谱的理解

对于上图中,采样率30Hz,而模拟信号f1=10Hz采集的结果,如红色数据。与,模拟信号f2=40hz,采集结果是一样的。当我们只看到AD采集的信号是红色的信号,我们不知道真实的信号是10Hz,还是40Hz的,甚至更高的频率比如f=30*n+10,其中n>1。

因此频率混跌是这样发生的:1、2、3..倍于采样率的信号,采样值是一样的,因此傅里叶频谱看上去也是又回到0频率。高于采样频率的原始信号中的频率,又回到的原点附近,f1-n*fs。其实不是回到了0频率而是叠加到了0频率上,就如同在极坐标中,0度和2

matlab复数信号_DFT(FFT)结果,采样率,信号频谱的理解

位置一样。后续用Z变换则直接用单位圆表示频谱特性了。

总之,采样导致周期性频谱。

离散傅里叶变换,把单位圆上的频谱(高低频混跌了频谱)周期性的展开,就是我们看到的频谱。因此经过采样的周期信号频谱是混叠的和周期的(周期为Fs)。

因为采样导致周期性频谱,那高频混跌到低频怎么办?(1)提高采样率,把周期拉开呀,所以我们常常采用高采样采集卡。这样万一信号中混入高频噪声被容易看清楚。(2)采样前就用模拟滤波器把高频滤掉,称为抗混叠滤波器,不关心这个高频,就不让它添乱了。

3、DFT(通常采用FFT快速计算方法)的结果,是一个周期的结果。也就是N点的采集数据,输出N点的结果对应0~fs。因此FFT结果,数据点间隔对应的频率间隔是fs/N,也就是第一点是0,第二点是fs/N,第3点是2*fs/N,第k点是(k-1)*fs/N。其中有效范围是0~fs/2范围。

matlab复数信号_DFT(FFT)结果,采样率,信号频谱的理解

matlab中,fft()函数的结果是个复数,取绝对值表示幅值。非零频率的幅值为fft结果,除以二分之一点数(N/2),可以得到正确的幅值,0频率直接除以点数N。

4、对于离散序列,我们实在懒得因为采样率不同,每个数据用不同的频率表示。因此我们都把周期用2π表示。这个2π的含义就是采样率。采样后离散序列的频谱是以2π为周期的,也是以fs为周期的。有了这二者的等价关系,我们就可顺利地在离散序列和被采样的模拟原始信号频率之间互相理解和换算。我们常把角频率归结为2π周期(角频率为横轴),或者频率fs=1(频率为横轴),称为归一化频率。

5、傅里叶变换主要是理解其含义和概念,它们之间的严格逻辑关系并不重要。比如连续周期信号用傅里叶级数(FS)表示,因为其FT无限大不能表示。非周期连续信号用傅里叶变换(FT)表示,因为其FS无限小,为0,不能表示。对连续非周期信号数据片段采样的离散时间傅里叶变换(DTFT),因为被采样所以是具有周期性频谱特性的FT。离散周期信号-DFS(离散傅里叶级数)表示,因为它的频谱是离散的(因为时域是周期的)且周期的(因为被采样过)。离散数据片段用DFT(离散傅里叶变换),DFT是经过人为周期延续,并借用DFS的概念,再截取DFS结果的一个周期,本质上DFT也是一个人为的行为,所以没有必要严格思考DFS与DFT之间的逻辑变换的严密性。