读取wav声音文件,并将数据返回到向量y
[y,Fs]=audioread('xxx.wav');Fs不用设置。wav文件需要在同一文件夹下
生成零极点图
zplane(b,a);返回零点和极点
[z,p]=tf2zp(b,a);返回有理分式表征的系统h的频谱:
[h,w]=freqz(b,a); %返回有理分式表征的系统h的频谱绘制幅频特性:
plot(t,abs(h)); %幅度 title('Amplitude of system'); xlabel('\omega/\pi'); ylabel('Amplitude'); plot(t,angle(h)); %相位 title('Phase of system'); xlabel('\omega/\pi'); ylabel('Phase');DFT逆变换:
%N:DFT的点数 %X:X(omega) x=ifft(X,N);知识点:圆周平移的实现,x[an]的实现
N=64; n=0:N-1; k=0:2*N-1; x=cos(14*pi*k/N)+0.5*cos(38*pi*k/N); g=cos(14*pi*2*n/N)+0.5*cos(38*pi*2*n/N); %g[n]=x[2n] h=cos(14*pi*(2*n+1)/N)+0.5*cos(38*pi*(2*n+1)/N); %g[n]=x[2n+1] X1=fft(x,2*N); G=fft(g,N); H=fft(h,N); %算法关键: for m=1:N X(m)=G(m)+exp(-1i*2*pi*(m-1)/(2*N))*H(m); end for m=(N+1):2*N %G[k]和H[k]实现一次圆周平移 X(m)=G(m-N)+exp(-1i*2*pi*(m-1)/(2*N))*H(m-N); end