一.2FSK调制原理:1、2FSK信号的产生:2FSK是利用数字基带信号控制在波的频率来传送信息。例如,1码用频率f1来传输,0码用频率f2来传输,而其振幅和初始相位不变。故其表示式为)cos()cos(21122)(tAtAFSKt时发送时发送10式中,假设码元的初始相位分别为1和2;112fπ和222fπ为两个不同的码元的角频率;幅度为A为一常数,表示码元的包络为矩形脉冲。2FSK信号的产生方法有两种:(1)模拟法,即用数字基带信号作为调制信号进行调频。如图1-1(a)所示。(2)键控法,用数字基带信号)(tg及其反)(tg相分别控制两个开关门电路,以此对两个载波发生器进行选通。如图1-1(b)所示。这两种方法产生的2FSK信号的波形基本相同,只有一点差异,即由调频器产生的2FSK信号在相邻码元之间的相位是连续的,而键控法产生的2FSK信号,则分别有两个独立的频率源产生两个不同频率的信号,故相邻码元的相位不一定是连续的。(a)(b)2FSK信号产生原理图由键控法产生原理可知,一位相位离散的2FSK信号可看成不同频率交替发送的两个2ASK信号之和,即)cos(])([)cos(])([)cos(·)()cos()()(221122112tnTtgatnTtgattgttgtnsnnsnFSK其中)(tg是脉宽为sT的矩形脉冲表示的NRZ数字基带信号。P,0P11概率,概率naP1,0P1概率,概率na其中,na为na的反码,即若1na,则0na;若0na,则1na。2、2FSK信号的频谱特性:由于相位离散的2FSK信号可看成是两个2ASK信号之和,所以,这里可以直接应用2ASK信号的频谱分析结果,比较方便,即)]()()()([]|)(||)(||)(||)([|)()()(2211161222221211622221ffffffffTffSaTffSaTffSaTffSafSfSfSSSSSTASKASKFSKS2FSK信号带宽为ssFSKRfffffB2||2||21212式中,ssfR是基带信号的带宽。二.2FSK解调原理:仿真是基于非相干解调进行的,即不要求载波相位知识的解调和检测方法。其非相干检测解调框图如下M信号非相干检测解调框图当k=m时检测器采样值为:当k≠m时在样本和中的信号分量将是0,只要相继频率之间的频率间隔是,就与相移值无关了,于是其余相关器的输出仅有噪声组成。其中噪声样本{}和{}都是零均值,具有相等的方差对于平方律检测器而言,即先计算平方包络并取其最大值信号。二进制FSK系统的理论误码率与信噪比的关系给出如下2FSK具体设计调制与解调2FSK采用键控法调制,相干解调法进行解调程序代码如下:Fc=10;%载频Fs=100;%系统采样频率Fd=1;%码速率N=Fs/Fd;df=10;numSymb=25;%进行仿真的信息代码个数M=2;%进制数SNRpBit=60;%信噪比SNR=SNRpBit/log2(M);seed=[1234554321];numPlot=25;%产生25个二进制随机码x=randsrc(numSymb,1,[0:M-1]);%产生25个二进制随机码figure(1)stem([0:numPlot-1],x(1:numPlot),'bx');title('二进制随机序列')xlabel('Time');ylabel('Amplitude');%调制y=dmod(x,Fc,Fd,Fs,'fsk',M,df);numModPlot=numPlot*Fs;t=[0:numModPlot-1]./Fs;figure(2)plot(t,y(1:length(t)),'b-');axis([min(t)max(t)-1.51.5]);title('调制后的信号')xlabel('Time');ylabel('Amplitude');%在已调信号中加入高斯白噪声randn('state',seed(2));y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声figure(3)plot(t,y(1:length(t)),'b-');%画出经过信道的实际信号axis([min(t)max(t)-1.51.5]);title('加入高斯白噪声后的已调信号')xlabel('Time');ylabel('Amplitude');%相干解调z1=ddemod(y,Fc,Fd,Fs,'fsk',M,df);%带输出波形的相干M元频移键控解调figure(4)stem([0:numPlot-1],x(1:numPlot),'bx');holdon;stem([0:numPlot-1],z1(1:numPlot),'ro');holdoff;axis([0numPlot-0.51.5]);title('相干解调后的信号原序列比较')legend('原输入二进制随机序列','相干解调后的信号')xlabel('Time');ylabel('Amplitude');%误码率统计[errorSymratioSym]=symerr(x,z1);figure(6)simbasebandex([0:1:5]);title('相干解调后误码率统计')