www.pudn.com > matlabsimulink.rar > c7e1.m, change:2010-05-24,size:865b


%--- 减法滤波器的MATLAB辅助设计文件 ----- 
clc; 
clear; 
% 设置减法滤波器的传递函数系数 
a1=1;b1=[1 0 0 0 0 0 -1]; 
f=0:1:600; 
h1=abs(freqz(b1,a1,f,1200)); 
% 由传递函数系数确定传递函数的幅频特性 
H1=h1/max(h1); 
% 绘出幅频特性 
plot(f,H1); 
xlabel('f/Hz');ylabel('H1'); 
% 滤波效果仿真 
% 模拟输入参数 
N=24; 
t1=(0:0.02/N:0.04); 
m=size(t1); 
% 基波电压 
Va=100*sin(2*pi*50*t1); 
%叠加直流分量和4,8次谐波分量 
Va1=35+100*sin(2*pi*50*t1)+30*sin(4*pi*100*t1)+10*sin(8*pi*100*t1); 
% 采用减法滤波器滤掉Va1中的直流分量和4,8次谐波分量 
Y=zeros(1,6); 
for jj=7:m(2) 
    Y(jj)=(Va1(jj)-Va1(jj-6))/1.414; 
end 
% 输出波形 
plot(t1,Va,'-ro',t1,Va1,'-bs',t1,Y,'-g*'); 
xlabel('t/s');ylabel('v/V'); 
grid on 
 
%采用加法滤波器滤掉Va2的1次谐波分量 
Y=zeros(1,12); 
for jj=13:m(2) 
    Y(jj)=(Va2(jj)+Va2(jj-12)); 
end 
Y 
plot(t,Va,'-ro',t,Va2,'-bo',t,Y,'-go') 
grid on