考试的时候急着交卷给人传答案,没好好做, 唉,现在发现这个题目很有价值
clear
clc
load mtlb
ws=2000/Fs;%截止频率为0.13*pi的低通FIR
b1=fir1(24,ws,boxcar(25));
h=b1;
x=mtlb';
N=128;
M=24;%保留前一段的24个点
L=103;%除去首末两段,中间38段每段103个点
P=103;%每段要保留的点,我的分法正好L==P;
H=fft(h,128);
%第一段52个点单独处理
x1=[zeros(1,24) x(1:52)];
X1=fft(x1,N);
Y1=X1.*H;%实时滤波
y1=real(ifft(Y1));
y=y1(25:76);
for i=1:38
x1=x(i*103-74:(i+1)*103-51);
X1=fft(x1,N);
Y1=X1.*H;%实时滤波
y1=real(ifft(Y1));
y=[y y1(25:127)];
end
%最后35个点单独处理
x1=x(39*103-74:end);
X1=fft(x1,N);
Y1=X1.*H;
y1=real(ifft(Y1));
y=[y y1(25:83)];%final results!!!!