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

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

3天内不再提示

多相结构采样率变换器的FPGA实现

FPGA设计论坛 ? 来源:未知 ? 2023-08-08 18:05 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

wKgZomToP8yAAYqiAAAAn4YuUA8135.pngwKgZomToP8yAF2ggAAAAn4YuUA8648.png

点击上方蓝字关注我们

wKgZomToP8yAM1FrAAAAn4YuUA8456.pngwKgZomToP8yAF50qAAAAn4YuUA8273.png

wKgZomToP8yAPDq3AAAC9hV8I20413.png

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA的结构灵活,其逻辑单元、可编程内部连线和I/O单元都可以由用户编程,可以实现任何逻辑功能,满足各种设计需求。其速度快,功耗低,通用性强,特别适用于复杂系统的设计。使用FPGA还可以实现动态配置、在线系统重构(可以在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件硬化等功能。

1 有理数采样率变换器的原理

从概念上讲,采样率变换器可以通过数/模转换,再对模拟信号进行给定频率的模/数转换得到。在实际的系统中,通过在数字域利用抽取和内插运算实现是一种更为合理和有效的手段。

抽取是降低采样率的方法。在时域上,D倍(D为抽取因子)抽取就是从原始序列中每隔D-1个样点取出一个构成新的数字序列。在频域上,这一运算可以看成是频谱的压缩, 即原来以Ω sat1为周期的频谱变为以Ω sat2为周期的频谱。为避免可能引起的混迭失真,抽取前应使原信号通过一个低通滤波器。其抽取的示意图及实现框图如图1所示。

wKgZomToP82AVlZXAAAtp61h8mA495.png

内插是提高采样率的方法。实际的内插系统由两部分构成:(1)零值插值器。设插值因子为I, I倍零值内插就是在原始序列任意两个样本间加入I-1个零值样本。在频域上,频谱进行了扩张,即原来以Ω sat1为周期的频谱变为以Ω sat2为周期的频谱。从Ω c到Ω sat2-Ω c的频带被称为镜像频谱。(2)低通滤波器。信号经过此滤波器后,镜像频谱被滤去,从而得到采样率提高的信号序列。内插图示及实现框图如图2所示。

wKgZomToP82AXmAVAAA1mrg-eFw022.png

利用抽取系统和内插系统的级连,就可以得到有理数采样率转换器的基本方案。一般地,对于 I/D 倍数的有理数采样变换,通过先内插后抽取的方法,可以得到如图3所示的实现框图。图3(a)中的第二部分和第三部分是两个低通滤波器的级连,因而总的滤波效果等效为通带边缘较低的低通滤波器,合并后得到框图3(b)。

wKgZomToP82AetGTAAAQPbtuW2w999.png

然而,对于上述三个系统,利用原始框图直接实现并不是一个很好的方案。如从图3可以看出,该系统主要的运算量在滤波器的实现部分,图3(b)中滤波器的采样率为 F3=I,F1=DF2, 滤波运算是在采样率的部分实现的,这是不经济的。换一种说法,比如对后两级的系统,经滤波后的序列每D个样本中仅有一个是实际需要的,而D-1样本的运算被丢弃了。

2 FIR滤波器的多相分解与多采样率系统网络变换

FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。数字集成电路FIR滤波器是使用单片通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。

利用FIR滤波器的多相分解[1~2]及多采样率系统网络结构的变换[1],可以得到降低了运算代价的采样率变换器的多相结构。

FIR滤波器的多相分解是指将数字滤波器H(z)可分解为若干个不同的组。设H(z)的转移函数为:

wKgZomToP82ARbkRAAADXr5eVIg821.png

式中,N为滤波器长度,设N为D的整数倍, 即N/D=Q, Q为整数,可将冲激响应h(n)分成D个组,且有:

wKgZomToP82AXG43AAAMKKIMNKY318.png

对于多采样率网络,存在下面几个等效变换:

T1: 抽取与乘常数可以换位。

T2: 零值插值和乘常数可以换位。

T3:两个信号先分别抽取然后相加,以及先相加然后抽取等效。

T4:抽样率相同的两个信号先分别零值内插(内插因子相等)然后相加,以及先相加然后零值内插等效。

T5:如果I和D 互质,则抽取与内插可以交换。

此外,Nobel关系式[3]给出了抽取/内插与滤波器级连时如图4所示的等效变换。

wKgZomToP82APJLLAAAWpqyqpsI308.png

Nobel 关系式的意义在于:在抽取与滤波级连时,首先进行抽取运算,可以把滤波器的长度降低一个D因子;内插与滤波级连时,首先进行滤波运算,可以使滤波器的的长度降低一个I因子。

3 采样率变换器的多相表示结构

变换器,是将信源发出的信息按一定的目的进行变换。矩阵式变换器是一种新型的交-交电源变换器。和传统的变换器相比,它具有如下优点:不需要中间直流储能环节;能够四象限运行;具有优良的输入电流波形和输出电压波形;可自由控制的功率因数。其特点才为人们所关注和研究。普遍使用的是半控功率器件晶闸管。采用这种器件组成矩阵式变换器,控制难度是很高的。矩阵式变换器的硬件特点是要求。阵式变换器已成为电力电子技术研究的热点之一,并有着广泛的应用前景。

通过对图1中的整数倍速抽取器系统进行多相分解(分解式1),然后依次进行T3及Nobel变换(抽取),可以得到抽取系统的多相结构。此结构中滤波器将在F2=F1/D的采样率下进行,也就是说,对于给定的芯片和滤波器结构,滤波器能达到时钟频率相同时,该结构能处理的带宽是图1的D倍,或者说对相同采样率的数据,该结构对滤波器时钟频率的要求降低为原来的1/D,因而是一种高效的实现方式。

类似地,对图2中的整数内插系统进行多相分解(分解式2),并依次进行T4及Nobel变换(零内插),以得到整数内插的多相结构,通过变换,将以F1=F2/I的采样率进行滤波运算。

分数倍采样率转换器的多相结构有多种实现方案。

(1)如果I与D不互质,可以利用已经得到的多相结构,然后与抽取或内插级连实现。如图3(b)中可以把前两部分用图5的多相结构实现或把后两部分用图6的多相结构实现,具体选择时可参考D与I的数值。

(2)如果I与D互质,则可以转化为更为高效的多相结构[1,4].图7即是I、D互质时的一种高效结构。这一结构的推导利用了多相分解的分解式1和分解式2、T1~T5以及两数互质时的欧几里德公式(若I、D互质,则存在整数p、q,使得pI+qD=1)。这样的结构不是的,通过多采样率系统的网络变换,还可以得到其他的结构。在此结构中,滤波器运算是在F4的采样率中进行的,且有F4=F1/D=F2/I,与初的形式相比,滤波器的时钟频率相同时,处理带宽增大为原来的I×D倍。

wKgZomToP82ALiScAAAcEeqsMqU392.png

wKgZomToP82AfrV4AAAbmColxQo356.png

wKgZomToP86Ac1b3AAAhCd5rG8Q366.png

该多相结构中的Rm,n(z4)可以由原始滤波器经过两次多相分解而求得。特殊地,如果有滤波器的级数N=DI,则 Rm,n(z4)=h[(n+1)I-(m+1)T3],为原始滤波器某一项的系数。

4 FPGA设计与验证

由于整数倍抽取和内插的实现过程可以包含在分数采样率变换器的实现过程中,因此下面只讨论I、D互质的有理数采样率变换器的实现。

根据图7的多相结构,对于I、D互质的分数抽样率转化系统,可以分解为四个模块:

(1)输入与延时链模块。这部分的时钟周期应该为T1.

(2)R0~RI-1的延时与抽取模块。注意:抽取器只是在第0,D,……,N×D个时钟周期让信号通过,其他时钟周期阻隔信号。若已知延时与抽取链的功能,则可用一个如图8(a)所示的多相选择开关来实现,而图8(b)给出了该电路的一种实现方案,其中TClk_T4 =DTclk_T1,T4为模块3的时钟周期。

(3)本系统为关键的部分是第三部分。该部分是运算的主体部分,对整个系统的资源利用率和时钟性能有很大的影响。该模块需要实现的是I×D个FIR滤波器。对于给定的设计,这些滤波器的系数是常数,可由如下方法得到:

①根据低通滤波器的要求,用Matlab的FDAtool计算出滤波器的系数,并使其阶数N=M×I×D,M为正整数,可根据滤波器的需要选取。

②利用多相分解公式计算每个滤波器的系数。

③把所得到的数字进行定点化处理(比如系数同乘以2 048,取整,待计算出结果后右移11位)。

对于常系数的FIR滤波器,在FPGA实现时,有多种可以选择的方式以降低复杂性。在本设计中,采用简化的加法器图[3]来实现,避免了使用资源代价较大的通用乘法器,同时提高了系统的整体性能。表1给出了一个测试系统的资源与性能对比(使用了Altera公司的EP1C3T144C6芯片及Quartus II 5.1版本进行综合)。

(4)第四部分是与第二部分类似的模块。零内插器的特点是某个时钟周期有用信号通过,其余时钟周期通过零值,因而内插与延时相加模块也可用一个多相选择开关来实现。内插与延时相加模块实现电路图如图10所示。

wKgZomToP86AbGHbAAAjOgm6JbU006.png

wKgZomToP86Aby2tAAAcEAm9NbI725.png

wKgZomToP86AJT_vAAASlbwwPoE252.png

wKgZomToP86AaIKbAAB2GWnpCjc595.png

wKgZomToP86AaIKbAAB2GWnpCjc595.png

图11给出了一个D=3、I=4、N为12时的分数采样率变换的部分仿真结果(Modelsim 6.1)。其中,滤波器系数定点化为12位补码,输入、输出数据为12位补码整数, 测试输入序列为20kHz的正弦波波形序列,采样率为600kHz,输出为800kHz采样的正弦波序列。通过把输入输出序列保存并做FFT变换,可以得到两者的实际频率相同的结论。

利用FIR滤波器的多相分解及多采样率网络变换技术,本文介绍了一种有理数采样率变换器的高效多相结构,并结合FPGA芯片的结构进行了实现与优化。文中的一些方法也适用于其他多采速率系统的设计。

wKgZomToP86AMligAAAJM7aZU1A121.png

有你想看的精彩 至芯科技FPGA就业培训班——助你步入成功之路、8月12号西安中心开课、欢迎咨询! 在FPGA上建立MATLAB和Simulink算法原型 基于FPGA的等效时间采样原理的实现

wKgZomToP86AUJ5yAABUdafP6GM490.jpg

扫码加微信邀请您加入FPGA学习交流群

wKgZomToP8-AJSzXAABiq3a-ogY868.jpgwKgZomToP8-ANLRcAAACXWrmhKE884.png

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看


原文标题:多相结构采样率变换器的FPGA实现

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。


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

    关注

    1646

    文章

    22105

    浏览量

    621066

原文标题:多相结构采样率变换器的FPGA实现

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    采集直流信号用多大采样率的ADC芯片

    。例如,海思发布的AC9160芯片使用SAR ADC架构,实现了2Msps采样率的同时,保持着24bit的超高采样精度。推荐ADC芯片实例低采样率需求:l ADS1115:16位ADC
    发表于 06-26 09:06

    请问AD9779A的1Gsps采样率是如何实现的?

    的 1Gsps 采样率?按照常识,FPGA 应该输出 1G 的数据速率,那么 AD9779A 的采样率就可以达到 1G。然后我在芯片手册中读到有一个插值滤波。插值 8x 时,
    发表于 06-10 06:29

    记忆示波器的采样率应如何选择

    选择记忆示波器的采样率需结合信号特性、测量需求及示波器性能,以下为具体选择策略:一、根据信号频率选择采样率 奈奎斯特定理基础 采样率需至少为信号最高频率的 2倍(最低要求)。 实际应用中,为避免混
    发表于 04-10 14:46

    无桥PFC变换器综述

    变换器实现方案进行分类,文献[3]探讨了中小功率场合单相PFC的解决方案,以及在不同应用场合PFC主电路拓扑结构的最佳选取方案选取。文献[4]探讨了高功率场合PFC变换器软开关技术的
    发表于 03-13 13:50

    A/D变换器采样速率和稳定性的关系,是什么影响了转换的稳定性?

    ,在有效分辨的情况下,其稳定度应该很好。可是在测量时发现,高采样率的稳定度很差,仅仅只有0.4%。 我想咨询一下,A/D变换器采样速率和稳定性的关系,是什么影响了转换
    发表于 02-11 08:24

    如何提升音频音质?比特采样率是关键!

    在挑选音响、声卡、耳机等音频设备时,我们都会特别关注其音质表现——这关乎到我们聆听音乐、观看电影等娱乐体验的质量。实际上,我们可以在音频设备中看到一些名词标注:比特采样率……这两个可是影响音
    的头像 发表于 02-05 17:26 ?3515次阅读
    如何提升音频音质?比特<b class='flag-5'>率</b>和<b class='flag-5'>采样率</b>是关键!

    交直流变换器拓扑结构是什么

    在电力电子领域,交直流变换器(AC/DC Converter)作为实现电能转换的核心设备,其拓扑结构的设计与选择对于设备的性能、效率和可靠性具有至关重要的影响。本文旨在深入探讨交直流变换器
    的头像 发表于 01-30 14:48 ?1039次阅读

    如何确定DAC的采样率

    我在做系统,需使用数模转换,但是用户需要采样率为2.8MS/s,芯片的参数里就没有该项参数。我用总线访问时间来计算,但是有些芯片就没有写周期的参数。 所以我比较迷茫,不知该如何确定DAC的采样率。。。。。
    发表于 01-10 12:23

    用ADS1282做一个采样率可变的采集采样率切换的过程中出现初始化失败的情况,怎么解决?

    用ADS1282做一个采样率可变的采集,在某个采样率采集一段时间后,采样率切换为另一个采样率,在采样
    发表于 01-01 07:14

    ADC08DL502采样率最高到500M,这么高的采样率的时钟是否可以直接从FPGA输出给ADC?

    我现在做一个数据采集板子,用的zyqn7000 soc FPGA,ADC用的ADC08DL502 ,采样率最高到500M,想请问下这么高的采样率的时钟是否可以直接从FPGA输出给AD
    发表于 12-26 06:37

    什么是传感采样率

    的性能指标中,采样率无疑是一个核心且关键的概念。本文旨在深入探讨传感采样率的内涵、重要性及其对各个领域的影响。 一、采样率的基本概念 采样率
    的头像 发表于 12-05 09:16 ?1379次阅读
    什么是传感<b class='flag-5'>器</b>的<b class='flag-5'>采样率</b>

    示波器多大采样率足够?实测示波器不同采样率对不同波形的影响

    采样率作为示波器性能的关键指标之一,直接影响到波形的准确度和完整性。本文将探讨示波器的采样率对观察不同波形的影响,并提供实用的选择建议。
    的头像 发表于 12-03 18:09 ?1539次阅读
    示波器多大<b class='flag-5'>采样率</b>足够?实测示波器不同<b class='flag-5'>采样率</b>对不同波形的影响

    示波器多大采样率足够?实测示波器不同采样率对不同波形的影响

    :   我们通过探头给示波器输入一个信号,被测信号经过示波器前端的放大、衰减等信号调理电路后,然后高速ADC模数转换进行信号采样和数字量化,示波器的采样率就是对输入信号进行模数转换时采样
    发表于 11-29 16:39

    如何优化adc的采样率

    在数字信号处理领域,ADC是将模拟信号转换为数字信号的关键组件。采样率,即ADC每秒采集样本的次数,对信号的准确性和系统的整体性能有着直接的影响。 ADC采样率的基本概念 采样率是ADC性能的一个
    的头像 发表于 10-31 11:04 ?1864次阅读

    位深和采样率在数采系统中的作用详解

    在数据采集系统中,位深和采样率是描述模数转换(ADC)性能的重要参数。位深是指模数转换将模拟信号转换为数字信号时使用的二进制位数。采样率是指ADC每秒对模拟信号
    的头像 发表于 10-30 14:45 ?1297次阅读
    位深和<b class='flag-5'>采样率</b>在数采系统中的作用详解