欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》

目录

一、理论基础

二、核心程序

三、测试结果


一、理论基础

Δ-Σ模数转换器是一种低速,高精度的过采样模数转换器广泛的应用于信号采集和处理、数字通信、自动检测、自动控制和多媒体技术等领域。作为Δ-Σ模数转换器首级的梳状滤波器的设计就显得非常重要,滤波器的设计直接决定了整个芯片的面积和功耗却是由滤波器部分来决定的。

Δ-Σ数模转换器是由数字插值滤波器、数字Sigma-Delta调制器和模拟低通滤波器组成。数字插值滤波器是将奈奎斯特采样信号转换为过采样信号,数字Sigma-Delta调制器是将过采样信号进行噪声整形,而模拟低通滤波器是用来滤除基带以外的信号噪声并将调制器输出信号重构为连续时间域的模拟信号。关于Δ-Σ模数、数模转换器的基本原理与结构将在第二章节中详细介绍。其基本结果如下所示:

Δ-Σ模数转换器是一种高分辨率的数据转换器,目前正广泛应用于高保真数字处理系统中,作为Δ-Σ模数转换器首级的梳状滤波器的设计就显得非常重要。高速A/D采样得到中频数字信号,将其所需的频带下变到基带,它一般位于信号处理链的前端A/D,主要有数字振荡器(VCO)、数字乘法器、数字滤波器三部分组成。

Σ-Δ调制器的基本原理可以概括为利用过采样降低噪声功率在信号频带内的分布,在此基础上再利用噪声整形进一步抑制带内噪声,从而提高带内信号的信噪比。Σ-Δ调制器的基本结构如图2。在假设量化噪声e(n)是白噪声的情况下,输入信号x(n)和量化噪声是e(n)是量化器的两个相互无关的输入,因此量化器的输出可等效为输入信号和量化噪声的叠加。

假设用N级CIC滤波器来代替hn,每一级的滤波器系数长度为R,每一级的差分延迟为M,抽取数为R,那么可以得到CIC抽取滤波器结构图:

N级CIC滤波器在功能上相当于N级完全相同的FIR滤波器的级联。如果按传统的FIR滤波器方式实现,那么N级FIR滤波器的每一级都需要RM个存储单元和一个累加器,但如果用CIC方式实现,那么N级CIC滤波器的每一级只需要M个存储单元。

二、核心程序

clc;
clear;
close all;%CIC滤波器的参数
R = 32;                                     %抽取因子
M = 1;                                      %延迟
N = 5;                                      %CIC阶数
B = 8;                                     %有限字长
Fs = 10.24e6;                               %信号的频率
Fc = 20e3;                                  %信号带宽%FIR
L = 30;                                     %滤波器的阶数
Fo = R*Fc/Fs;        %% FIR
p = 2e3;
s = 0.25/p;
fp = [0:s:Fo];
fs = (Fo+s):s:0.5;
f = [fp fs]*2;
Mp = ones(1,length(fp));
Mp(2:end) = abs( M*R*sin(pi*fp(2:end)/R)./sin(pi*M*fp(2:end))).^N;
Mf = [Mp zeros(1,length(fs))];
f(end) = 1;
h = fir2(L,f,Mf);
h = h/norm(h);
hz = floor(h*power(2,B));                   %% CIC
hrec = ones(1,R*M);
tmph = hrec;for k=1:N-1tmph = conv(hrec, tmph);
end;
hcic = tmph;
hcic=hcic/norm(hcic);%%
hzp = upsample(hz,R);
hp  = upsample(h, R);
ht  = conv(hcic, hp);
hzt = conv(hcic, hzp);                      [Hcic, wt] = freqz(hcic, 1, 4096, Fs);
[Hciccomp, wt] = freqz(hp, 1, 4096, Fs);
[Ht, wt] = freqz(ht, 1, 4096, Fs);
[Hzt, wt] = freqz(hzt, 1, 4096, Fs);        Mcic = 20*log10(abs(Hcic)/max(abs(Hcic)));
Mciccomp = 20*log10(abs(Hciccomp)/max(abs(Hciccomp)));
Mt = 20*log10(abs(Ht)/max(abs(Ht)));
Mzt = 20*log10(abs(Hzt)/max(abs(Hzt)));
%%
figure;
plot(wt, Mcic);
legend('CIC');
grid
xlabel('频率');
ylabel('幅度');figure
plot(wt, Mt,wt, Mzt);
legend('Total Response (Floating Point)','Total Response Fixed Point')
grid
xlabel('频率');
ylabel('幅度');
title('浮点仿真与定点仿真');

clc;
clear;
close all;K=500;%仿真时间
k=0:1:K;
w=pi*k/K;
R=1;M=input('Please input M:');%抽取32
N=input('Please input N:');%滤波器的级数num=sin(R*M*w/2);
den=sin(w/2)+eps;
H=(num./den).^N;
magH=abs(H);
angH=-1/2*(R*M-1)*N*w;
magH=20*log10(magH+eps);
subplot(2,1,1)
plot(w/pi,magH);grid on;
axis([0,1,-200,300]);
xlabel('frequency in pi units');
ylabel('|H|');
title('Magnitude Response(db)');
subplot(2,1,2);
plot(w/pi,angH/pi);grid on;
xlabel('frequency in pi units');
ylabel('Phase in pi Radians');
title('Phase Response');

三、测试结果

不同阶数的单级CIC梳状滤波器的幅频特性曲线。

测试的输入信号频率为10.24MHz,基带信号带宽为20KHz。我们将这个输入信号作为测试信号,对滤波器进行测试。通过CIC滤波之后,其仿真结果如下所示:

下面考虑梳状滤波器的三个参数变量进行并结合实际的工作环境进行综合仿真,在实际的ADC中,往往会在CIC滤波器之后加入一个FIR滤波器作为补偿滤波器。

通过仿真,可以看到其仿真结果如下所示:

图4 数据字长为32的浮点定点仿真对比图

图5 数据字长为16的浮点定点仿真对比图

当数据字长为8的时候,浮点仿真结果和定点仿真结果具有较大的误差,而参数选择为16和32的时候,两者之间的误差较小。当考虑硬件资源的时候,我们选择字长为16。A25-03。

基于Δ-Σ模数转换器的梳状滤波器的设计与matlab仿真相关推荐

  1. 一种Δ-Σ模数转换器中梳状滤波器的设计

    Δ-Σ模数转换器是一种低速,高精度的过采样模数转换器广泛的应用于信号采集和处理.数字通信.自动检测.自动控制和多媒体技术等领域.作为Δ-Σ模数转换器首级的梳状滤波器的设计就显得非常重要,滤波器的设计直 ...

  2. 一种Δ-∑模数转换器中梳状滤波器的设计

    Δ-∑A/D转换器以其高精度和易于用标准数字CMOS 工艺实现的特点而被广泛应用.数字抽取滤波器是它的重要组成部分,通常采用多级结构来实现.由于梳状滤波器是一种结构简单的线性相位FIR滤波器,所以通常 ...

  3. 基于Labview双通道频谱滤波器的设计

    一.主要功能 本设计主要功能是仿真信号VI产生带噪声的信号,经过带通滤波器滤波,对滤波前后的信号进行双通道频谱测量,通过信号掩区和边界测量VI检测滤波后的信号是否能够在用户设定的信号频率范围内. 设计 ...

  4. python 机器人运动仿真_基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划.pdf...

    基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划 基于ROS 平台的移动机器人的设计与运动仿真 陈勇林 朱应钦 杜政恒 张玉林  (重庆大学城市科技学院电气信息学院,重庆 永川 402 ...

  5. 基于有源钳位三电平的有源电力滤波器(ANPC-APF)MATLAB仿真,包括自建的DSOGI锁相模块和PQ谐波检测模块。 可简单解释。

    基于有源钳位三电平的有源电力滤波器(ANPC-APF)MATLAB仿真,包括自建的DSOGI锁相模块和PQ谐波检测模块. 可简单解释. YID:1560659846370667tbNick_0m0gm

  6. 基于有源钳位三电平的有源电力滤波器(ANPC-APF)MATLAB仿真,包括自建的DSOGI锁相模块和PQ谐波检测模块

    基于有源钳位三电平的有源电力滤波器(ANPC-APF)MATLAB仿真,包括自建的DSOGI锁相模块和PQ谐波检测模块. YID:1560659846370667tbNick_0m0gm

  7. 基于51单片机的智能加湿器设计。 有仿真,程序,原理图,原文

    基于51单片机的智能加湿器设计. 有仿真,程序,原理图,原文. 可做实物. 通过DHT11实时监测环境温湿度,按键设定温湿度阈值,超限加湿器工作. 有水位检测电路,水位不足时候,报警提醒,防止干烧. ...

  8. 基于有源钳位三电平的有源电力滤波器(ANPC-APF)MATLAB仿真

    基于有源钳位三电平的有源电力滤波器(ANPC-APF)MATLAB仿真,包括自建的DSOGI锁相模块和PQ谐波检测模块. YYYID:1560659846370667tbNick_0m0gm

  9. 100A有源电力滤波器(APF)MATLAB仿真,两种谐波补偿模式:全阶补偿和选阶补偿

    100A有源电力滤波器(APF)MATLAB仿真,两种谐波补偿模式:全阶补偿和选阶补偿,matlab版本V2011,基于LCL滤波器的I型三电平拓扑仿真模型,三相四线制,软件锁相环,C语言编程提取谐波 ...

最新文章

  1. 如何提高网站的访问速度
  2. PHP安全、Sql防注入安全汇总
  3. 计算机xp怎么做备份,怎样备份xp系统电脑上的所有数据?在xp系统中备份所有文件的方法...
  4. Solrj实现增删改查
  5. px4原生源码学习四--Nuttx 实时操作系统编程
  6. RUNOOB python练习题17
  7. PyODPS DataFrame 处理笛卡尔积的几种方式
  8. 为Xen虚拟机扩容根文件系统(LVM)
  9. 028 kafka面试小节
  10. Java设计模式之模板(template)方法模式
  11. error C2864 只有静态常量整型数据成员才可以在类中初始化
  12. 大数据就业前景:大数据分析师是青春饭吗?
  13. OpenCV2.4.13+CUDA8.0+SSBA3.0+VS2010编译安装
  14. 以太坊执行层P2P网络架构与设计:Discv5
  15. 用xLang 写 SQL 控制程序
  16. 万年历,阴阳历转换。
  17. java tld文件配置_Java Web应用因tld文件损坏出现的错误
  18. 某美颜app sig参数分析
  19. 微信小程序接口文档PHP,微信小程序API 导航
  20. IV与PSI的理解--深入浅出

热门文章

  1. 【连载】研究EasyUI系统— Accordion组件
  2. gis 联合 融合_三大院齐聚郑州,共同探索BIM+GIS和大数据应用的无限可能
  3. cocos2d-iphone之魔塔20层第十一部分
  4. Centos 7 安装python 3.8
  5. Everyday life inspires me——加拿大流行天后艾薇儿经典语录(中英对照)
  6. mysql删除选课为空的学生_数据库原理答案 西安电子科技大学
  7. Axure:实现跳转广告轮播图
  8. 中国互联网协会恶意软件定义
  9. TIT机房动力环境监控系统(基于TCP/IP架构)
  10. Python修改文件的两种方法