陷波器设计

程序清单有

% 50Hz notch filter

% sample frequency=400

%

clear all;

clc;

 

b=[1 -sqrt(2) 1];

a=[1 -sqrt(2)*0.999 0.999];

[db, mag, pha, grd, w]=freqz_m(b, a);       

subplot(221); plot(w*200/pi, db); title(' Magnitude Response' );

xlabel('frequency in Hz'); ylabel('dB'); axis([0, 100, -200, 5]);

set(gca, 'XTickMode', 'manual', 'XTick', [0, 50, 100]);

set(gca, 'YTickmode', 'manual', 'YTick', [-200, -100, 0]); grid

title('Notch filter response');

t0=1:8000;

t=1:256;

t1=1:100;

t2=1:128;

x=sin(2*pi*50*t0/400)+0.5*sin(2*pi*100*t0/400);

x1=x(t);

y=filter(b,a,x1);

subplot(222); plot(x1);

title('Original waveform');

X=fft(x1);

subplot(223); plot(t2*400/256,abs(X(t2)));

xlabel('frequency in Hz'); ylabel('|H|'); axis([0, 200, 0, 150]);

title('Spectrum for original');

set(gca, 'XTickMode', 'manual', 'XTick', [0, 50, 100, 150]);

set(gca, 'YTickmode', 'manual', 'YTick', [50, 100]); grid

y=filter(b,a,x);

x1=y(t+7600);

X=fft(x1);

subplot(224); plot(t2*400/256,abs(X(t2)));

xlabel('frequency in Hz'); ylabel('|H|'); axis([0, 200, 0, 150]);

title('Spectrum after filter');

set(gca, 'XTickMode', 'manual', 'XTick', [0, 50, 100, 150]);

set(gca, 'YTickmode', 'manual', 'YTick', [50, 100]); grid

 

 

figure(2);

subplot(611);plot(x(t1)); axis([1, 100, -1.5, 1.5]); ylabel('input x');

set(gca, 'YTickmode', 'manual', 'YTick', [-1,-0.5,0, 0.5,1]); grid

subplot(612);plot(y); axis([1, 100, -1.5, 1.5]); ylabel('first');

set(gca, 'YTickmode', 'manual', 'YTick', [-1,-0.5,0,0.5,1]); grid

subplot(613);plot(y); axis([401, 500, -1.5, 1.5]); ylabel('second');

set(gca, 'YTickmode', 'manual', 'YTick', [-1,-0.5,0, 0.5,1]); grid

subplot(614);plot(y); axis([1201, 1300, -1.0, 1.0]); ylabel('forth');

set(gca, 'YTickmode', 'manual', 'YTick', [-0.5,0, 0.5]); grid

subplot(615);plot(y); axis([2000, 2100, -1.0, 1.0]); ylabel('sixth');

set(gca, 'YTickmode', 'manual', 'YTick', [-0.5,0, 0.5]); grid

subplot(616);plot(y); axis([3601, 3700, -1.0, 1.0]); ylabel('tenth');

set(gca, 'YTickmode', 'manual', 'YTick', [-0.5,0, 0.5]); grid

 

figure(3);

subplot(611);plot(y); axis([4401, 4500, -1, 1]); ylabel('twelfth');

set(gca, 'YTickmode', 'manual', 'YTick', [-0.5,0, 0.5]); grid

subplot(612);plot(y); axis([5201, 5300, -1.0, 1.0]); ylabel('fourteenth');

set(gca, 'YTickmode', 'manual', 'YTick', [-0.5,0, 0.5]); grid

subplot(613);plot(y); axis([6001, 6100, -1.0, 1.0]); ylabel('sixteenth');

set(gca, 'YTickmode', 'manual', 'YTick', [-0.5,0, 0.5]); grid

subplot(212);plot(y); axis([7601, 7650, -1.0, 1.0]); ylabel('twentieth');

set(gca, 'YTickmode', 'manual', 'YTick', [-0.5, 0, 0.5]); grid

 

滤波器频响,输入和输出的谱图

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值