close all;
clear all;
clc;
%------------------变量设置------------------------------------------
FS=2048; % ifft/fft点数
para=800; % 并行子载波800
Tu=200e-3; % OFDM符号周期
Gtime=50e-3; % 1/4的OFDM符号周期为保护间隔持续时间Gtime=50e-3(单位s)
bits_per_symbol=2; % 每符号含比特数
Ns=4; % 每子载波含符号数128 (为方便测试,改为4)
ProtectionRatio=1/4; % 保护间隔与OFDM数据的比例1/4
LI=7 ; % 导频之间的间隔
Np=ceil(para/LI)+1; % 导频数 %加1的原因:使最后一列也是导频
N_number=para*Ns*bits_per_symbol; % 所输入的比特数目
carriers=1:para+Np; % 加入导频的载波序列
G=ProtectionRatio*FS; % 1/4的抽样频率为保护间隔长度G=512
N_snr=40; % 每比特信噪比
snr=8; % 信噪比间隔
show_flag=0; % 为通过星座图表现信号的发送与接收,设定标志,画出SNR=8时的信号星座图
%---------------初始化---------------------------------------------
X=zeros(1,N_number);
X1=[];
X2=[];
X3=[];
X4=[];
X5=[];
X6=[];
X7=[];
Y1=[];
Y2=[];
Y3=[];
Y4=[];
Y5=[];
Y6=[];
Y7=[];
XX=zeros(1,N_number);
diff_bits=zeros(1,N_number);
X=randint(1,N_number); %产生二进制随即序列(非0即1)
%------QPSK调制:(1 1)->pi/4;(0 1)->3*pi/4;(0,0)->-3*pi/4;(1,0)->-pi/4-------------------------------
s=(X.*2-1)/sqrt(2);
sreal=s(1:2:N_number);
simage=s(2:2:N_number);
X1=sreal+j.*simage;
figure(1);
plot(X1,'r*'); % QPSK调制后星座图
axis([-4, 4, -4, 4]);
grid on
title('QPSK调制后星座图');
%-------产生随机导频信号--------------------------------------------------
train_sym=randint(1,2*Ns);
t=(train_sym.*2-1)/sqrt(2);
treal=t(1:2:2*Ns);
timage=t(2:2:2*Ns);
training_symbols1=treal+j.*timage;
training_symbols2=training_symbols1.';
training_symbols=repmat(training_symbols2,1,Np);
pilot=1:LI+1:para+Np;
if length(pilot)~=Np
pilot=[pilot,para+Np];
end
%------------------串并转换-----------------------------------------------
X2=reshape(X1,para,Ns).';
%-------------插入导频--------------------------------------------
signal=1:para+Np;
signal(pilot)=[];
X3(:,pilot)=training_symbols;
X3(:,signal)=X2;
IFFT_modulation=zeros(Ns,FS);
IFFT_modulation(:,carriers)=X3;
X4=ifft(IFFT_modulation,FS,2); % IFFT变换,得到OFDM信号
%------------加保护间隔(循环前缀)----------------------------------
for k=1:Ns;
for i=1:FS;
X6(k,i+G)=X4(k,i);
end
for i=1:G;
X6(k,i)=X4(k,i+FS-G);
end
end
%------------并串转换-----------------------------------------------
X7=reshape(X6.',1,Ns*(FS+G));
%-----------信道模型:带多普勒频移的瑞利衰落信道---------------------------------
fd=100; %多普勒频移
r=6; %多径数
a=[0.123 0.3 0.4 0.5 0.7 0.8]; %多径的幅度
d=[2 3 4 5 9 13]; %各径的延迟
T=1; %系统采样周期
th=[90 0 72 144 216 288]*pi./180; %相移
h=zeros(1,para);
hh=[];
for k=1:r
h1=a(k)*exp(j*((2*pi*T*fd*d(k)/para)));
hh=[hh,h1];
end
h(d+1)=hh;
channel1=zeros(size(X7));
channel1(1+d(1):length(X7))=hh(1)*X7(1:length(X7)-d(1));
channel2=zeros(size(X7));
channel2(1+d(2):length(X7))=hh(2)*X7(1:length(X7)-d(2));
channel3=zeros(size(X7));
channel3(1+d(3):length(X7))=hh(3)*X7(1:length(X7)-d(3));
channel4=zeros(size(X7));
channel4(1+d(4):length(X7))=hh(4)*X7(1:length(X7)-d(4));
channel5=zeros(size(X7));
channel5(1+d(5):length(X7))=hh(5)*X7(1:length(X7)-d(5));
channel6=zeros(size(X7));
channel6(1+d(6):length(X7))=hh(6)*X7(1:length(X7)-d(6));
%------------------OFDM信号发送---------------------------------------------
Tx_data=X7+channel1+channel2+channel3+channel4;
%----------不同SNR条件下,加高斯白噪声后的OFDM接收----------------------------------------------
Error_ber=[]; %误比特数
for snr_db=0:snr:N_snr
if snr_db==8
show_flag=1;
end
code_power=0;
code_power=[norm(Tx_data)]^2/(length(Tx_data)); %信号的符号功率
bit_power=code_power/bits_per_symbol; %比特功率
noise_power=10*log10((bit_power/(10^(snr_db/10)))); %噪声功率
noise=wgn(1,length(Tx_data),noise_power,'complex'); %产生GAUSS白噪声信号
Y7=Tx_data+noise; %接受到的信号
%--------------串并变换---------------------------------------------
Y6=reshape(Y7,FS+G,Ns).';
%-------------------------去保护间隔------------------------
for k=1:Ns;
for i=1:FS;
Y5(k,i)=Y6(k,i+G);
end
end
Y4=fft(Y5,FS,2);
Y3=Y4(:,carriers);
if show_flag==1
figure(2);
plot(Y4,'*r'); % 接收信号的星座图
title('接收信号的星座图(未经信道估计)');
axis([-4, 4, -4, 4]);
grid on
end
%--------LS信道估计-----------------------------------------------------
H=[];
Y2=Y3(:,signal);
Rx_training_symbols=Y3(:,pilot);
Rx_training_symbols0=reshape(Rx_training_symbols,Ns*Np,1);
training_symbol0=reshape(training_symbols,1,Ns*Np);
training_symbol1=diag(training_symbol0);
training_symbol2=inv(training_symbol1);
Hls=training_symbol2*Rx_training_symbols0;
Hls1=reshape(Hls,Ns,Np);
HLs=[];
HLs1=[];
if ceil(para/LI)==para/LI
for k=1:Np-1
HLs2=[];
for t=1:LI
HLs1(:,1)=(Hls1(:,k+1)-Hls1(:,k))*(t-1)./LI+Hls1(:,k);
HLs2=[HLs2,HLs1];
end
HLs=[HLs,HLs2];
end
else
for k=1:Np-2
HLs2=[];
for t=1:LI
HLs1(:,1)=(Hls1(:,k+1)-Hls1(:,k))*(t-1)./LI+Hls1(:,k);
HLs2=[HLs2,HLs1];
end
HLs=[HLs,HLs2];
end
HLs3=[];
for t=1:mod(para,LI)
HLs1(:,1)=(Hls1(:,Np)-Hls1(:,Np-1))*(t-1)./LI+Hls1(:,Np-1);
HLs3=[HLs3,HLs1];
end;
HLs=[HLs,HLs3];
end
Y1=Y2./HLs;
if show_flag==1
figure(3);
plot(Y1,'*r'); % 接收信号的星座图
title('接收信号的星座图(经过信道估计)');
axis([-4, 4, -4, 4]);
grid on
end
%-------并串变换------------------------------------------------------
YY1=reshape(Y1.',1,N_number/bits_per_symbol);
%------------QPSK解调------------------------------------------------
y_real=sign(real(YY1));
y_image1=sign(imag(YY1));
y_re=y_real./sqrt(2);
y_im=y_image1./sqrt(2);
r00=[];
r01=[];
r10=[];
r11=[];
for k=1:length(y_real);
r10=[r10,[y_real(k),y_image1(k)]];
end;
for k=1:length(y_re);
r11=[r11,[y_re(k),y_im(k)]];
end;
XX(find(r01>0))=1;
%--------------计算在不同信噪比下的误比特率并作图---------------------------------
diff_bits=s-r11;
ber_snr=0; %纪录误比特数
for k=1:N_number
没有合适的资源?快使用搜索试试~ 我知道了~
基于MATLAB实现的语言的OFDM(正交频分复用)技术仿真,考虑到了信道衰落和干扰因素,完全原创+使用说明文档.rar
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共2个文件
txt:1个
md:1个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 27 浏览量
2024-05-23
09:59:13
上传
评论
收藏 7KB RAR 举报
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的语言的OFDM(正交频分复用)技术仿真,考虑到了信道衰落和干扰因素,完全原创+使用说明文档.rar 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
共 2 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
IT狂飙
- 粉丝: 4779
- 资源: 2658
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)