数字信号频域分析:DFT与FFT

一、前言

        连续信号的频域分析:将信号分为周期与非周期利用FS和FT分析,连续信号的频谱是关于纵轴对称的,且是非周期的。

        但是计算机不能处理连续信号,只可处理数字信号。

        所以数字信号频谱特性更重要:

二、DFT(离散傅里叶变换)

        数字信号的频谱是周期信号,周期是 2π rad/s(数字角频率),N点DFT是对数字信号的DTFT(傅里叶变换)在[0,2π]上的N点等间隔采样。FFT是在DFT的基础上简化了计算,提高了速度。

        数字角频率=模拟角频率*采样周期,当数字角频率W=2π时,对应的模拟角频率是fs(采样频率)。

        所以当以模拟角频率/模拟频率(f)为自变量时的频谱实际上是以fs为最高频率的N个采样点。

        当以数字角频率W为自变量时的频谱实际上是以2π为最高频率的N个采样点。

        matlab ffft

        Y = fft(X) %length(X)点DFT

        Y = fft(X,n)%n点DFT

        数字信号频谱分析自变量:数字角频率;W=(0:N-1)*2*pi/N     (对2π N等分)

        因变量:20*log( abs ( fft ( x ) ) )/log(2)(dB)

        与连续信号频谱一样,数字信号的DFT也对称,关于N/2对称,即关于W=π,f=fs/2对称。W:数字角频率,f:模拟频率。

三.连续/数字信号频域分析

        3.1.连续信号:

        3.1.1周期信号:单/双边谱,对称 and功率谱密度

        单边谱:

        双边谱:

       3.1. 2.非周期信号:频谱密度 连续 对称and 能量谱密度

 

         3.2数字信号:频谱DTFT周期

        DFT(FFT):对DTFT在数字角频率[0,2π]N点等间隔采样 / 模拟频率[0,fs]N点等间隔采样,关于N/2,π(数字角频率),fs/2(模拟频率)对称。

 

 四.数字信号频谱分析:

        y = fft(x);length(x)点FFT

        频率:取模拟频率f = (0:N-1)*fs/N

        幅频:20*log(abs(fft(x)*2/N))/log(10),单位dB;或者abs(fft(x))*N/2也可以

        plot(w(1:N/2),y(1:N/2)),由于对称性,取一半点画图。

function plot_fft(x,fs)
%x:待处理信号
%fs:采样率
%N:N点FFT
N = length(x);
y = fft(x);
y = abs(y);
f = (0:N-1)*fs/N;
figure,plot(f(1:N/2),y(1:N/2)*2/N),grid on,xlabel('f/Hz'),ylabel('|fft(x)|'),title('信号幅频特性'),grid on;
end

function plot_fft_angle(y,fs,N)
%y = fft(x);
%N:采样点数
%fs:采样率
f = (0:N-1)*fs/N;
ph = 2*angle(y(1:N/2));
plot(f(1:N/2),ph(1:N/2));
end

猜你喜欢

转载自blog.csdn.net/marujie123/article/details/122411451