[matlab]通道化测试程序

来源:互联网 发布:三星g925a支持的网络 编辑:程序博客网 时间:2024/06/04 19:49
close all;clear;clc;N      = 99;    % OrderFstop1 = 10;    % First Stopband FrequencyFpass1 = 11.5;  % First Passband FrequencyFpass2 = 13.5;  % Second Passband FrequencyFstop2 = 15;    % Second Stopband FrequencyFs     = 100;   % Sampling Frequencyh = fdesign.bandpass('n,fst1,fp1,fp2,fst2', N, Fstop1, Fpass1, Fpass2, ...    Fstop2, Fs);Hd = design(h, 'equiripple');Hbp = Hd.Numerator;t=0:1/Fs:100;t(end)=[];sig=cos(2*pi*12.2*t)+cos(2*pi*22.8*t);SIG=fft(sig);SIG=abs(SIG)/length(SIG);F=linspace(0,Fs,length(t));plot(F(1:5000),SIG(1:5000));Hbp_reg=zeros(size(Hbp));sig1=zeros(size(sig));for k=1:length(sig)    Hbp_reg(2:end)=Hbp_reg(1:length(Hbp_reg)-1);    Hbp_reg(1)=sig(k);    sig1(k)=sum(Hbp_reg.*Hbp);endSIG1=fft(sig1);SIG1=abs(SIG1)/length(SIG1);figure;plot(F(1:5000),SIG1(1:5000));sig2=sig1(10:10:length(sig1));Fs2=Fs/10;SIG2=fft(sig2);SIG2=abs(SIG2)/length(SIG2);F2=linspace(0,Fs2,length(sig2));figure;plot(F2(1:500),SIG2(1:500));Hbp_array=reshape(Hbp,10,10);sig3=zeros(size(sig2));HbpReg_array=zeros(size(Hbp_array));index=10;for k=1:length(sig)    HbpReg_array(index,(2:10))=HbpReg_array(index,(1:9));    HbpReg_array(index,1)=sig(k);    index=index-1;    if index==0        sig3(k/10)=sum(sum(HbpReg_array.*Hbp_array));        index=10;    endendSIG3=fft(sig3);SIG3=abs(SIG3)/length(SIG3);figure;plot(F2(1:500),SIG3(1:500));sum(abs(sig2-sig3))N     = 99;   % OrderFpass = 1;    % Passband FrequencyFstop = 2.5;  % Stopband FrequencyFs    = 100;  % Sampling Frequencyh = fdesign.lowpass('n,fp,fst', N, Fpass, Fstop, Fs);Hd = design(h, 'equiripple', ...    'StopbandShape', 'flat');Hlp=Hd.Numerator;%theta_freq=12.5;theta_freq=22.5;theta_freq=2*pi*theta_freq*(0:99);theta_freq=theta_freq/Fs;theta_freq=exp(1i*theta_freq);Hlp=Hlp.*theta_freq;fvtool(Hlp);fvtool(Hbp);Hlp_reg=zeros(size(Hlp));sig4=complex(zeros(size(sig)));for k=1:length(sig)    Hlp_reg(2:end)=Hlp_reg(1:length(Hlp_reg)-1);    Hlp_reg(1)=sig(k);    sig4(k)=sum(Hlp_reg.*Hlp);endSIG4=fft(sig4);SIG4=abs(SIG4)/length(SIG4);figure;plot(F(1:5000),SIG4(1:5000))sig5=complex(zeros(size(sig2)));Hlp_array=reshape(Hlp,10,10);HlpReg_array=zeros(size(Hlp_array));index=10;for k=1:length(sig)    HlpReg_array(index,(2:10))=HlpReg_array(index,(1:9));    HlpReg_array(index,1)=sig(k);    index=index-1;    if index==0        sig5(k/10)=sum(sum(HlpReg_array.*Hlp_array));        index=10;    endendSIG5=fft(sig5);SIG5=abs(SIG5)/length(SIG5);figure;plot(F2(1:500),SIG5(1:500));

0 0
原创粉丝点击