【OFDM通信】基于matlab OFDM通信系统仿真【含Matlab源码 1005期】

举报
海神之光 发表于 2022/05/29 03:26:43 2022/05/29
1.1k+ 0 0
【摘要】 一、获取代码方式 获取代码方式1: 完整代码已上传我的资源:【OFDM通信】基于matlab OFDM通信系统仿真【含Matlab源码 1005期】 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭...

一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【OFDM通信】基于matlab OFDM通信系统仿真【含Matlab源码 1005期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、OFDM简介

在这里插入图片描述

三、部分源代码

%本程序用于OFDM基本原理的仿真,数据采用QPSK调制
clear all;
close all;
clc;
SubCarryN=128;%子载波数
fftLen=128;%FFT长度为128
SymbN=6;%一帧中OFDM符号个数
GuardLen=32;%保护时隙的长度
SNR=50;%信噪比取值,dB为单位 

SignalLen=SubCarryN*SymbN*2;%输入比特序列长度=子载波数x每载波符号数x每符号比特数
Signal=round(rand(1,SignalLen));%输出待调制的二进制比特流

for i=1:SubCarryN
    for j=1:SymbN*2
       ParaBitSig(i,j)=Signal(i*j);%串并转换为行数SubCarryN,列数2*SymbN        
    end
end
%进行QPSK数据调制,将数据分为两个通道
for j=1:SymbN
    ich(:,j)=ParaBitSig(:,2*j-1);%同相分量
    qch(:,j)=ParaBitSig(:,2*j);%正交分量
end
kmod=1./sqrt(2);
ich0=ich.*2-1;
qch0=qch.*2-1;
ich1=ich0.*kmod;
qch1=qch0.*kmod;
x=ich1+qch1.*sqrt(-1);%产生复信号

y=ifft(x);%通过傅里叶反变换,将频域数据转换为时域数据
ich2=real(y);%I信道取变换后的实部
qch2=imag(y);%Q信道取变换后的虚部

%插入保护间隔
ich3=[ich2(fftLen-GuardLen+1:fftLen,:);ich2];
qch3=[qch2(fftLen-GuardLen+1:fftLen,:);qch2];

%并串转换
ich4=reshape(ich3,1,(fftLen+GuardLen)*SymbN);
qch4=reshape(qch3,1,(fftLen+GuardLen)*SymbN);
%形成复数发射数据
TrData=ich4+qch4.*sqrt(-1);
%接收机部分
%加入高斯白噪声
ReData=awgn(TrData,SNR,'measured');
%接收端
%移去保护时隙
idata=real(ReData);
qdata=imag(ReData);
idata1=reshape(idata,fftLen+GuardLen,SymbN);
qdata1=reshape(qdata,fftLen+GuardLen,SymbN);
idata2=idata1(GuardLen+1:GuardLen+fftLen,:);
qdata2=qdata1(GuardLen+1:GuardLen+fftLen,:);

%FFT
Rex=idata2+qdata2*sqrt(-1);
ry=fft(Rex);
%QPSK解调
ReIChan=real(ry);
ReQChan=imag(ry);
ReIChan1=ReIChan/kmod;
ReQChan1=ReQChan/kmod;
ReIChan0=(ReIChan1+1)/2;
ReQChan0=(ReQChan1+1)/2;
%QPSK逆映射
for j=1:SymbN
    RePara(:,2*j-1)=ReIChan0(:,j);
    RePara(:,2*j)=ReQChan0(:,j);
end
ReSig=reshape(RePara',1,SubCarryN*SymbN*2);
%符号抽样判决
Resig=ReSig>0.5;
%画图

  
 

四、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/117922024

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。