【多载波调制】基于小波变换的多载波调制技术(WPM) 【附MATLAB代码】

作品简介

​欢迎加入学术交流Q4群:192253249,诸多985/211高校硕博大佬在群内研讨交流,研究方向包含:雷达、通信、RIS、DOA估计、调制识别、故障诊断、雷达通信一体化、侦察干扰一体化、压缩感知、深度学习、强化学习、计算机视觉、图像处理等领域。

相关学习资料见面包多链接https://mbd.pub/o/author-a2mYl2tsbA==/work

欢迎加入我的知识星球:https://t.zsxq.com/11PZOV9jw,永久获取更多相关资料、代码。

MATLAB代码

面包多链接https://mbd.pub/o/author-a2mYl2tsbA==/work

知识星球:https://t.zsxq.com/11PZOV9jw,永久获取更多相关资料、代码。

clear;
clc;
​
Ns=8;%做3次小波包分解,得到8路信号
para=128;%小波包每一路数据符号的长度
N=1024;%小波包逆变换后数据的长度
bit=2;%每个符号的bit数
signal=round(rand(1,para*Ns*bit));%源信号
​
%调制和串并变换
din2=1-2*signal;
       din_temp=reshape(din2,2,length(signal)/2);
       for b=1:length(signal)/2
           QPSKdata(b)=din_temp(1,b)+j*din_temp(2,b);
       end
       complex_qam_data=reshape(QPSKdata,8,length(QPSKdata)/8);
      x=complex_qam_data;
      %////////////////////调制和串并变换的实现//////////////////////////// 
​
      
%////////////////////显示调制后的星座图///////////////////////////////
figure(1);
plot(complex_qam_data,'*r');%16qam调制后星座图
axis([-4,4,-4,4]);
grid on
%////////////////////显示调制后的星座图///////////////////////////////      
      
​
​
%//////////////////////wprec模块//////////////////////////////////////
%/////////////////////第三级重构/////////////////////////////////////
[ld,hd]=wfilters('db1','d');%求得db4小波的低通和高通分析滤波器
t30=x(1,:);
t31=x(2,:);
t32=x(3,:);
t33=x(4,:);
t34=x(5,:);
t35=x(6,:);
t36=x(7,:);
t37=x(8,:);
ld3=[ld,zeros(1,N/4-length(ld))];%第三级分解低通滤波器
hd3=[hd,zeros(1,N/4-length(hd))];%第三级分解搞懂滤波器
lr3=ld3(end:-1:1);
hr3=hd3(end:-1:1);
lr3=circshift(lr3',1)';
hr3=circshift(hr3',1)';
t30=dyadup(t30);
t31=dyadup(t31);
t32=dyadup(t32);
t33=dyadup(t33);
t34=dyadup(t34);
t35=dyadup(t35);
t36=dyadup(t36);
t37=dyadup(t37);
t30=t30(1:length(t30)-1);
t31=t31(1:length(t31)-1);
t32=t32(1:length(t32)-1);
t33=t33(1:length(t33)-1);
t34=t34(1:length(t34)-1);
t35=t35(1:length(t35)-1);
t36=t36(1:length(t36)-1);
t37=t37(1:length(t37)-1);
t30=ifft(fft(lr3).*fft(t30));
t31=ifft(fft(hr3).*fft(t31));
t20=t30+t31;
t32=ifft(fft(lr3).*fft(t32));
t33=ifft(fft(hr3).*fft(t33));
t21=t32+t33;
t34=ifft(fft(lr3).*fft(t34));
t35=ifft(fft(hr3).*fft(t35));
t22=t34+t35;
t36=ifft(fft(lr3).*fft(t36));
t37=ifft(fft(hr3).*fft(t37));
t23=t36+t37;


创作时间: