其他分享
首页 > 其他分享> > 水声通信系统的建模和仿真-正交幅度调制(OFDM)-MATLAB

水声通信系统的建模和仿真-正交幅度调制(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,%%,reshape,建模,stem,MATLAB,信号,调制
来源: https://blog.csdn.net/QWER306306/article/details/121779964