[③ADRV902x]: Digital Filter Configuration(接收端)

news2024/9/26 3:23:52

前言

本篇博客主要总结了ADRV9029 Rx接收端链路中各个滤波器的配置。配置不同的滤波器系数以及不同的参数,可以对输入的数字信号灵活得做decimation处理,decimation信号抽取,就是降低信号采样率的过程。

Receiver Signal Path

下图为接收端I/Q两路的接收链路,对ADRV9029S四路接收Rx1/Rx2/Rx3/Rx4都是一样的:

在链路中重要的模块:

  • TIA: transimpedance amplifier(跨阻放大器)是一个LPF,AD接收端带宽最大到200 MHz,每个TIA支持100 MHz pass-band分给I/Q两路。

Decimation stages:在TIA之后的一部分decimation可以由DEC5或者FIR2, FIR1和RHB3的组合决定,如果由DEC5决定的话,就降采5倍,如果由FIR2, FIR1和RHB3的组合决定的话,可以降采2,4或者8倍。

  • DEC5:5倍降采,filter系数固定。
  • Finite Impulse Response Filter (FIR1/FIR2):两倍降采或者bypass,filter系数固定。
  • Receive Half-Band 3 Filter (RHB3):两倍降采,filter系数固定。
  • Receive Half-Band 2 Filter (RHB2):两倍降采或者bypass,filter系数固定。
  • Receive Half-Band High Rejection 1 Filter (RHB1 (HR)):两倍降采或者bypass,filter系数固定。
  • Receive Half-Band Low Power 1 Filter (RHB1 (LP)):两倍降采或者bypass,filter系数固定。
  • Receive PFIR Filter:可以配置1,2,4倍降采或者bypass,并且滤波器系数可以配置,可以选择24,48或者72 filter taps。并且也可以配置gain为+6 dB,0 dB,-6 dB或者-12 dB。

关于滤波器的配置在API 参考代码里有个对应数据结构体adi_adrv9025_RxProfile_t

/**
 *  \brief Data structure to hold settings for the current Rx specific use case profile
 */
typedef struct adi_adrv9025_RxProfile
{
    adi_adrv9025_RxChannels_e      channelType;                     /*!< Channel type described by this profile (Rx/ORx/Loopback) */
    uint8_t                        rxFirDecimation;                 /*!< Rx FIR decimation (1,2,4) */
    uint8_t                        rxDec5Decimation;                /*!< Decimation of Dec5 or Dec4 filter (5,4) */
    uint8_t                        rhb1Decimation;                  /*!< RX Halfband1 (HB1) decimation. Can be either 1 or 2 */
    uint8_t                        rhb1WideBandMode;                /*!< 1 = HB1 is wider, 0 = HB1 is narrow, ORx and loopback profiles ignore this field */
    uint8_t                        rhb2Decimation;                  /*!< RX Halfband2 (HB2) decimation. Can be either 1 or 2 */
    uint8_t                        rhb3Decimation;                  /*!< RX Halfband3 (HB3) decimation. Can be either 1 or 2 */
    uint8_t                        rxFir1Decimation;                /*!< Rx FIR decimation (1,2) */
    uint8_t                        rxFir2Decimation;                /*!< Rx FIR decimation (1,2), ORx and loopback profiles ignore this field */
    uint32_t                       rxOutputRate_kHz;                /*!< Rx Output data rate in kHz */
    uint32_t                       rfBandwidth_kHz;                 /*!< Rx RF passband bandwidth for the profile */
    uint32_t                       rxBbf3dBCorner_kHz;              /*!< Rx BBF (TIA) 3dB corner in kHz */
    uint32_t                       rxAdcBandWidth_kHz;              /*!< Rx ADC bandwidth - tunes the bandwidth of the passband and noise transfer functions of the ADC */
    adi_adrv9025_RxFir_t           rxFir;                           /*!< Rx FIR filter structure */
    adi_adrv9025_RxDdc_e           rxDdcMode;                       /*!< Rx DDC mode */
    adi_adrv9025_RxNcoShifterCfg_t rxNcoShifterCfg;                 /*!< Rx NCO Shift parameters used for ZIF->RIF, CIF->ZIF, ORX only uses band A members */
    uint8_t                        tiaPowerMode;                    /*!< 5 options for TIA power reduction modes (range 0-4, where 4 = allow ARM to set based on LUT for power saving) */
    adi_adrv9025_RxDataFormat_t    rxDataFormat;                    /*!< Rx Data Format settings structure */
    int16_t                        rxAdc[ADI_ADRV9025_RXADC_COEFS]; /*!< RxAdc profile for that channel*/
} adi_adrv9025_RxProfile_t;

可以参考下图对参数进行配置:

IF Conversion(中频转换)

在这里插入图片描述
在接收链路的末端还有一个IF Conversion stage电路可以使用,可以最终改变JESD port的信号输入,电路由两个并行的通路组成(Band A和Band B),每个通路都可以支持upshifting,downshifting(中频中的上下变频), interpolation and decimation(上下采样)。根据AD官方文档:Note that currently, only the low IF to zero IF conversion mode is supported in a released profile。目前IF conversion应该只支持low IF to zero IF模式,同时参考文档也给出了个例子:
a conceptual case of a 200 MHz receive bandwidth (IQ rate 245.76 MSPS) profile used to receive a 75 MHz MC-GSM offset from the LO. The center frequency is 52.5 MHz offset from the LO, such that the band occupies from ±15 MHz to ±90 MHz. The channel then uses the IF conversion stage to shift the signal to be centered at about 0 Hz, filter with the half-band filter, and decimate the
output by two such that the IQ rate sent over the JESD is 122.88 MSPS.

关于IF Conversion电路中一些基本参数可以由adi_adrv9025_RxProfile_t中的参数rxDdcMode进行配置,它是个枚举类型:

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

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

相关文章

macbook2024免费mac系统优化清理软件CleanMyMac X

清理电脑的操作系统可能是我们一直以来的习惯&#xff0c;从windows系统到mac系统&#xff0c;我们一直在寻求最好的清理方法&#xff0c;能够有效地清理操作系统对于电脑来说是非常重要的。今天小编想和大家一起讨论使用在macbook上的清理软件&#xff0c;清理macbook的空间可…

在React中,什么是状态(state)?如何更新组件的状态?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

C语言程序设计——输入三个整数x,y,z,请把这三个数由小到大输出

题目&#xff1a;输入三个整数x,y,z&#xff0c;请把这三个数由小到大输出。 程序分析&#xff1a;我们想办法把最小的数放到x上&#xff0c;先将x与y进行比较&#xff0c; 如果x>y则将x与y的值进行交换&#xff0c;然后再用x与z进行比较&#xff0c;如果x>z则将x与z的值…

谈谈Net-SNMP软件

Net-SNMP是一个开源的SNMP软件套件&#xff0c;它提供了SNMP代理&#xff08;snmpd&#xff09;和SNMP工具&#xff08;如snmpget、snmpwalk等&#xff09;&#xff0c;可以用于监控和管理网络设备。 Net-SNMP最初是从UC Davis的SNMP软件衍生而来&#xff0c;现在已经成为广泛…

SpringAOP源码解析之advice构建排序(二)

上一章我们知道Spring开启AOP之后会注册AnnotationAwareAspectJAutoProxyCreator类的定义信息&#xff0c;所以在属性注入之后initializeBean的applyBeanPostProcessorsAfterInitialization方法执行的时候调用AnnotationAwareAspectJAutoProxyCreator父类(AbstractAutoProxyCre…

通过怪物展示Demo理解游戏设计模式中的迭代器模式

点击上方亿元程序员关注和★星标 引言 大家好&#xff0c;我是亿元程序员&#xff0c;一位有着8年游戏行业经验的主程。 本系列是《和8年游戏主程一起学习设计模式》&#xff0c;让糟糕的代码在潜移默化中升华&#xff0c;欢迎大家关注分享收藏订阅。 今天我们要来聊一聊游戏…

开启生成式AI的探索之旅,亚马逊云科技分享生成式AI热门案例

现今&#xff0c;生成式AI为企业争先讨论的热门话题&#xff0c;上云出海为企业转型的重中之重。无论你是行业新贵还是中小企业&#xff0c;探索新的模式、创新迭代业务都是不容忽视的重点&#xff0c;下面就来介绍几个亚马逊云科技帮助企业创新的案例。 开启生成式AI的探索之旅…

深入理解 MySQL 中的锁和MVCC机制

文章目录 锁&#xff1a;数据访问的保护者1. 了解锁的基本概念2. 锁的使用场景3. 示例&#xff1a;MySQL中的锁 MVCC&#xff1a;多版本并发控制1. MVCC的工作原理2. MVCC的优点3. 示例&#xff1a;MySQL中的MVCC 如何选择合适的锁和MVCC1. 确定隔离级别2. 避免过度使用锁3. 监…

Spring IOC 和 AOP

核心概念 咱们这节就讲完了&#xff0c;在这节中我们讲了两个大概念&#xff0c;一个叫做IOC&#xff0c;一个叫做DI IOC是什么&#xff1f;是用对象的时候不要自己用new而是由外部提供&#xff0c;而spring在进行实现的时候是谁提供&#xff0c;就是IOC容器给你提供。 DI是什…

什么是脚本文件,脚本的执行,脚本格式等

1.脚本文件是什么&#xff1f; 脚本文件是包含一系列计算机命令的文本文件&#xff0c;通常用于自动化任务、自定义功能或执行特定操作。这些命令通常按照一定的编程语法和语义规则编写&#xff0c;以便计算机能够逐行解释和执行它们。脚本文件通常包含了一组操作&#xff0c;…

lua-web-utils和proxy设置示例

以下是一个使用lua-web-utils和proxy的下载器程序&#xff1a; -- 首先安装lua-web-utils库 local lwu require "lwu" ​ -- 获取服务器 local function get_proxy()local proxy_url "duoipget_proxy"local resp, code, headers, err lwu.fetch(proxy_…

工业通信网关常用的工业通信协议

在工业领域中常常有不同的设备协同工作&#xff0c;而这些设备的通信协议和数据格式也有所差异&#xff0c;要想实现不同通信设备之间的数据传输互通&#xff0c;工业网关是一个重要的设备。 什么是工业网关 工业网关是一种能够连接多种不同设备并实现数据的收集、传输、处理和…

Vuepress 三分钟搭建一个精美的文档或博客

大家好&#xff0c;我是凌览。 作为一个程序员&#xff0c;相信每个人都想折腾一个属于自己的博客。技术文章的输出是我们程序员能力的一种体现&#xff0c;也是一种非常好的个人总结。 网上有很多文档编写网站及工具&#xff0c;比如语雀、石墨等等。但多数需要付费&#xf…

工业RFID设备如何实现抗干扰功能?

在工业环境中存在多种干扰因素&#xff0c;如灰尘、水渍、油污等都会影响条码枪的信息识别&#xff0c;虽然RFID技术可以实现非接触的识别&#xff0c;无视油污、灰尘等环境&#xff0c;但仍会收到电流、震动、电磁信号等因素的干扰。下面我们就一起来了解一下&#xff0c;工业…

触摸屏与施耐德PLC之间MODBUS无线通讯

一、 硬件连接 1、PLC通讯接口说明&#xff1a; 2、通讯电缆图&#xff1a; 二、PLC设置 1. 配置端口&#xff1a; 双击串行线路—弹出右侧设置窗口---设置串口通讯参数 2. 添加MODBUS协议。 ① 右击串口线路&#xff0c;选择添加设备&#xff1a; ② 选择现场总线&#xf…

JAVA代码审计-纵向越权漏洞分析

查看这个cms系统后台管理员 添加用户的页面 点击添加管理员 这个模块只有管理员拥有&#xff0c;普通用户没有这个模块。 打开源码分析是否存在越权漏洞。 ------------------------------------------------------------------------------------------------------------ …

引领位置服务驱动:腾讯地图 WebService 服务端 API 实用指南

&#x1f52d; 嗨&#xff0c;您好 &#x1f44b; 我是 vnjohn&#xff0c;在互联网企业担任 Java 开发&#xff0c;CSDN 优质创作者 &#x1f4d6; 推荐专栏&#xff1a;Spring、MySQL、Nacos、Java&#xff0c;后续其他专栏会持续优化更新迭代 &#x1f332;文章所在专栏&…

SQL server中:常见问题汇总(如:修改表时不允许修改表结构、将截断字符串或二进制数据等)

SQL server中&#xff1a;常见问题汇总 1.修改表时提示&#xff1a;不允许修改表结构步骤图例注意 2.将截断字符串或二进制数据。3.在将 varchar 值 null 转换成数据类型 int 时失败。4.插入insert 、更新update、删除drop数据失败&#xff0c;主外键FOREIGN KEY 冲突5.列不允许…