matlab重叠保留法

来源:互联网 发布:网络销售公司介绍 编辑:程序博客网 时间:2024/04/30 06:20

考试的时候急着交卷给人传答案,没好好做, 唉,现在发现这个题目很有价值



clearclcload mtlbws=2000/Fs;%截止频率为0.13*pi的低通FIRb1=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:38x1=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!!!!