matlab cic设计,CIC滤波器设计
CIC滤波器实现简单,资源消耗少(只需要加法器),成为变采样率系统中比较常用的滤波器,但也需要在合适的场景中使用,不然对信号质量会造成较大影响。
我们可以通过matlab的filter designer了解CIC滤波器的各种特性。通过图1和图2找到CIC滤波器设计窗口。
图1
图2
从幅频曲线中容易得出CIC滤器器通带平台性差,过渡带宽,带外抑制性能起伏较大。
CIC级数设计
带外抑制性能可以通过增加CIC级数(Number Of Sections)来提升,但这会对通带平坦性带来负面影响,具体设计CIC时需要折中该参数。
通常在C语言实现CIC时,可以将该参数设计为偶数,这样会使拖尾是一个整数,方便去掉数据首尾的无效值。更进一步,设计为2,4,8时,归一化可以直接通过移位实现。
CIC滤器使用场景
当我们使用CIC时,需要保证有用信号的fmax应足够小于fs/2/Mcic,其中Mcic为内插倍数。这样才能保证在有效带宽内足够的平坦度,一般fmax相对于直流衰减不能超过0.5dB.
所以在变速率系统中,CIC一般作为最后数字滤波器的前端(靠近模拟域),如上采样系统中信号先经过限带成型滤波器(低通FIR),HB滤器组,最后经过CIC到DAC速率。
下图为8倍上采样的图示。
图3
CIC在matlab中的使用
需要注意的是为了保证CIC前后信号时域采样点平均功率的一致性,在第一级CIC滤波器中没有做归一化,这部分增益正好可以补偿上采样插0带来采样点功率的损失。后续每一级都要做归一化,防止溢出。
clear;clc;close all;
%% load data symbols from RRC out,make sure fmax << fs/2/Mcic
load('zeroDataFilterOut.mat') % 8x oversampling signal
symbPower = funCountPower(zeroDataFilterOut); % Power before filter
%% CIC filter for interpolate 8 times
Mcic = 8;
coefCic = ones(Mcic,1);
N = 4; % number of CIC section
modDataZero8x = upsample(zeroDataFilterOut,Mcic);
txPower = funCountPower(modDataZero8x); % Power after zero insertion
%% filter
dataFilterTemp = conv(modDataZero8x,coefCic); % First CIC section
for i = 1:N-1
dataFilterTemp = conv(dataFilterTemp,coefCic)/Mcic;
end
tailLen = N*(Mcic-1)/2;
dataOut = dataFilterTemp(tailLen+1:end-tailLen);
outPower = funCountPower(dataOut); % Power after filter
matlab cic设计,CIC滤波器设计相关推荐
- 双线性变换 matlab,matlab和双线性变换的滤波器设计.doc
matlab和双线性变换的滤波器设计.doc 武汉理工大学MATLAB课程设计报告书题目MATLAB课程设计基于MATLAB和双线性变换的滤波器设计初始条件MATLAB仿真软件数字信号处理与图像处理基 ...
- fir 低通 matlab,MATLAB常用的FIR滤波器设计方法之窗函数法
FIR滤波器很多工科出身的人都不会陌生,在我们的学习和工作中,也常常需要设计FIR滤波器.因为FIR滤波器有两个特点:滤波器是稳定的以及具有线性相位.FIR滤波器在信号处理相关领域当然也包括本人所在的 ...
- 基于matlab的巴特沃斯滤波器设计
一.butterworth滤波器也称最平响应特性滤波器,其特征多项式为: |K(jΩ)|^2=K(jΩ)K(-jΩ)=(Ω/Ωc)^2N 巴特沃斯滤波器的模平方函数为: |H(jΩ)|^2=1/(1+ ...
- Matlab幅频曲线和滤波器设计
前言少叙,下面开始正题. 一.离散数字信号的表示 n=-3:5;subplot(221); x1=(n==0); stem(n,x1,'.'); title('单位冲击'); axis([-4,4,- ...
- matlab emi滤波器设计,EMI滤波器设计.pdf
2011 年 7 月 第 7期 电 子 测 试 ELECTRONIC TEST Jul.2011 No.7 75 EMI滤波器设计 武小军, 秦开宇,唐博 (电子科技大学空天科学技术研究院,成都611 ...
- matlab模拟巴特沃斯滤波器设计,巴特沃斯滤波器matlab实现
描述 巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零. 在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大 ...
- 基于matlab的陷波滤波器设计
目录 一.理论基础 二.核心程序 三.仿真结论 一.理论基础 陷波滤波器指的是一种可以在某一个频率点迅速衰减输入信号,以达到阻碍此频率信号通过的滤波效果的滤波器.陷波滤波器属于带阻滤波器的一种,只是它 ...
- [Matlab]巴特沃夫滤波器设计:低通、高通、带通和带阻
巴特沃斯滤波器的特点: 1.通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零. 2.在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无 ...
- c语言课程设计fir滤波器设计,fir滤波器设计c语言
C语言编写FIR滤波器,代码如下: #include <> #include <> #include<> /**************************** ...
- 如何使用双线性变换法将模拟电路滤波器设计成为数字滤波器?
信号处理(数字模拟信号) 1.1 双线性变换设计递归滤波器 设计滤波器1 试着写出双线性变换法设计IIR数字高通滤波器的主要步骤 将数字高通的频率指标转换为模拟高通的频率指标(其中将高通截止频率通过预 ...
最新文章
- C#和Unity游戏开发者大师班2021 (2D,3D和FPS)
- vmoptions默认配置_AndroidStudio基本配置
- Centos7 关闭防火墙(转)
- Data Remove 程序总结
- java文件流 m.jb51.net_Linux指令范例速查手册(第2版)PDF 下载
- Java开发人员必备的7大技能,每一个都必不可少
- 被质疑“在开源社区执行微软意愿”,.NET 基金会前董事为其提交的 PR 道歉并辞职...
- python与tensorflow知识点截图集锦(持续囤积)
- 【Java】撩开Java线程的“神秘面纱”
- 树TreeView控件与DataTable交互添加节点(最高效的方法)
- 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_1 请求参数绑定入门
- lduan Centos 7 KVM Centos Windos (二)
- ROS机器人操作系统 优缺点分析
- 云课堂智慧职教答案python_云课堂智慧职教答案表,职教云答案课堂智慧职教答案公众号,云课堂智慧职教答案python...
- python省略号用法
- 使用python脚本抢购天猫和淘宝商品,0秒下单
- Spring的bean定义 2 : 通用bean定义逻辑 -- AbstractBeanDefinition
- ant design vue:upload打开选择文件弹框前弹出确认框
- OSPF ISIS RIP实现总公司与分公司等的互联
- 免认证使用校园网(2022.6.3更新)