通过Matlab设计OFDM收发信机及图像在该系统传输失真度分析

本文介绍了通过Matlab设计OFDM收发信机的过程,包括串并转换、卷积编码与维特比译码、QPSK调制解调,以及系统误码率分析。实验表明,卷积编码显著降低了图像传输的误码率,提高了传输质量。
摘要由CSDN通过智能技术生成

摘要

      OFDM技术的思想是将指配的信道分成许多正交子信道,在每个子信道上进行窄带调制和传输,信号带宽小于信道的相关带宽。OFDM单个用户的信息流被串/并变换为多个低速率码流(100Hz-50kHz),每个码流用一条载波发送。OFDM采用跳频方式选用即便频谱混叠也能保持正交的波形,所以OFDM既有调制技术,也有复用技术。OFDM增强了抗频率选择性衰落和抗窄带干扰的能力。在单载波系统中,单个衰落或干扰会导致整条链路不可用,但在多载波系统中,只会有一小部分载波受影响。纠错码的应用可以恢复一些易错载波上的信息。  OFDM允许各载波间频率互相混叠,采用基于载波频率正交的FFT调制,由于各个载波的中心频点处没有其他载波的频谱分量,所以能够实现各个载波的正交。

OFDM设计流程

流程图如上,这里不做太多介绍。

通过OFDM仿真的大致步骤 

1.串行数据产生

   首先对图像文件进行数据处理, 系统输入数据信号的长度是根据子载波的个数及每帧的符号的个数确定的,通过round()对产生的图像所生成的序列四舍五入取整。

原始输入图像
imdata = imread('11.jpg');	

BinSer=dec2bin(imdata,8);	
BinSer=BinSer';

FileName=[num2str(size(imdata,1)),'_',num2str(size(imdata,2)),'_',num2str(size(imdata,3)),'.txt'];
fid=fopen(FileName,'w');
fprintf(fid,'%c',BinSer(:));
fclose(fid);

FileName='256_256_3.txt';		%文件名为上述生成的文件名
mn1=sscanf(FileName,'%d_%d_%d');	

fid=fopen(FileName,'r');
datainput=fscanf(fid,'%c');
fclose(fid);
c=double(datainput);
for i=1:length(datainput)
   c(i)=str2num(char(c(i)));
end

%-------------------------发送端-------------------------------------%
for g=1:SNRnum
 
    Signal=round(c);

2.串并\并串转换 

OFDM系统是多载波传输的一种特殊方式,而发送端产生的数据为串行的,因此需要进行串并转换。OFDM将高速输入的串行数据比特流转换成并行传输的低速数据流,而且串并转换之后会提高系统的抗干扰能力。串并转换的实现方法很多,在matlab里reshape用来把指定的矩阵改变形状,但是元素个数不变,在本程序中采用reshape函数来实现串并转换。

同样如果对信号进行了串并转换,那么当发送信号和接收信号时,也需对其进行并串转换。在本程序中并串转换也采用了reshape函数来实现。下面是实现串并及并串转换的语句。       

SubCarryNdata=reshape(encode,SubCarryN,SymbN*2)    %串并转换

 ich4=reshape(ich3,1,(fftLen+GuardLen)*SymbN);    %并串转换

 qch4=reshape(qch3,1,(fftLen+GuardLen)*SymbN);

3.卷积编码与维特比译码 

卷积编码作为一种信道编码,具有前向纠错的功能。通过对信号进行卷积编码,对信号增加冗余。当信号在信道传输时,会大大降低误码率。卷积编码的实现方法也很多,在matlab中有卷积编码函数,本程序直接调用了convenc函数。实现卷积编码如下:

                                   trel=poly2trellis(9,[561 753]);                %设置网格图         

         

  • 11
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值