您好,欢迎访问三七文档
%陷波器的设计%陷波器的传输函数为%B(1/z)(z-exp(j*2*pi*f0))*(z-exp(-j*2*pi*f0))%H(z)=--------=--------------------------------------------%A(1/z)(z-a*exp(j*2*pi*f0))*(z-a*exp(-j*2*pi*f0))%其中f0为陷波器要滤除信号的频率,a为与陷波器深度相关的参数,a越大,深度越深。%%已知信号中50Hz工频干扰,信号为x=sin(2*pi*50*n*Ts)+sin(2*pi*125*n*Ts);%要求通过陷波器滤除50Hz干扰信号%参数设置:采样率Ts=0.001s,采样长度:512点clf;clear;%设置初值f0=50;Ts=0.001;fs=1/Ts;NLen=512;n=0:NLen-1;%陷波器的设计apha=-2*cos(2*pi*f0*Ts);beta=0.96;b=[1apha1];a=[1apha*betabeta^2];figure(1);freqz(b,a,NLen,fs);%陷波器特性显示x=sin(2*pi*50*n*Ts)+sin(2*pi*125*n*Ts);%原信号y=dlsim(b,a,x);%陷波器滤波处理%对信号进行频域变换。xfft=fft(x,NLen);xfft=xfft.*conj(xfft)/NLen;y1=fft(y,NLen);y2=y1.*conj(y1)/NLen;figure(2);%滤除前后的信号对比。subplot(2,2,1);将绘图窗口划分为2×2个子窗口(子图),并在第1个子窗口中绘图plot(n,x);绘出原信号grid;切换当前轴的主要网格线的可见性xlabel('Time(s)');在绘图窗口中的横轴(x轴)方向上显示Time(s),以说明横轴(x轴)表示时间,单位:秒ylabel('Amplitude');在绘图窗口中的纵轴(y轴)方向上显示Amplitude,以说明纵轴表示振幅title('Inputsignal');在顶部和在当前坐标轴的中心输出标Inputsignal。subplot(2,2,3);将绘图窗口划分为2×2个子窗口(子图),并在第3个子窗口中绘图plot(n,y);绘出处理后信号grid;切换当前轴的主要网格线的可见性xlabel('Time(s)');在绘图窗口中的横轴(x轴)方向上显示Time(s),以说明横轴(x轴)表示时间,单位:秒ylabel('Amplitude');在绘图窗口中的纵轴(y轴)方向上显示Amplitude,以说明纵轴表示振幅title('Filteroutput');在顶部和在当前坐标轴的中心输出标Filteroutput。subplot(2,2,2);将绘图窗口划分为2×2个子窗口(子图),并在第2个子窗口中绘图plot(n*fs/NLen,xfft);绘出原信号傅里叶变换axis([0fs/2min(xfft)max(xfft)]);设定坐标的范围grid;切换当前轴的主要网格线的可见性xlabel('Frequency(Hz)');在绘图窗口中的横轴(x轴)方向上显示Frequency(Hz),ylabel('Magnitude(dB)');在绘图窗口中的纵轴(y轴)方向上显示Magnitude(dB),title('Inputsignal');在顶部和在当前坐标轴的中心输出标Inputsignal。plot(n*fs/NLen,y2);绘出处理后信号傅里叶变换axis([0fs/2min(y2)max(y2)]);设定坐标的范围grid;切换当前轴的主要网格线的可见性xlabel('Frequency(Hz)');在绘图窗口中的横轴(x轴)方向上显示Frequency(Hz),ylabel('Magnitude(dB)');在绘图窗口中的纵轴(y轴)方向上显示Magnitude(dB),title('Filteroutput');在顶部和在当前坐标轴的中心输出标Filteroutput。
本文标题:陷波滤波器
链接地址:https://www.777doc.com/doc-7858429 .html