混频器设计分析.doc

混频器设计分析.doc

ID:52116612

大小:111.00 KB

页数:5页

时间:2020-03-23

混频器设计分析.doc_第1页
混频器设计分析.doc_第2页
混频器设计分析.doc_第3页
混频器设计分析.doc_第4页
混频器设计分析.doc_第5页
资源描述:

《混频器设计分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、混频器设计分析1、实验环境a)FPGA与ISE联合使用b)FPGA使用的VHDL语言2、实验原理与步骤a)在FPGA屮实现一•个简单的混频器电路,模拟仿真两个625kHz信号相乘输出,其屮625kHZ的本振信号由FPGA内部的直接数字频率合成器产生,625kHZ输入正弦波信号通过读取RAM的FPGA电路产生。b)两路信号经过混频后,滤除直流分量。3、实验结果a)顶层RTL图MyMixerelkF、dout(19:0)rstS_in(9:0)SQc(9:0)LDmixLDockJMyMixerb)Wave图4、实验分析a)RTL图说明从实验结果RTL图屮

2、可以看出,顶层图主要是吋钟elk输入和混频dout输出。那么下面将开始分析代码,看看是如果将输入的吋钟驱动FPGA产生dout输岀。b)FPGA程序分析说明:将以注释的方式进行程序分析-首先需要连接库,包含几个常用的包libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useieee.std_logic_arith.all;useieee.std」ogic_signed

3、downto0);-混频输出端口S_in,S_Oc:outstd_Iogic_vector(9downto0);一混频信号出入端口LDoc,LDmix:outstd_logic);endMyMixer;architectureBehavioralofMyMixeris-实例化名为“sin”的ROM,产生正弦波输出componentsinport(clka:instdjogic;addra:instd_logic_vector(9downto0);douta:outstd_logic_vector(9downto0));endcomponent;-实例化

4、一个DDS,产生本振信号componentocport(clk:instdjogic;sine:outstd_logic_vector(9downto0));endcomponent;signalInSin,OcSin,Addr:std_logic_vector(9downto0);signalmult,mean,mt:std_logic_vector(19downto0);signalmadd:std_logic_vector(22downto0);signalmI,m2,m3,m4,m5,m6,m7:std_logic_vector(19downt

5、o0);signalDoc,Dinix:std」ogic;begin-实例化sin输入信号组件及本振信号DDS核的oc组件u1:sinportmap(clk,Addr,InSin);—625kHzu2:ocportmap(clk,OcSin);--625KHzS_in<=InSin;S_Oc<=OcSin;process(rst,clk)beginifrst=Tthenmult<=(others=>'0*);Addr<=(others=>,0,);elsifrising_edge(clk)thenmult<=InSin*OcSin;-■实现混频输出Ad

6、dr<=Addr+l;一产生正弦信号RAM的地址信号endif;endprocess;-求均值process(rst,clk)—elk为5MHzbeginifrst=*1'thenm1<=(others=>,0');m2<=(others=>,0');m3<=(others=>,0,);m4<=(others=>,0,);m5<=(others=>r0');m6<=(others=>,0');m7<=(others=>,0,);elsifrising_edge(clk)thenml<=mult;m2<=m1;m3<=m2;m4<=m3;m5<=m4;m

7、6<=m5;m7<=m6;endif;endprocess;-这里采样8次数据,也就是这8次的数据符号位都是相同的,所以--mult(19)就能表示符号位了-这里我们分析一下,为什么可以使用mult(19)来填充后三位。-首先我们要知道,在计算机屮,数的加减运算是以补码的形式进行的。-而正数的反码和补码都是本身,负数的补码是反码加1,也就是说,补码-的出现时为了解决负数的运算的。-现在假设我们采样的是正数。也就是说mult(19)都为0,所以填充没影-响,这不难理解。-如果假设为负数,贝U符号位mulg9)就是1了,咋一看,好像不太对。•.其实还是对的

8、。前面我们知道,负数的补码是反码加1,所以半进行加运-算的时候,倒数第二、第三位变成了反码()

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。