预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

matlab这是OFDM的时域和频域的子载波图形matlab这是OFDM的时域和频域的子载波图形matlab这是OFDM的时域和频域的子载波图形matlab这是OFDM的时域和频域的子载波图形%ofdmspectrumplotclearall;closeall;clc;Num_Sc=12;%13subcarriersTs=1;%1sF_space=1/Ts;F=-F_space*Num_Sc/2—4:0.001:F_space*Num_Sc/2+4;F_spectrum=zeros(Num_Sc,length(F));fori=-Num_Sc/2:1:Num_Sc/2F_spectrum(i+Num_Sc/2+1,1:end)=sin(2*pi*(F-i*F_space).*Ts/2)./(2*pi*(F—i*F_space).*Ts/2);endplot(F,F_spectrum)gridon%ofdmsubcarrierplotclearall;closeall;clc;N=256;M=6;N_symbol=1;%s_data=[—3-sqrt(-1)*3—3—sqrt(-1)—3—sqrt(1)—3—sqrt(-1)*3]/sqrt(10);s_data=(1+sqrt(-1))/sqrt(2);tx_data=repmat(s_data,1,N);%someinitialphase%Original_bin=randint(2,N*N_symbol,2,222);%Modobj=modem。qammod('M’,4,'SymbolOrder','Gray','InputType’,'Bit’);%tx_data=modulate(Modobj,Original_bin)/sqrt(10);forj=0:1:N_symbol—1fork=0:1:N—1forn=0:1:N—1x_tmp(k+1,n+1+j*N)=tx_data(k+1+j*N)*exp(sqrt(—1)*2*pi*k*n/N);endendend%plotfour-subcarrierfigure(1)plot(real(x_tmp(1:4,1:end).’))clear;clc;SNR=10;%信噪比fl=128;%设置FFT长度Ns=6;%设置一个祯结构中OFDM信号的个数para=128;%设置并行传输的子载波个数sr=250000;%符号速率br=sr.*2;%每个子载波的比特率gl=32%保护时隙的长度Signal=rand(1,para*Ns*2)〉0.5;%产生0,1随即序列,符号数为para*Ns*2fori=1:paraforj=1:Ns*2SigPara(i,j)=Signal(i*j);%串并变换endend%QPSK调制,将数据分为两个通道forj=1:Nsich(:,j)=SigPara(:,2*j-1);qch(:,j)=SigPara(:,2*j);endkmod=1。/sqrt(2);ich1=ich.*kmod;qch1=qch.*kmod;x=ich1+qch1。*sqrt(—1);%频域数据变时域y=ifft(x);ich2=real(y);qch2=imag(y);%插入保护间隔ich3=[ich2(fl-gl+1:fl,:);ich2];qch3=[qch2(fl—gl+1:fl,:);qch2];%并串变换ich4=reshape(ich3,1,(fl+gl)*Ns);qch4=reshape(qch3,1,(fl+gl)*Ns);%形成复数发射数据TrData=ich4+qch4.*sqrt(-1);%接收机%加入高斯白噪声ReData=awgn(TrData,SNR,'measured');%接收端%移去保护间隔idata=real(ReData);qdata=imag(ReData);idata1=reshape(idata,fl+gl,Ns);qdata1=reshape(qdata,fl+gl,Ns);idata2=idata1(gl+1:gl+fl,:);qdata2=qdata1(gl+1:gl+fl,:);%FFTRex=idata2+qdata2*sqrt(—1);ry=fft(Rex);ReIChan=real(ry);ReQChan=imag(ry);ReIchan=ReIChan/kmod;ReQchan=ReQChan/kmod;%QPSK逆映射forj=1:NsRePara(:,2*j-1)=ReIChan(:,j);RePara(:,2*j)=ReQChan(:,j);endReSig=reshape(RePara,1,para*Ns*2);%符号抽样判决ReSig=ReSig>0