%ofdm1.m

%QPSK 调制、AWGN 信道下仿真程序

%**********************  初始参数 ***************************

para=52;   %  并行信道数

fftlen=64; % FFT  长度

noc=52;    %  载波数

nd=6;       %  每循环中 OFDM 符号数

ml=2;       %  调制水平 : QPSK

gilen=16;   %  保护间隔长度 (points)

ebn0=2;     %  信噪比

sr=250000;      % OFDM symbol rate (250 ksyombol/s)

br=sr.*ml;      % Bit rate per carrier

%**************************  主循环部分 **************************

nloop=200;  %  仿真的循环数

noe1 = 0;        %  信道解码前错误数据数

nod1 = 0;    %  信道解码前传输数据数

noe2 = 0;        %  信道解码后错误数据数

nod2 = 0;    %  信道解码后传输数据数

%**************************  发射机 *********************************

for iii=1:nloop

%**************************  数据产生 ****************************

%信源编码

t=[0:pi/25:2*pi];

xx=sin(t);

init=[-1:.1:1];

partition=[-1:.1:.9];

predictor=[0 1];

encode=dpcmenco(xx,init,partition,predictor);

encode2=reshape(encode,51,1);

bin=deci22bin(encode2,6);

recode=reshape(bin,1,306);

%信道编码

k0=1;

G=[1 0 1 1 0 1 1;1 1 1 1 0 0 1 ];

channelencode=cnv_encd(G,k0,recode);

%******************  串并转换 ***********************

paradata=reshape(channelencode,para,nd*ml); %    reshape :  内建功能

%************************** QPSK  调制 *****************************

[ich,qch]=qpskmod1(paradata,para,nd,ml);

kmod=1/sqrt(2); %  sqrt :  内建功能

ich=ich.*kmod;

qch=qch.*kmod;

%数据映射

[ich1,qch1]=crmapping(ich,qch,fftlen,nd);

%******************* IFFT ************************

x=ich1+qch1.*i;

y=ifft(x);      %  ifft :  内建功能

ich2=real(y);   %  real :  内建功能

qch2=imag(y);   %  imag :  内建功能

%*********  插入保护间隔 **********

[ich3,qch3]= giins1(ich2,qch2,fftlen,gilen,nd);

fftlen2=fftlen+gilen;

%---------- Attenuation Calculation ----------

spow=sum(ich3.^2+qch3.^2)/nd./para;  %  sum :  内建功能

attn=0.5*spow*sr/br*10.^(-ebn0/10);

attn=sqrt(attn);

%--------------- AWGN addition ---------------

[ich4,qch4]=comb(ich3,qch3,attn);

%******************  去除保护间隔 *********

[ich5,qch5]= girem1(ich4,qch4,fftlen2,gilen,nd);

%******************  FFT  ******************

rx=ich5+qch5.*i;

ry=fft(rx);

ich6=real(ry);

qch6=imag(ry);

%载波逆映射

[ich7,qch7]=crdemapping(ich6,qch6,fftlen,nd);

%*****************  解调 *******************

ich7=ich7./kmod;

qch7=qch7./kmod;

[demodata]=qpskdemod1(ich7,qch7,para,nd,ml);

%**************   并串转换  *****************

demodata1=reshape(demodata,1,para*nd*ml);

%信道解码

[channeldecode]=viterbi(G,k0,demodata1);

%信源解码

reshapechanneldecode=reshape(channeldecode,51,6);

deci=bin22deci(reshapechanneldecode);

redeci=reshape(deci,1,51);

codebook=[-1:.1:5.3];

decode=dpcmdeco(redeci,codebook,predictor);

%************************** Bit Error Rate (BER) ****************************

noe10=sum(abs(demodata1-channelencode));

nod10=length(channelencode);

noe20=sum(abs(channeldecode-recode));

nod20=length(recode);

noe1=noe10+noe1;

nod1=nod10+nod1;

noe2=noe20+noe2;

nod2=nod20+nod2;

fprintf('%d\t%e\t%e\n',iii,noe10/nod10,noe20/nod20);

end

ber1=noe1/nod1;

ber2=noe2/nod2;

%**********************  输出结果 ***************************

fprintf('%f\t%e\t%e\t%d\t\n',ebn0,ber1,ber2,nloop);

% ************************end of file***********************************

%ofdm2.m

matlab ofdm qpsk,Matlab关于ofdm系统qpsk调制、awgn信道下的仿真相关推荐

  1. matlab多径误差包络,MIMO-OFDM系统添加多径信道仿真结果误差很大

    本帖最后由 MATLAB白白朵 于 2018-4-25 15:21 编辑 问题1:现在已经有了多径信道的代码如下,但是我加进我的程序中仿真出来的结果误差很大,不知道是什么原因?(仿真结果在代码下方) ...

  2. 扩展城市信道etu模型matlab仿真,LTE-A系统中物理随机接入信道信号检测的仿真与实现...

    [1] LEYVA-MAYORGA I, TELLO-OQUENDO L, PLA V. On the accurate performance evaluation of the LTE-A ran ...

  3. 使用MATLAB连接USRP实现收发OFDM功能代码说明

    OFDM小组跑通版代码说明 版权所有,未经授权,禁止转载! 以下内容使用USRP B210设备实现. 主要代码下载旧链接 或者此旧链接 [新版代码下载链接] 上述两个链接以第一个下载链接为主,如因文件 ...

  4. 【误码率仿真】基于matlab多径信道下OFDM通信系统误码率仿真【含Matlab源码 2078期】

    ⛄一.OFDM简介 1 OFDM调制解调原理 一个OFDM信号可以表示为 每个子载波可采用正交幅度调制(QAM)或相移键控调制(PSK).其中Xi,k为第i个OFDM符号在第k个子载波上传输的数据;N ...

  5. ofdm信号调制matlab,OFDM信号 [matlab描述]

    2016.03.31 – 个人理解笔记.(无通信基础,所以有的表达可能会直白或片面.可忽略映射之类的词汇,直接见词语所描述的现象/过程/机制) 03.31 OFDM的基本原理是将高速率子载波上数据流划 ...

  6. matlab产生ofdm信号,Matlab 完成简单的OFDM 信号的产生与解调程序.pdf

    Matlab 完成简单的OFDM 信号的产生与解调程序实验研究 OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复用技 术,实际上OFDM是M ...

  7. MIMO-OFDM无线通信技术及MATLAB实现(4)OFDM概述

    目录 单载波传输与多载波传输 单载波传输 单载波基带传输:系统模型 ISI和奈奎斯特准则 对高速率单载波传输的限制 多载波传输 多载波传输方案的基本结构 OFDM传输方案 FMT传输方案 单载波传输与 ...

  8. matlab仿真程序论文,Matlab的OFDM系统设计与仿真+程序

    摘要Matlab的OFDM系统设计与仿真摘 要:正交频分复用(OFDM)是一种多载波宽带数字调制技术.与一般的数字通信系统相比,它具有频带利用率高和抗多径干扰能力强等特点,因而适合于高速率的无线通信系 ...

  9. MATLAB仿真QPSK调制信号通过AWGN信道的误符号率和误比特率分析

    MATLAB仿真QPSK调制信号通过AWGN信道的误符号率和误比特率分析 形式:程序 程序实现功能: 仿真正交相移键控QPSK信号调制的基带数字通信系统通过AWGN信道的误符号率(SER)和误比特率( ...

  10. 同步电机调速matlab,基于matlab的永磁同步电机调速系统的仿真word格式

    基于matlab的永磁同步电机调速系统的仿真word格式 摘 要本文首先介绍了永磁同步电机的国内外发展状况,然后介绍了永磁同步电机的结构及原理,接着建立了永磁同步电机的数学模型,并在此基础上用MATL ...

最新文章

  1. 吴恩达邀请9位AI大牛畅想2020:李开复看好医疗教育,LeCun强调自监督学习
  2. Spring Thread Pool 线程池的应用
  3. 块元素、行内块和内联元素_如何删除内联块元素之间的空间?
  4. Source Insight 生成函数调用关系图
  5. Atitit 基于图片图像 与文档混合文件夹的分类
  6. linux读取U盘操作
  7. 【PFC】PFC设置 H3C交换机设置和主机设置--编辑中
  8. 证件阅读设备一般可以识别哪些证件
  9. iacr crypto 级别_缠论走势终完美:任何级别的所有走势,都能分解成盘整与趋势两种,而趋势又分上涨与下跌两种...
  10. 报表和专业BI有什么区别?
  11. Apollo Cyber实践之talker-listener通信
  12. 摄像头8mm可以看多远_监控摄像头有多少种,如何来选型
  13. mysql备份与还原心得体会_MySQL数据恢复心得体会
  14. QGIS Osgeo4W国内下载源(武汉大学源),下载速度快!
  15. 内网渗透-内网信息收集
  16. luogu_P1618
  17. MDK5 Debug调试方法总结
  18. CIO、CEO、COO和CFO
  19. word转html报错,word转html方法调研
  20. 亿万级即时通信架构浅谈

热门文章

  1. foobar 2000|foobar2000中文版32/64位下载 v1.3.16
  2. [转贴]搜索引擎优化(SEO)菜鸟版@搜索引擎研究专案
  3. 蛮牛精选七款Unity插件
  4. oracle混音插件教程,Waves插件个人经验谈
  5. vue 圆形 水波_canvas 水滴图、液体进度条、仿加速球、圆球水波图
  6. 计算机老丢失运行库,计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的修复方案
  7. Java:结合JavaSocket编程开发文本处理程序
  8. 网页上的即时聊天--nodejs学习笔记
  9. java开源问卷调查系统源码_高效实用!开源调研问卷系统 DWSurvey,基于 JAVA WEB 开发...
  10. 免费下载文档:给你介绍几个实用的免费下载网址