matlab cic滤波器
时间: 2023-08-30 14:05:31 浏览: 85
CIC(Cascade Integrator-Comb)滤波器是一种数字滤波器,主要用于减小采样频率的滤波器。CIC滤波器主要由积分器和组合器两部分组成,具有简单、高效、低成本等优点,在数字信号处理中得到广泛应用。
以下是MATLAB中实现CIC滤波器的步骤:
1. 定义CIC滤波器的参数:CIC滤波器参数包括抽取因子、积分器阶数、组合器阶数等。
2. 定义输入信号和输出信号:在MATLAB中,可以使用数字信号函数来定义输入信号,使用fir1函数来定义CIC滤波器的系数,然后使用filter函数来对输入信号进行滤波,得到输出信号。
3. 绘制输入信号和输出信号的波形图:使用plot函数将输入信号和输出信号的波形分别绘制在同一张图上,以便比较它们的差异。
以下是MATLAB中实现CIC滤波器的示例代码:
```matlab
% CIC滤波器参数
R = 2; % 抽取因子
M = 3; % 积分器阶数
N = 2; % 组合器阶数
L = R^M; % 滤波器长度
B = 1; % 量化因子
% 输入信号
fs = 1000; % 采样频率
ts = 1/fs; % 采样时间
t = 0:ts:1; % 时间向量
x = sin(2*pi*100*t) + sin(2*pi*200*t); % 两个正弦波叠加
% CIC滤波器系数
h = fir1(L-1, 1/R, 'low')*R^M*B;
% CIC滤波器滤波
y = filter(h, 1, x);
% 绘制波形图
figure;
plot(t, x, 'b', t, y, 'r');
legend('Input Signal', 'Output Signal');
xlabel('Time (s)');
ylabel('Amplitude');
title('CIC Filter');
```
在运行上述代码之后,将绘制输入信号和输出信号的波形图。可以看到,经过CIC滤波器滤波后,输出信号的频率已经降低,滤波效果良好。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)