无线电信号调制【小波去噪】(Matlab&Python代码实现)

欢迎来到本博客❤️❤️❤️

目录

1 概述

2 Matlab代码实现

3 运行结果

4 参考文献 

5 写在最后

 

1 概述

空中无线电波看不见、摸不着。无线电监测原始的方法就是接收并测量无线电频谱。频谱可以告诉人们在什么频率有信号,但频谱反映的信号特征非常有限。现代无线电管理会采用数字中频的无线电接收机,对感兴趣的信号基带进行采集和分析,来识别信号特征。射频信号通过变频产生中频信号,经过中频带通滤波,送到ADC 数字化。数字化后的波形进入数字信号处理模块。在数字信号处理模块中将中频数字波形分别乘以余弦和正弦波形,再通过低通滤波,就可以还原出感兴趣的频
点信号的基带信号。由于基带信号载波频率为 0,时域波形体现为复数 I(t)+jQ(t),所以通常称基带信号为 IQ 信号。
在现实世界中,无线电信号随处可见。认知无线电能感知周围环境并根据环境中的信息改变自身参数 , 优化服务质量 , 其信号的调制类型识别具有重要的意义。就目前的技术来看,利用无线电进行随时随地的自由通信理想暂时还实现不了,因此,需要对无线电通信系统进行不断研究。调制识别在对无线电通信系统的认知中具有十分重要的意义。

2 Matlab代码实现

本文仅展现部分代码,全部代码见:

无线电信号调制【小波去噪】(Matlab代码实现)

clc;
clear all;
%所有调制方信噪比>20dB的仿真可视化
%config
L=8192;  %显示长度
snr=0;  %信噪比

yAM=AM(snr);
yAM=yAM(1:L);

yFM=FM(snr);
yFM=yFM(1:1500);

yask_2=ask_2(snr);
yask_2=yask_2(1:L);

yask_4=ask_4(snr);
yask_4=yask_4(1:L);

yfsk_2=fsk_2(snr);
yfsk_2=yfsk_2(1:L);
yfsk_4=fsk_4(snr);
yfsk_4=yfsk_4(1:L);


ypsk_2=psk_2(snr);
ypsk_2=ypsk_2(1:L);
ypsk_4=psk_4(snr);
ypsk_4=ypsk_4(1:L);

yOFDM=OFDM(snr);
yOFDM=yOFDM(1:L);

%% 小波去噪前
figure(1);
subplot(3,3,1),plot(yAM),title("AM"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,4),plot(yFM),title("FM"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,2),plot(yask_2),title("2ASK"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,3),plot(yask_4),title("4ASK"),xlabel("时间/s"),ylabel("幅度");

subplot(3,3,5),plot(yfsk_2),title("2FSK"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,6),plot(yfsk_4),title("4FSK"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,7),plot(yOFDM),title("OFDM"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,8),plot(ypsk_2),title("2PSK"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,9),plot(ypsk_4),title("4PSK"),xlabel("时间/s"),ylabel("幅度");
suptitle('九种调制信号仿真(小波去噪前),SNR:0') 

%% 小波变换

yAM_W=Wavelet(yAM);
y_FM_W=Wavelet(yFM);
yask_2_W=Wavelet(yask_2);
yask_4_W=Wavelet(yask_4);
yfsk_2_W=Wavelet(yfsk_2);
yfsk_4_W=Wavelet(yfsk_4);
yOFDM_W=Wavelet(yOFDM);
ypsk_2_W=Wavelet(ypsk_2);
ypsk_4_W=Wavelet(ypsk_4);
%% 一层小波去噪后
figure(2);
subplot(3,3,1),plot(yAM_W),title("AM"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,4),plot(y_FM_W),title("FM"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,2),plot(yask_2_W),title("2ASK"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,3),plot(yask_2_W),title("4ASK"),xlabel("时间/s"),ylabel("幅度");

subplot(3,3,5),plot(yfsk_2_W),title("2FSK"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,6),plot(yfsk_4_W),title("4FSK"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,7),plot(yOFDM_W),title("OFDM"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,8),plot(ypsk_2_W),title("2PSK"),xlabel("时间/s"),ylabel("幅度");
subplot(3,3,9),plot(ypsk_4_W),title("4PSK"),xlabel("时间/s"),ylabel("幅度");
suptitle('九种调制信号仿真(小波去噪后),SNR:0') 



%% 
% hh1=yAM_W;
% hh2=y_FM_W;
% hh3=yask_2_W;
% hh4=yask_2_W;
% hh5=yfsk_2_W;
% hh6=yfsk_4_W;
% % 二阶距 M20 = E[X(k)X(k)] M21 = E[X(k)X'(k)]
% m20 = [mean(hh1.*hh1) mean(hh2.*hh2) mean(hh3.*hh3) mean(hh4.*hh4) mean(hh5.*hh5) mean(hh6.*hh6) ];
% 
% 
% m21 = [mean(hh1.*conj(hh1)) mean(hh2.*conj(hh2)) mean(hh3.*conj(hh3)) mean(hh4.*conj(hh4)) mean(hh5.*conj(hh5)) mean(hh6.*conj(hh6))];

         
         
         
% xCum4=cum4est();




% yAM=ThreeWavelet(yAM);


% % figure(2);
% % X=fft(yask_2);
% % plot(X);
% % title('amplitude spectrum'),xlabel('frequency'),ylabel('amplitude')
% 
% 
% % yQAM16=QAM16(1,10000,20);
% yQAM16=QAM16(20);
% 
% % 
% % figure(2);
% % 
% yQAM16=yQAM16(1:L);
% plot(yQAM16)





3 运行结果

无线电信号调制【小波去噪】(Matlab&Python代码实现)_第1张图片

无线电信号调制【小波去噪】(Matlab&Python代码实现)_第2张图片 无线电信号调制【小波去噪】(Matlab&Python代码实现)_第3张图片

无线电信号调制【小波去噪】(Matlab&Python代码实现)_第4张图片 

4 参考文献 

[1]赵志强.无线电信号调制浅探[J].西部广播电视,2016,0(23):219-219

[2]高轶,陈通.一种基于决策树的认知无线电信号调制识别方法[J].通信技术,2019,0(7):1563-1568

5 写在最后

部分理论引用网络文献,如有侵权请联系删除。

你可能感兴趣的:(#,matlab,开发语言,信号处理,小波去噪)