📄 ofdmpsd2.m
字号:
%画OFDM功率普图以及QPSK功率普图(2-28)二进制速率为4M
clear all ;
clc;
Fd=4e6;
T=1/Fd;
fs=4*Fd;
fc=1*Fd;
ts=1/fs;
M=4;
numcar=16;
numx=2048;
binax=randsrc(1,numx,[0 1]);
qpskT=T*round(log2(M));
symT=numcar*qpskT;
deltaf=1/symT;
decx=[];
for i=1:2:length(binax)-2+1
decx=[decx,binax(i)*2+binax(i+1)];
end
XX=modmap(decx,Fd,Fd,'psk',M);
t=0:ts:numx*T-ts;
for i=1:numcar
incar(i,:)=cos(2*pi*(fc+i*deltaf)*t(1:symT/ts));
qucar(i,:)=sin(2*pi*(fc+i*deltaf)*t(1:symT/ts));
end
x=[];
for i=1:numcar:numx/round(log2(M))-numcar+1
temp=zeros(1,length(incar));
for k=i:i+numcar-1
ind=k-i+1;
temp=temp+XX(k,1)*incar(ind,:)-XX(k,2)*qucar(ind,:);
end
x=[x,temp];
end
temp=ones(1,round(qpskT/ts));
tempx=[];
for i=1:length(XX)
tempx=[tempx,(XX(i,1)+j*XX(i,2))*temp];
end
qpskx=real(tempx).*cos(2*pi*fc*t)-imag(tempx).*sin(2*pi*fc*t);
[PSDqp,fqp]=pwelch(qpskx,[],[],[],fs);
PSDqp=10*log10(PSDqp);
PSDqp=PSDqp+3-max(PSDqp);
[Psig,f]=pwelch(x,[],[],[],fs);
Psig=10*log10(Psig);
Psig=Psig+3-max(Psig);
figure(1)
plot(fqp-fc,PSDqp)
grid on
%axis([-5e4,5e4,-60,10])
figure(2)
plot(f-fc,Psig)
grid on
%axis([-0.5e4 3e4 -50 10])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -