分享好友 最新动态首页 最新动态分类 切换频道
【OFDM通信】基于matlab OFDM通信系统仿真【含Matlab源码 315期】
2024-12-26 12:30

⛳️座右铭:行百里者,半于九十。
更多Matlab信号处理仿真内容点击👇
①Matlab信号处理 (进阶版
②付费专栏Matlab信号处理(初级版

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

⛳️关注CSDN海神之光,更多资源等你来

clear all
close all
%% 参数设定
N_FFT=256;%FFT点数
fs=410^6;%基带采样频率4MHz
fsub=15.625
10^3;%子载波频率间隔15.625KHz
%% 训练符号
%短训练符号频域表示
F_Shortpreamble(1:256)=[0,0,0,0,-1-1j,0,0,0,1-1j,0,0,0,1+1j,0,0,0,-1-1j,0,0,0,-1+1j,0,0,0,1-1j,0,0,0,1+1j,0,0,0, -1+1j,0,0,0, 1-1j,0,0,0, -1-1j,0,0,0, 1+1j,0,0,0, -1+1j,0,0,0, -1-1j,0,0,0, 1+1j,0,0,0, 1-1j,0,0,0,-1-1j,0,0,0, 1-1j,0,0,0, 1+1j,0,0,0, -1-1j,0,0,0, -1+1j,0,0,0, -1+1j,0,0,0, -1-1j,0,0,0, 1-1j,0,0,0, -1+1j,0,0,0,1+1j,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,1+1j,0,0,0,1+1j,0,0,0,1+1j,0,0,0,1-1j,0,0,0,-1+1j,0,0,0,1+1j,0,0,0,1+1j,0,0,0,1+1j,0,0,0,1-1j,0,0,0,-1+1j,0,0,0,1+1j,0,0,0,1+1j,0,0,0,1+1j,0,0,0,1-1j,0,0,0,-1+1j,0,0,0,1-1j,0,0,0,1-1j,0,0,0,1-1j,0,0,0,-1-1j,0,0,0,1+1j,0,0,0,-1+1j,0,0,0,-1+1j,0,0,0,-1+1j,0,0,0,1+1j,0,0,0,-1-1j,0,0,0];
%短训练符号时域表示
T_Shortpreamble(1:256)=ifft(F_Shortpreamble);
%长训练符号频域表示
F_Longpreamble(1:256)=[ 0, -1-j, 1+j, -1+j, -1+j, -1-j, 1+j, 1+j, 1+j, -1-j, 1+j, 1-j, 1-j, 1-j, -1+j,-1+j,-1+j, -1+j, 1-j, -1-j, -1-j, -1+j, 1-j, 1+j, 1+j, -1+j, 1-j, 1-j, 1-j, -1+j, 1-j, -1-j, -1-j, -1-j, 1+j,1+j, 1+j,1+j, 1-j, -1+j, -1+j, 1+j, -1-j, 1-j, 1-j, 1+j, -1-j, -1-j, -1-j, 1+j, -1-j, -1+j, -1+j, -1+j, 1-j, 1-j, 1-j, 1-j, -1+j,1+j, 1+j, -1-j, 1+j, -1+j, -1+j, -1-j, 1+j, 1+j, 1+j, -1-j, 1+j, 1-j, 1-j, 1-j, -1+j, -1+j, -1+j, -1+j, 1-j, -1-j,-1-j, 1-j, -1+j, -1-j, -1-j, 1-j, -1+j, -1+j, -1+j, 1-j, -1+j,1+j, 1+j, 1+j, -1-j, -1-j, -1-j, -1-j, 1+j, 1-j, 1-j, 0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1-j,1-j, -1-j, 1+j, 1-j, 1-j, -1+j, 1-j, 1-j, 1-j, 1+j, -1-j, 1+j, 1+j, -1-j, 1+j, -1-j, -1-j, 1-j, -1+j, 1-j, 1-j, -1-j, 1+j,1-j, 1-j, -1+j, 1-j, 1-j, 1-j, 1+j, -1-j, 1+j, 1+j, -1-j, 1+j, -1-j, -1-j, 1-j, -1+j, 1-j, 1-j, -1-j, 1+j, 1-j, 1-j, -1+j,1-j, 1-j, 1-j, 1+j, -1-j, 1+j, 1+j, -1-j, 1+j, -1-j, -1-j, 1-j, -1+j, 1+j, 1+j, 1-j, -1+j, 1+j, 1+j, -1-j, 1+j, 1+j,1+j, -1+j, 1-j, -1+j, -1+j, 1-j, -1+j, 1-j, 1-j,1+j, -1-j, -1-j, -1-j, -1+j, 1-j, -1-j, -1-j, 1+j, -1-j, -1-j, -1-j, 1-j,-1+j, 1-j, 1-j, -1+j, 1-j, -1+j,-1+j, -1-j, 1+j];
%长训练符号频域表示
T_Longpreamble(1:256)=ifft(F_Longpreamble);
%% 卷积编码
%[133 171]卷积码其实是卷积码(2,1,7)的最佳编码形式
signal = randi([0 1],1,1920);%编码器输入48比特
trellis=poly2trellis(7,[133 171]);%内部参数前者是卷积码的约束长度N,后者是根据输入输出连线情况的一个mn矩阵,m为输入信号的个数,n为输出信号的个数。
con_code=convenc(signal,trellis);
figure
subplot(2,1,1)
stairs(signal(1:50));
ylabel(‘幅度’);
title(‘卷积编码前的数据’);
subplot(2,1,2)
stairs(con_code(1:100));
title(‘卷积编码后的数据’);
ylabel(‘幅度’);
%% QPSK映射
bits_per_symbol=2;%每符号含比特数,QPSK调制
QPSK_code_bin=reshape(con_code,1920,bits_per_symbol);%1920是数据长度,进行矩阵变换,将1
3840的矩阵变换为19202的矩阵,前1920为第一列,后1920位第二列
QPSK_code_dec=2
QPSK_code_bin(:,1)+QPSK_code_bin(:,2);
txSig = pskmod(QPSK_code_dec,4,pi/4);
scatterplot(txSig)%星座图
%% 反傅里叶变换
temp=zeros(1,256);
temp([13 38 63 88 168 193 218 243])=1;%内插1
for m=1:10
temp_data(m,2:12)=txSig((m-1)*192+1:(m-1)*192+11);
temp_data(m,14:37)=txSig((m-1)*192+12:(m-1)*192+35);
temp_data(m,39:62)=txSig((m-1)*192+36:(m-1)*192+59);
temp_data(m,64:87)=txSig((m-1)*192+60:(m-1)192+83);
temp_data(m,89:100)=txSig((m-1)192+84:(m-1)192+95);
temp_data(m,156:167)=txSig((m-1)192+96:(m-1)192+107);
temp_data(m,169:192)=txSig((m-1)192+108:(m-1)192+131);
temp_data(m,194:217)=txSig((m-1)192+132:(m-1)192+155);
temp_data(m,219:242)=txSig((m-1)192+156:(m-1)192+179);
temp_data(m,244:256)=txSig((m-1)192+180:(m-1)192+192);
temp_data(m,:)=temp+temp_data(m,:);
f_data(m,:)=ifft(temp_data(m,:))16;
figure
plot(0:1/(255
4
106):1/(4*106),abs(f_data(m,:))');
title(‘时域波形’);
xlabel(‘t/s’);
ylabel(‘幅度’);
end
%% 加CP
data_cp=[f_data(:,193:end),f_data(:😅];%数据加CP
Shortpreamble_cp=[T_Shortpreamble(:,193:end),T_Shortpreamble(:😅];%短训练集加CP
Longpreamble_cp=[T_Longpreamble(:,193:end),T_Longpreamble(:😅];%长训练集加CP
%% 并串变换
OFDM_frame=[Shortpreamble_cp.32,Longpreamble_cp,reshape(data_cp.‘,[],1).’];
%% 上变频
fc=4
4000000; % 取载波fc为基带带宽的4倍
%设采样频率为载波频率的四倍,则每个基带时隙内要输出16
320个符号;
t=0:80
10(-6)/(320*16):80*10(-6)/320
length(OFDM_frame)-80
10^(-6)/(320
16);
carrier=exp(j
(2
pi
(fc+25)t));
sam=kron(OFDM_frame,ones(1,16));
frame_up=real(sam.carrier);%上变频
figure
subplot(2,1,1)
plot(t,abs(frame_up));
xlabel(‘t/s’);
ylabel(‘幅度’);
title(‘上变频后的时域波形’);
subplot(2,1,2)
plot(abs(OFDM_frame));
title(‘OFDM帧时域波形’);
xlabel(‘t/s’);
ylabel(‘幅度’);
for SNR=2:100
% SNR=6;
%% 信道
rxSig = awgn(frame_up,SNR/2);%高斯白噪声信道
%rxSig=frame_up;
% figure
% plot(rxSig,‘r’);
% hold on
% plot(frame_up,‘b’)
%% 下变频
carrier_cos=cos(2
pi
fc
t);
carrier_sin=-sin(2
pi
fc
t);%两路解调信号
carrier_cos_reshape=reshape(carrier_cos,16,length(carrier_cos)/16);
carrier_sin_reshape=reshape(carrier_sin,16,length(carrier_sin)/16);

frame_up_reshape=reshape(rxSig,16,length(rxSig)/16);
rece_cos=frame_up_reshape’carrier_cos_reshape/162;
rece_sin=frame_up_reshape’carrier_sin_reshape/162;
for ii=1:length(OFDM_frame)
rece_real(ii)=rece_cos(ii,ii);
rece_im(ii)=rece_sin(ii,ii);
end
rece_down=rece_real+1irece_im; %%下变频结束,得到基带复数信号
%% AGC自动增益控制
y=agc(rece_down,20,length(rece_down));
% figure
% subplot(2,1,1)
% plot(abs(rece_down));
% ylabel(‘幅度’);
% title(‘下变频后的信号’);
% subplot(2,1,2)
% plot(abs(y));
% title(‘自动增益控制后的信号’);
% ylabel(‘幅度’);
%% 帧检测
FrameStart=frame_detection(y,340);
frame=[y(FrameStart+1:end),zeros(1,256)];
%% 去CP与FFT去导频
for i=1:10
data_rx(i,:)=frame(65+i
320:(i+1)*320);
% data_rx(i,:)=y(65+(i+1)*320:(i+2)*320);
data_r(i,:)=fft(data_rx(i,:))/sqrt(N_FFT);
data(i,1:11)=data_r(i,2:12);
data(i,12:35)=data_r(i,14:37);
data(i,36:59)= data_r(i,39:62);
data(i,60:83)=data_r(i,64:87);
data(i,84:95)=data_r(i,89:100);
data(i,96:107)=data_r(i,156:167);
data(i,108:131)=data_r(i,169:192);
data(i,132:155)=data_r(i,194:217);
data(i,156:179)=data_r(i,219:242);
data(i,180:192)=data_r(i,244:256);
end

1 matlab版本
2014a

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

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

最新文章
美甲培训如何助力你在教育行业中脱颖而出?
作为一位教育行业从业者,我们都希望自己能够在竞争激烈的市场中脱颖而出。而美甲培训正是一个能够帮助我们实现这一目标的利器。在本文中,我们将从多个角度来阐述美甲培训如何助力我们在教育行业中取得成功。美甲培训不仅仅是教授学员如何
群辉包管理工具 synopkg
因为想安装docker,使用apt-get发现apt-get: command not found,这个的出现是因为系统的原因。Linux系统分为三种:1.RedHat系列:Redhat、Centos、Fedora等2.Debian系列:Debian、Ubuntu等3.其它。RedHat系列的包管理工具是yumDebian系列
网站迁移主机位置,会影响谷歌SEO吗?
在网站运营的广阔天地里,每一次细微的变动都可能牵动SEO的敏感神经。特别是当我们面临网站迁移主机位置这一重大决策时,其对于谷歌SEO的影响无疑是每位站长都关心的问题。基于我多年的实战经验和对行业动态的敏锐洞察,今天,我们就来深入
揭秘:排队免单模式如何快速吸引并留住用户?
揭秘:排队免单模式如何快速吸引并留住用户? 系统源码+商业模式设计+平台运营方案,微三云麦超解读前文引言:微三云温馨提醒:因为市场模式是经常变化的,不可能一个模式长期不变地玩如果系 统没有预留多种多样丰富的奖励模式,一旦满足不
阿里巴巴国际站排名怎么靠前?排名规则介绍
阿里巴巴是一个大型的批发网站,国内很多商家都是在这里进货的,除此之外,阿里巴巴还有一个国际站,面向全球各个国家。若是在阿里巴巴国际站开店,怎么提升排名呢?一、国际站排名怎么靠前?1. 首先是产品的类目要选择正确,怎样确定正确类
这里告诉你视频号广告投放推广怎么做
2022年08月26日陈建贵100资深效果广告开户代运营公司,小红书、B站信息流广告,达人探店种草,抖音千川,腾讯视频号等广告开户代运营日用百货销售;化妆品批发;食品销售(仅销售预包装食品);化妆品零售;新鲜水果零售;互联网销售(除销售需
骗人的!《uuopAPP》是诈骗软件,说我操作失误数据乱了要充钱修复漏洞才给提现怎么办
〖→被骗请点击进入帮助平台提现追款〗〖→被骗请点击进入帮助平台提现追款〗希望阅读此文的读者能够及时采取措施以减少损失;请及时与团队联系提供解决方案(文章上方点击添加技术员咨询快速追回)若想追回损失资产,务必仔细阅读以下内容
超逼真美女写真生成神器!探索AI绘画的宝藏工具攻略
DeepArt:这是一款将你的照片变成艺术风格的AI工具。用户可以上传自己的照片,然后选择不同的艺术风格,DeepArt会根据用户的选择生成俏丽的美女画像。它的优势在于简便易用,适合烧脑不太重的用户。不过,由于是将用户照片转化成艺术画作,
必看教程“微信小程序蜀山四川麻将外卦神器下载安装”(原来真的有挂)-知乎优质
亲,微信小程序蜀山四川麻将外卦神器下载安装这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确
良心推荐:总结 Android 开发中必备的代码 Review 清单
本文收集了我自己工作以来提交代码前的所有检查点。事实证明,这样能有效提高自己的代码质量和功能的稳定性。所以推荐大家以后每次提交代码前,都可以看下这份 Review 清单哈。此外,可能还有些检查点我并没有发现,欢迎大家踊跃在评论区补
相关文章
推荐文章
发表评论
0评