精华内容
下载资源
问答
  • 生成 fsk 调制和功率谱的函数代码行 (NRZ)
  • FSK调制_2FSK调制Matlab仿真

    千次阅读 2019-10-04 22:09:01
    1.什么是2FSK调制 2FSK(Frequency Shift Keying)为二进制数字频率调制(二进制频移键控),用载波的频率来传送数字信息,即用所传送的数字信息控制载波的频率。2FSK信号便是符号“0”对应于载频 f1,而符号“1”...

    1.什么是2FSK调制

    2FSK(Frequency Shift Keying)为二进制数字频率调制(二进制频移键控),用载波的频率来传送数字信息,即用所传送的数字信息控制载波的频率。2FSK信号便是符号“0”对应于载频 f1,而符号“1”对应于载频 f2(与 f1 不同的另一载频)的已调波形,而且 f1 与 f2 之间的改变是瞬间的。传“0”信号时,发送频率为 f1 的载波; 传“1”信号时,发送频率为 f2的载波。可见,FSK 是用不同频率的载波来传递数字消息的。

    2.连续相位2FSK和非连续相位2FSK对比

    非连续相位2FSK最大的问题在于带外泄露,如果连续两个符号不同,就会在交界处发生相位的跳变,在频谱上表现为高频成分,形成带外泄露。频谱上会有明显的两个频点的谱线。

    为了防止带外泄露,一般采用连续相位2FSK调制。由于是相位频谱上不会有明显的两个频点的谱线。

    3.Matlab自带2FSK调制函数

    Matlab提供了FSK调制函数、块和System object可以来实现M阶FSK调制。Matlab实现的FSK调制是针对基带信号而言的( For either type of mapping, the object maps the highest frequency to the integer 0 and maps the lowest frequency to the integer M–1. In baseband simulation, the lowest frequency is the negative frequency with the largest absolute value.)。对于2FSK,0映射为正频点,1映射为负频点。

    4.Matlab仿真2FSK调制

    此次仿真使用的是System object(comm.FSKModulator),参数设置如下:

    DataLength = 60;%待发送数据长度
           ModulationOrder = 2;%FSK调制阶数
           FrequencySeparation = 1e6;%两个频点间隔
           SamplesPerSymbol = 30;%过采样个数
           SymbolRate = 6e5;%符号速率
           Fs = SamplesPerSymbol * SymbolRate;

    代码链接:https://download.csdn.net/download/flypassion/11864221

    ( 备注:Fs SamplesPerSymbol×SymbolRate, which is greater than ModulationOrder multiplied by FrequencySeparation.)

    1.非连续相位2FSK仿真

    仿真结果如下图所示(为了显示效果实部和虚部信号都只画了一部分):

    仿真结果频谱仪分析如下图所示:

    2.连续相位2FSK仿真

    仿真结果如下图所示(为了显示效果实部和虚部信号都只画了一部分):

    仿真结果频谱仪分析如下图所示:

    5.Matlab仿真2FSK调制结果分析

    1.调制结果和预期结果符合。

    2.从画出的2FSK调制后信号的波形图发现I支路符号波形没有调制,Q支路进行了调制,分析可知导致出现这样的现象的原因如下:

    当输入为“0”时,对应的频点为f,则调制后的信号如下:

                                                                     e^{^{j2\pi ft}=cos2\pi ft+jsin2\pi ft

    当输入为“1”时,对应的频点为-f,则调制后的信号如下:

                                                 e^{^{j(-2\pi ft)}=cos(-2\pi ft)+jsin(-2\pi ft)=cos2\pi ft-jsin2\pi ft

    由于余弦是偶函数,正弦是奇函数,所以2FSK实部信号没有变化,虚部根据输入信号进行调制。

    3.连续相位调制占用带宽小于非连续相位调制占用带宽,且信号能力更集中,符合连续相位调制的优点。

    展开全文
  • 基于MATLAB的FSK调制解调..doc基于MATLAB的FSK的实验报告姓1.1实现的1) 对的概念、组成以及性能分析方法有深入的;2) FSK调制与解调的原理及软件实现方案移频键控(FSK):用数字调制信号的正负控制载波的频率。当数字...

    基于MATLAB的FSK调制解调..doc

    基于MATLAB的FSK的实验报告

    1.1

    实现的1) 对的概念、组成以及性能分析方法有深入的;2) FSK调制与解调的原理及软件实现方案

    移频键控(FSK):用数字调制信号的正负控制载波的频率。当数字信号的振幅为正时载波频率为f1,当数字信号的振幅为负时载波频率为 f2。有时也把代表两个以上符号的多进制频率调制称为移频键控。移频键控能区分通路,但抗干扰能力不如移相键控和差分移相键控。方法一: 用一个矩形脉冲序列对一个载波进行调频。

    图3 2FSK信号的产生(一)

    方法二:键控法

    图4 2FSK信号的产生(二)键控法是利用矩形脉冲来控制开关电路对两个不同的独立频率源进行选通。

    图3-1 设计总思路图

    2.1 FSK调制的仿真设计

    本文主要是对2FSK进行调制,而2FSK可看做是基带信号与载波频率的结合就可.FSK的产生思路参考的是键控法,如图4

    图3-2 2FSK信号的产生(二)

    图3-3 FSK信号的相干检测原理图

    两个带通滤波器的作用是起分路作用。它们的输出分别与相应的同步相干载波相乘,再分别经低通滤波器取出含基带数字信息的低频信号, 滤掉二倍频信号,抽样判决器在抽样脉冲到来时对两个低频信号进行比较判决,即可还原出基带数字信号。

    如上图所示的FSK信号的相干检测原理图,FSK信号可以采用两个乘法检测器进行相干检测. 上图中输入信号为2FSK信号加上噪声组成

    带通滤波器2的设计类似滤波器1,只是更改频率为fc2就可.

    滤波器设计中使用了切比雪夫滤波器,是因为切比雪夫滤波器通带内有等波纹起伏,截止特性特别好,[b2, a2]=cheby1(3, .5, 2.5*fc1/fs, 'high');

    y2 =filtfilt(b2, a2, y).*sin(2*pi*fc2*t);

    y2 =filtfilt(b, a, y2);

    在与相干载波频率cos1t,cos2t相乘后,完成移频,后通过低通滤波器得到基带模拟输出信号.然后通过判决电路即可判断输出的参量是0还是1.

    2.3 误码率计算的设计

    相干解调时,带通滤波器后接有乘法器和低通滤波器,低通滤波器输出的就是带有噪声的有用信号,他们的概率密度函数属于高斯分布,经过计算,其漏报率(0/1)为

    (4-1)

    虚报概率(1/0)为

    (4-2)

    系统的误码率为:

    (4-3)

    在实验中,为降低误码率,可以通过将主函数main文件中的N1值即每秒发送的比特数增加的方式,达到降低误码率的效果.

    3.1 FSK仿真图

    图4-1 基带信号调制的结果与其频谱

    由图4-1可以看出,当输入基带信号为0时,及输入信号为1时,是不同的。结合第二章对FSK信号产生的分析,

    (2-3)

    参数设计如下:信号为0时的频率fc1为2HZ,信号为1时的频率fc2为5HZ..波特率fb为1.采样频率为32 HZ.每次产生的比特个数为1000.输入基带为[0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0].再结合图形,即可发现图4-1的上图对应的就是[1 0 0 1 0]这一段基带信号以及调制后的FSK信号.其中信号0的频率为信号1的频率为,即奈奎斯特速率.

    再看图4-1的下图,可以发现在频率为2 HZ和5 HZ 的地方频谱最密集.这也与参数设置相符合.

    3.2 调制与解调后的信号

    图4-2 解调经过噪声后的输入信号解调

    图4-3 噪声能量加倍后的输入输出信号

    图4-4 噪声能量减半后的输入输出信号

    由图4-1,图4-2,图4-3.可以看出,当我将噪声能量由分别改为2和时,解调系统输入的解调信号与解调后输出的基带信号都发现了巨大的变化.这是因为解调信号就是由输入FSK信号加上噪声后形成.

    参数设计如下:信号为0时的频率fc1为2HZ,信号为1时的频率fc2为5HZ..波特率fb为1.采样频率为32 HZ.每次产生的比特个数为1000.输入基带为[0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0].snr=-12:3:10.snr2=10.^(snr./10).

    结合图4-2图4-3图4-4可以很清晰的看出,当我将snr的值扩大一倍或者缩小一倍时,噪声的能量也随即增加减少一倍.可以发现,无论是输入信号还是输出解调信号都发生了很大改变.

    展开全文
  • FSK调制解调

    千次阅读 多人点赞 2021-03-25 13:12:55
    文章目录1.FSK调制解调原理1.1FSK时域信号1.2相关系数与频谱特性1.3非相干解调1.3.1相乘微分型AFC环解调法1.3.2包络检波解调法1.4相干解调原理1.4.1最佳FSK相干解调器1.4.2易于实现的FSK相干解调器2.FSK的MATLAB仿真...

    1.FSK调制解调原理

    1.1FSK时域信号

    数字频率调制(FM)是利用载波的频率传输信息的一种调制方式,其中最简单的是二进制频移键控(2FSK)。FM分为非连续相位FSK和连续相位FSK(CPFSK),两者的区别在于码元转换时刻的载波相位是否连续。

    2FSK信号波形如下图所示,信号可以看成是频载为f1和f2的两个振幅键控信号的合成,2FSK信号可表示为:
    在这里插入图片描述
    式中,
    在这里插入图片描述
    式中,A是载波振幅,Tb为数字码元周期,{bn}为所传送的数字序列。
    在这里插入图片描述
    相位连续的FSK信号在码元转换时刻的相位是连续的,波形如下图所示。
    在这里插入图片描述
    此时调频信号可以表示为:
    在这里插入图片描述
    式中,fc是未调载波的频率,\delta fd是频偏因子。当m(t)为归一化基带信号时,\delta fd为峰值频偏,令
    在这里插入图片描述
    式中,h为调制指数或频移指数。

    1.2相关系数与频谱特性

    设FSK信号在一个码元期间内的波形为:
    在这里插入图片描述
    这两个信号波形的相关系数定义为:
    在这里插入图片描述
    式中,
    在这里插入图片描述
    则带入上式有:
    在这里插入图片描述
    通常
    在这里插入图片描述
    则相关系数简化为:
    在这里插入图片描述
    其波形变化图如下所示:
    在这里插入图片描述
    从图中可以看出,两个信号的相关系数在k*pi的时候为零,也就是说它们具有正交特性。

    CPFSK信号的功率谱形状直接由调制指数h确定。当h=0.5时,功率谱曲线为单峰;当h=0.715时,功率谱曲线呈现双峰;当h=1时,功率谱曲线的双峰变成了两条线状谱,且每条线状谱所占的功率都是信号功率的1/4,与离散相位2FSK信号的功率谱曲线相同;当h>1时,双峰的距离逐渐增加。

    1.3非相干解调

    1.3.1相乘微分型AFC环解调法

    AFC环是一个负反馈系统,从电路结构上看,AFC环主要由三种结构形式,比较广泛的是相乘微分型AFC环路。其架构如下图所示:
    在这里插入图片描述
    如果接收信号与本振信号存在频差,则在一定时间间隔内必然存在相差,将鉴相器输出的相位误差信号微分后,得到反映频差的误差信号,此信号经环路滤波器平滑处理后,控制VCO/NCO的振荡频率向输入信号频率靠近,最终使得频差近似为零。
    设输入信号
    在这里插入图片描述
    VCO输入信号
    在这里插入图片描述

    在这里插入图片描述
    显然有
    在这里插入图片描述
    当输入信号为单载波信号时,
    在这里插入图片描述
    故有
    在这里插入图片描述
    上式反映了输入信号和VCO输出信号的频差。对于FSK信号来讲,上式即为调制信号,对其进行滤波判决,即可完成FSK信号的解调。

    1.3.2包络检波解调法

    2FSK信号的包络检波法解调方框图如下,可以视为由两路2ASK解调电路组成。这里的两个带通滤波器起分路作用,用以分开两路2ASK信号。上支路对应
    在这里插入图片描述
    下支路对应
    在这里插入图片描述
    经包络检测后分别取出他们的包络m1(t)和m2(t)。将两路滤波后的包络信号相减,在经过抽样判决,当判决值大于等于0时,判决为1,否则判决为0;
    在这里插入图片描述

    1.4相干解调原理

    1.4.1最佳FSK相干解调器

    最佳解调器结构如下图所示,在接收端产生一直信号s1(t)和s2(t)的波形,分别将其与输入波形y(t)在相乘器中相乘,再进行积分。在t=Tb时刻,将两积分器的结果取样,并在比较器中比较判决。因为解调器是对接收码元逐个进行处理的,故在每个码元的终止时刻,在取样之后要将积分器清零,以便接着处理下一个码元。
    在这里插入图片描述
    相干载波s1(t)和s2(t)通常需要采用载波锁相环路提取,位同步信号则需要专门的位同步锁相环路提取。

    1.4.2易于实现的FSK相干解调器

    1.4.1中的结构难以实现,通常采用下图结构实现:
    在这里插入图片描述
    FSK相干解调与ASK相干解调相似,FSK只是在用带通滤波器将信号分成上下两路后,在判决输出前增加一个减法器即可。

    2.FSK的MATLAB仿真

    2.1FSK信号产生

    参数要求:非连续相位和连续相位的2FSK调制信号;调制度分别为0.5、0.7157、1、3.5;基带信号符号速率Rb=1Mbps;载波频率fc=6MHz;采样频率fs=32Rb;
    源码:

    ps=1*10^6;  %码速率为1MHz
    N=1000;       %数据码元个数
    Fs=32*10^6; %采样速率为32MHz
    fc=6*10^6;  %载波频率为6MHz
    Len=N*Fs/ps;
    
    %仿真调制指数为0.5时的FSK信号
    m=0.5;        %调制指数
    freqsep=m*ps; %FSK信号中,两个频率之间的间隔
    nsamp=Fs/ps;  %每个码元的采样点数
    x = randint(N,1,2); % 产生随机数据做为数据码元
    ContData = fskmod(x,2,freqsep,nsamp,Fs,'cont');       % 产生连续相位FSK调制信号的正交基带数据
    DisContData = fskmod(x,2,freqsep,nsamp,Fs,'discont'); % 产生非连续相位FSK调制信号的正交基带数据
    %将基带FSK信号正交上变频至6MHz中频
    t=0:1/Fs:(Len-1)/Fs;
    f0=cos(2*pi*fc.*t)+sin(2*pi*fc.*t)*sqrt(-1);
    Contfsk=real(ContData.*f0');
    DisContfsk=real(DisContData.*f0');
    %计算FSK信号的幅频特性
    m_ContFsk=20*log10(abs(fft(Contfsk,2048)));
    m_DisFsk=20*log10(abs(fft(DisContfsk,2048)));;
    m05_ContFsk=m_ContFsk-max(m_ContFsk);
    m05_DisFsk=m_DisFsk-max(m_DisFsk);
    
    %仿真调制指数为0.715时的FSK信号
    m=0.715;        %调制指数
    freqsep=m*ps; %FSK信号中,两个频率之间的间隔
    nsamp=Fs/ps;  %每个码元的采样点数
    x = randint(N,1,2); % 产生随机数据做为数据码元
    ContData = fskmod(x,2,freqsep,nsamp,Fs,'cont');       % 产生连续相位FSK调制信号的正交基带数据
    DisContData = fskmod(x,2,freqsep,nsamp,Fs,'discont'); % 产生非连续相位FSK调制信号的正交基带数据
    %将基带FSK信号正交上变频至6MHz中频
    t=0:1/Fs:(Len-1)/Fs;
    f0=cos(2*pi*fc.*t)+sin(2*pi*fc.*t)*sqrt(-1);
    Contfsk=real(ContData.*f0');
    DisContfsk=real(DisContData.*f0');
    %计算FSK信号的幅频特性
    m_ContFsk=20*log10(abs(fft(Contfsk,2048)));
    m_DisFsk=20*log10(abs(fft(DisContfsk,2048)));;
    m07_ContFsk=m_ContFsk-max(m_ContFsk);
    m07_DisFsk=m_DisFsk-max(m_DisFsk);
    
    %仿真调制指数为0.715时的FSK信号
    m=1;        %调制指数
    freqsep=m*ps; %FSK信号中,两个频率之间的间隔
    nsamp=Fs/ps;  %每个码元的采样点数
    x = randint(N,1,2); % 产生随机数据做为数据码元
    ContData = fskmod(x,2,freqsep,nsamp,Fs,'cont');       % 产生连续相位FSK调制信号的正交基带数据
    DisContData = fskmod(x,2,freqsep,nsamp,Fs,'discont'); % 产生非连续相位FSK调制信号的正交基带数据
    %将基带FSK信号正交上变频至6MHz中频
    t=0:1/Fs:(Len-1)/Fs;
    f0=cos(2*pi*fc.*t)+sin(2*pi*fc.*t)*sqrt(-1);
    Contfsk=real(ContData.*f0');
    DisContfsk=real(DisContData.*f0');
    %计算FSK信号的幅频特性
    m_ContFsk=20*log10(abs(fft(Contfsk,2048)));
    m_DisFsk=20*log10(abs(fft(DisContfsk,2048)));;
    m1_ContFsk=m_ContFsk-max(m_ContFsk);
    m1_DisFsk=m_DisFsk-max(m_DisFsk);
    
    
    %仿真调制指数为3.5时的FSK信号
    m=3.5;        %调制指数
    freqsep=m*ps; %FSK信号中,两个频率之间的间隔
    nsamp=Fs/ps;  %每个码元的采样点数
    x = randint(N,1,2); % 产生随机数据做为数据码元
    ContData = fskmod(x,2,freqsep,nsamp,Fs,'cont');       % 产生连续相位FSK调制信号的正交基带数据
    DisContData = fskmod(x,2,freqsep,nsamp,Fs,'discont'); % 产生非连续相位FSK调制信号的正交基带数据
    %将基带FSK信号正交上变频至6MHz中频
    t=0:1/Fs:(Len-1)/Fs;
    f0=cos(2*pi*fc.*t)+sin(2*pi*fc.*t)*sqrt(-1);
    Contfsk=real(ContData.*f0');
    DisContfsk=real(DisContData.*f0');
    %计算FSK信号的幅频特性
    m_ContFsk=20*log10(abs(fft(Contfsk,2048)));
    m_DisFsk=20*log10(abs(fft(DisContfsk,2048)));;
    m35_ContFsk=m_ContFsk-max(m_ContFsk);
    m35_DisFsk=m_DisFsk-max(m_DisFsk);
    
    %绘图
    %设置幅频响应的横坐标单位为MHz
    x_f=1:length(m_ContFsk);x_f=x_f*Fs/length(m_ContFsk)/10^6;
    %绘制连续相位的时域波形及频谱
    figure(1);
    subplot(421);
    plot(x_f,m05_ContFsk);axis([0 Fs/2/10^6 -80 0]);
    legend('h=0.5 CPFSK');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(422);
    plot(x_f,m05_DisFsk);axis([0 Fs/2/10^6 -80 0]);
    legend('h=0.5 FSK');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(423);
    plot(x_f,m07_ContFsk);axis([0 Fs/2/10^6 -80 0]);
    legend('h=0.715 CPFSK');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(424);
    plot(x_f,m07_DisFsk);axis([0 Fs/2/10^6 -80 0]);
    legend('h=0.715 FSK');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(425);
    plot(x_f,m1_ContFsk);axis([0 Fs/2/10^6 -80 0]);
    legend('h=1 CPFSK');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(426);
    plot(x_f,m1_DisFsk);axis([0 Fs/2/10^6 -80 0]);
    legend('h=1 FSK');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(427);
    plot(x_f,m35_ContFsk);axis([0 Fs/2/10^6 -80 0]);
    legend('h=3.5 CPFSK');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(428);
    plot(x_f,m35_DisFsk);axis([0 Fs/2/10^6 -80 0]);
    legend('h=3.5 FSK');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    

    在这里插入图片描述

    2.2非相干解调FSK

    参数要求:解调非连续相位和连续相位的2FSK调制信号;仿真调制度分别为0.5、3.5的2FSK调制信号;基带信号符号速率Rb=1Mbps;载波频率fc=6MHz;采样频率fs=32Rb;

    m=3.5;       %调制度为3.5
    IsCont=1;    %CPFSK
    ps=1*10^6;  %码速率为1MHz
    N=1000;     %数据码元个数
    Fs=32*10^6; %采样速率为32MHz
    fc=6*10^6;  %载波频率为6MHz
    Len=N*Fs/ps;
    
    %仿真调制指数为3.5时的FSK信号
    freqsep=m*ps; %FSK信号中,两个频率之间的间隔
    nsamp=Fs/ps;  %每个码元的采样点数
    x = randint(N,1,2); % 产生随机数据做为数据码元
    if IsCont==1
        fsk = fskmod(x,2,freqsep,nsamp,Fs,'cont');       % 产生连续相位FSK调制信号的正交基带数据
    else
        fsk = fskmod(x,2,freqsep,nsamp,Fs,'discont');    % 产生非连续相位FSK调制信号的正交基带数据
    end
    %将基带FSK信号正交上变频至6MHz中频
    t=0:1/Fs:(Len-1)/Fs;
    f0=cos(2*pi*fc.*t)+sin(2*pi*fc.*t)*sqrt(-1);
    fsk=real(fsk.*f0');
    %计算FSK信号的幅频特性
    m_fsk=20*log10(abs(fft(fsk,2048)));
    m0_fsk=m_fsk-max(m_fsk);
    
    %对FSK信号进行带通滤波
    Wnf1=[(fc-m*ps)*2/Fs fc*2/Fs];
    Wnf2=[fc*2/Fs (fc+m*ps)*2/Fs];
    b1=fir1(60,Wnf1);
    b2=fir1(60,Wnf2);
    bs1_fsk=filter(b1,1,fsk);
    bs2_fsk=filter(b2,1,fsk);
    %计算带通滤波后的幅频特性
    m_fsk=20*log10(abs(fft(bs1_fsk,2048)));
    mbs1_fsk=m_fsk-max(m_fsk);
    m_fsk=20*log10(abs(fft(bs2_fsk,2048)));
    mbs2_fsk=m_fsk-max(m_fsk);
    
    %对带通滤波后的数据进行全波整流
    abs1_fsk=abs(bs1_fsk);
    abs2_fsk=abs(bs2_fsk);
    %计算整流后的幅频特性
    m_fsk=20*log10(abs(fft(abs1_fsk,2048)));
    mabs1_fsk=m_fsk-max(m_fsk);
    m_fsk=20*log10(abs(fft(abs2_fsk,2048)));
    mabs2_fsk=m_fsk-max(m_fsk);
    
    %对整流后的数据进行低通滤波
    Lb=fir1(60,ps*2/Fs);
    Lpf1_fsk=filter(Lb,1,abs1_fsk);
    Lpf2_fsk=filter(Lb,1,abs2_fsk);
    %计算低通滤波后的幅频特性
    m_fsk=20*log10(abs(fft(Lpf1_fsk,2048)));
    mLpf1_fsk=m_fsk-max(m_fsk);
    m_fsk=20*log10(abs(fft(Lpf2_fsk,2048)));
    mLpf2_fsk=m_fsk-max(m_fsk);
    
    %对低通滤波后的两路信号相减,形成基带信号波形
    Demod_fsk=Lpf1_fsk-Lpf2_fsk;
    %计算解调后的基带信号幅频特性
    m_fsk=20*log10(abs(fft(Demod_fsk,2048)));
    mDemod_fsk=m_fsk-max(m_fsk);
    
    
    %绘图
    %设置幅频响应的横坐标单位为MHz
    x_f=1:length(m0_fsk);x_f=x_f*Fs/length(m0_fsk)/10^6;
    %绘制连续相位的时域波形及频谱
    figure(1);
    subplot(621);
    plot(x_f,m0_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('中频信号频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(622);
    plot([0:1/32:500/32],fsk(100:600));
    legend('中频时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(623);
    plot(x_f,mbs1_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('带通滤波f1后频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(624);
    plot([0:1/32:500/32],bs1_fsk(100:600));
    legend('带通滤波后f1时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(625);
    plot(x_f,mabs1_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('整流后f1频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(626);
    plot([0:1/32:500/32],abs1_fsk(100:600));
    legend('整流后f1时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(627);
    plot(x_f,mLpf1_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('低通滤波后f1频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(628);
    plot([0:1/32:500/32],Lpf1_fsk(100:600));
    legend('低通滤波后f1时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(629);
    plot(x_f,mLpf2_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('低通滤波后f2频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(6,2,10);
    plot([0:1/32:500/32],Lpf2_fsk(100:600));
    legend('低通滤波后f2时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(6,2,11);
    plot(x_f,mDemod_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('解调后频谱');
    xlabel('频率(MHz)');ylabel('幅度(v)');%grid on;
    subplot(6,2,12);
    plot([0:1/32:500/32],Demod_fsk(100:600));
    legend('解调后时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    

    在这里插入图片描述

    2.2相干解调FSK仿真

    参数要求:解调非连续相位的2FSK调制信号;仿真调制度分别为0.5、3.5的2FSK调制信号;基带信号符号速率Rb=1Mbps;载波频率fc=6MHz;采样频率fs=32Rb;

    m=3.5;       %调制度为3.5
    ps=1*10^6;  %码速率为1MHz
    N=1000;     %数据码元个数
    Fs=32*10^6; %采样速率为32MHz
    fc=6*10^6;  %载波频率为6MHz
    Len=N*Fs/ps;
    t=0:1/Fs:(Len-1)/Fs;
    f1=cos(2*pi*(fc-m*ps/2).*t)';%FSK信号中两种码元所代表的频率
    f2=cos(2*pi*(fc+m*ps/2).*t)';
    
    %根据式(6-1)产生非连续相位FSK信号
    x = randint(N,1,2);    % 产生随机数据做为数据码元
    dx=rectpulse(x,Fs/ps); % 对随机数据进行Fs/ps倍采样
    fsk=dx.*f1+(~dx).*f2;
    %计算FSK信号的幅频特性
    m_fsk=20*log10(abs(fft(fsk,2048)));
    m0_fsk=m_fsk-max(m_fsk);
    
    %对FSK信号进行带通滤波
    Wnf1=[(fc-m*ps)*2/Fs fc*2/Fs];
    Wnf2=[fc*2/Fs (fc+m*ps)*2/Fs];
    b1=fir1(60,Wnf1);
    b2=fir1(60,Wnf2);
    bs1_fsk=filter(b1,1,fsk);
    bs2_fsk=filter(b2,1,fsk);
    %计算带通滤波后的幅频特性
    m_fsk=20*log10(abs(fft(bs1_fsk,2048)));
    mbs1_fsk=m_fsk-max(m_fsk);
    m_fsk=20*log10(abs(fft(bs2_fsk,2048)));
    mbs2_fsk=m_fsk-max(m_fsk);
    %为仿真相干载波,需要对f1、f2也进行带波滤波的延时处理
    f1=filter(b1,1,f1);
    f2=filter(b2,1,f2);
    
    %乘以相干载波
    cf1_fsk=bs1_fsk.*f1;
    cf2_fsk=bs2_fsk.*f2;
    %计算乘以相干载波后的幅频特性
    m_fsk=20*log10(abs(fft(cf1_fsk,2048)));
    mcf1_fsk=m_fsk-max(m_fsk);
    m_fsk=20*log10(abs(fft(cf2_fsk,2048)));
    mcf2_fsk=m_fsk-max(m_fsk);
    
    %对乘法运算后的数据进行低通滤波
    Lb=fir1(60,ps*2/Fs);
    Lpf1_fsk=filter(Lb,1,cf1_fsk);
    Lpf2_fsk=filter(Lb,1,cf2_fsk);
    %计算低通滤波后的幅频特性
    m_fsk=20*log10(abs(fft(Lpf1_fsk,2048)));
    mLpf1_fsk=m_fsk-max(m_fsk);
    m_fsk=20*log10(abs(fft(Lpf2_fsk,2048)));
    mLpf2_fsk=m_fsk-max(m_fsk);
    
    %对低通滤波后的两路信号相减,形成基带信号波形
    Demod_fsk=Lpf1_fsk-Lpf2_fsk;
    %计算解调后的基带信号幅频特性
    m_fsk=20*log10(abs(fft(Demod_fsk,2048)));
    mDemod_fsk=m_fsk-max(m_fsk);
    
    
    %绘图
    %设置幅频响应的横坐标单位为MHz
    x_f=1:length(m0_fsk);x_f=x_f*Fs/length(m0_fsk)/10^6;
    %绘制连续相位的时域波形及频谱
    figure(1);
    subplot(621);
    plot(x_f,m0_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('中频信号频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(622);
    plot([0:1/32:500/32],fsk(100:600));
    legend('中频时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(623);
    plot(x_f,mbs1_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('带通滤波f1后频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(624);
    plot([0:1/32:500/32],bs1_fsk(100:600));
    legend('带通滤波后f1时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(625);
    plot(x_f,mcf1_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('乘以相干载波f1频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(626);
    plot([0:1/32:500/32],cf1_fsk(100:600));
    legend('乘以相干载波f1时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(627);
    plot(x_f,mLpf1_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('低通滤波后f1频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(628);
    plot([0:1/32:500/32],Lpf1_fsk(100:600));
    legend('低通滤波后f1时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(629);
    plot(x_f,mLpf2_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('低通滤波后f2频谱');
    xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
    subplot(6,2,10);
    plot([0:1/32:500/32],Lpf2_fsk(100:600));
    legend('低通滤波后f2时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    
    subplot(6,2,11);
    plot(x_f,mDemod_fsk);axis([0 Fs/2/10^6 -80 0]);
    legend('解调后频谱');
    xlabel('频率(MHz)');ylabel('幅度(v)');%grid on;
    subplot(6,2,12);
    plot([0:1/32:500/32],Demod_fsk(100:600));
    legend('解调后时域波形');
    xlabel('时间(us)');ylabel('幅度(v)');%grid on;
    

    在这里插入图片描述

    展开全文
  • 基于FPGA的FSK调制.rar

    2019-12-25 10:46:38
    本文档是基于FPGA的2FSK调制,FSK是对信号进行频移键控调制,输出到示波器即可以观测到调制好的2FSK调制信号。
  • c语言进行2FSK调制

    2021-05-18 17:06:05
    对2fsk调制的简单仿真,并将输出保存为txt文档
  • FSK调制解调代码已根据常规理论用MATLAB开发
  • 2fsk调制解调.zip

    2020-06-30 08:34:18
    fsk调制解调multisim13版本的仿真文件。555多谐振荡器,与非门调制,m序列产生器,锁相环,比较器
  • FSK调制与解调

    2013-05-19 10:55:09
    FSK调制与解调
  • FSK调制FPGA实现

    2018-01-07 15:30:06
    quatus 完整FSK调制程序工程文件,在MATLAB和MODELSIM上仿真通过,文件包括MATLAB代码,FPGA代码和测试代码。可以直接在QUATUS打开使用。
  • MATLAB数字基带信号FSK调制与解调仿真,实现对数字基带信号的FSK调制与解调
  • 2FSK调制解调

    2013-05-25 21:27:37
    2FSK调制解调
  • 基于MATLAB的FSK调制解调实现完整版目 录FSK理论知识…………………………………………………FSK概念2FSK信号的波形及时间表示式2FSK信号的功率谱密度2FSK信号的解调FSK的误码性能…………………………………………...

    基于MATLAB的FSK调制解调实现完整版

    目 录

    FSK理论知识…………………………………………………

    FSK概念2FSK信号的波形及时间表示式2FSK信号的功率谱密度2FSK信号的解调

    FSK的误码性能……………………………………………………………

    二. 用MATLAB进行FSK原理及误码性能仿真………

    三、结论……………………………………………

    四、参考文献…………………………………………、

    五、源程序……………………………………………

    1、FSK理论知识

    频率调制的最简单形式是二进制频率键控(FSK,frequency-shift keying)。FSK是调制解调器通过电话线路发送比特的方法。每个比特被转换为一个频率,0由较低的频率表示,1由较高的频率表示。

    1.1、FSK概念 2FSK信号的波形及时间表示式 2FSK的波形如图2FSK信号的时间表达式为

    由表达式可见,2FSK信号由两个2ASK信号相加构成。注意:2FSK有两种形式: (1)相位连续的2FSK;

    (2)相位不连续的2FSK。

    在,我们只讨论相位不连续的频移键控信号,这样更具有普遍性。

    ??? 一是采用模拟调频的方法来产生(图1);另一种方法是采用键控法(图2);

    ???

    图1.3-1 图1.3-2

    1.4、2FSK信号的功率谱密度

    核心问题:Ps1(f)=?

    与2ASK信号表达式中的s(t)相同,根据公式,2FSK信号的功率谱密度如图所示。

    图1.4-1

    根据以上总结:2FSK功率谱密度的特点如下,

    1)、2FSK信号的功率谱由连续谱和离散谱两部分构成,离散谱出现在f1和f2位置;

    2)、功率谱密度中的连续谱部分一般出现双峰。若两个载频之差|f1 -f2|≤fs,则出现单峰。

    3)、所需传输带宽BFSK=|f1 -f2|+2 fs 。

    二 2FSK信号的解调 ?

    2FSK信号的方法很多,如鉴频器法相干法过零检测法等。: (百分号后为程序注释)

    function FSK

    Fc=10; %载频

    Fs=40; %系统采样频率

    Fd=1; %码速率

    N=Fs/Fd;

    df=10;

    numSymb=25; %进行仿真的信息代码个数

    M=2; %进制数

    SNRpBit=60; %信噪比

    SNR=SNRpBit/log2(M);

    seed=[12345 54321];

    numPlot=15; %产生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.5 1.5]);

    title('加入高斯白噪声后的已调信号')

    xlabel('Time');

    ylabel('Amplitude'); %相干解调

    figure(4)

    plot(t,y(1:length(t)),'b-');

    axis([min(t) max(t) -1.5 1.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)

    stem([0:numPlot-1],x(1

    展开全文
  • matlab开发-FSK调制解调技术。这是一个用于FSK调制解调方案的matlab代码。
  • 2FSK调制技术

    2014-07-06 22:26:07
    本次课程设计主要运用MATLAB软件,在Simulink平台下建立仿真模型,实现模拟基带信号经过2FSK调制与非相干解调的传输过程。通过分析比较调制解调的输出波形,理解2FSK调制原理。通过系统仿真加深对通信课程理论的理解...
  • 针对基于软件无线电的FSK调制,用理论推导得到了基带信号相位变化率来表征FSK载波频率调制的理论依据,用MATLAB仿真了数据产生、映射、高斯滤波、相位积分、相位-幅度转换和正交调制等FSK调制的链路级设计,用XC5VSX...
  • 基于MATLAB的2FSK调制及仿真本文通过分别用Matlab、Simulink、System view设计2FSK调制与解调的仿真,深入了解数字频率调制2FSK的基本原理,掌握用现代通信仿真技术对解调与调制的实现,深刻理解Matlab、Simulink...
  • 介绍了8FSK调制的原理,给出了8FSK调制码变换器主要模块的FPGA实现方法。该变换器运用VHDL编程,以Quartus Ⅱ作为软件仿真工具,下载到ALTERA公司ACEX系列FPGA芯片EP2C35F67C6上实现了8FSK调制码变换器。该变换器用于...
  • 4FSK调制解调研究实现

    2018-05-26 19:10:15
    软件无线电下4FSK调制解调的研究及实现
  • 文中介绍了FSK调制解调的基本原理,用VHDL语言实现了2FSK调制解调器的设计,整个系统设计在MAX+plusII开发平台上进行编译仿真,在EPM7032LC44-15目标芯片上实现。仿真结果表明此设计方案是可行的,系统具有较高的...
  • 西电B测,2FSK调制与解调simulink仿真,matlab2018b版本,制作人:ZHB zhbnb! 详细使用方法及报告见https://blog.csdn.net/weixin_42845306/article/details/116135556
  • 用Verilog HDL语言使用Quartus实现2FSK调制,在其中使用了pll,rom.
  • 利用多通道 DDS 实现相位 相干 FSK 调制
  • 原创fsk调制matlab仿真带比特率和调制后的频谱图-fsk.m 挺简单的:hug: ,大家试试吧,
  • 本文主要介绍基于C8051F060单片机控制AD9833实现FSK调制,本实验中设计的FSK调制信号,在工程中有较强的实用价值,已成功应用于井下声波传输系统中。
  • 这是带有 PN 序列发生器的 FSK 调制扩展。 它是一个模拟文件,说明了扩频通信的影响。 我对合作很感兴趣。 c23433@motorola.com
  • 电力系统仿真-基于MATLAB的4FSK调制解调设计
  • 基于Systemview工具的2FSK调制,包括其中的各个部分波形图
  • 2、FSK调制(键控法实现) 3、FSK调制(Mini模拟实现法) 本次工程文件夹(压缩包)下载 仿真操作指导“手册”  ☞☞【VHDL设计—数字系统验证】最新Testbench仿真教程(包含Testbench设计的基础知识、仿真操作步骤...
  • 基于MATLAB的FSK调制的研究.doc

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,516
精华内容 1,406
关键字:

fsk调制