MATLAB CIC滤波

http://www.cnblogs.com/sunev/archive/2011/11/22/2258426.html
MATLAB中使用CIC滤波器进行滤波通常可以采用以下两种方式: 1. 使用fir1函数实现CIC滤波器 fir1函数是MATLAB中常用的一种滤波函数,可以用于设计各种类型的数字滤波器。在使用fir1函数实现CIC滤波器时,需要设置滤波器的阶数、截止频率、采样率等参数。下面是一个简单的示例代码: ```matlab % 设置CIC滤波器的参数 R = 8; % 增益因子 N = 4; % 不变延迟线级数 M = 2; % 不变加法器级数 Fs = 1000; % 采样率 Fpass = 100; % 通带截止频率 Fstop = 150; % 阻带截止频率 % 计算滤波器参数 DeltaF = Fs/(2*R*N*M); % 通带带宽 Fp = Fpass/DeltaF; % 归一化通带截止频率 Fs = Fstop/DeltaF; % 归一化阻带截止频率 b = fir1(N*M, Fp, 'low', kaiser((N*M+1), 5)); % 计算滤波器系数 % 生成随机信号并进行滤波 x = randn(1000, 1); y = filter(b, 1, x); ``` 2. 使用fdesign.decimator对象实现CIC滤波器 fdesign.decimator是MATLAB中用于设计数字降采样滤波器的对象,可以方便地实现CIC滤波器。在使用fdesign.decimator对象实现CIC滤波器时,需要设置滤波器的增益因子、阶数、通带带宽、截止频率等参数。下面是一个简单的示例代码: ```matlab % 设置CIC滤波器的参数 R = 8; % 增益因子 N = 4; % 不变延迟线级数 M = 2; % 不变加法器级数 Fs = 1000; % 采样率 Fpass = 100; % 通带截止频率 Fstop = 150; % 阻带截止频率 % 创建fdesign.decimator对象并设置滤波器参数 d = fdesign.decimator(R, 'CIC', 'NStages', N, 'Fpass', Fpass, 'Fstop', Fstop, 'Fs', Fs); % 计算滤波器系数 Hd = design(d); % 生成随机信号并进行滤波 x = randn(1000, 1); y = filter(Hd, x); ``` 以上是两种常用的MATLAB实现CIC滤波器的方法,你可以根据具体需求选择合适的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值