标题:
基于BPSK, QPSK的OFDM功率谱密度MATLAB程序 OFDM_PSD
[打印本页]
作者:
Gianluca
时间:
2017-11-22 21:19
标题:
基于BPSK, QPSK的OFDM功率谱密度MATLAB程序 OFDM_PSD
基于BPSK, QPSK的OFDM功率谱密度程序。
0.png
(6.29 KB, 下载次数: 57)
下载附件
2017-11-23 03:05 上传
单片机源程序如下:
function [f,P]=qpskPSD(SubCarrier)
IFFT_n=2*SubCarrier;%IFFT点数
Symbol_n=10;%每个子载波含有的OFDM符号数
Symbol_bit=2;%每个符号占比特数(QPSK调制)
SymbolCount=SubCarrier*Symbol_n*Symbol_bit;%输入的总符号数
%产生随机输入====================
InputData=rand(1,SymbolCount)>0.5;
%串并变换====================
ParaData=zeros(SubCarrier,Symbol_n*Symbol_bit);%存放并行数据
for i=1:SymbolCount
ParaData(mod(i-1,SubCarrier)+1,fix((i-1)/SubCarrier)+1)=InputData(i);
end
%星座映射====================
%QPSK
%分成I,Q两路码元
I_Data=zeros(SubCarrier,Symbol_n);%存放I路数据
Q_Data=zeros(SubCarrier,Symbol_n);%存放Q路数据
for i=1:SubCarrier
for j=1:Symbol_n
I_Data(i,j)=ParaData(i,j*2-1);
Q_Data(i,j)=ParaData(i,j*2);
end
end
%QPSK相乘电路
%双极性不归零波形:1对应1,0对应-1
for i=1:SubCarrier
for j=1:Symbol_n
if I_Data(i,j)==0
I_Data(i,j)=-1;
end
if Q_Data(i,j)==0
Q_Data(i,j)=-1;
end
end
end
%幅度变为1/sqrt(2)
I_Data=I_Data./sqrt(2);
Q_Data=Q_Data./sqrt(2);
%Q路信号转成复数
Q_Data=Q_Data.*sqrt(-1);
%QPSK相加电路
QPSK_Signal=zeros(SubCarrier,Symbol_n);%存放QPSK调制后各路信号
for i=1:SubCarrier
for j=1:Symbol_n
QPSK_Signal(i,j)=I_Data(i,j)+Q_Data(i,j);
end
end
%IFFT====================
QPSK_Signal1=[QPSK_Signal(1:SubCarrier/2,:);zeros(IFFT_n-SubCarrier,Symbol_n);QPSK_Signal(SubCarrier/2+1:SubCarrier,:)];
x=ifft(QPSK_Signal1*sqrt(IFFT_n),IFFT_n);
%并串变换====================
x1=reshape(x,1,IFFT_n*Symbol_n);
%频谱
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
bpskPSD.rar
(1.6 KB, 下载次数: 27)
2017-11-22 21:16 上传
点击文件名下载附件
PSK+OFDM功率谱密度
下载积分: 黑币 -5
作者:
314TT
时间:
2018-4-20 19:19
亲,这个代码你还有吗?可以麻烦您发一份吗?由得话谢谢啦
作者:
314TT
时间:
2018-4-20 19:19
求完整代码,谢谢你
作者:
314TT
时间:
2018-4-20 22:52
有完整的程序不?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1