⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled13.m

📁 对信号进行重构
💻 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 + -