• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于FPGA的正交相移键控(QPSK)实现Verilog代码ISE仿真

07/31 08:05
146
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240604121G0429.doc

共1个文件

名称:基于FPGA正交相移键控(QPSK)实现Verilog代码ISE仿真

软件:ISE

语言:Verilog

代码功能:

正交相移键控(QPSK)实现

在这个项目中,您需要在FPGA上实现QPSK调制器。您需要了解QPSK调制技术,并确定关键组件(例如,比特流转换器和三角函数生成器)才能实现它。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. ISE自带仿真

6. Modelsim仿真

部分代码展示:

`timescale?1ns?/?1ps
//////////////////////////////////////////////////////////////////////////////////
//?Company:?
//?Engineer:?
//?
//?Create?Date:????17:06:40?12/07/2019?
//?Design?Name:?
//?Module?Name:????QPSK?
//?Project?Name:?
//?Target?Devices:?
//?Tool?versions:?
//?Description:?
//
//?Dependencies:?
//
//?Revision:?
//?Revision?0.01?-?File?Created
//?Additional?Comments:?
//
//////////////////////////////////////////////////////////////////////////////////
module?QPSK(
????input?clk_in,//时钟
????input?rst_p,//高电平复位
?input?[1:0]?data_in,//输入2bit调制信号
????output?[7:0]?QPSK_out//QPSK调制输出
????);
//clk_in的频率需要是data_in码速率的32N倍,因为一个正弦波周期32个点。
reg?[4:0]?phase_num=5'd0;//相位偏移值
always?@(posedge?clk_in?or?posedge?rst_p)
if(rst_p)
phase_num<=5'd0;
else
??begin
?????case?(data_in)//输入2bit调制信号对应4个相位,分别如下
???????2'b00:phase_num<=5'd3;//phase?45
???????2'b01:phase_num<=5'd11;//phase?135
???????2'b10:phase_num<=5'd19;//phase?225
???????2'b11:phase_num<=5'd27;//phase?315
???????default:;
?????endcase
???end
?
//正弦波地址累加控制输出三角函数波形
reg?[4:0]?location=5'd0;
always?@(posedge?clk_in?or?posedge?rst_p)
begin
if(rst_p)
location<=5'd0;
else//循环累加

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=827

  • 2-240604121G0429.doc
    下载

相关推荐