黑龙江大学。
fpga通信模块设计。
专业:通信工程。
学号:20085415
姓名:王琪。
fpga通信模块设计。
1 现代数字信号处理。
随着电子技术和集成电路技术的飞速发展,数字信号处理已广泛应用于语音、图像处理,通信和多**等领域中。傅立叶变换(dft)作为其数字信号处理中的基本运算,发挥着重要作用。特别是快速傅立叶变换(fft)算法的提出,减少了当n很大的时候dft的运算量,使得数字信号处理的实现和应用变得更加容易,因此对fft算法及其实现方法的研究具有很强的理论和现实意义,且实际价值不可估量。
数字信号处理是利用计算机或专专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合需要的信号形式。。
数字信号处理是从20世纪60年代以来,随着信息科学和计算机学科的高速发展而迅速发展起来的一门新兴学科。70年代以来,随着电子计算机、大规模集成电路、超大规模集成电路以及微处理器技术的迅猛发展,数字信号处理得到了飞速的发展,它的重要性日益在各个领域的应用中表现出来。
早期的fpga设计大都是使用fpga**商提供的设计软件工具,进行门级设计。现在设计的一个特点是首先采用vhdl语言进行电路描述,然后使用高层次的eda综合工具进行综合,最后使用fpga**商提供的布局布线工具进行布局布线。要求在系统设计、综合技巧等方面就要考虑fpga的特点。
在**设计时,遵从vhdl描述一系统**一系统综合一fpga实现这一高层次设计方法来完成系统的设计与实现。
2 bpsk调制。
bpsk(二进制相移键控)是利用载波的相应变化来传递数字信息,具有抗噪声性能好、易于产生、误码率低等优点。bpsk调制在扩频载波调制中是一种极重要的调制方式,它的抗干扰性及通频带的利用率均优先于ask移幅键控和fsk移频键控。因此,psk技术在高速数据传输中得到了十分广泛的应用。
bpsk框图如下:
图1 bpsk调制图。
图2 bpsk调制**图。
图3 bpsk调制**图。
3 m序列。
伪随机信号既有随机信号所具有的优良的相关性,又有随机信号所不具备的规律性。因此,伪随机信号既易于从干扰信号中被识别和分离出来,又可以方便的产生和重复,其相关函数接近白噪声的相关函数。伪随机序列具备可重复性,可确定性,易于实现相关接受和匹配接受,故有很好的抗干扰性能。
因此伪随机序列在相关辨识、伪码测距、导航、遥控测试和多址通讯等方面有广泛的应用。
长度线形移位寄存器序列(简称m序列),m序列是一类重要的伪随机序列,最早应用于扩频通信。
3.1 m序列原理。
m序列是由带线性反馈的移位寄存器产生的周期最长的一种序列,由反馈移位寄存器的“和”、“异”、“或”门组成的环形计数器即可产生m序列。
n级线性移位寄存器产生的非零周期序列的极小多项式为n次本原多项式,这样的就是m序列,周期是。根据某一n次本原多项式和不同的初始状态可以得到多个m序列,但它们只不过相差若干步位移,这些m序列称作一个平移等价类。在全部n级m序列中,平移等价类的个数为,其中表示v的欧拉函数。
可以通过对某一n级m序列进行采样来获得m序列其它所有的平移等价类(即求取全部的本原多项式)。
3.2 m序列**图。
图4 m序列**图。
4 nco4.1 nco原理。
数控振荡器(nco)产生时间离散和幅度离散的正弦信号和余弦信号,典型情况下用在通信系统中,在i-q混频器中用作正交载波发生器,也常用在数字锁相环中,在通信接收机中用于载波同步。
nco还可作为频移键控(fsk)或相移键控(psk)调制器,此时输出信号的频率或相位变化直接与输入数据相对应。
产生数字正弦信号的方法有很多种。通用的方法是在单位圆上累加相位增量产生角度位置,然后用累加相位值作为rom查找表的地址,完成从极坐标到笛卡尔坐标的转换。可以使用乘法器减少rom的容量,对于给定的精度,乘法器的使用可以指数降低存储器的使用量,但是需要更多的逻辑单元。
产生数字正弦信号的另一个方法是使用坐标旋转数字计算(cordic)算法确定正弦和余弦的值,cordic算法用累加器相位值作为输入,然后通过一系列二进制移位和比较确定对应角度的笛卡尔坐标。
在所有的方法中,相位增量累加的频率和输入相位增量的大小直接决定正弦信号的频率,而输出信号的值用二进制补码表示。
nco生成的正弦信号用下列公式定义:
其中:t是时钟周期,f0是由相位增量输入值φinc制输出频率,ffm是由频率调制输入值φfm决定的频率调制参数,φfm是相位调制输入值,φdith是内部抖动相位值,,n是幅值精度。
对于给的相位增量φinc,输出频率f0由下列公式决定:
其中:fclk是时钟频率,m是相位累加器精度。
4.2 nco**图。
图5 nco**图。
计数器源**。
/ quartus ii verilog template
/ binary counter
module janet11
input clk, reset,input [9:0] k,output reg [9:0] cnt_out
// reset if needed, or increment if counting is enabled
always @ posedge clk or posedge reset)
beginif (reset)
cnt_out <=0;
else cnt_out <=cnt_out + k;
endendmodule
cos_rom源**。
module rom_cos (
address,clock,q);
input [9:0] address;
input clock;
output [7:0] q;
wire [7:0] sub_wire0;
wire [7:0] q = sub_wire0[7:0];
altsyncram altsyncram_component (
clock0 (clock),address_a (address),q_a (sub_wire0),aclr0 (1'b0),aclr1 (1'b0),address_b (1'b1),addressstall_a (1'b0),addressstall_b (1'b0),byteena_a (1'b1),byteena_b (1'b1),clock1 (1'b1),clocken0 (1'b1),clocken1 (1'b1),clocken2 (1'b1),clocken3 (1'b1),data_a (}data_b (1'b1),eccstatus ()q_b ()rden_a (1'b1),rden_b (1'b1),wren_a (1'b0),wren_b (1'b0));
defparam
altsyncram_ =none",altsyncram_ =bypass",altsyncram_ =bypass",altsyncram_ =rom_",altsyncram_ =cyclone iii",altsyncram_ =enable_runtime_mod=no",altsyncram_ =altsyncram",altsyncram_ =1024,altsyncram_ =rom",altsyncram_ =none",altsyncram_ =unregistered",altsyncram_ =10,altsyncram_ =8,altsyncram_ =1;
endmodule
fpga课程设计
异步数据复接设计。孟伟荣 201222250226 空天院。根据3个时钟的不同速率,如果最终的并行输出是同步字节 对应数据的结构,可以发现aa 两帧第一路数据 bb 三帧第二路数据 cc正好满足要求。其中aabbcc均以16进制数据表示。aa,bb,cc分别使用一个byte的寄存器。本设计中为使结果...
FPGA课程设计
fpga课。程。设。计。专业 10级电子信息工程。班级 1班。姓名 傅雅琦。学号 100102011120 指导教师 祝宏。制作日期 2012年12月13日。1.模为100的可加减计数器。1.标题及任务书。第一阶段 熟悉设计要求构造大致思路。第二阶段 图书馆查阅资料,仿照例子编程。第三阶段 开始编程...
FPGA课程设计
安康学院。fpga sopc课程设计报告书。设计项目成绩评定表。设计报告书目录。一 设计目的 1 二 设计思路 1 三 设计过程 1 3.1 系统总体方案 1 3.2 程序设计具体步骤 2 四 系统调试与结果 8 五 主要元器件与设备 8 六 课程设计体会与建议 8 6.1 设计体会 8 6.2 设...