0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

频域滤波的C//C++软件化实现

冬至子 来源:雷达系统工程师 作者:忠于梦想 2023-07-04 15:17 次阅读

概述

前段时间用matlab仿真了一波基于FFT卷积的频域FIR滤波器,比如采样率12MHz,需要做一个如下图所示的500KHz低通滤波器(带外抑制仅60dBc),滤波器的阶数为326阶,以XC7K325T的DSP资源数约840作为参考,在12MHz的时钟下只能实现5个这样的滤波器,在采用高频时钟后可以减低DSP资源使用率,但是当归一化频率不变,采样率上升到120MHz,同样的系数滤波器的低通截止频率为5MHz,虽然系数不变,但此时将很难再大幅提高时钟频率复用资源来降低占用率了,一方面不同规格的FPGA芯片都有其自身的频率限制,另一方面逻辑设计本身也会存在时许限制。

图片

带外抑制60dbc的阶数=326

图片

带外抑制80dBc的阶数=399

图片

归一化频率不变,采样率提升到120MHz时(注意:滤波器系数是相同的)

C/C++软件化实现

以下为FFT卷积算法在Qt的C\\C++环境下的实现FIR滤波的效果

图片

图片

原始信号的FFT结果即为常见的信号频谱,该信号存在较强的高次谐波

图片

而滤波器系数FFT后得到的是滤波器的幅频特性曲线,这一点比较有意思,滤波器系数实际是该滤波器的时域冲击响应波形的离散采样

图片

以上为滤波后的频域结果,图中500Khz以外的频谱部分全部被抑制了大约60dBc;

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 低通滤波器
    +关注

    关注

    14

    文章

    474

    浏览量

    47392
  • FFT
    FFT
    +关注

    关注

    15

    文章

    434

    浏览量

    59368
  • C++语言
    +关注

    关注

    0

    文章

    147

    浏览量

    6990
  • fir滤波器
    +关注

    关注

    1

    文章

    95

    浏览量

    19037
  • FPGA芯片
    +关注

    关注

    3

    文章

    246

    浏览量

    39795
收藏 人收藏

    评论

    相关推荐

    c++程序设计教程

    C++是一种高效应用的程序设计语言,它即可进行过程程序设计,也可进行面向对象程序设计,因而成了编程人员最广泛使用的工具。学好C++,很容易触类旁通其他软件
    发表于 04-08 00:36 124次下载
    <b class='flag-5'>c++</b>程序设计教程

    C/ C++/ Java 程序设计经典教程》

    C/ C++/ Java 程序设计经典教程》(Deitel 著) ●集作者几十年程序设计经验之精华,从软件工程的原理强调结构程序设计方法,追求程序的清晰优美,注重程序的性能和结
    发表于 04-08 02:10 398次下载

    C++课件、习题及答案

    *1.1  从CC++*1.2  最简单的C++程序 1.3  C++程序的构成和书写形式 1.4 
    发表于 09-08 09:35 108次下载
    <b class='flag-5'>C++</b>课件、习题及答案

    密码编码学(加密方法的CC++实现) pdf第二版

    密码编码学(加密方法的CC++实现)分分三个部分。第一部分描述密码学中的常用算法和数论算法,以及这些算法的CC++程序实;第二部分描述密
    发表于 09-25 09:49 0次下载

    C++课件

     C++面向对象程序设计 面向对象思想的由来面向对象程序设计面向对象程序设计语言C++C语言的关系 面向对象技术追求的是软件系统对现实世界的直接模
    发表于 04-10 13:41 0次下载

    C++内部类的实现及应用

    多重继承一直是C++语言中一个广受争议的语言特征。一般认为,在面向对象设计中应该谨慎使用多重继承。文章分析了C++中多重继承实现的复杂性并对如何高效使用多重继承进行了探讨
    发表于 06-28 17:59 50次下载
    <b class='flag-5'>C++</b>内部类的<b class='flag-5'>实现</b>及应用

    基于C++的modbus通讯协议模型实现

    基于C++的modbus通讯协议模型实现,很好的资料,快来下载学习吧。
    发表于 03-21 17:27 55次下载

    如何提高cc++的安全编程能力?《CC++安全编码》带你详细学习

    CC++安全编码是C/C++安全编码领域的权威著作,被视为“标准”参考书,由国际资深软件安全专家撰写,美国CERT主管亲自作序推荐。本书结
    发表于 08-28 08:00 0次下载

    C++程序设计教程之C++的初步知识的详细资料说明

    C++程序设计教程之C++的初步知识的详细资料说明包括了:1. 从CC++,2 . 最简单的C++程序,3 .
    发表于 03-14 14:48 31次下载
    <b class='flag-5'>C++</b>程序设计教程之<b class='flag-5'>C++</b>的初步知识的详细资料说明

    C++常见设计模式解析与实现

    C++常见设计模式解析与实现说明。
    发表于 06-01 15:44 11次下载

    基于C++和SCPI的功率传感器自动校准软件

    基于C++和SCPI的功率传感器自动校准软件
    发表于 06-22 15:24 22次下载

    虚拟机的设计与实现:C\C++

    虚拟机的设计与实现:C\C++
    发表于 02-21 15:10 0次下载

    浅谈C语言与C++的前世今生

    C++开发人员将有这些问题归咎于C,而C开发人员则认为C++过于疯狂。我觉得站在C的角度看C++
    发表于 05-26 09:27 462次阅读
    浅谈<b class='flag-5'>C</b>语言与<b class='flag-5'>C++</b>的前世今生

    C++之父新作带你勾勒现代C++地图

    为了帮助大家解决这些痛点问题,让大家领略现代C++之美,掌握其中的精髓,更好地使用C++C++之父Bjarne Stroustrup坐不住了,他亲自操刀写就了这本《C++之旅》!
    的头像 发表于 10-30 16:35 842次阅读
    <b class='flag-5'>C++</b>之父新作带你勾勒现代<b class='flag-5'>C++</b>地图

    C++实现类似instanceof的方法

    函数,可实际上C++中没有。但是别着急,其实C++中有两种简单的方法可以实现类似Java中的instanceof的功能。 在 C++ 中,确定对象的类型是编程中实际需求,使开发人员
    的头像 发表于 07-18 10:16 576次阅读
    <b class='flag-5'>C++</b>中<b class='flag-5'>实现</b>类似instanceof的方法