标准试验报告
实实验验报报告(二)告(二) 一、实验室名称:一、实验室名称:信息对抗系统专业实验室 二、实验项目名称:二、实验项目名称:典型数字通信信号调制识别 三、三、实验学时:实验学时:4 4学时 四、实验原理:四、实验原理: BPSK、QPSK、FSK、ASK 数字通信信号具有不同的频谱特征,如 BPSK 平方和四次方后的傅立叶变换出现单根离散谱线,QPSK 四次方后才有单根离散 谱线等。因此针对这些信号特征,可通过设置特征门限区分不同通信信号,达到 信号调制识别目的。因此可让学生通过实际上机 Matlab 编程实验,对上述通信 信号的特征进行仿真验证,加深理解不同通信信号的调制识别方法。 五、实验目的:五、实验目的: 利用 MATLAB软件编程提取数字通信信号的频谱、二次方谱、四次方谱等 特征, 同时使用决策树的分类方法进行调制信号的识别。让学生通过实际上机实 验,加深理解不同数字通信信号的特点。 六、实验内容:六、实验内容: (1)把上次实验产生的 BPSK、QPSK、2ASK、2FSK(不连续相位)信号分 别画出它们的频谱、二次方谱和四次方谱,描述不同信号谱特征之间的差异。 (2)编程提取这四种信号的频谱、二次方谱、四次方谱的谱峰个数(根据 每种信号的特点分别提取频谱或二次方谱或四次方谱的谱峰个数) 。信噪比从 0dB 变化到 10dB(即 0:2:10) ,画出 BPSK、QPSK、2ASK、2FSK(不连续相 位)获得谱峰个数特征随每个信噪比的变化曲线,然后设定区分门限。 七、实验器材(设备、元器件)七、实验器材(设备、元器件) :: 计算机、Matlab 计算机仿真软件 八、实验步骤:八、实验步骤: 在编写的信号源基础上,根据实验内容提取信号特征并进行调制识别。 (a) BPSK、QPSK、2ASK、2FSK 频谱特征提取程序 (1)BPSK clear all;clc;close all; % 1.产生信号BPSK disp( 输入BPSK信号 ); M=2; N=400; fs=2000; fd=200; fc=200; r=fs/fd; filtorder=60; a=0.3; delay=filtorder/(r*2); h=rcosfir(a, delay, r,1, sqrt ); h=sqrt(r)*h/norm(h); SNR=40; s=randsrc(N,1,[0:M-1]); s_mod=pskmod(s,M); s_base=zeros(r,N); s_base(1,:)=s_mod. ; s_base=s_base(:); s_base=conv(h. ,s_base); y_x=s_base.*exp(j*(2*pi*fc/fs*[0:length(s_base)-1]. )); noise=sqrt(1/10^(SNR/10)/2)*(randn(size(s_base))+j*randn(size( s_base)));%Generate noise signal y=y_x+noise; %% 产生中频发射信号 (2)QPSK clear all;clc;close all; % 1.产生信号QPSK disp( 输入QPSK信号 ); M=4; N=400; fs=2000; fd=200; fc=200; r=fs/fd; filtorder=60; a=0.3; delay=filtorder/(r*2); h=rcosfir(a, delay, r,1, sqrt ); h=sqrt(r)*h/norm(h); SNR=30; s=randsrc(N,1,[0:M-1]); s_mod=pskmod(s,M); s_base=zeros(r,N); s_base(1,:)=s_mod. ; s_base=s_base(:); s_base=conv(h. ,s_base); y_x=s_base.*exp(j*(2*pi*fc/fs*[0:length(s_base)-1]. )); noise=sqrt(1/10^(SNR/10)/2)*(randn(size(s_base))+j*randn(size( s_base)));%Generate noise signal y=y_x+noise; %% 产生中频发射信号 (3)2ASK clear all;close all;clc; % 1.产生信号2ASK disp( 输入2ASK信号 ); M=2; N=200; fs=2000; fd=200; fc=300; r=fs/fd; filtorder=60; a=0.3; delay=filtorder/(r*2); h=rcosfir(a, delay, r,1, sqrt ); h=sqrt(r)*h/norm(h); SNR=30; s=randsrc(N,1,[0:M-1]); s_mod=s; s_base=zeros(r,N); s_base(1,:)=s_mod. ;%赋给第一列 s_base=s_base(:); s_base=conv(h. ,s_base); y_x=s_base.*exp(j*(2*pi*fc/fs*[0:length(s_base)-1]. )); noise=sqrt(1/10^(SNR/10)/2)*(randn(size(s_base))+j*randn(size( s_base)));%Generate noise signal y=y_x+noise; %% 产生中频发射信号 (4)2FSK clear all;close all;clc; % 1.产生信号2FSK disp( 输入2FSK信号 ); M=2; N=400; fs=1200; fd=200; fc=400; m=0.6; f1=(2*fc-m*fd)/2; f2=(m*fd+2*fc)/2; r=fs/fd; filtorder=60; a=0.3; delay=filtorder/(r*2); h=rcosfir(a, delay, r,1, sqrt ); h=sqrt(r)*h/norm(h); SNR=30; s=randsrc(N,1,[0:M-1]); s_mod=s; s_base=zeros(r,N); s_base(1,:)=s_mod. ;%赋给第一列 s_base=s_base(:); s_base=conv(h. ,s_base); y_x=s_base.*exp(j*(2*pi*f1/fs*[0:length(s_base)-1]. ))+(1-s_ba se).*exp(j*(2*pi*f2/fs*[0:length(s_base)-1]. )); noise=sqrt(1/10^(SNR/10)/2)*(randn(size(s_base))+j*randn(size( s_base)));%Generate noise signal y=y_x+noise; (b) BPSK、QPSK、2ASK、2FSK 数字通信信号调制识别程序 % 2.分别求频谱,二次法谱,四次方谱 NN=length