[y,Fs]=audioread('1.wav');%读出信号,采样率和采样位数。
bits=24
sigLength=length(y);
Y = fft(y,sigLength);
%Pyy = Y.* conj(Y) / sigLength;% conj函数,用于求一个复数的复共轭
halflength=floor(sigLength/2); % 根据模板大小确定要扩展的边界
f=Fs*(1:sigLength)/sigLength;
stor=Y(1);
Y(1)=0;
absY=abs(Y);
figure(1)
subplot(2,2,1);plot(f,absY);xlabel('Frequency(Hz)');grid on
axis([0,f(end)/2,0,500]);
t=(0:sigLength-1)/Fs;
subplot(2,2,2);plot(t,y);xlabel('Time(s)');grid on
y1=y;
Y0=Y;
%用matlab自带的巴特沃斯低通滤波器
[b,a]=butter(4,0.012,'low');
y=filter(b,a,y);%用设计的滤波器进行滤波
Y=fft(y,sigLength);
Y(1)=0;
absY=abs(Y);
figure(1);
subplot(2,2,3);plot(f,absY);xlabel('Frequency(Hz)');grid on
axis([0,f(end)/2,0,500]);
t=(0:sigLength-1)/Fs;
subplot(2,2,4);plot(t,y);xlabel('Time(s)');
plot(t,y);grid on
sound(y, Fs, bits)
player = audioplayer(y,Fs);
play(player);