电子科技大学电子工程学院标准实验报告(二)课程名称:电子雷达对抗实验姓名:张基恒学号:2011029180014指导教师:廖红舒、张花国电子科技大学教务处制表一、实验室名称:信息对抗系统专业实验室二、实验项目名称:典型模拟、数字通信信号调制识别三、实验学时:3学时实验原理:AM、FM模拟通信信号具有不同的包络特征、瞬时频率特征,BPSK、QPSK、FSK、MSK数字通信信号具有不同的频谱特征,如BPSK平方和四次方后的傅立叶变换出现单根离散谱线,QPSK四次方后才有单根离散谱线,而FSK的功率谱有两根离散谱线。
因此针对这些信号特征,可通过设置特征门限区分不同通信信号,达到信号调制识别目的。
因此可让学生通过实际上机Matlab编程实验,对上述通信信号的特征进行仿真验证,加深理解不同通信信号的调制识别方法。
五、实验目的:利用MATLAB软件编程提取通信信号的包络特征、瞬时频率特征和频谱特征,同时使用简单的分类方法进行调制信号的识别。
让学生通过实际上机实验,加深理解不同通信信号的特点。
六、实验内容:1.模拟信号(1) 包络特征把上次实验产生的AM、FM信号分别求取它们的复包络即幅度值(取abs),画包络图。
并利用HIST函数统计它们的分布情况。
取100点做统计,hist(q,100),q代表复包络q=abs(y)。
比较这两种信号的包络特征。
(2) 瞬时频率特征把上次实验产生的AM、FM信号分别求取它们的相位值,(取ANGLE,然后去缠绕UNWRAP),然后取差分,画出瞬时频率图。
并利用HIST函数统计它们的分布情况。
取100点做统计,hist(q,100),q代表瞬时频率,q=diff (unwrap(angle(y)))。
比较这两种信号的瞬时频率特征。
2.数字信号频谱特征把上次实验产生的BPSK和QPSK信号分别求取它们的功率谱、二次方谱和四次方谱,观察它们之间的差异。
七、实验器材(设备、元器件):计算机、Matlab计算机仿真软件八、实验步骤:1、学习MATLAB软件的使用,并学习hist、unwrap、angle等Matlab软件函数的使用;2、在编写的信号源基础上,根据实验内容提取信号特征并进行调制识别。
(1)模拟信号(a) AM、FM模拟信号的特征提取程序AM包络提取clc;close all;clear all;Fs = 2000; % Sampling rate is 2000 samples per second.Fc = 500; % Carrier frequency in HzT_sp=1;% time spant = [0:T_sp*Fs]'/Fs; % Sampling times for T_sp secondFm=50;x = 10*cos(2*pi*Fm*t+pi/2); % Representation of the signalA0 = 20;x = x+A0;Ini_phase = rand*2*pi;% carrier initial phasey = x.*exp(j*2*pi*Fc*t+j*Ini_phase); % Modulate x to produce y(complex signal).y_bl = abs(y); MAX_bl=max(y_bl); MIN_bl=min(y_bl);Y=hist(y_bl,100); n=linspace(MIN_bl,MAX_bl,length(Y));figure;subplot(3,1,1);plot(t,real(y));title('Ô-AMÐźÅ');xlabel('time(second) ');ylabel('amplitude');subplot(3,1,2);plot(t,y_bl);title('°üÂçÌØÐÔ');xlabel('time(second)'); ylabel('amplitude');subplot(3,1,3);plot(n,Y);title('°üÂçÌØÐÔͳ¼Æ');xlabel('amplitude');yl abel('number');AM频率提取clc;close all;clear all;Fs = 2000; % Sampling rate is 2000 samples per second.Fc = 500; % Carrier frequency in HzT_sp=1;% time spant = [0:T_sp*Fs]'/Fs; % Sampling times for T_sp secondFm=50;x = 10*cos(2*pi*Fm*t+pi/2); % Representation of the signalA0 = 20;x = x+A0;Ini_phase = rand*2*pi;% carrier initial phasey = x.*exp(j*2*pi*Fc*t+j*Ini_phase); % Modulate x to produce y(complex signal).y_AM=fftshift(abs(fft(y))); NN=length(x);FF=linspace(-Fs/2,Fs/2,NN);y_pl=diff(unwrap(angle(y)))*Fs/(2*pi); n1=t(2:length(t)); Y=hist(y_pl,100); MAX_pl=max(y_pl); MIN_pl=min(y_pl);n2=linspace(MIN_pl,MAX_pl,length(Y));figure;subplot(3,1,1);plot(FF,y_AM);title('Ô-AMÐÅºÅÆµÆ×');xlabel('frequency( Hz)');ylabel('amplitude');subplot(3,1,2);plot(n1,y_pl);title('˲ʱƵÂÊÌØÐÔ');xlabel('time(secon d)');ylabel('frequency(Hz)');subplot(3,1,3);plot(n2,Y);title('˲ʱƵÂÊÌØÐÔͳ¼Æ');xlabel('frequency ');ylabel('number');FM包络提取程序clc;close all;clear all;Fs = 2000; % Sampling rate is 2000 samples per second.Fc = 500; % Carrier frequency in HzT_sp=0.5;% time spant = [0:T_sp*Fs]'/Fs; % Sampling times for T_sp secondFm=50;x = sin(2*pi*Fm*t); % Representation of the signalx1 = cos(2*pi*Fm*t)/(2*pi*Fm);A0 = 1; %fudu of yFkm = 20; %tiaopinzhishu of signalIni_phase=rand*2*pi;% carrier initial phasey = A0.*exp(j*2*pi*Fc*t+j*2*pi*Fkm*x1+j*Ini_phase); % Modulate x to produce y(complex signal).y_bl = abs(y); MAX_bl=max(y_bl); MIN_bl=min(y_bl);Y=hist(y_bl,100); n=linspace(MIN_bl,MAX_bl,length(Y));figure;subplot(3,1,1);plot(t,real(y));title('Ô-FMÐźÅ');xlabel('time(second) ');ylabel('amplitude');subplot(3,1,2);plot(t,y_bl);title('°üÂçÌØÐÔ');xlabel('time(second)'); ylabel('amplitude');subplot(3,1,3);plot(n,Y);title('°üÂçÌØÐÔͳ¼Æ');xlabel('amplitude');yl abel('number');FM频率提取程序clc;close all;clear all;Fs = 2000; % Sampling rate is 2000 samples per second.Fc = 500; % Carrier frequency in HzT_sp=0.5;% time spant = [0:T_sp*Fs]'/Fs; % Sampling times for T_sp secondFm=50;x = sin(2*pi*Fm*t); % Representation of the signalx1 = cos(2*pi*Fm*t)/(2*pi*Fm);A0 = 1; %fudu of yFkm = 20; %tiaopinzhishu of signalIni_phase=rand*2*pi;% carrier initial phasey = A0.*exp(j*2*pi*Fc*t+j*2*pi*Fkm*x1+j*Ini_phase); % Modulate x to produce y(complex signal).y_FM=fftshift(abs(fft(y))); NN=length(x);FF=linspace(-Fs/2,Fs/2,NN);y_pl=diff(unwrap(angle(y)))*Fs/(2*pi);n1=t(2:length(t),:);Y=hist(y_pl,100); MAX_pl=max(y_pl); MIN_pl=min(y_pl);n2=linspace(MIN_pl,MAX_pl,length(Y));figure;subplot(3,1,1);plot(FF,y_FM);title('Ô-FMÐÅºÅÆµÆ×');xlabel('frequency( Hz)');ylabel('amplitude');subplot(3,1,2);plot(n1,y_pl);title('˲ʱƵÂÊÌØÐÔ');xlabel('time(secon d)');ylabel('frequency(Hz)');subplot(3,1,3);plot(n2,Y);title('˲ʱƵÂÊÌØÐÔͳ¼Æ');xlabel('frequency ');ylabel('number');(b) AM、FM模拟信号调制识别程序clc;clear all;close all;%----------ÃÅÏÞ---------------%key=0.125; %ÃÅÏÞÖµn=0;for kk=-2:2:10count=0; n=n+1;for m=1:100%----------ÐÅÔë±È-------------%SNR=kk;%dB% %----------AMÐźŲúÉú---------%% Fs = 1000;% Fc = 200;% T_sp=1;% t = [0:T_sp*Fs]'/Fs;% Fm=50;% x = sin(2*pi*Fm*t+pi);% A0 = 2;% x = x+A0;% Ini_phase = rand*2*pi;%% y = x.*exp(j*2*pi*Fc*t+j*Ini_phase);% y_gui1=y./sqrt(var(y));%noise=sqrt(1/10^(SNR/10)/2)*(randn(size(y))+j*randn(size(y)));% y_noise=y_gui1+noise;Fs = 1000;Fc = 200;T_sp=1;t = [0:T_sp*Fs]'/Fs;Fm=50;x = sin(2*pi*Fm*t);x1 = cos(2*pi*Fm*t)/(2*pi*Fm);A0 = 1;Fkm = 20;Ini_phase=rand*2*pi;y = A0.*exp(j*2*pi*Fc*t+j*2*pi*Fkm*x1+j*Ini_phase);%--------¼ÓÔëÉù--------%y_gui1=y./sqrt(var(y));noise=sqrt(1/10^(SNR/10)/2)*(randn(size(y))+j*randn(size(y))); y_noise=y_gui1+noise;%----------ÐźÅÅбð-----------%tent=abs(y_noise);R=var(tent)/(mean(tent)^2);if(R<=key)count=count+1;end% if(R>=key)% count=count+1;% endif(m==100)result(n)=count/100;endendend%----------»-ͼ---------------%SNR=-2:2:10;figure;plot(SNR,result,'b');xlabel('SNR(dB)');(2)数字信号(a) BPSK、QPSK频谱特征提取程序BPSK功率谱提取程序clear all;clc;close all;M=2; %% MPSKN=200; %%%fs=1000;%fd=100;%fc=200; %%r=fs/fd;%%%filtorder = 60; % Filter ordera=0.3; %% delay = filtorder/(r*2); % Group delay (# of input samples) h=rcosfir(a, delay, r,1,'sqrt');%%%h=sqrt(r)*h/norm(h); %%% ¹éÒ»»¯Â˲¨Æ÷ϵÊý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=s_base.*exp(j*(2*pi*fc/fs*[0:length(s_base)-1].'+rand*2*pi));%Gener ate PSK modualted signal%---------figure----------%sy1=y;sy1=sy1-mean(sy1);Fsy1=fftshift(abs(fft(sy1)));sy2=y.^2;sy2=sy2-mean(sy2);Fsy2=fftshift(abs(fft(sy2)));sy4=y.^4;sy4=sy4-mean(sy4);Fsy4=fftshift(abs(fft(sy4)));NN=length(y); FF=linspace(-fs/2,fs/2,NN);figure;subplot(3,1,1);plot(FF,Fsy1);title('BPSK ¹¦ÂÊÆ×');subplot(3,1,2);plot(FF,Fsy2);title('BPSK ¶þ´Î·½Æ×');subplot(3,1,3);plot(FF,Fsy4);title('BPSK ËĴη½Æ×');QPSK功率谱提取程序clear all;clc;close all;M=4; %%N=400; %%%fs=2000;%fd=200;%fc=600; %%r=fs/fd;%%%filtorder = 60; % Filter ordera=0.3; %delay = filtorder/(r*2); % Group delay (# of input samples)h=rcosfir(a, delay, r,1,'sqrt');%%%h=sqrt(r)*h/norm(h);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=s_base.*exp(j*(2*pi*fc/fs*[0:length(s_base)-1].'+rand*2*pi));%Gener ate PSK modualted signal%---------figure----------%sy1=y;sy1=sy1-mean(sy1);Fsy1=fftshift(abs(fft(sy1)));sy2=y.^2;sy2=sy2-mean(sy2);Fsy2=fftshift(abs(fft(sy2)));sy4=y.^4;sy4=sy4-mean(sy4);Fsy4=fftshift(abs(fft(sy4)));NN=length(y); FF=linspace(-fs/2,fs/2,NN);figure;subplot(3,1,1);plot(FF,Fsy1);title('QPSK ¹¦ÂÊÆ×');subplot(3,1,2);plot(FF,Fsy2);title('QPSK ¶þ´Î·½Æ×');subplot(3,1,3);plot(FF,Fsy4);title('QPSK ËĴη½Æ×');(b) BPSK、QPSK数字通信信号调制识别程序clear all;clc;close all;key=0.7;n=0;result=zeros(1,7);for kk=-2:2:10n=n+1;for m=1:100count2=0; count4=0;SNR=kk;%dB% M=2; %% BPSKM=4; %% QPSKN=1000;fs=1000;fd=100;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=15;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);X_MPSK=s_base.*exp(j*(2*pi*fc/fs*[0:length(s_base)-1].'+rand*2*pi));noise=sqrt(1/10^(SNR/10)/2)*(randn(size(s_base))+j*randn(size(s_base) ));y=X_MPSK+noise;sy2=y.^2;sy2=sy2-mean(sy2);Fsy2=fftshift(abs(fft(sy2)));sy4=y.^4;sy4=sy4-mean(sy4);Fsy4=fftshift(abs(fft(sy4)));tent2=max(Fsy2); tent4=max(Fsy4);for ii=1:length(Fsy2)if(Fsy2(ii)>=tent2*key)count2=count2+1;endif(Fsy4(ii)>=tent4*key)count4=count4+1;endendif((count2<=1)&&(count4<=1))result(n)=result(n)+1;end% tent2=max(Fsy2); tent4=max(Fsy4);% for ii=1:length(Fsy2)% if(Fsy2(ii)>=tent2*key)% count2=count2+1;% end% if(Fsy4(ii)>=tent4*key)% count4=count4+1;% end% end% if((count2>=5)&&(count4<=1))% result(n)=result(n)+1;% endendendSNR=-2:2:10;result=result/100;figure;plot(SNR,result,'-b'); xlabel('SNR(dB)');九、实验数据及结果分析根据上述实验程序得到的实验数据及结果如下:1、模拟信号(1)包络及瞬时频率特征仿真AMFM(2)AM、FM信号调制识别仿真门限为0.125时,产生am信号判为am概率判为FM概率门限为0.125时,产生FM信号判为AM概率判为FM概率2、数字信号(1)频谱特征仿真BPSK 功率谱 QPSK 功率谱(2)BPSK 、QPSK 信号调制识别仿真门限为0.7时,产生BPSK 信号判为BPSK 概率 判为QPSK 概率产生QPSK信号判为BPSK概率判为QPSK概率十、实验结论1. AM信号包络为余弦信号,其频率为固定值;FM信号包络为固定值,频率伪变化值;当判别门限为0.125时,产生AM信号判为AM信号概率为100%;产生FM信号判为AM 概率P(AM/FM)线性递减,判为FM概率P(FM/FM)线性递增;2. BPSK在2n倍频出有功率存在,QPSK信号在4n被频处有功率存在;判别门限为0.7时,产生BPSK信号,判为BPSK信号概率为100%,误判率为0;产生产生QPSK信号,误判为BPSK信号概率为0,判为QPSK信号概率为分段函数,如上图所示。