西南交通大学_通信工程实验报告

上传人:n**** 文档编号:37550854 上传时间:2018-04-18 格式:DOCX 页数:36 大小:619.91KB
返回 下载 相关 举报
西南交通大学_通信工程实验报告_第1页
第1页 / 共36页
西南交通大学_通信工程实验报告_第2页
第2页 / 共36页
西南交通大学_通信工程实验报告_第3页
第3页 / 共36页
西南交通大学_通信工程实验报告_第4页
第4页 / 共36页
西南交通大学_通信工程实验报告_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《西南交通大学_通信工程实验报告》由会员分享,可在线阅读,更多相关《西南交通大学_通信工程实验报告(36页珍藏版)》请在金锄头文库上搜索。

1、通信工程实验报告通信工程实验报告班级:班级:_通信通信 1 1 班班_学号:学号: _ 姓名:姓名: 华亿超市华亿超市 实验一实验一 FPGAFPGA 实验实验 BDPSKBDPSK 调制解调器设计调制解调器设计一、实验目的一、实验目的 掌握 BDPSK 的调制和解调原理。 掌握倍频和分频的概念以及原理。 用 VerilogHDL 硬件描述语言建模时序逻辑电路,实现 BDPSK 基带调制解调 系统。2 2、实验报告要求实验报告要求 调制器和解调器的外引脚图和内部结构图。(Microsoft Visio 中截图) 调制器模块和解调器模块的 VerilogHDL 代码及注释。 功能仿真和时序仿真结

2、果的波形。(ModelSim 中截图) (选做)开发板验证后的波形。(示波器上拍照)三、三、 实验结果实验结果1、 BDPSKBDPSK 调制系统的结构图。调制系统的结构图。2、 BDPSKBDPSK 调制器模块的调制器模块的 VerilogHDLVerilogHDL 代码及注释。代码及注释。 分频器:分频器: module fre_div(clk,cp0);/分频器 input clk; output reg cp0; parameter N=32; integer i=0; initial begincp00.5; % 等概率产生 0 和 1s = 2*ip-1; % BPSK 调制 0

3、- -1; 1 - 0sMod = kron(s,ones(nRx,1); % sMod = reshape(sMod,nRx,nTx,N/nTx); % 将矩阵转换为 nRx,nTx,N/nTx 形式 h = 1/sqrt(2)*randn(nRx,nTx,N/nTx) + j*randn(nRx,nTx,N/nTx); % 瑞利衰落信道n = 1/sqrt(2)*randn(nRx,N/nTx) + j*randn(nRx,N/nTx); % 0 均值 高斯白噪声% 加入噪声后在信道中传输a = h.*sMod; %将两个矩阵的第三维分别相乘b = sum(h.*sMod,2);%将第三维

4、加为一列c = squeeze(sum(h.*sMod,2);%变换为 2x10 矩阵d = 10(-Eb_N0_dB(ii)/20)*n;%噪声为 2x10 矩阵y = squeeze(sum(h.*sMod,2) + 10(-Eb_N0_dB(ii)/20)*n;% 最大似然接收% -% 当 s1 s2 = +1,+1 sHat1 = 1 1;sHat1 = repmat(sHat1,1 ,N/2);sHat1Mod = kron(sHat1,ones(nRx,1);sHat1Mod = reshape(sHat1Mod,nRx,nTx,N/nTx);%发送矩阵zHat1 = squeez

5、e(sum(h.*sHat1Mod,2) ; %接收矩阵%e = abs(y - zHat1); %取理论接收与实际接收的绝对值J11 = sum(abs(y - zHat1),1);%将两行加为一行 % % % 当 s1 s2 = +1,-1 sHat2 = 1 -1;sHat2 = repmat(sHat2,1 ,N/2);sHat2Mod = kron(sHat2,ones(nRx,1);sHat2Mod = reshape(sHat2Mod,nRx,nTx,N/nTx);zHat2 = squeeze(sum(h.*sHat2Mod,2) ;J10 = sum(abs(y - zHat

6、2),1); % % % 当 s1 s2 = -1,+1 sHat3 = -1 1;sHat3 = repmat(sHat3,1 ,N/2);sHat3Mod = kron(sHat3,ones(nRx,1);sHat3Mod = reshape(sHat3Mod,nRx,nTx,N/nTx);zHat3 = squeeze(sum(h.*sHat3Mod,2) ;J01 = sum(abs(y - zHat3),1);% % 当 s1 s2 = -1,-1 sHat4 = -1 -1;sHat4 = repmat(sHat4,1 ,N/2);sHat4Mod = kron(sHat4,one

7、s(nRx,1);sHat4Mod = reshape(sHat4Mod,nRx,nTx,N/nTx);zHat4 = squeeze(sum(h.*sHat4Mod,2) ;J00 = sum(abs(y - zHat4),1); % % % 从四组数值中找出最小值 jj,所在位置 ddrVec = J11;J10;J01;J00;jj dd = min(rVec,1); % % % mapping the minima to bitsref = 1 1; 1 0; 0 1; 0 0 ;ipHat = zeros(1,N);ipHat(1:2:end) = ref(dd,1);ipHat(2

8、:2:end) = ref(dd,2); % % % 统计错误f = find(ip - ipHat);%发生错误所在位置nErrML(ii) = size(find(ip - ipHat),2);%错误个数end % %ZF for ii = 1:length(Eb_N0_dB)% 发送端ip = rand(1,N)0.5; % 等概率生成 0,1 s = 2*ip-1; % BPSK 调制 0 - -1; 1 - 0%a = ones(nRx,1)sMod = kron(s,ones(nRx,1); % sMod = reshape(sMod,nRx,nTx,N/nTx); % 变换矩阵形

9、式为 nRx,nTx,N/NTx h = 1/sqrt(2)*randn(nRx,nTx,N/nTx) + j*randn(nRx,nTx,N/nTx); % 瑞利信道n = 1/sqrt(2)*randn(nRx,N/nTx) + j*randn(nRx,N/nTx); % 0 均值高 斯白噪声% 加入白噪声后在信道中传输y = squeeze(sum(h.*sMod,2) + 10(-Eb_N0_dB(ii)/20)*n;% 接收端% 求伪逆矩阵 G = inv(HH*H)*HH% HH*H 的矩阵维数为 nTx x nTx. 即 2 x 2 % 2x2矩阵的转置为 a b; c d =

10、1/(ad-bc)d -b;-c ahCof = zeros(2,2,N/nTx); hCof(1,1,:) = sum(h(:,2,:).*conj(h(:,2,:),1); % d hCof(2,2,:) = sum(h(:,1,:).*conj(h(:,1,:),1); % a hCof(2,1,:) = -sum(h(:,2,:).*conj(h(:,1,:),1); % c hCof(1,2,:) = -sum(h(:,1,:).*conj(h(:,2,:),1); % b hDen = (hCof(1,1,:).*hCof(2,2,:) - (hCof(1,2,:).*hCof(2

11、,1,:); % ad-bchDen = reshape(kron(reshape(hDen,1,N/nTx),ones(2,2),2,2,N/nTx); % hInv = hCof./hDen; % inv(HH*H)hMod = reshape(conj(h),nRx,N); % HH yMod = kron(y,ones(1,2); % 接收信号矩阵化yMod = sum(hMod.*yMod,1); % HH * y yMod = kron(reshape(yMod,2,N/nTx),ones(1,2); % yHat = sum(reshape(hInv,2,N).*yMod,1);

12、 % inv(HH*H)*HH*y% 接收端 硬判决解码ipHat = real(yHat)0;% 统计错误nErrZF(ii) = size(find(ip- ipHat),2);end % %MMSE for ii = 1:length(Eb_N0_dB)% 发送端ip = rand(1,N)0.5; s = 2*ip-1; % BPSK 调制 0 - -1; 1 - 0sMod = kron(s,ones(nRx,1); % sMod = reshape(sMod,nRx,nTx,N/nTx); % nRx,nTx,N/NTx h = 1/sqrt(2)*randn(nRx,nTx,N/

13、nTx) + j*randn(nRx,nTx,N/nTx);n = 1/sqrt(2)*randn(nRx,N/nTx) + j*randn(nRx,N/nTx); % 加入高斯白噪声后在信道中传输y = squeeze(sum(h.*sMod,2) + 10(-Eb_N0_dB(ii)/20)*n;% 接收端% MMSE W = inv(HH*H+sigma2*I)*HH% HH*H i 的维数为nTx x nTx. 即2 x 2 % 2x2矩阵的逆 a b; c d = 1/(ad-bc)d -b;-c ahCof = zeros(2,2,N/nTx) ; hCof(1,1,:) = su

14、m(h(:,2,:).*conj(h(:,2,:),1) + 10(- Eb_N0_dB(ii)/10); % d hCof(2,2,:) = sum(h(:,1,:).*conj(h(:,1,:),1) + 10(- Eb_N0_dB(ii)/10); % a hCof(2,1,:) = -sum(h(:,2,:).*conj(h(:,1,:),1); % c hCof(1,2,:) = -sum(h(:,1,:).*conj(h(:,2,:),1); % b hDen = (hCof(1,1,:).*hCof(2,2,:) - (hCof(1,2,:).*hCof(2,1,:); % ad

15、-bc hDen = reshape(kron(reshape(hDen,1,N/nTx),ones(2,2),2,2,N/nTx); hInv = hCof./hDen; % inv(HH*H)hMod = reshape(conj(h),nRx,N); % HH yMod = kron(y,ones(1,2); yMod = sum(hMod.*yMod,1); % HH * y yMod = kron(reshape(yMod,2,N/nTx),ones(1,2); yHat = sum(reshape(hInv,2,N).*yMod,1); % inv(HH*H)*HH*y%接收端ipHat = real(yHat)0;% 统计错误nErrMMSE(ii) = size(find(ip- ipHat),2);end % %无衰落 bpsk 调制 for ii = 1:length(Eb_N0_dB)% Transmitterip = rand(1,N)0.5; s = 2*ip-1; n = 1/sq

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

当前位置:首页 > 电子/通信 > 综合/其它

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