📄 untitled13.m
字号:
[y,fs]=wavread('ding.wav');
yr=y(:,2);
yr=yr(1:2048);
YR2048=fft(yr,2048)/2048;
figure('numbertitle','off','name','2048点FFT');
f=(-1024:1023)*fs/2048
plot(f,fftshift(abs(YR2048)));
yr=yr(1:1024);
YR1024=fft(yr,1024)/1024;
figure('numbertitle','off','name','1024点FFT');
%plot(linspace(-pi,pi,1024),fftshift(abs(YR1024)));
f=(-512:511)*fs/1024
plot(f,fftshift(abs(YR1024)));
%反变换,与原始信号同,否则就麻烦了:)
yr1024=real(ifft(YR1024));
figure('numbertitle','off','name','1024点fft的反变换');
subplot(2,1,1);
plot(yr1024)
title('1024点fft的反变换')
subplot(2,1,2);
plot(yr);
title('原信号');
%重构
%寻找幅度最大的正弦分量
%YR1024=YR1024*1024;
[maxpeak,peaki]=max(abs(YR1024(1:512)));
MAXSIN=zeros(1,1024);
MAXSIN(peaki)=maxpeak;
MAXSIN(1026-peaki)=maxpeak;
maxsin=real(ifft(MAXSIN));
figure('numbertitle','off','name','用最大正弦分量重构信号');
subplot(2,1,1)
plot(maxsin);
title('重构的信号');
subplot(2,1,2);
plot(yr1024);
title('原始信号');
%试听
wavplay(yr1024);
wavplay(maxsin);
%实验内容二
load chirp %y, Fs
len=length(y);
for i=1:floor(len/1024)
%seg=y((i-1)*1024+1:i*1024);
seg=y((i-1)*1024+1:i*1024).*hamming(1024);
figure('numbertitle','off','name',['Frame',num2str(i)]);
y1=(-512:511)*Fs/1024;
plot(y1,fftshift(abs(fft(seg))));
%plot(linspace(-pi,pi,1024),log10(fftshift(abs(fft(seg)))));
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -