信号储存与回放

上传人:liy****000 文档编号:118837467 上传时间:2019-12-26 格式:DOCX 页数:15 大小:163.56KB
返回 下载 相关 举报
信号储存与回放_第1页
第1页 / 共15页
信号储存与回放_第2页
第2页 / 共15页
信号储存与回放_第3页
第3页 / 共15页
信号储存与回放_第4页
第4页 / 共15页
信号储存与回放_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《信号储存与回放》由会员分享,可在线阅读,更多相关《信号储存与回放(15页珍藏版)》请在金锄头文库上搜索。

1、一 实验项目名称信号存储与回放二 实验目的设计并制作一个数字化信号存储与回放系统。三 实验要求1. 信号频率约为30Hz,波形为单极性正弦波和三角波,Vpp4V;2. ADC:采样频率fs=4kHz,字长=8位;3. 信号存储时间4秒;4. DAC:转换频率fC=4kHz,字长=8位; 5. 示波器观察,回放波形无明显失真;6. 回放方式:直通方式(采集数据后直接回放,不存储)、单次回放、循环回放;7. 具有采集完成指示;8. 数据编码:4位DPCM(1位符号,3位数据)。9. 计算对Vpp为5V单极性正弦波,4位DPCM编码,不失真的信号最大频率。四 实验设备与元器件Quartus II软件

2、1套FPGA1套函数信号发生器1台五 项目背景5.1脉冲编码调制PCM脉冲编码调制(pulse code modulation,PCM)是概念上最简单、理论上最完善的编码系统,是最早研制成功、使用最为广泛的编码系统,但也是数据量最大的编码系统。下图为PCM系统的原理框图:抽样量化编码信道干扰m(t)ms(t)msq(t)A/D变换译码低通滤波msq(t)m(t)图中,输入的模拟信号m(t)经抽样、量化、编码后变成了数字信号(PCM信号),经信道传输到达接收端,由译码器恢复出抽样值序列,再由低通滤波器滤出模拟基带信号m(t)。通常,将量化与编码的组合即为模/数变换器(A/D变换器);而译码与低通

3、滤波的组合即为数/模变换器(D/A变换器)。前者完成由模拟信号到数字信号的变换,后者则相反,即完成数字信号到模拟信号的变换。PCM在通信系统中完成将语音信号数字化功能。根据CCITT的建议,为改善小信号量化性能,采用非均匀量化,有两种建议方式,分别为A律和律方式,我国采用了A律方式,由于A律压缩实现复杂,常使用 13 折线法编码,采用非均匀量化PCM编码。5.2增量调制(M)增量调制是脉冲编码调制的一种特殊形式,即1比特量化的差值脉码。在PCM系统中,将信号抽样值编为多位二进制码。为提高编码质量,要增加码长,导致设备复杂。而增量调制每次抽样只用一位二进制码表示,它表示了相邻样值的增减变化,这样

4、,编码设备十分简单。首先,根据信号的幅度大小和和抽样频率确定阶梯信号的台阶。在抽样时刻,比较信号和前一时刻的阶梯波形取值,其中:1 如果,则用上升一个台阶表示,此时编码器输出1码;2 如果,则用下降一个台阶表示,此时编码器输出0码。下次编码按上述方法将与比较,使之上升或下降一个台阶电压去逼近模拟信号。如果抽样频率足够高,台阶电压足够小,则阶梯波形近似为m(t),而上升台阶和下降台阶的二进制代码分别用1和0表示。这个过程就是增量编码。如图所示的模拟信号m(t)采用增量调制编码编出的二进制代码为:01010111111100011。增量调制信号的译码器可由一个积分器来实现,如图 (a)所示,当积分

5、器的输入为1码时(即输入为脉冲电压),就以固定斜率上升一个(等于), 当积分器的输入为0码时(即输入为脉冲电压),就以固定斜率下降一个。积分器输出虽已接近原来模拟信号,但往往含有不必要的高次谐波分量,故需再经低通滤波器平滑,这样,就可得到十分接近模拟信号的输出信号。5.3 DPCM编码DPCM编码,简称差值编码,是对模拟信号幅度抽样的差值进行量化编码的调制方式。这种方式是用已经过去的抽样值来预测当前的抽样值,对它们的差值进行编码。差值编码可以提高编码频率,这种技术已应用于模拟信号的数字通信之中。对于有些信号(例如图像信号)由于信号的瞬时斜率比较大,很容易引起过载,因此,不能用简单增量调制进行编

6、码,除此之外,这类信号也没有像话音信号那种音节特性,因而也不能采用像音节压扩那样的方法,只能采用瞬时压扩的方法。但瞬时压扩实现起来比较困难,因此,对于这类瞬时斜率比较大的信号,通常采用一种综合了增量调制和脉冲编码调制两者特点的调制方法进行编码,这种 编码方式被简称为脉码增量调制,或称差值脉码调制,用DPCM表示。这种调制方式的主要特点是把增量值分为多个等级,然后把个不同等级的增量值编为二进制代码再送到信道传输,因此,它兼有增量调制和PCM的各自特点。经过DPCM调制后的信号,其传输的比特率要比PCM的低,相应要求的系统传输带宽也大大地减小了。此外,在相同比特速率条件下,DPCM比PCM信噪比也

7、有很大的改善。与M相比,由于它增多了量化级,因此,在改善量化噪声方面优于M系统。DPCM的缺点是易受到传输线路上噪声的干扰,在抑制信道噪声方面不如M。六 实验原理电路示意图存储器DAC解码器DPCM编码ADC控制器七 实验内容及步骤1) 按照实验要求中:采样频率fs=4KHz以及转换频率fc=4KHz所以采用系统时钟1MHz进行250分频。2) 配置ADC以及DAC,实现直通功能来检测配置是否正确。3) 生成RAM模块,编写编码解码模块。4) 编写存储第一个8位数模块。5) 模块级联,测试功能。八 实验过程8.1顶层设计8.2输入输出模块输入Clk-系统时钟 wr-clr编码器相关寄存器清零S

8、tart数据采集使能 rd_clr译码器相关寄存器清零Outen输出使能 TLC5510 8位并行AD输入输出DA-clk DA输出时钟 AD-clk AD采样时钟AD-en AD使能位(置0) DA-NC DA的两个低位接地DA DA数据输出8.2.1分频器模块设计outclk:输出4KHz的频率clk: 输入1MHz的频率对1MHZ进行250分频从而获得精确的4KHZ的系统时钟module dividefreq(clk,outclk);input clk;/input clk 1MHZ1000/250=4KHZoutput reg outclk;reg 6:0 acc;always (po

9、sedge clk)beginacc=acc+1b1;if(acc=125)beginoutclk=outclk;acc=0;endendendmodule8.3 初始值记录模块module first_num(ad,num,start,clk,wr_en,clr);input start,clk,clr;input 7:0 ad;output reg 7:0 num;output reg wr_en;reg flag;initial begin flag=0; endalways (posedge clk or posedge clr)beginif(clr)beginnum=0;wr_en

10、=0;flag=0;endelseif(!flag)if(start)beginnum=ad;wr_en=1;flag=1;endendendmodule当start被置1时,数据开始采集。首先由还模块采集第一个8位数据进行锁存后,wr_en(写入使能位)输出位被置1,同时base7.0输出初值,DPCM编码模块部分开始工作,将编码后数据存入ram中。8.4 DPCM编码模块8.4.1 当前值与前次值寄存模块由两个简单的8位寄存器级联而成,每次在系统时钟上升沿进行AD采样后将数据送入第一个寄存器的同时将上一次采样数据送入第二个寄存器。module jcq8b(clk,in8,out8,clr)

11、;input clk,clr;input 7:0 in8;output reg 7:0 out8;always (posedge clk or posedge clr)beginif(clr)out8=0;elseout8=in8;endendmodule8.4.2 差值运算电路此模块作用将两个8位寄存器的输出相减,即为2次采样的差值,从而实现DPCM编码。考虑到可能会有溢出,故此处使用除法器模块对两个8位寄存器的输出相减后再操作,虽然降低了AD的分辨率,但可以使失真频率显著提高。module subdiy(a,b,c);input 7:0a,b;output 3:0 c;assign c=a

12、-b;endmodule此处为实现补码运算的目的,没有调用宏模块中的减法器,此段verilog直接实现了补码运算的功能,故ram模块中所存储的为差值的补码。8.4.3 ram写入控制部分及其外围模块写入控制部分主体为一个模16000的计数器(由于ram为4bit*16000),当初值模块完成初值采集后wr_en位被置1,该写地址控制寄存器开始工作,并且将ram块上的wren写输入控制置1开始写入数据。当该计数器计满时,由于cout与上wr_en反馈到了clk_en,将该地址寄存器锁住后不再计数,需要通过外部按键将编码器清零后才可以重新开始。同时complete_flag模块判断cout变1后,

13、显示采集完成标志,即1个数码管由0变F。module complete_flag(clk,clr,cout,seg);input clr,cout,clk;output reg 3:0seg;always (posedge clk)beginif(clr)seg=0;elsebeginif(cout)seg=4b1111;endendendmodule8.5 ram模块8.6 DPCM译码模块8.6.1 补码转换模块由于ram中存储的为4位的补码,初值为8位数值,无法直接相加。首先需要将数据处理成8位补码,从ram中取出4位数据低3位数据位进行乘2(由于编码时对差值进行了除2的做法),而最高位

14、符号位用于补码转换时做判断。module qubuma(a,b,q3);input 3:0 a;input q3;output 7:0 b;assign b=(q3=0)?(4b0000,a3:0):(4b1111,a3:0);endmodule8.6.2 累加模块Base7.0即为采集的8位初值Diff7.0即为经过前级处理后的8位补码差值Radd_en为读取使能信号,由总控制模块输出Outen为外部输入输出使能信号Rd_clr为外部输入译码器清零信号Cycle_clr为当进行循环播放时每循环一次进行一次清零,防止由于ram块中记录的第一个数据与最后一个数据间未知的差值造成累加的错误。module acc(base,diff,outx,clk,clr,en);/when en=1 accummulateinput 7:0base,diff;input clk,clr,en;output reg 7:0 outx

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号