重庆邮电大学本科毕业设计(论文)
2'b00:r=3'b001; 2'b01:r=3'b011; 2'b10:r=3'b101; default:r=3'b111; endcase default:r=r; endcase end endmodule
第六节 电平转换模块设计
电平转换模块实际就是一个译码模块,把二进制数字电平值转换为基带二进制信息。解调端的电平转换模块是和调制端的电平转换模块相对的,是一个相反的过程。设计时直接采用verilog 语言编写译码程序。设计图如图4.4。
输入 001 011 101 111 case判断语句 00 01
10 11 输出 图4.4 电平转换模块设计图
第七节 本章小结
本章重点研究了QAM解制系统中DDS载波恢复设计、乘法器模块设计、低通滤波器模块设计、采样判决模块设计、电平转换模块设计等几个关键模块。在模块设计中,同样采用基于FPGA的实现方法,Modelsim 6.1b工具作为仿真开发环境,利用Xilinx公司的ISE 9.1I软件加载对其中的关键模块程序用Verilog HDL语言进行综合仿真。
- 41 -
重庆邮电大学本科毕业设计(论文)
第五章 调制解调系统的仿真
第一节 仿真参数设置
(1)信号源参数设置,幅度为3V,频率为19200HZ,电平数为4,偏置为0,相位为0。
(2)系统抽样频率设置,为得到准确的仿真结果,通常仿真系统的抽样频率应大于等于10倍的载频。本次仿真采样点数取3000,采样频率取384KHZ,采样频率间隔为128HZ。
(3)系统时间设置:通常设系统Start time=0。为能够清晰观察同相支路和正交支路中每个码元波形及16QAM信号的星座图,在仿真时对系统Stop time 必须进行两次设置,第一次设置一般取系统Stop time=6T~8T,这时可以清楚地 观察到同相支路和正交支路中每个码元波形;第二次设置一般取系统 Stop time=1000T~5000T,这时可以清楚地观察到16QAM信号的星座图。
(4)高斯白噪声:功率谱密度为0.3,均值为0。
第二节 仿真结果
一、16QAM调制器的仿真结果
1 使用Quartus 自带仿真器仿真,其总体仿真图如5.1所示:
图5.1 16QAM调制器的quartus仿真
- 42 -
重庆邮电大学本科毕业设计(论文)
2将程序导入到modelsim中,通过编写testbench,如图5.2所示:
图5.2 16QAM调制器的modeldsim仿真
3 使用MATLAB中simulink库文件搭建一个16QAM调制系统如图5.3所示:
图5.3 16QAM调制系统在MATLAB中的仿真实现
4 观察最后的两个示波器,首先是没有加入噪声的波形,显示如图5.4所示:
图5.4 没有噪声的输出波形
- 43 -
重庆邮电大学本科毕业设计(论文)
5 让输出信号通过10dB噪声的AWGN 信道后,输出波形如图5.5.所示:
图5.5 通过AWGN信道后的输出波形
6 同时会得到映射在星座图上的点,图形如图5.6所示:
图5.6 星座映射图
testbench模块源代码
`timescale 1ns/1ns module qam_tb;
- 44 -
重庆邮电大学本科毕业设计(论文)
reg clk,en,rst; reg data_in; integer handle;
wire signed [17:0] data_out; wire signed [3:0] DATA_I,DATA_Q; always begin end initial begin #1 en<=1; #1 rst<=1'b0; #50 rst<=1'b1; #100 rst<=1'b0; # 1 data_in=1;
handle=$fopen(\end
always @(posedge clk) begin
$fdisplay(handle,\end
initial #1000000 begin $fclose(handle); end
top qam( .rst(rst), .en(en), .clk(clk), .data_in(data_in), .DATA_I(DATA_I), .DATA_Q(DATA_Q), .data_out(data_out)
clk<=1'b0; #50; clk<=1'b1; #50;
- 45 -