ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

水声通信系统的建模和仿真-正交幅度调制(OFDM)-MATLAB

2021-12-07 23:59:33  阅读:249  来源: 互联网

标签:仿真 OFDM %% reshape 建模 stem 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有