水声通信系统的建模和仿真-正交幅度调制(OFDM)-MATLAB
2021/12/8 6:20:59
本文主要是介绍水声通信系统的建模和仿真-正交幅度调制(OFDM)-MATLAB,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
OFDM
- 前言
- 一、调制和解调的过程
- 二、仿真的过程
- 三、总结
前言
通过前几次的通信过程仿真,学会使程序有很好的通用性,例如只要改定义的参数L、M、N等即可完成,这样可以更快地对比不同参数下的仿真效果。还更了解了一些自带函数的涵义,让程序可以简单易懂一些。
一、调制和解调的过程
整个调制过程如下,其中调制方式可以自己挑选,例如QAM,PSK,DPSK,PAM调制方式,这些调制方式在前几章都有学习。这里采用的信道也是之前仿真过的多径衰落信道,此模型采用的二径。
二、仿真的过程
代码如下:
%% OFDM过程 clear all;clc;close all; N=64; %%每行符号数 L=4; %%L行并行运输 M=16; %%多进制 t0=0;t1=8; %%信道的前两径时延 ESNO=200; %%单位dBD snr=10.^(ESNO/10); %%转换成单位线性值 x=randi([0 M-1],N,L); %%待调制信号 x1=qammod(x,M); %%结果PAM,PSK,DSPK,QAM均可 x2=ifft(x1); %%IFFT代替载波的实现 x3=[x2(N*(3/4)+1:end,:);x2]; %%补CP x4=reshape(x3,1,L*N*(5/4)); %%并串转换 s_pow=norm(x4).^2/(L*N*(5/4)); %%这里是符号的平均功率,而不是每一个采样点 sigma=sqrt(s_pow/(2*snr)); %%根据线性值的信噪比和信号功率求出噪声功率 h=sigma*(randn(1,2)); %%这里假设的是二径衰落信道 y1=[zeros(1,t0) x4(1:end-t0)*h(1)]+[zeros(1,t1) x4(1:end-t1)*h(2)]; y2=reshape(y1,N*(5/4),L); %%串并转换 y3=y2([N*(1/4)+1:end],:); %%去CP y4=fft(y3); %%FFT还原 %% 信道均衡 h1=[h(1) zeros(1,7) h(2)]; H1=fft(h1,N).'; y5=y4./H1; z=qamdemod(y5,M); %% 结果分析 xx12=reshape(x',L*N,1); x12=reshape(x1',L*N,1); y12=reshape(y5',L*N,1); z12=reshape(z',L*N,1); figure; subplot(311); stem(abs(x12),'fill');hold on;stem(abs(y12),'-rs');title('幅度验证'); legend('已调信号x1','接收处理信号y5'); subplot(312); stem(angle(x12),'fill');hold on;stem(angle(y12),'-rs');title('相位验证'); legend('已调信号x1','接收处理信号y5'); subplot(313); stem(abs(xx12),'fill');hold on;stem(abs(z12),'-rs');title('调制验证'); legend('调制信号x','解调信号z');
由于例如QAM这类仿真不仅需要幅度验证,还需相位验证,所以在结果分析中给出了这两种比较。也给出了待调制信号和解调信号的验证关系。当然,还可以比较M相同时,不同信噪比下的误码率,[如之前的做法相似]
8QAM:
8DPSK:
8ASK:
这里说明很容易出现相位完全对称情况,那并不是无码,而是因为-pi和+pi
三、总结
几种常见的调制方式大致结束了。下面要从调制信号的高阶累积量出发,来识别待处理的盲信号的调制方式;从参数估计的一些方法,来估计待处理信号的一些参数,例如载波频率和符号速率等。
这篇关于水声通信系统的建模和仿真-正交幅度调制(OFDM)-MATLAB的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-28机器学习资料入门指南
- 2024-10-25机器学习开发的几大威胁及解决之道
- 2024-10-24以下是五个必备的MLOps (机器学习运维)工具,帮助提升你的生产效率 ??
- 2024-10-15如何选择最佳的机器学习部署策略:云 vs. 边缘
- 2024-10-12从软件工程师转行成为机器学习工程师
- 2024-09-262024年机器学习路线图:精通之路步步为营指南
- 2024-09-13机器学习教程:初学者指南
- 2024-08-07从入门到精通:全面解析机器学习基础与实践
- 2024-01-24手把手教你使用MDK仿真调试
- 2024-01-10基于“小数据”的机器学习