多速率信号处理-CIC滤波器

news2024/11/19 17:34:56

基本原理

级联积分梳状滤波器(Cascade Intergrator Comb)是多速率信号处理中一种十分高效的数字滤波器。CIC滤波器具有低通滤波器的特性,同时具有以下优势:

  • 滤波器系数全为1,设计时不需要存储滤波器系数,节省存储单元,同时使得滤波时只需要加法器和累加器,不需要乘法器
  • 结构规则,可灵活设置插值因子而不影响整体结构

积分器

积分器结构为

2024after4202409052106726.png

时域上可表示为

y 1 ( n ) = x ( n ) + y 1 ( n − 1 ) y_1(n)=x(n)+y_1(n-1) y1(n)=x(n)+y1(n1)

频域上可表示为

H 1 ( e j w ) = 1 1 − e − j w H_1(\mathrm{e}^{\mathrm{j}w})=\frac{1}{1-\mathrm{e}^{-\mathrm{j}w}} H1(ejw)=1ejw1

可得积分器的幅度谱为

∣ H 1 ( e j w ) ∣ = ∣ 1 1 − e − j w ∣ = ∣ 1 e − j w / 2 ( e j w / 2 − e − j w / 2 ) ∣ = ∣ 1 2 sin ⁡ ( w 2 ) ∣ \left|H_1(\mathrm{e}^{jw})\right|=\left|\frac{1}{1-\mathrm{e}^{-jw}}\right|=\left|\frac{1}{\mathrm{e}^{-jw/2}(\mathrm{e}^{jw/2}-\mathrm{e}^{-jw/2})}\right|=\left|\frac{1}{2\sin\left(\frac{w}{2}\right)}\right| H1(ejw) = 1ejw1 = ejw/2(ejw/2ejw/2)1 = 2sin(2w)1

从公式可以得出积分器只有极点 ( ω = 2 k π , k 为整数 ) (\omega = 2k \pi,k为整数) (ω=2k为整数)而无零点,且对直流信号具有无限大的增益。

1725542139077.png

梳状滤波器

时域上可表示为

y C ( n ) = x ( n ) − x ( n − R M ) y_C(n)=x(n)-x(n-RM) yC(n)=x(n)x(nRM)

R和M的乘积表示梳状滤波器的延时长度

频域上可表示为

H C ( z ) = 1 − z − R M H_\mathrm{C}(z)=1-z^{-RM} HC(z)=1zRM

幅度谱为

∣ H C ( e j w ) ∣ = ∣ 1 − e − j R M w ∣ = ∣ e − j R M w / 2 ( e j R M w / 2 − e − j R M w / 2 ) ∣ = 2 ∣ sin ⁡ ( R M 2 w ) ∣ \left|H_{\mathrm{C}}(\mathrm{e}^{\mathrm{j}w})\right|=\left|1-\mathrm{e}^{-\mathrm{j}RMw}\right|=\left|\mathrm{e}^{-\mathrm{j}RMw/2}(\mathrm{e}^{\mathrm{j}RMw/2}-\mathrm{e}^{-\mathrm{j}RMw/2})\right|=2\left|\sin\left(\frac{RM}{2}w\right)\right| HC(ejw) = 1ejRMw = ejRMw/2(ejRMw/2ejRMw/2) =2 sin(2RMw)

1725542829180.png

可知梳状滤波器只有零点,没有极点

若R=0、M=1,则结构为

1725542752856.png

由此可知单级CIC滤波器的幅度谱为

∣ H C I C ( e j w ) ∣ = ∣ H 1 ( e j w ) ∣ ⋅ ∣ H C ( e j w ) ∣ = ∣ sin ⁡ ( R M 2 w ) sin ⁡ ( w 2 ) ∣ \left|H_{\mathrm{CIC}}(\mathrm{e}^{\mathrm{j}w})\right|=\left|H_{1}(\mathrm{e}^{\mathrm{j}w})\right|\cdot\left|H_{\mathrm{C}}(\mathrm{e}^{\mathrm{j}w})\right|=\left|\frac{\sin\left(\frac{RM}{2}w\right)}{\sin\left(\frac{w}{2}\right)}\right| HCIC(ejw) = H1(ejw) HC(ejw) = sin(2w)sin(2RMw)

当$\mathrm{RM\omega}/2=\mathrm{k}:\pi 时,即 时,即 时,即w=\frac{2k\pi}{RM}\quad(k=\pm1,\pm2,\cdots,\pm(RM-1))$时可以确定零点

ω / 2 = k π ,即 ω = 2 k π \omega /2 =k\pi,即\omega = 2k\pi ω/2=,即ω=2时,可得此时的幅频响应为

∣ H C I C ( e j ω ) ∣ ω = 2 k π = R M \left|H_{\mathrm{CIC}}(\mathrm{e}^{\mathrm{j}\omega})\right|_{\omega=2k\pi}=RM HCIC(ejω) ω=2=RM

从而实现了零极点相消

单级CIC滤波器在 ω = 0 时 ∣ H C I C ( e j ω ) ∣ = R M \omega =0时 \left| H_{CIC}(e^{j\omega}) \right|=RM ω=0 HCIC(e) =RM,所以主瓣区间为 [ 0 , 2 π R M ] \begin{bmatrix}0,\frac{2\pi}{RM}\end{bmatrix} [0,RM2π],其余都为旁瓣,第一旁瓣电平为

A 1 = ∣ H C I C ( e j w ) ∣ w = 3 π R M = ∣ sin ⁡ ( R M 2 × 3 π R M ) sin ⁡ ( 1 2 × 3 π R M ) ∣ = ∣ 1 sin ⁡ ( 3 π 2 R M ) ∣ A_1=\left|H_{\mathrm{CIC}}(\mathrm{e}^{\mathrm{j}w})\right|_{w=\frac{3\pi}{RM}}=\left|\frac{\sin\left(\frac{RM}{2}\times\frac{3\pi}{RM}\right)}{\sin\left(\frac{1}{2}\times\frac{3\pi}{RM}\right)}\right|=\left|\frac{1}{\sin\left(\frac{3\pi}{2RM}\right)}\right| A1= HCIC(ejw) w=RM3π= sin(21×RM3π)sin(2RM×RM3π) = sin(2RM3π)1

因此旁瓣抑制为

A = ∣ R M sin ⁡ ( 3 π 2 R M ) ∣ A=\left|RM\sin\left(\frac{3\pi}{2RM}\right)\right| A= RMsin(2RM3π)

R → ∞   \mathrm{R}\rightarrow\infty  R∞ 时,旁瓣抑制为

A = 20 l g ( lim ⁡ R → ∞ A ) = 20 l g ( 3 π 2 ) = 13.46 d B A=20lg(\lim_{R\to\infty}A)=20lg(\frac{3\pi}{2})=13.46dB A=20lg(RlimA)=20lg(23π)=13.46dB

单级CIC滤波器的阻带衰减为

α = − 20 l g b \alpha =-20lgb α=20lgb

带内容差(通带波纹)为

δ = 20 l g ∣ b π sin ⁡ ( b π ) ∣ \delta = 20lg\left|\frac{b\pi}{\sin(b\pi)}\right| δ=20lg sin()

其中b为带宽比例因子

b = B f s / ( R M ) b=\frac{B}{f_s/(RM)} b=fs/(RM)B

单级CIC滤波器的旁瓣电平较高,可通过多级CIC级联改善。

∣ H ( e j w ) ∣ = ∣ sin ⁡ ( R M 2 w ) sin ⁡ ( w 2 ) ∣ N \left|H(\mathrm{e}^{\mathrm{j}w})\right|=\left|\frac{\sin\left(\frac{RM}{2}w\right)}{\sin\left(\frac{w}{2}\right)}\right|^N H(ejw) = sin(2w)sin(2RMw) N

1725886131150.png

对于N级CIC级联滤波器,旁瓣抑制、阻带衰减、带内容差可表示为

{ A N = 13.46 N   d B α N = − 20 N lg ⁡ b δ N = 20 N lg ⁡ ∣ b π sin ⁡ ( b π ) ∣ \begin{cases}A_\mathrm{N}=13.46N\:\mathrm{dB}\\\alpha_\mathrm{N}=-20N\lg b\\\delta_\mathrm{N}=20N\lg\left|\frac{b\pi}{\sin(b\pi)}\right|\end{cases} AN=13.46NdBαN=20NlgbδN=20Nlg sin()

增大CIC滤波器阶数的话,可以增加旁瓣抑制和阻带衰减,但是会导致带内容差变大。因此考虑到通带性能,通常选择 N ≤ 5 N\leq5 N5。在N不变的情况下,带宽比例因子b越小,CIC滤波器的通带和阻带特性也越好,因此CIC一般位于插值系统的最后一级(输入速率最高)

位增长问题

由多级滤波器的幅频响应可知,当 ω → 0 \omega \rightarrow 0 ω0

lim ⁡ w → 0 ∣ H ( e j w ) ∣ = lim ⁡ w → 0 ∣ R M 2 ⋅ cos ⁡ ( R M w / 2 ) 1 2 ⋅ cos ⁡ ( w / 2 ) ∣ N = ( R M ) N \lim\limits_{w\to0}\Bigl|H(\mathrm{e}^{\mathrm{j}w})\Bigr|=\lim\limits_{w\to0}\Biggl|\frac{\frac{RM}{2}\cdot\cos(RMw/2)}{\frac{1}{2}\cdot\cos(w/2)}\Biggr|^N=(RM)^N w0lim H(ejw) =w0lim 21cos(w/2)2RMcos(RMw/2) N=(RM)N

由此可知多级CIC滤波器可以引起的幅度增益的最大值为

G m a x = ( R M ) N G_{max}=(RM)^N Gmax=(RM)N

假设输入的数据 x ( n ) x(n) x(n)为有符号数,位宽为 B i n B_{in} Bin,取值范围为 [ − 2 B i n − 1 , 2 B i n − 1 − 1 ] [-2^{B_{in}-1},2^{B_{in}-1}-1] [2Bin1,2Bin11],则输出 y ( n ) y(n) y(n)的最大值为

y m a x = − 2 B m − 1 ⋅ ( R M ) N y_{max}=-2^{B_{\mathrm{m}}-1}\cdot\left(RM\right)^N ymax=2Bm1(RM)N

因此输出的最大位宽为

B o u t = ceil [ log ⁡ 2 ∣ y m a x ∣ ] + 1 = N ⋅ ceil [ log ⁡ 2 ( R M ) ] + B i n B_{\mathrm{out}}=\text{ceil}[\log_2|y_{\mathrm{max}}|]+1=N\cdot\text{ceil}[\log_2(RM)]+B_{\mathrm{in}} Bout=ceil[log2ymax]+1=Nceil[log2(RM)]+Bin

在FPGA设计时,要合理地设置输出信号的位宽,防止数据的溢出,为了节省资源,也可以在每一级适当的进行截位

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2132580.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

拖放WORD文件朗读全文

把WORD拖放到tkinter的窗口,就可以朗读整改word文件的内容。 代码: # -*- coding: utf-8 -*- """ Created on Tue Sep 10 17:09:35 2024author: YBK """ import pyttsx3 import comtypes.client import os import tkint…

按包边(边框)尺寸分类异形创意圆形(饼/盘)LED显示屏有哪些种类

在LED显示屏技术日新月异的今天,异形创意圆形(饼/盘)LED显示屏凭借其独特的形态设计与广泛的应用场景,成为了商业展示、舞台表演、艺术装置以及户外广告等领域的宠儿。其中,按包边(边框)尺寸的不…

holynix靶机详解

靶机配置 加一个网络适配器(网卡) 修改MAC地址 00:0C:29:BC:05:DE 原来的网卡设置为桥接,随机生成MAC地址 重启靶机即可扫到靶机IP 主机探测与端口扫描 arp-scan -l 发现开放80端口 nmap -sV -A -T4 192.168.229.153 访问网站 http://1…

OpenAI O1:人工智能推理能力的新里程碑

引言 北京时间9月13日凌晨,OpenAI在没有任何预告的情况下,正式发布了其首款具有推理能力的模型——OpenAI O1。这一模型的发布,不仅标志着人工智能能力的新水平,也预示着AI技术发展的新范式。本文将详细解析OpenAI O1模型的技术特…

【计网】数据链路层:概述之位置|地位|链路|数据链路|帧

✨ Blog’s 主页: 白乐天_ξ( ✿>◡❛) 🌈 个人Motto:他强任他强,清风拂山岗! 💫 欢迎来到我的学习笔记! ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ 1. 在OSI体系结构中的位置 1. 位置:数…

每日一练:K个一组翻转链表

25. K 个一组翻转链表 - 力扣(LeetCode) 一、题目要求 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#x…

时间复杂度计算 递归

我们先拿出 2021 csp-s 程序题中一道看着就头大的程序题,要求分析 solve1 的复杂度。 设 T(n) ⁡ \operatorname{T(n)} T(n) 表示数组长度为 n n n 时的复杂度(即 m − h 1 n m-h1n m−h1n)。 T ( 1 ) 1 T(1)1 T(1)1,根据…

计算机毕业设计 酷听音乐系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

【SQL】百题计划:SQL排序Order by的使用。

简述: 排序函数:Order by;升序 ASC;降序 DESC; 答案: Select distinct author_id as id from Views where author_id viewer_id order by id Asc;

关于华大/小华 HC32F460 在IAR环境中,无法启用FPU 硬件浮点运算单元的解决方案

需求:要使用浮点FFT功能,面开启M4的 FPU功能 问题:无法开启 FPU,如下图所示:此栏为灰色,无法选择 尝试强制增加 __ARMVFP__: 编译出错,无法内链FPU: 解决方案&#xff1…

[000-01-008].第05节:OpenFeign高级特性-日志打印功能

我的后端学习大纲 SpringCloud学习大纲 1、日志打印功能: 1.Feign 提供了日志打印功能,我们可以通过配置来调整日志级别,从而了解 Feign 中 Http 请求的细节,说白了就是对Feign接口的调用情况进行监控和输出 2、日志级别: NONE&…

vue3【实战-组件封装】图文卡片

效果预览 技术要点 图片宽高比固定为 16:9,展示方式为 object-fit: cover通过 v-bind 实现父组件向子组件的批量传参单行文本超长显示省略号 white-space: nowrap; overflow: hidden; text-overflow: ellipsis; title 属性实现鼠标悬浮显示文本完整内容 范例代码 …

HarmonyOS开发之使用Picker(从相册选择图片),并且通过Swiper组件实现图片预览

一:效果图: 二:添加依赖 import picker from ohos.file.picker; 三:创建showDialog showDialog() {AlertDialog.show({message: 从相册选择,alignment: DialogAlignment.Bottom,offset: { dx: 0, dy: -12 },primaryButton: {val…

Java面试、技巧、问题、回复,资源面面观

入门 先了解一下面试流程 复习 Java 基础知识: 温习 Java 编程的核心概念,包括数据类型、变量、循环、数组和面向对象的编程原则。数据结构和算法: 加强您对 Java 编程中使用的基本数据结构和算法的理解。练习编码: 在各种平台上解…

PHP一键约课高效健身智能健身管理系统小程序源码

一键约课,高效健身 —— 智能健身管理系统让健康触手可及 🏋️‍♀️ 告别繁琐,一键开启健身之旅 你还在为每次去健身房前的繁琐预约流程而烦恼吗?现在有了“一键约课高效健身智能健身管理系统”,所有问题都迎刃而解…

YARN----调度策略

Yarn中,负责给应用分配资源的就是Scheduler 在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,Fair Scheduler FIFO Scheduler 先进先出策略 在进行资源分配的时候,先给队列中最先上的应用进行分配…

springboot从分层到解耦

注释很详细,直接上代码 三层架构 项目结构 源码: HelloController package com.amoorzheyu.controller;import com.amoorzheyu.pojo.User; import com.amoorzheyu.service.HelloService; import com.amoorzheyu.service.impl.HelloServiceA; import o…

GoogleSQL:SQL 中的 Pipe 语法

这些是我根据论文 SQL Has Problems 编写的笔记。我们可以修复它们:SQL 中的 Pipe 语法 TL博士 SQL 长期以来一直是结构化数据处理的主导语言,通过本文,GoogleSQL 团队引入了一种新的管道结构化数据流语法,该语法显著提高了 SQL …

自学前端靠谱吗?

很多同学都会对自学前端持怀疑态度,这靠谱吗? 靠自学能学得会?一听就不靠谱,一定是骗子。 但实际上,大家都掉入一个错觉当中了。。。 一个天大的错觉 指望公司教你 在大厂,会有培训体系,会…

51单片机快速入门之定时器和计数器

51单片机快速入门之定时器 断开外部输入 晶振振荡 假设为 12MHz 12分频之后,为1MHz 当其从0-65536 时,需要65536μs 微秒 也就是65.536ms 毫秒 溢出(值>65536 时)>中断>执行中断操作 假设需要1ms后产生溢出,则需要设置初始值为64536 此时定时器会从 64536 开始计…