• h_s_h
    了解作者
  • matlab
    开发工具
  • 1.3KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2022-05-21 16:26
    上传日期
这是一个关于通信原理OFDM的matlab代码。
6.2.2OFDM.rar
  • 6.2.2OFDM
  • chp6_OFDM.m
    2.4KB
内容介绍
%本程序用于OFDM基本原理的仿真,数据采用QPSK调制 clear all; close all; clc; SubCarryN=128;%子载波数 fftLen=128;%FFT长度为128 SymbN=6;%一帧中OFDM符号个数 GuardLen=32;%保护时隙的长度 SNR=10;%信噪比取值,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; %画图 figure(1); subplot(211);stem(Signal(1:40),'b'),grid; title('输入的前40比特信号') subplot(212),stem(Resig(1:40),'b'),grid; title('接收到前40比特序列') figure(2); subplot(121),plot(ich1,qch1,'o'),grid; ylabel('正交分量'),xlabel('同相分量'); title('发送端的QPSK星座映射') subplot(122);plot(ReIChan,ReQChan,'o'),grid; ylabel('正交分量'),xlabel('同相分量'); title('接收端的QPSK星座映射') figure(3); subplot(311),stem(ich2(:,1),'b'),grid; title('IFFT后的实部序列') subplot(312),stem(ich3(:,1),'b'),grid; title('插入保护间隔后的实部序列') subplot(313),stem(idata2(:,1),'b'),grid; title('接收端去除保护间隔后的实部序列')
评论
    相关推荐
    • 通信原理MATLAB仿真教程
      通信原理MATLAB仿真教程》系统地介绍了通信原理MATLAB仿真的基本思想与方法,重点讨论了MATLAB对常见信号与线性系统、模拟调制、模拟信号的数字传输、数字信号的基带传输、数字信号的频带传输、信道容量和编码以及...
    • 通信原理MATLAB实现
      MATLAB实现通信原理第六版中的相关知识
    • 通信原理MATLAB实验代码
      包含通信原理实验常用MATLAB实验代码,可用于MATLAB学习,通信仿真和工程设计
    • 通信原理MATLAB
      通信原理MATLAB 电子教案ppt 主要介绍通信原理中怎么样实验MATLAB
    • 通信原理matlab实现
      通信原理matlab实现,比较好,可供大家学习
    • 通信原理实验的matlab
      通信原理实验的matlab
    • 通信原理仿真实验 matlab
      A率13折线编码PCM编码,用matlab编程实现,有源程序和说明文档。
    • Matlab 通信原理仿真
      包括AM,DSB-SC,SSB,FM,眼图,完整的基带系统仿真等
    • 通信原理matlab仿真
      通信原理基本信号分析、模拟调制解调、数字调制解调、编译码
    • 通信原理matlab仿真.zip
      本书首先简绍了通信原理的基本理论,然后介绍把理论转化为MATLAB程序的方法,最后利用程序处理实际问题。是利用信号处理的必修课与非常好的指导书