本科实验指导书
实验名称:通信技术课程设计
开课学院:电子科学与工程学院
指导教师: -调制识别
一、实验目的
《通信技术课程设计》是针对通信类基础课程和专业课程的实践型课程,承担着从一般基础理论到实践应用的重要过渡。加深理论基础、拓宽知识结构、增强动手能力、提高综合素质和培养创新意识。
二、实验原理
通信侦察是通信对抗的前提与基础。其基本含义是:使用通信接收设备截获敌方通信信号,分析其技术体制,了解其通信网的组成,必要时侦听其通信内容,以判明其属性。
先验信息及要求:
1假设截获了一段数字通信的信号,要求确认该段数据所采用调制方式,并解调出最终的信息。
2映射方式已知。
3调制方式范围:MASK,MFSK,BPSK,QPSK,MQAM。
4数据除MFSK是100 sample/data外,其余均为基带信号,数据以“float”读入,I、Q两路交错。
方法:
1. 最大似然法
采用概率论和假设检验理论,分析信号的统计特性并推导出检验统计量,由判决准则实现调制模式的自动识别。
2. 模式识别法
通过特征提取从调制信号中提取包含调制模式信息的参数,再通过模式匹配进行调制模式的自动识别。
具体的:
1基于瞬时特征
2基于累计量
3基于分形理论
4基于星座图聚类算法
5其他,。。。如基于支持矢量机
三、实验结果
我们组选用了两种方法尝试进行。①基于瞬时特征②基于累计量
1).首先是基于瞬时特征的识别
针对共六种数字调制信号,提取了3个基于瞬时信息的特征参数:
1.零中心归一化瞬时幅度之谱密度最大值
2.零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差
3.零中心归一化瞬时幅度绝对值的标准偏差
① 零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差
公式:
式中c是全部取样数据Ns中属于非弱信号值的个数,at是判断弱信号段的一个幅度判决门限电平,
而是经过零中心化处理后瞬时相位的非线性分量,是瞬时相位,
② .零中心归一化瞬时幅度之谱密度最大值
.决策树识别
①对于判别类属于(2ASK、4ASK、2PSK、4PSK)的信号,计算待识别信号的零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差,与门限比较,将其分成两类:4PSK 和(2PSK、2ASK、4ASK);
②算待识别信号的零中心归一化瞬时幅度之谱密度最大值,与门限比较,将待识别的信号分成两类:(2ASK、4ASK、2PSK、4PSK)和(2FSK、4FSK),即不恒定包络信号和恒包络的信号;
程序:见附录①
由于该程序对事例数据的判断出错,
且经过几次判决门限的更改效果还是不
尽人意,我们更改了实验方案。尝试了刘老师推荐的第二种方法,即基于高阶累计量的识别方法。
2)基于高阶累计量的识别方法
对于一个具有零均值的平稳复随机过程y(n),高阶累积量定义如下:
2C20E[y(n)y(n)]CE[y(n)y*(n)]E[|y(n)|] 21
4C40cum[y(n),y(n),y(n),y(n)]E[y(n)]3C20
C41cum[y(n), y(n),y(n),y*(n)]E[y(n)y(n)y(n)y*(n)]3C20C21
42C42cum[y(n), y(n),y*(n),y*(n)]E[|y(n)|]|C20|2C21
643C60cum[y(n), y(n),y(n),y(n),y(n),y(n)]E[y(n)]15E[y(n)]C2030C20
63C63cum[y(n),y(n),y(n),y*(n),y*(n),y*(n)]E[|y(n)|]9C42
C216C21
不同信号的高阶统计量如下:
2|C42||C|63 FF213|C40| |C
42|
基于高阶累计量的识别方法原理比较简单,通过计算待识别信号的高阶累计量,合理设定门限即可达到识别的目的。实验过程中我们采用的是F值划定门限
程序见附录②
四、实验体会
实验的前后过程中,我们遇到了不少问题,从资料的搜集与整理,到程序的编写与调试。这个过程中我们学会了团队合作,明白了解决问题的工作的不易。 在实验中,我们有效地回顾了所学的知识,并且知道了所学知识的部分实现方法与过程,我们的动手能力与对理论的理解得到了很大的提高。
五、附录
2|C42||C|63 FF213|C40| |C
42|
基于高阶累计量的识别方法原理比较简单,通过计算待识别信号的高阶累计量,合理设定门限即可达到识别的目的。实验过程中我们采用的是F值划定门限
程序见附录②
四、实验体会
实验的前后过程中,我们遇到了不少问题,从资料的搜集与整理,到程序的编写与调试。这个过程中我们学会了团队合作,明白了解决问题的工作的不易。 在实验中,我们有效地回顾了所学的知识,并且知道了所学知识的部分实现方法与过程,我们的动手能力与对理论的理解得到了很大的提高。
五、附录
附录①
close all;
fc=20000; %载波频率
fs=40000; %采样速率
k=2;
code_size=15*round(k*fs/fc); %信息码元长度
t0=5.5; %信号长度
Ns=256; %采样点个数
fd=125; %符号速率
ts=1/fs; %采样周期
M=64 %码元个数
ti=1/fd; %码元间隔
N=ti/ts;
t=[0:ts:t0];
fileID=fopen('D:\modustring5.bnt');
info=fread(fileID);
for n=1:1:50
m=n*Ns;
x=(n-1)*Ns;
for i=x+1:m; %提取信号段
y0(i)=info(i);
end
Y=fft(y0); %调制信号的傅立叶变换
y1=hilbert(y0); %实信号的解析式
z=abs(y0); %实信号的瞬时幅度
phase=angle(y1); %实信号的瞬时相位
add=0; %求Rmax
fori=x+1:m;
add=add+z(i);
end
ma=add/Ns; %瞬时幅度的平均值
y2=z./ma ; %幅度比,即为文献中的an(i) y3=y2-1; %归一化瞬时幅度
y4=max(abs(y3));
y2n=y3./y4; % 即为文献中的acn(i)
s=fft(y2n);
R=abs(s);
Rmax=max((R)/Ns).^2; %零中心归一化瞬时幅度的谱密度的最大值 Xcn=0;
Ycn=0;
fori=x+1:m;
Xcn=Xcn+y2n(i).*y2n(i);
Ycn=Ycn+abs(y2n(i));
end
Xcnav=Xcn/Ns;
Ycnav=(Ycn/Ns).*(Ycn/Ns);
deltaaa=sqrt(Xcnav-Ycnav); %零中心归一化瞬时幅度绝对值得标准偏差
if phase(2+x)-phase(1+x)>pi; %修正相位序列
Ck(1+x)=-2*pi;
elseif phase(1+x)-phase(2+x)>pi;
Ck(1+x)=2*pi;
elseCk(1+x)=0;
end
fori=x+2:m-1;
if phase(i+1)-phase(i)>pi;
Ck(i)=Ck(i-1)-2*pi;
elseif phase(i)-phase(i+1)>pi
Ck(i)=Ck(i-1)+2*pi;
else
Ck(i)=Ck(i-1);
end
end
if -phase(m)>pi;
Ck(m)=Ck(m-1)-2*pi;
elseif phase(m)>pi;
Ck(m)=Ck(m-1)+2*pi;
elseCk(m)=Ck(m-1);
end
phase1=phase+Ck %去相位卷叠后的相位序列
phasenl=phase1-2*pi*fc*i/fs; %非线性相位
at=1; %判决门限电平
a=0; %求取零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差和零中心非弱信号段瞬时相位非线性分量的标准偏差
b=0;
d=0;
c=0;
fori=x+1:m;
if y2(i)>at
c=c+1;
phasesquare(i)=phasenl(i).*phasenl(i);
a=a+phasesquare(i);
phaseabs(i)=abs(phasenl(i));
b=b+phaseabs(i);
d=d+phasenl(i)
end
end
a1=a/c;
b1=(b/c).*(b/c);
d1=(d/c).*(d/c);
deltaap=sqrt(a1-b1); %零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差 deltadp=sqrt(a1-d1); %零中心非弱信号段瞬时相位非线性分量的标准偏差 freqN(i)=phase1(i)-phase1(i-1);
fori=x+1:m;
ifi>at;
c=c+1;
freqNsquare(i)=freqN(i).*freqN(i);
a=a+freqNsquare(i);
b=b+freqN(i);
end
end
a1=a/c;
b1=(b/c)^2;
deltaaf=sqrt(a1-b1); %零中心归一化非弱信号段瞬时频率绝对值得标准偏差 end
if (Rmax>80)
if(deltaaa>0.2)
type=menu('输入信号是','4PSK信号');
else
type=menu('输入信号是','2ASK信号');
end
else
if (deltaaa
type=menu('输入信号是','4ASK信号');
else
if(deltaap>50)
type=menu('输入信号是','4FSK信号');
else
if(Rmax>80)
type=menu('输入信号是','2PSK信号');
else
type=menu('输入信号是','2FSK信号');
end
end
end
end
附录②
fid=fopen('D:\modustring_2fsk.bnt','r');
fseek(fid,0,'bof');
data2=fread(fid,[1,2*N],'float');
y=data2;
c20=mean(y);
c21=mean(abs(y).^2);
c40=mean(y.^4)-3*c20;
c42=mean(abs(y).^4)-abs(c20).^2-2*c21;
c63=mean(abs(y).^6)-9*c42*c21-6*(c21^3);
f1=abs(c42)/abs(c40);
f2=abs(c63)^2/abs(c42)^3;
x=diff(y')';
f3=mean(abs(x).^2);
f4=abs(c63)/abs(c20);
if(f1
if(f3
type=menu('输入信号是','2FSK 信号');
else
type=menu('输入信号是','4FSK 信号');
end
else
if(f2
type=menu('输入信号是','16QAM 信号');
else
if(f2
type=menu('输入信号是','QPSK 信号'); else
if(f2
type=menu('输入信号是','BPSK 信号'); else
if(f4
type=menu('输入信号是','2ASK 信号'); else
type=menu('输入信号是','4ASK 信号'); end
end
end
end
end
本科实验指导书
实验名称:通信技术课程设计
开课学院:电子科学与工程学院
指导教师: -调制识别
一、实验目的
《通信技术课程设计》是针对通信类基础课程和专业课程的实践型课程,承担着从一般基础理论到实践应用的重要过渡。加深理论基础、拓宽知识结构、增强动手能力、提高综合素质和培养创新意识。
二、实验原理
通信侦察是通信对抗的前提与基础。其基本含义是:使用通信接收设备截获敌方通信信号,分析其技术体制,了解其通信网的组成,必要时侦听其通信内容,以判明其属性。
先验信息及要求:
1假设截获了一段数字通信的信号,要求确认该段数据所采用调制方式,并解调出最终的信息。
2映射方式已知。
3调制方式范围:MASK,MFSK,BPSK,QPSK,MQAM。
4数据除MFSK是100 sample/data外,其余均为基带信号,数据以“float”读入,I、Q两路交错。
方法:
1. 最大似然法
采用概率论和假设检验理论,分析信号的统计特性并推导出检验统计量,由判决准则实现调制模式的自动识别。
2. 模式识别法
通过特征提取从调制信号中提取包含调制模式信息的参数,再通过模式匹配进行调制模式的自动识别。
具体的:
1基于瞬时特征
2基于累计量
3基于分形理论
4基于星座图聚类算法
5其他,。。。如基于支持矢量机
三、实验结果
我们组选用了两种方法尝试进行。①基于瞬时特征②基于累计量
1).首先是基于瞬时特征的识别
针对共六种数字调制信号,提取了3个基于瞬时信息的特征参数:
1.零中心归一化瞬时幅度之谱密度最大值
2.零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差
3.零中心归一化瞬时幅度绝对值的标准偏差
① 零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差
公式:
式中c是全部取样数据Ns中属于非弱信号值的个数,at是判断弱信号段的一个幅度判决门限电平,
而是经过零中心化处理后瞬时相位的非线性分量,是瞬时相位,
② .零中心归一化瞬时幅度之谱密度最大值
.决策树识别
①对于判别类属于(2ASK、4ASK、2PSK、4PSK)的信号,计算待识别信号的零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差,与门限比较,将其分成两类:4PSK 和(2PSK、2ASK、4ASK);
②算待识别信号的零中心归一化瞬时幅度之谱密度最大值,与门限比较,将待识别的信号分成两类:(2ASK、4ASK、2PSK、4PSK)和(2FSK、4FSK),即不恒定包络信号和恒包络的信号;
程序:见附录①
由于该程序对事例数据的判断出错,
且经过几次判决门限的更改效果还是不
尽人意,我们更改了实验方案。尝试了刘老师推荐的第二种方法,即基于高阶累计量的识别方法。
2)基于高阶累计量的识别方法
对于一个具有零均值的平稳复随机过程y(n),高阶累积量定义如下:
2C20E[y(n)y(n)]CE[y(n)y*(n)]E[|y(n)|] 21
4C40cum[y(n),y(n),y(n),y(n)]E[y(n)]3C20
C41cum[y(n), y(n),y(n),y*(n)]E[y(n)y(n)y(n)y*(n)]3C20C21
42C42cum[y(n), y(n),y*(n),y*(n)]E[|y(n)|]|C20|2C21
643C60cum[y(n), y(n),y(n),y(n),y(n),y(n)]E[y(n)]15E[y(n)]C2030C20
63C63cum[y(n),y(n),y(n),y*(n),y*(n),y*(n)]E[|y(n)|]9C42
C216C21
不同信号的高阶统计量如下:
2|C42||C|63 FF213|C40| |C
42|
基于高阶累计量的识别方法原理比较简单,通过计算待识别信号的高阶累计量,合理设定门限即可达到识别的目的。实验过程中我们采用的是F值划定门限
程序见附录②
四、实验体会
实验的前后过程中,我们遇到了不少问题,从资料的搜集与整理,到程序的编写与调试。这个过程中我们学会了团队合作,明白了解决问题的工作的不易。 在实验中,我们有效地回顾了所学的知识,并且知道了所学知识的部分实现方法与过程,我们的动手能力与对理论的理解得到了很大的提高。
五、附录
2|C42||C|63 FF213|C40| |C
42|
基于高阶累计量的识别方法原理比较简单,通过计算待识别信号的高阶累计量,合理设定门限即可达到识别的目的。实验过程中我们采用的是F值划定门限
程序见附录②
四、实验体会
实验的前后过程中,我们遇到了不少问题,从资料的搜集与整理,到程序的编写与调试。这个过程中我们学会了团队合作,明白了解决问题的工作的不易。 在实验中,我们有效地回顾了所学的知识,并且知道了所学知识的部分实现方法与过程,我们的动手能力与对理论的理解得到了很大的提高。
五、附录
附录①
close all;
fc=20000; %载波频率
fs=40000; %采样速率
k=2;
code_size=15*round(k*fs/fc); %信息码元长度
t0=5.5; %信号长度
Ns=256; %采样点个数
fd=125; %符号速率
ts=1/fs; %采样周期
M=64 %码元个数
ti=1/fd; %码元间隔
N=ti/ts;
t=[0:ts:t0];
fileID=fopen('D:\modustring5.bnt');
info=fread(fileID);
for n=1:1:50
m=n*Ns;
x=(n-1)*Ns;
for i=x+1:m; %提取信号段
y0(i)=info(i);
end
Y=fft(y0); %调制信号的傅立叶变换
y1=hilbert(y0); %实信号的解析式
z=abs(y0); %实信号的瞬时幅度
phase=angle(y1); %实信号的瞬时相位
add=0; %求Rmax
fori=x+1:m;
add=add+z(i);
end
ma=add/Ns; %瞬时幅度的平均值
y2=z./ma ; %幅度比,即为文献中的an(i) y3=y2-1; %归一化瞬时幅度
y4=max(abs(y3));
y2n=y3./y4; % 即为文献中的acn(i)
s=fft(y2n);
R=abs(s);
Rmax=max((R)/Ns).^2; %零中心归一化瞬时幅度的谱密度的最大值 Xcn=0;
Ycn=0;
fori=x+1:m;
Xcn=Xcn+y2n(i).*y2n(i);
Ycn=Ycn+abs(y2n(i));
end
Xcnav=Xcn/Ns;
Ycnav=(Ycn/Ns).*(Ycn/Ns);
deltaaa=sqrt(Xcnav-Ycnav); %零中心归一化瞬时幅度绝对值得标准偏差
if phase(2+x)-phase(1+x)>pi; %修正相位序列
Ck(1+x)=-2*pi;
elseif phase(1+x)-phase(2+x)>pi;
Ck(1+x)=2*pi;
elseCk(1+x)=0;
end
fori=x+2:m-1;
if phase(i+1)-phase(i)>pi;
Ck(i)=Ck(i-1)-2*pi;
elseif phase(i)-phase(i+1)>pi
Ck(i)=Ck(i-1)+2*pi;
else
Ck(i)=Ck(i-1);
end
end
if -phase(m)>pi;
Ck(m)=Ck(m-1)-2*pi;
elseif phase(m)>pi;
Ck(m)=Ck(m-1)+2*pi;
elseCk(m)=Ck(m-1);
end
phase1=phase+Ck %去相位卷叠后的相位序列
phasenl=phase1-2*pi*fc*i/fs; %非线性相位
at=1; %判决门限电平
a=0; %求取零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差和零中心非弱信号段瞬时相位非线性分量的标准偏差
b=0;
d=0;
c=0;
fori=x+1:m;
if y2(i)>at
c=c+1;
phasesquare(i)=phasenl(i).*phasenl(i);
a=a+phasesquare(i);
phaseabs(i)=abs(phasenl(i));
b=b+phaseabs(i);
d=d+phasenl(i)
end
end
a1=a/c;
b1=(b/c).*(b/c);
d1=(d/c).*(d/c);
deltaap=sqrt(a1-b1); %零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差 deltadp=sqrt(a1-d1); %零中心非弱信号段瞬时相位非线性分量的标准偏差 freqN(i)=phase1(i)-phase1(i-1);
fori=x+1:m;
ifi>at;
c=c+1;
freqNsquare(i)=freqN(i).*freqN(i);
a=a+freqNsquare(i);
b=b+freqN(i);
end
end
a1=a/c;
b1=(b/c)^2;
deltaaf=sqrt(a1-b1); %零中心归一化非弱信号段瞬时频率绝对值得标准偏差 end
if (Rmax>80)
if(deltaaa>0.2)
type=menu('输入信号是','4PSK信号');
else
type=menu('输入信号是','2ASK信号');
end
else
if (deltaaa
type=menu('输入信号是','4ASK信号');
else
if(deltaap>50)
type=menu('输入信号是','4FSK信号');
else
if(Rmax>80)
type=menu('输入信号是','2PSK信号');
else
type=menu('输入信号是','2FSK信号');
end
end
end
end
附录②
fid=fopen('D:\modustring_2fsk.bnt','r');
fseek(fid,0,'bof');
data2=fread(fid,[1,2*N],'float');
y=data2;
c20=mean(y);
c21=mean(abs(y).^2);
c40=mean(y.^4)-3*c20;
c42=mean(abs(y).^4)-abs(c20).^2-2*c21;
c63=mean(abs(y).^6)-9*c42*c21-6*(c21^3);
f1=abs(c42)/abs(c40);
f2=abs(c63)^2/abs(c42)^3;
x=diff(y')';
f3=mean(abs(x).^2);
f4=abs(c63)/abs(c20);
if(f1
if(f3
type=menu('输入信号是','2FSK 信号');
else
type=menu('输入信号是','4FSK 信号');
end
else
if(f2
type=menu('输入信号是','16QAM 信号');
else
if(f2
type=menu('输入信号是','QPSK 信号'); else
if(f2
type=menu('输入信号是','BPSK 信号'); else
if(f4
type=menu('输入信号是','2ASK 信号'); else
type=menu('输入信号是','4ASK 信号'); end
end
end
end
end