二阶调制器[16位数字二阶ΣΔ调制器的分析与设计]_第1页
二阶调制器[16位数字二阶ΣΔ调制器的分析与设计]_第2页
二阶调制器[16位数字二阶ΣΔ调制器的分析与设计]_第3页
二阶调制器[16位数字二阶ΣΔ调制器的分析与设计]_第4页
二阶调制器[16位数字二阶ΣΔ调制器的分析与设计]_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二阶调制器16位数字二阶调制器的分析与设计 摘要:文章阐述了-调制器的基本工作原理,构建了二阶-调制器的基本结构,提出了一种用Verilog HDL语言描述二阶-调制器的实现方法,其中采用了简单的移位方法来描述调制器的四个增益系数,以实现乘法操作,进而减小了芯片的面积。在此基础上,运用MATLAB系统工具建立了二阶-调制器系统的模型,并完成了系统仿真验证。在电路级完成了它的Verilog语言描述,同时运用modelsim仿真工具对电路进行仿真验证,对数据进行FFT分析,最终证明了MATLAB系统模型和Verilog代码的一致性。 关键词:调制器;信噪比;延时积分器;量化器;采样 Abstract: In this article, the principles of the -modulater are shown below, and the basic structure of the second order -modulater is analyzed, A realization method for second order -modulater which is described by the Verilog HDL code is presented, the methed of replacement is adopted to describe four gains in order to carry out multiplicative operation ,then reducing using space of the chip. On this basis, the system model is established by using of MATLAB system Tool, and the simulation and validation of system are aomplished. In circuit-level, the Verilog code of second order -modulater is piled. At the same time, the simulation and validation of the whole circuit are aomplished through the software of modelsim, datas are analyzed through FFT. At last, the coherence of the model of MATLAB system and Verilog HDL code are proved. Key words: modulater,Signal-to-Noise, time-lapse integraph, Quantized utensil,sampling. 1引言 -A/D转换器由两个主要的部分构成:一个模拟-调制器(modulator) 和一个数字抽取滤波器(digital decimation filter)。-A/D转换器中调制器的部分,拥有良好的噪声整形能力,利用过采样技术将信号频带内的噪声功率推至高频范围内,然后由降采样滤波器将高频噪声滤除,从而提高了信号频带内的信噪比,这就是调制器的工作原理。由于模拟-调制器占用的芯片面积较大,为了减小面积而又满足模拟-调制器的性能,所以我们设计一个16位-A/D转换器中的数字二阶-调制器。 我们的目标是运用MATLAB系统工具建立二阶-调制器系统的模型,并完成了系统仿真验证,用Verilog代码描述其电路的各个模块,同时运用modelsim工具对电路进行仿真验证,分别对二者的数据进行FFT(快速傅立叶变换)分析,最终证明了MATLAB系统模型和Verilog代码的一致性,通过调节-调制器的四个增益,实现调制器的最佳性能。 2二阶-调制器系统模型的建立 一阶-调制器在时域下表达式如下: YnTs=X(n-1)Ts+E nTs-E (n-1)Ts(1.1) 其中E nTs表示量化器引入的量化误差。 (1.1)式表示输 出是量化噪声一阶差分EnTs-E(n-1)Ts的函数。可以看出,如果Ts越小,即采样速率越快,数字输出YnTs 越接近模拟输入信号XnTs。 再将式(1.1)转化成Z域下的表达式如下: Y(z)=z?X(z)+(1-z)E(z) (1.2) 由式(1.2)可知,调制器输出由延时一个单位时间的输入信号X与经过一次差分后的量化误差组成,而且积分器的输入输出均与输入信号有关,这样当输入信号摆幅很大时,积分器的输入输出也很大,在多位量化时更是如此。 我们可以推出二阶-调制器的Z域表达式: Y(z)=zX(z)+(1-z)E(z)(1.3) 式(1.3)说明有更多的噪声被推到高频处,但对于信号仍呈现低通的特性。现在用拓扑结构进一步表达信号传递函数和噪声传递函数。由调制器的基本结构出发,如图1.1所示。 传递过程的表达式如下: Y(z)=X(z) +E(z)(1.4) 式(1.3)和(1.4)联立可得: (1)信号传递函数STF(z): STF(z)=z (1.5) (2)噪声传递函数NTF(z): NTF(z)=(1-z)(1.6) 那么由(1.5)式和(1.6)式可以得到: A(z)=? (1.7) B(z)=2-z=1+(1-z)(1.8) A(z)明显是由两个积分模块相乘得到的,现在分别将其拆分成反相积分器和同相延迟积分器,数学表达式分别为和。B(z)也可以表示成调制器输出与调制器输出的差分(1-z)之和。所以基本结构可以表示为图1.2。 为了进一步简化二阶调制器的结构,减小系统信号的失真,提高系统的稳定性,可以把图1.2转换成如图1.3所示的那样,这将更有助于二阶调制器的实现。 在输入和反馈通道上加入增益环节可以减小积分器的输入,同时也避免了积分器饱和现象的发生。通过选择增益a,b,c,d使输入信号对积分器输入输出幅度影响减轻,如图1.4所示。 3matlab系统建模、仿真及FFT分析 3.1.matlab系统建模 综合以上各个环节的建模过程,同时参照之前得到的传递函数可以得到图1.5所示的整体系统模型结构。模型主要包括以下模块,信号源sine wave,增益模块gain,单位延迟模块unitdelay,加权器,比较器parator,FFT波谱分析模块,巴特沃斯低通模拟滤波器butter,示波器scope和内存simout_pdm。 在这里,可以将四个增益系数A、B、C、D带入传递函数,这样可以更清楚地了解他们所起到的作用。得到表达式(1.9): 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 Y(Z)= X(Z)+E(Z) (1.9) 其中: S=(2.0) N (2.1) 3.2二阶-调制器增益系数的选择 由于_调制器的不稳定状态主要与调制器噪声传递函数的带外增益有关。为了限制噪声传递函数的带外增益,本设计的噪声传递函数的表达式被写成式(2.1), 通过合理地选择分母就可以有效地达到限制噪声传递函数带外增益地目的。选择分母的步骤可简述如下: (1)根据上述方法对噪声传递函数的零点进行配置; (2)选择初始分母并计算极点; (3)由此得到噪声传递函数,并计算其带外增益GainNFT; (4)设定值=GainNFT; (5)如果 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 assign sum15:0 = ina15:0 - inb15:0 ; endmodule Adder2的描述: moduleadder22(ina,inb,sum); input21:0 ina; input21:0 inb; output21:0 sum; assign sum21:0 = ina21:0-inb21:0; endmodule (3)乘法器:针对特定的情况,如果乘数是小于1的具有2的幂次倒数的性质,那么就可以用简单的移位的方法来实现乘法操作. 乘数为0.5的乘法器的描述: Modulemult_5(din,dout); input15:0 din; output15:0 dout; assign dout15:0 = din15,din15:1; endmodule 乘数为0.25的乘法器的描述: modulemult_250(din,dout); input21:0 din; output19:0 dout; assign dout16:0=2din16,din16:21; endmodule 乘数为0.83的乘法器的描述:由于它的乘数不具有2的幂次倒数的性质,需要另外考虑。 modulemult_830(din,dout); input21:0 din; output21:0 dout; wire21:0 a; wire21:0 b; wire21:0 c; wire21:0 d; wire21:0 e; wire21:0 f; wire21:0 g; wire21:0 h; assign a21:0 = din21,din21:1; assign b21:0 = 2din21,din21:2; assign c21:0 = 4din21,din21:4; assign d21:0 = 6din21,din21:6; assign e21:0 = 10din21,din21:10; assign f21:0 = 11din21,din21:11; assign g21:0 = 12din21,din21:12; assign h21:0 = 13din21,din21:13; assign dout21:0 = a21:0 + b21:0 + c21:0 +d21:0 + e21:0 + f21:0 +g21:0 + h21:0 ; endmodule (4)比较器(parator):比较器的具体运算是根据其输入是正还是负来决定输出是1或者是0,即PDM码。对于二进制补码的数据格式,只须判断其输入信号的符号位即最高有效位是1或是0即可,如果是1则表示是负数,如果是0则表示是非负数。 moduleparator(din,dout); input16:0 din; output16:0 dout; assigndout= (din 16:0= 1b0)?(1b1):(1b0); endmodule (5)DAC转换器:一位DAC位于反馈回路中,将输出的PDM码转换成相应的满刻度模拟信号值反馈到输入端。 moduledac(din,dout); input din; output15:0 dout; assign dout15:0= (din=1b1)?(16h7FFF):(16h8000); endmodule (6)顶层模块及其描述 根据调制器的结构,连接各模块,得到调制器的顶层模块及其描述: Module digital_modulator(reset, clk,din,dout); input reset; input clk; input15:0 din; output dout; wire15:0 dout_mult500; wire15:0 dout_mult500s1; wire16:0 dout_mult250; wire16:0 dout_mult830; wire16:0 dout_inte1; wire16:0 dout_inte2; wire15:0 dout_adder16; wire16:0 dout_adder22; wire15:0 dout_dac; wire dout_pdm; mult_500 umult500(.din(din), .dout (dout_mult500); mult_250 umult250(.din(dout_inte1), .dout (dout_mult250); mult_830 umult830(.din(dout_inte1), .dout (dout_mult830); mult_500 umult500s1(.din(dout_dac), .dout (dout_mult500s1); adder1 uadd1(.ina(dout_mult500), .inb (dout_mult500s1), .sum(dout_adder16); 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 adder2 uadd2(.ina(dout_inte2), .inb (dout_mult830), .sum(dout_adder22); integrator1 uinteg1(.reset(reset), .clk(clk), .din (dout_adder16), .dout(dout_inte1); integrator2 uinteg2(.reset(reset), .clk(clk), .din (dout_mult250), .dout(dout_inte2); parator u(.din(dout_adder2221), .dout (dout_pdm); dac udac(.din(dout_pdm), .dout (dout_dac); assign dout = dout_pdm; endmodule 4.2仿真并对输出数据进行FFT分析: digital_modulator的仿真结果如下: digital_modulator的仿真结果经过FFT分析后的输出波形如图2.1所示,可以观察到SNR的结果为120dB。该参数不但满足设计目标(SNR=96dB),输出频率为 1KHz,而且与matlab系统模型的输出结果经过B-FFT分析后的输出波形比较,二者得到的频率相一致都是1KHz,SNR的结果相一致都是120dB,进而证明了最终证明了Matlab系统的模型和verilog代码描述的一致性。 5总结 本文根据-调制器的原理和采用Verilog HDL硬件描述语言方法实现了16位数字二阶-调制器的设计。首先从系统上分析了modulater的基本原理,根据modulater传递函数的数学变形,在Matlab中搭建出系统的模型,进行仿真和FFT分析。然后用Verilog HDL硬件描述语言将基本部件的功能描述清楚,并对各部件的输入、输出逻辑关系进行仿真验证,再利用结构建模的方法将基本部件组合成一个顶层模块,最后完成FFT分析.通过FFT分析,最终证明了Matlab系统的模型和verilog代码描述的一致性。设计得到16位数字二阶-调制器,其输入输出满足:input:16bit, 2MHz; output:1bit,2MHz.本设计采用TSMC 90nm工艺对综合后的网表进行自动布局布线,整个硬件电路所占用的版图面积约为0.445mm。电路工作在8M时钟,1.2V电源电压条件下的功耗为500A。既达到了-调制器对于数据精度的要求,同时也缩减了芯片的面积,降低了系统的功耗。 _ 1胡广树著:数字信号处理导论,北京,清华大学出版社,xx。 2丁玉美等著:数字信号处理导论,西安,西安电子科技大学出版社,2000.12。 3张华清等著:信号与系统分析,北

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论