预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一.2FSK调制原理: 1、2FSK信号的产生: 2FSK是利用数字基带信号控制在波的频率来传送信息。例如,1码用频率f1来传输,0码用频率f2来传输,而其振幅和初始相位不变。故其表示式为 式中,假设码元的初始相位分别为和;和为两个不同的码元的角频率;幅度为A为一常数,表示码元的包络为矩形脉冲。 2FSK信号的产生方法有两种: 模拟法,即用数字基带信号作为调制信号进行调频。如图1-1(a)所示。 键控法,用数字基带信号及其反相分别控制两个开关门电路,以此对两个载波发生器进行选通。如图1-1(b)所示。 这两种方法产生的2FSK信号的波形基本相同,只有一点差异,即由调频器产生的2FSK信号在相邻码元之间的相位是连续的,而键控法产生的2FSK信号,则分别有两个独立的频率源产生两个不同频率的信号,故相邻码元的相位不一定是连续的。 (a)(b) 2FSK信号产生原理图 由键控法产生原理可知,一位相位离散的2FSK信号可看成不同频率交替发送的两个2ASK信号之和,即 其中是脉宽为的矩形脉冲表示的NRZ数字基带信号。 其中,为的反码,即若,则;若,则。 2、2FSK信号的频谱特性: 由于相位离散的2FSK信号可看成是两个2ASK信号之和,所以,这里可以直接应用2ASK信号的频谱分析结果,比较方便,即 2FSK信号带宽为式中,是基带信号的带宽。 二.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)]); title('调制后的信号') xlabel('Time'); ylabel('Amplitude'); %在已调信号中加入高斯白噪声 randn('state',seed(2)); y=awgn(y,SNR-10*log10-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声 figure(3) plot(t,y(1:length(t)),'b-');%画出经过信道的实际信号 axis([min(t)max(t)]); 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]); title('相干解调后的信号原序列比较') legend('原输入二进制随机序列','相干解调后的信号') xlabel('Time'); ylabel('Amplitude'); %误码率统计 [errorSymratioSym]=symerr(x,z1); figure(6) simbasebandex([0:1:5]); title('相干解调后误码率统计')