1一、实习课题的具体内容1、ASK、FSK解调部分(1)、从Tektronix公司的RSA3303A型号频谱仪中导出频谱仪I/Q数据;(2)、在matlab上编程实现基于I/Q数据的多帧ASK和FSK解调;(3)、要求:Matlab解调结果要和频谱仪所示吻合,并实现解调自动化。二、实习课题完成的技术路线或实施方法2.1、ASK、FSK解调部分基于Matlab的I/Q解调分析有两种方法,可以在计算机与监测设备联机的情况下进行实时采集与分析,也可以利用设备提供的I/Q解调功能采集数据,保存在后缀名为“.mat”的文件中进行脱机分析处理。我采用的分析方法是后者,利用Tektronix公司的RSA系列频谱分析仪采集数据,然后保存到后缀名为“.mat”的文件中,再通过U盘拷贝的方式导入PC端,然后在Matlab上分析处理。2.1.1、IQ数据简介极坐标参量与直角坐标参量间的转换示意如下图,极坐标图表示的矢量的参数是幅值和瞬时相位,一般表示为A,因为所有调制形式针对载波的改变都是幅值、相位以及可以由相位推导的频率,极坐标图是分析调制技术矢量参数的主要描述方式。I/Q直角坐标图表示矢量的参数不是直接的幅值和瞬时相位,而是把它们投影在I/Q直角坐标轴上,采用I轴和Q轴的投影分量来确定矢量。2.1.2、数据导入我利用Tektronix频谱仪的I/Q解调功能采集射频数据,然后用MATLAB代码“LOADEXAMPLE.MAT”将数据导入。下图是利用RSA3303A采集数据后存储为“.mat”文件的内容。2通过前期对泰克频谱仪用户手册和文献资料的查阅,我了解到频谱仪导出数据的含义基本如下:其中,Y变量是一个复变量,包含了采样数据点的同相I分量和正交Q分量。InputCenter变量显示了采样时的中心频率,据此可计算出实际频率分量。InputZoom变量值为1,表示采集数据已下变频到基带。XDelta为采样周期,由此可以计算出采样率(fs=1/Xdelta)。2.1.3、数据分析根据“.mat”文件中的每个采样时刻的I/Q采样数据Y,可得到相应的I分量和Q分量,用MATLAB代码表示为:I=real(Y),Q=imag(Y)。采集到的数据可用幅度分析、频率分析、相位分析以及小波分析等方法进行处理。输入信号的幅度Am分析:22AmIQ。根据I/Q信号的每一个采样值,可以计算出对应采样时刻的幅度值。在测量时间内的所有幅度数值构成I/Q幅度数组,对应于“射频功率-时间曲线”。输入信号的相对相位m分析:arctan(Q/I)m。根据I/Q信号的每一个采样值,可以计算出对应采样时刻的相对相位值。在测量时间内的所有m数值构成I/Q相对相位数组m。输入信号的频率Fm计算:()dmFmdt。在测量时间内的所有FmFm数值构成I/Q频率数组Fm,对应于频率曲线。频谱计算:Spectrum=FFT(Y)。对I/Q数据Y进行傅里叶变换,即可计算出其频谱值。其中,Spectrum为输入信号中频带宽内的频谱。2.1.4、解调实例分析(1)FSK解调功能的实现FSK就是用数字信号去调制载波的频率,FSK解调一般采用两种方式:非相干解调和相干解调。相干解调需要同步信号,适用于窄带调频信号解调;而非相干解调不需要同步信号,对于窄频带调频(NBFM)信号和宽频带调频(WBFM)信号均适用。非相干解调,即不需提取载波信息(或不需恢复出相干载波)的一种解调方法,优点是可以较少的考虑信道估计甚至略去,处理复杂度降低,实现较为简单,但相比相干解调方法性能下降,从定量角度来看,普遍的结果是非相干解调性能上比相干解调差3dB。我选用非相干解调方法进行解调,主要应用4.1.3所述的计算频率Fm的公式,将频谱仪导入的I/Q数据先计算瞬时相角,再微分计算出3频率,Matlab代码为:diff(unwrap(angle(Y))),unwrap()是解卷绕,经观察解调效果良好。(2)ASK解调功能的实现ASK是振幅键控方式,这种调制方式是根据信号的不同,调节正弦波的幅度。这里参考计算4.1.3计算幅值Am的公式,将频谱仪导入的I/Q数据计算瞬时幅值,Matlab代码为:magY=10*log10(real(Y).^2+imag(Y).^2)+GainOffset,GainOffset与仪器硬件相关,经观察解调效果良好。三、实习课题完成情况3.1、ASK、FSK解调部分经过程序多次调试和修改,已经实现ASK、FSK解调部分的要求。ASK解调示例如下图所示:Matlab解调结果如图3.1-1所示,频谱仪解调结果如图3.1-2所示,局部放大对比图如图3.1-3所示:0100020003000400050006000700080009000-100-90-80-70-60-50-40-30-20-10ASK显示10dBm图3.1-1Matlab解调结果4图3.1-2频谱仪解调结果图3.1-3局部放大对比图FSK解调示例如下图所示:Matlab解调结果如图3.1-4所示,局部放大对比图如图3.1-5所示:520040060080010001200-2.5-2-1.5-1-0.500.5图3.1-4Matlab解调结果图3.1-5局部放大对比图Matlab解调结果与频谱仪图形对比可以看出,Matlab解调结果和频谱仪所示基本吻合,并且可以随意放大和缩小,方便人工查看和分析,并实现解调自动化,可以方便人工分析。附录ASK解调源代码%文件askshow.m%用途:ASK解调并matlab显示%用法:输入导入数据向量、幅度截止和增益,元素之间用逗号分开functiondata=askshow(Y,cutoff,GainOffset)datalength=length(Y);%获取数据长度magY=10*log10(real(Y).^2+imag(Y).^2)+GainOffset;%对Y中每一个数据求绝对值,然后以10为底求对数%magY=20*log10(abs(Y))+GainOffset;y=zeros(datalength,1);%生成length(Y)行1列的零矩阵y,用于存储处理的数据fori=1:datalengthifmagY(i)cutoff%如果低于cutoff,则强制截止等于cutoff6y(i)=cutoff;elsey(i)=magY(i);endendn=0:1:datalength-1;%初值:增量:终值xspan=n;%生成x轴坐标值plot(xspan,y);%做出以数据(xspan(i),y(i))为结点的折线图title('ASK显示');%图形标题说明ylabel('10dBm');%坐标轴y轴说明axis([0,datalength-1,cutoff-0.1,-1]);%定制2维坐标轴范围gridon;%显示格栅