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

欢迎来到本博客??????
目录
1 概述
2 Matlab代码实现
3 运行结果
4 参考文献
5 写在最后
#|无线电信号调制【小波去噪】(Matlab&Python代码实现)
文章图片

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代码实现)
文章图片

#|无线电信号调制【小波去噪】(Matlab&Python代码实现)
文章图片
#|无线电信号调制【小波去噪】(Matlab&Python代码实现)
文章图片

#|无线电信号调制【小波去噪】(Matlab&Python代码实现)
文章图片

4 参考文献[1]赵志强.无线电信号调制浅探[J].西部广播电视,2016,0(23):219-219
【#|无线电信号调制【小波去噪】(Matlab&Python代码实现)】[2]高轶,陈通.一种基于决策树的认知无线电信号调制识别方法[J].通信技术,2019,0(7):1563-1568
5 写在最后 部分理论引用网络文献,如有侵权请联系删除。

    推荐阅读