matlab 多通滤波,带通滤波 matlab

巴特沃斯:

1、带阻滤波器设计

带阻滤波器指标:

阻带上边界频率:5Kz;

阻带下边界频率:7Kz;

通带上边界频率:2Kz;

通带下边界频率:9Kz;

通带最大衰减:1dB;

阻带最小衰减:20dB;

设计程序如下:

wp=2*pi*[2000,9000];

ws=2*pi*[5000,7000];

Rp=1;

As=20;

[Nb,wc]=buttord(wp,ws,Rp,As,‘s‘);

[BSB,ASB]=butter(Nb,wc,‘stop‘,‘s‘);

[hk,w]=freqs(BSB,ASB);

subplot(2,2,1)

plot(w,20*log(abs(hk)),‘b‘)

xlabel(‘频率/Hz‘)

ylabel(‘幅度/dB‘)

title(‘幅频特性‘)

subplot(2,2,2)

plot(angle(hk))

xlabel(‘频率/Hz‘)

ylabel(‘相位‘)

title(‘相频特性‘)

程序运行结果:

巴特沃斯模拟带阻滤波器阶数:Nb=4

2、带通滤波器的设计

带通滤波器指标:

通带上边界频率:4Kz;

通带下边界频率:7Kz;

阻带上边界频率:2Kz;

阻带下边界频率:9Kz;

通带最大衰减:1dB;

阻带最小衰减:20dB;

设计程序如下:

wp=2*pi*[4000,7000];

ws=2*pi*[2000,9000];

Rp=1;

As=20;

[N,wc]=buttord(wp,ws,Rp,As,‘s‘);

[BB,AB]=butter(N,wc,‘s‘);

[hk,w]=freqs(BB,AB);

subplot(2,2,1)

plot(w,abs(hk),‘b‘)

xlabel(‘频率/Hz‘)

ylabel(‘幅度/dB‘)

title(‘幅频特性‘)

subplot(2,2,2)

plot(angle(hk))

xlabel(‘频率/Hz‘)

ylabel(‘相位‘)

title(‘相频特性‘)

程序运行结果:

巴特沃斯模拟带通滤波器阶数:N=5

原文:https://www.cnblogs.com/hjj-fighting/p/10324768.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB带通滤波代码的编写主要涉及到以下几个步骤: 1. 确定滤波器的类型和特性:通常有无限冲激响应(IIR)和有限冲激响应(FIR)两种类型的滤波器。根据需求选择合适的滤波器类型,并确定其带通滤波器的通带和阻带频率范围。 2. 设计滤波器:使用MATLAB提供的信号处理工具箱中的函数来设计滤波器。对于IIR滤波器,可以使用"butter"、"cheby1"或"ellip"等函数进行设计;对于FIR滤波器,可以使用"fir1"或"fir2"等函数进行设计。通过指定通带和阻带频率,以及滤波器阶数或窗函数类型等参数来设计滤波器。 3. 滤波信号:将待滤波的信号输入到设计好的滤波器中进行滤波。使用MATLAB中的"filter"函数,将滤波器的系数矩阵和待滤波信号作为输入,得到滤波后的信号。 4. 可选的后处理:根据需要可以对滤波后的信号进行后处理,如添加窗函数、归一化等操作。 下面是一个具体的MATLAB带通滤波代码示例,以使用IIR滤波器为例: ```matlab % 设定滤波器参数 fs = 1000; % 采样率 fc1 = 50; % 通带起始频率 fc2 = 200; % 通带结束频率 order = 4; % 滤波器阶数 % 设计带通滤波器 [b, a] = butter(order, [fc1, fc2]*2/fs, 'bandpass'); % 待滤波信号 t = 0:1/fs:1-1/fs; x = sin(2*pi*100*t) + sin(2*pi*300*t) + sin(2*pi*500*t); % 滤波信号 y = filter(b, a, x); % 绘制滤波前后的信号波形 figure; subplot(2,1,1); plot(t, x); title('原始信号'); subplot(2,1,2); plot(t, y); title('滤波后的信号'); ``` 上述代码中,使用了"butter"函数设计了一个4阶的IIR带通滤波器,其通带范围为50Hz到200Hz。待滤波信号为合成的100Hz、300Hz和500Hz三个正弦信号的叠加,通过"filter"函数进行滤波操作,最后绘制了滤波前后的信号波形。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值