📄 code_papr.m
字号:
%***************************************************
% 用编码方法抑制OFDM符号PARP, 采用BPSK调制
% 载波数N=4,采用3b4b编码,b4为奇校验位
% 过采样倍数M=4
% pt 时域信号的包络功率
% papr 每符号内峰均功率比
%---------------------------------------------------
clc; clear
N = 4; M = 4;
pt = zeros(1,(2^(N-1))*N*M); papr = zeros(1,2^(N-1));
for i = 0:(2^(N-1)-1) %对0~7每个符号循环
symbol = dec2bin(i,N-1); %字符串长度由i值决定,最小为N-1
temp = zeros(1,(N-1)*M);
for j = 1:(N-1) %对符号的每一位循环
temp(j) = sign(str2num(symbol(N-j))-0.5); %字符串尾为最低位
temp(N) = temp(N) + str2num(symbol(j));
end
temp(N) = sign( mod(temp(N)+1,2) - 0.5 ); %奇校验位
temp = abs(ifft(temp)).^2
pt(i*(N-1)*M+1:(i+1)*(N-1)*M) = temp; %计算功率
papr(i+1) = 10*log10(max(temp)/mean(temp)); %计算PAPR
end
figure(1);
subplot(2,1,1);plot(pt);xlim([0 2^(N-1)*(N-1)*M]);set(gca,'Xtick',[0:(N-1)*M:2^(N-1)*(N-1)*M]);
grid;xlabel('时域采样');ylabel('包络功率(W)');
subplot(2,1,2);plot([0:1:2^(N-1)-1],papr);set(gca,'Xtick',[0:1:2^(N-1)]);xlim([-0.5 2^(N-1)-0.5]);
grid;xlabel('码字');ylabel('峰平功率比(dB)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -