离散傅⾥叶级数的matlab实例function [Xk] = dfs(xn,N)
%computes discrete fourier series coefficients
%---------------------------------------------
%[Xk] = dfs(xn,N)
%Xk = DFS coeff. array over 0<= k<=N-1
%xn = one period of periodic signal over 0<= n<= N-1
% N = Fundamental period of xn
%
n = [0:1:N-1];              %时间⽮量量
k = [0:1:N-1];              %频率⽮量每隔基本频率会发⽣重复
短时傅里叶变换matlab程序WN = exp(-j*2*pi/N);        %w = e^((-j*2*pi*k/N)*n)
nk = n'*k;                  % 向左k递增向下 n递增
WNnk = WN .^ nk;            % dfs矩阵
Xk = xn * WNnk;            %不同的n值相加成为单⾏矩阵只留下k参数