%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%main 主程序

clear;

close all;

numsymb=256*2;

M=16; % mapping point

N=10; % sampling frequency

fd=512;

fs=N*fd;

msg_orig=randsrc(numsymb,1,[0:M-1],4321);

msg_tx=modmap(msg_orig,fd,fd,'qam',M); %constellation mapping

x=complex(msg_tx(:,1),msg_tx(:,2));

%raised cosine filter

R=0.5;delay=6;

yf=rcosine(fd,fs,'fir',R,delay);

x_f=rcosflt(x,fd,fs,'filter',yf);

msg_x=x_f(1+delay*N:end-delay*N);

% figure(1)

% plot(1:10:200,real(x(1:20)),'o')

% hold on;

% plot(1:1:200,real(msg_x(1:200)),'r-')

% msg_x=x_f;

msg_x=msg_x/max(abs(msg_x))*1;

ww=PA_model(msg_x);

zz=PD_deal(msg_x);

yy=PA_model(zz);

SNR=60;

yy=awgn(yy,SNR,'measured',1234,'dB');

% h1=[];

% h1=scatterplot(yy,N,0,'r.',h1);

[px1,ff]=pwelch(yy,1024*2,512*2,1024*2,fs);

pxx1=fftshift(px1);

[px2,ff]=pwelch(ww,1024*2,512*2,1024*2,fs);

pxx2=fftshift(px2);

[px3,ff]=pwelch(msg_x,1024*2,512*2,1024*2,fs);

pxx3=fftshift(px3);

ff=(0:length(px1)-1)*fs/fd/length(px1)-fs/fd/2;

pxx1_db=10*log10(abs(pxx1));

pxx2_db=10*log10(abs(pxx2));

pxx3_db=10*log10(abs(pxx3));

p1=decimate(pxx1_db,1);

p2=decimate(pxx2_db,1);

p3=decimate(pxx3_db,1);

f=decimate(ff,1);

figure(4);

plot(f,p1,'r');grid,hold on;

plot(f,p2,'b');grid,hold on;

%plot(f,p3,'g');grid,hold on;

xlabel('Normalized frequency (f-fc)/f1');

ylabel('Output power spectrum (dB)');

[ACPR1, AltPR1]=acpr_comp(ff,p1)%预失真

[ACPR2, AltPR2]=acpr_comp(ff,p2)%PA输入输出

[ACPR3, AltPR3]=acpr_comp(ff,p3)%

%%%%%%%%%%%%%%%%% PA_model.m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%PA模型

function [pa_out]=PA_model(msg)

%msg=0:0.1:1;

r=abs(msg);

a1=2.1587;a2=1.1517;

mag_out=a1*r./(1+a2.*r.*r);

%for n=1:length(msg)

% if mag_out(n)>1

% mag_out(n)=1;

% end

%end

b1=4.033;b2=9.1040;

delta_phase=b1.*r.*r./(1+b2.*r.*r);

phase=delta_phase+angle(msg);

pa_out=mag_out.*exp(i*phase);

%%%%%%%%%%%%%%%%%%% PD_model.m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%PD预失真模型

function [pd_para1,pd_para2]=(msg)

a=0.05;

v=[1 1 1];

t=[1 1 1];

r1=abs(msg);

num=length(msg);

r0=r1.^0;

r3=r1.^3;

r5=r1.^5;

r=[r1.';r3.';r5.'];

s=[r0.';r1.';r3.'];

for i=1:num

%abs;

m=v*r(:,i);

n=2.1587.*m./(1+1.1517.*m.*m);

p=r1(i,:)-n;

q=a.*p.*r(:,i);

v=v+q.';

%angle;

d=4.033.*m.*m./(1+9.1040.*m.*m);

f=t*s(:,i);

e=-d-f;

g=a.*e.*s(:,i);

t=t+g.';

end

pd_para1=v;

pd_para2=t;

%%%%%%%%%%%% PD_deal.m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%PD预失真处理

function [pd_out]=PD_deal(msg)

r1=abs(msg);

r0=r1.^0;

r3=r1.^3;

r5=r1.^5;

r=[r1.';r3.';r5.'].';

s=[r0.';r1.';r3.'].';

[p1, p2]=PD_model(msg);

%abs;

m=r*p1.';

%angle;

f=s*p2.';

phase=f+angle(msg);

pd_out=m.*exp(i*phase);

%%%%%%%%%%%% acpr_comp.m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%acpr计算

function [ACPR, AltPR]=acpr_comp(ff,p

预失真算法matlab实现,2013-全国研究生数学建模B题-seleh模型预失真MATLAB仿真代码...相关推荐

  1. 2019年全国研究生数学建模 D题 汽车行驶工况构建 建模及经历分享

    目录 前言 解题和建模 题目 题目分析 问题一 问题二 问题三 参考文献 建模经历分享 组队与队友 关于选题 建模开始 前言 距离2019年的研究生数学建模国赛结束有将近三个月了,前不久比赛结果公布, ...

  2. Algorithm:数学建模大赛(CUMCM/NPMCM)之NPMCM全国研究生数学建模竞赛(NPMCM)历年试题集合、试题库、学习网站推荐之详细攻略

    Algorithm:数学建模大赛(CUMCM/NPMCM)之NPMCM全国研究生数学建模竞赛(NPMCM)历年试题集合.试题库.学习网站推荐之详细攻略 目录 全国研究生数学建模竞赛(NPMCM)历年试 ...

  3. 2021年全国研究生数学建模竞赛华为杯C题帕金森病的脑深部电刺激治疗建模研究求解全过程文档及程序

    2021年全国研究生数学建模竞赛华为杯 C题 帕金森病的脑深部电刺激治疗建模研究 原题再现:   一.背景介绍   帕金森病是一种常见的神经退行性疾病,临床表现的特征是静止性震颤,肌强直,运动迟缓,姿 ...

  4. 2022年全国研究生数学建模竞赛华为杯F题COVID-19疫情期间生活物资的科学管理问题求解全过程文档及程序

    2022年全国研究生数学建模竞赛华为杯 F题 COVID-19疫情期间生活物资的科学管理问题 原题再现:   一.背景介绍   进入2022年以来全国范围内陆续出现了多次较大规模疫情爆发事件[1-2] ...

  5. 2016年全国研究生数学建模竞赛华为杯A题多无人机协同任务规划求解全过程文档及程序

    2016年全国研究生数学建模竞赛华为杯 A题 多无人机协同任务规划 原题再现:   无人机(Unmanned Aerial Vehicle,UAV)是一种具备自主飞行和独立执行任务能力的新型作战平台, ...

  6. 2021年全国研究生数学建模竞赛华为杯B题空气质量预报二次建模求解全过程文档及程序

    2021年全国研究生数学建模竞赛华为杯 B题 空气质量预报二次建模 原题再现:   大气污染系指由于人类活动或自然过程引起某些物质进入大气中,呈现足够的浓度,达到了足够的时间,并因此危害了人体的舒适. ...

  7. 2021年全国研究生数学建模竞赛华为杯D题抗乳腺癌候选药物的优化建模求解全过程文档及程序

    2021年全国研究生数学建模竞赛华为杯 D题 抗乳腺癌候选药物的优化建模 原题再现:   一.背景介绍   乳腺癌是目前世界上最常见,致死率较高的癌症之一.乳腺癌的发展与雌激素受体密切相关,有研究发现 ...

  8. 2020研究生数学建模结果_关于举办2020年全国研究生数学建模大赛的通知

    2020年全国研究生数学建模大赛开始啦! 各学院: 为在大学生中倡导学习统计.应用统计的良好氛围,适应大数据时代的高校统计和数据科学人才的培养要求,提高研究生的数据挖掘.数据分析.运用计算机处理数据的 ...

  9. 鼓励研究生参加数学建模竞赛_请问,全国研究生数学建模竞赛获奖的话,申请上海户口是否可以加分啊?...

    请问,全国研究生数学建模竞赛获奖的话,申请上海户口是否可以加分啊? 鼓励研究生参加数学建模竞赛:全国研究生数学建模竞赛,**一等奖奖金有多少? 鼓励研究生参加数学建模竞赛:关于研究生数学建模竞赛 用处 ...

最新文章

  1. Android提前加载unity程序,Unity项目嵌入Android App实现过程
  2. @Autowired静态变量
  3. Linux C :系统调用-fork,wait,subreaper
  4. MySQL连接查询—笛卡尔乘积
  5. 前端对所有文件请求添加header_【前端面试必问】浏览器缓存原理?送你满分答案...
  6. 多个java文件编译并打成jar包经典方法
  7. python网站用什么数据库_使用python读取mysql数据库并进行数据的操作
  8. 006-Zabbix agent on Zabbix server is unreachable for 5 minutes
  9. dynamic集合动态添加属性
  10. Windows中的iTunes Setup Assistant驱动程序错误修复
  11. 如果这篇文章说不清epoll的本质,那就过来掐死我吧!
  12. Navicat15下载安装
  13. Android多媒体框架
  14. Gwallet小百科 | 2019年区块链游戏行业发展现状分析
  15. VR全景拍摄的具体张数
  16. SecureCRT标签永久显示IP地址
  17. Elastic Search:(二)分词器
  18. 贵州大学计算机研究生院贴吧,贵大计算机研究生怎么样?
  19. 执行npm run dev 报错 vue-element-admin@4.2.1 dev: `vue-cli-service serve`
  20. 20200829 tektronix TPS 2024 示波器 compactflash设置

热门文章

  1. java从数据库导出语音文件_从数据库导出数据
  2. 苹果手机如何关闭自动续费_微信支付宝一键关闭自动续费
  3. 微信小程序------1️⃣
  4. r语言中trifit怎么用_用R语言分析我的fitbit计步数据
  5. 十进制小数转为二进制小数
  6. 程序员不破此关,难达优秀
  7. Window_MySQL初始化(重置)数据库
  8. Pandas_C3_分组cheat sheet
  9. 如何强迫您的Apple Watch与iPhone同步
  10. ios 渐变透明背景_这不是玩笑!只用线条和背景图来搞定汇报类PPT封面?