精华内容
下载资源
问答
  • 1、 掌握二极管峰值包络检波电路的组成与基本工作原理。 2、 熟悉二极管峰值包络检波电路的测试方法。 3、 分析二极管峰值包络检波电路中元器件数值的改变对输出波形产生的影响。
  • 包络检波解调电路的设计电路如图所示。  电子标签对信号的解调分为三步:第一步,对高频信号进行包络检波,把信号从频带中搬回到基带;第二步,是经过包络检波后,信号一般还会有高频成分,所以还需进行滤波处理,...
  • 产生原始模拟信号波形,采用AM调制方式,通过包络检波解调出原始信号波形,通过仿真分析解调原理
  • 本资源包含AM信号的调制程序,以及使用包络检波对AM信号进行解调。程序中的参数均具有详细的说明,共包含一个主函数,两个调用函数,使用方法在主函数中都有详细的说明。
  • 相干解调包络检波 通信原理课程设计课程设计课程设计课程设计
  • 使用Matlab仿真二进制ASK调制过程及包络检波解调过程,包括对信号进行理想滤波
  • Matlab仿真二进制FSK调制过程及包络检波解调过程,包括对信号进行理想滤波
  • 本设计是基于二极管非相干包络检波的接收机,所有模块集成在一块双层的电路板上,本设计需用用Altuim Designer打开。
  • 包络检波解调电路的设计电路如图所示。  电子标签对信号的解调分为三步:步,对高频信号进行包络检波,把信号从频带中搬回到基带;第二步,是经过包络检波后,信号一般还会有高频成分,所以还需进行滤波处理,把...
  • 无线设备行业竭力削减设备的成本、尺寸和功耗,而提升高功率放大器的功率附加效率(PAE)仍然是一个极具挑战性的目标。目前有多种技术正在研发之中。大多数情况下,任何技术的商业化都将取决于能否开发出突破性的技术...
  • 二进制ASK调制过程及包络检波解调过程的原理及仿真实现方法
  • 基于labview的包络检波

    2015-05-27 15:49:00
    基于labview的包络检波仿真程序,大家可以参考下
  • 基于Artix-7 FPGA的AM调制解调代码,从AD读入信号后,进行AM调制,并解调输出(将代码分成两个工程就是AM的调制和解调),其中解调用到的数字滤波采用MATLAB设计
  • 实验步骤(一)实验准备(二)二极管包络检波1.AM波的解调① AM波的获得② AM波的包络检波器解调③ 观察对角切割失真④观察底部切割失真2.DSB波的解调(三)集成电路(乘法器)构成的同步检波1.AM波的解调2.DSB波...

    6-1 振幅解调基本工作原理

    解调过程是调制的反过程,即把低频信号从高频载波上搬移下来的过程。解调过程在收信端,实现解调的装置叫解调器。

    一.普通调幅波的解调

    振幅调制的解调被称为检波,其作用是从调幅波中不失真地检出调制信号。由于普通调幅波的包络反映了调制信号的变化规律,因此常用非相干解调方法。非相干解调有两种方式,即小信号平方律检波和大信号包络检波。我们只介绍大信号包络检波器。

    1.大信号检波基本工作原理

    大信号检波电路与小信号检波电路基本相同。由于大信号检波输入信号电压幅值一般在500mV以上,检波器的静态偏置就变得无关紧要了。下面以图6-1所示的简化电路为例进行分析。

    在这里插入图片描述

    			图6-1   大信号检波电路
    

    大信号检波和二极管整流的过程相同。图6-2表明了大信号检波的工作原理。输入信号为正并超过和上的时,二极管导通,信号通过二极管向充电,此时随充电电压上升而升高。当下降且小于时,二极管反向截止,此时停止向充电,通过放电,随放电而下降。
    充电时,二极管的正向电阻较小,充电较快。以接近的上升速率升高。放电时,因电阻比大得多(通常),放电慢,故的波动小,并保证基本上接近于的幅值。
    如果是高频等幅波,则是大小为的直流电压(忽略了少量的高频成分),这正是带有滤波电容的整流电路。
    当输入信号的幅度增大或减少时,检波器输出电压也将随之近似成比例地升高或降低。当输入信号为调幅波时,检波器输出电压就随着调幅波的包络线而变化,从而获得调制信号,完成检波作用。由于输出电压的大小与输入电压的峰值接近相等,故把这种检波器称为峰值包络检波器。

    在这里插入图片描述

    				图6-2 大信号检波原理
    

    2.检波失真

    检波输出可能产生三种失真:第一种是由于检波二极管伏安特性弯曲引起的失真;第二种是由于滤波电容放电慢引起的失真,它叫对角线失真(又叫对角线切割失真);第三种是由于输出耦合电容上所充的直流电压引起的失真,这种失真叫割底失真(又叫底部切割失真)。其中第一种失真主要存在于小信号检波器中,并且是小信号检波器中不可避免的失真,对于大信号检波器这种失真影响不大,主要是后两种失真,下面分别进行讨论。

    (1)对角线失真

    参见图6-1所示的电路,在正常情况下,滤波电容对高频每一周充放电一次,每次充到接近包络线的电压,使检波输出基本能跟上包络线的变化。它的放电规律是按指数曲线进行,时间常数为。假设很大,则放电很慢,可能在随后的若干高频周期内,包络线电压虽已下降,而上的电压还大于包络线电压,这就使二极管反向截止,失去检波作用,直到包络线电压再次升到超过电容上的电压时,才恢复其检波功能。在二极管截止期间,检波输出波形是的放电波形,呈倾斜的对角线形状,如图6-3所示,故叫对角线失真,也叫放电失真。非常明显,放电愈慢或包络线下降愈快,则愈易发生这种失真。
    在这里插入图片描述

    			6-3  对角线失真原理图
    

    (2)割底失真

    一般在接收机中,检波器输出耦合到下级的电容很大(5-10 ),图6-4中的为耦合电容。

    在这里插入图片描述

    					图6-4  
    

    对检波器输出的直流而言,上充有一个直流电压。如果输入信号的调制度很深,以致在一部分时间内其幅值比上电压还小,则在此期间内,二极管将处于反向截止状态,产生失真。此时电容上电压等于,故表现为输出波形中的底部被切去,如图6-5所示。

    在这里插入图片描述

    			图6-5  割底失真波形图
    

    二.抑制载波调幅波的解调电路

    包络检波器只能解调普通调幅波,而不能解调DSB和SSB信号。这是由于后两种已调信号的包络并不反映调制信号的变化规律,因此,抑制载波调幅波的解调必须采用同步检波电路,最常用的是乘积型同步检波电路。
    乘积型同步检波器的组成方框图如图6-6所示。它与普通包络检波器的区别就在于接收端必须提供一个本地载波信号,而且要求它是与发端的载波信号同频、同相的同步信号。利用这个外加的本地载波信号与接收端输入的调幅信号两者相乘,可以产生原调制信号分量和其它谐波组合分量,经低通滤波器后,就可解调出原调制信号。

    在这里插入图片描述

    						图6-6
    

    乘积检波电路可以利用二极管环形调制器来实现。环形调制器既可用作调幅又可用作解调。利用模拟乘法器构成的抑制载波调幅解调电路,如图6-7所示。

    在这里插入图片描述

    			图6-7  用模拟乘法器构成同步检波电路
    

    6-2 振幅解调实验电路

    1.二极管包络检波

    二极管包络检波器是包络检波器中最简单、最常用的一种电路。它适合于解调信号电平较大(俗称大信号,通常要求峰-峰值为1.5V以上)的AM波。它具有电路简单,检波线性好,易于实现等优点。本实验电路主要包括二极管、RC低通滤波器和低频放大部分,如图6-8所示。
    图中,10D01为检波管,10C02、10R08、10C07构成低通滤波器,10R01、10W01为二极管检波直流负载,10W01用来调节直流负载大小,10R02与10W02相串构成二极管检波交流负载,10W02用来调节交流负载大小。开关10K01是为二极管检波交流负载的接入与断开而设置的,10K01置“on”为接入交流负载,10K01置“off”为断开交流负载。10K02开关控制着检波器是接入交流负载还是接入后级低放。开关10K02拨至左侧时接交流负载,拨至右侧时接后级低放。当检波器构成系统时,需与后级低放接通。10BG01、10BG02对检波后的音频进行放大,放大后音频信号由10P02输出,因此10K02可控制音频信号是否输出,调节10W03可调整输出幅度。图中,利用二极管的单向导电性使得电路的充放电时间常数不同(实际上,相差很大)来实现检波,所以RC时间常数的选择很重要。RC时间常数过大,则会产生对角切割失真(又称惰性失真)。RC常数太小,高频分量会滤不干净。综合考虑要求满足下式:
    在这里插入图片描述

    其中:在这里插入图片描述为调幅系数,Ω为调制信号角频率。
    当检波器的直流负载电阻R与交流音频负载电阻在这里插入图片描述不相等,而且调幅度在这里插入图片描述又相当大时会产生底边切割失真(又称负峰切割失真),为了保证不产生底边切割失真应满足。
    在这里插入图片描述

    在这里插入图片描述

    				图6-8 二极管包络检波电路
    

    2.同步检波

    同步检波又称相干检波。它利用与已调幅波的载波同步(同频、同相)的一个恢复载波与已调幅波相乘,再用低通滤波器滤除高频分量,从而解调出调制信号。本实验采用MC1496集成电路来组成解调器,如图6-9所示。该电路图利用一片1496集成块构成两个实验电路,即幅度解调电路和混频电路,混频电路在前面实验3已作介绍,本节介绍解调电路。图中,恢复载波vc先加到输入端9P01上,再经过电容9C01加在⑻、⑽脚之间。已调幅波vamp先加到输入端9P02上,再经过电容9C02加在⑴、⑷脚之间。相乘后的信号由(6)脚输出,再经过由9C04、9C05、9R06组成的型低通滤波器滤除高频分量后,在解调输出端(9P03)提取出调制信号。
    需要指出的是,在图6-9中对1496采用了单电源(+12V)供电,因而⒁脚需接地,且其它脚亦应偏置相应的正电位,恰如图中所示。

    在这里插入图片描述

    			图6-9   MC1496 组成的解调器实验电路
    

    6-3 振幅解调实验目的、内容和步骤

    一、实验目的

    1.掌握用包络检波器实现AM波解调的方法。了解滤波电容数值对AM波解调影响;
    2.理解包络检波器只能解调m≤100%的AM波,而不能解调m>100%的AM波以及DSB波的概念;
    3.掌握用MC1496模拟乘法器组成的同步检波器来实现AM波和DSB波解调的方法;
    4.理解同步检波器能解调各种AM波以及DSB波的概念。

    二.实验内容

    1.用示波器观察包络检波器解调AM波、DSB波时的性能;
    2.用示波器观察同步检波器解调AM波、DSB波时的性能;
    3.用示波器观察普通调幅波(AM)解调中的对角切割失真和底部切割失真的现象。

    三.实验步骤

    (一)实验准备

    1.选择好需做实验的模块:集成乘法器幅度调制电路、二极管检波器、集成乘法
    器幅度解调电路。
    2.接通实验板的电源开关,使相应电源指示灯发光,表示已接通电源即可开始实验。
    注意:做本实验时仍需重复振幅调制实验中部分内容,先产生调幅波,再供这里解调之用。

    (二)二极管包络检波

    1.AM波的解调

    (1)在这里插入图片描述的AM波的解调

    ① AM波的获得

    与振幅调制实验步骤中的二、4.⑴中的实验内容相同,低频信号或函数发生器作为调制信号源(输出300mVp-p的1kHz正弦波),以高频信号源作为载波源(输出200mVp-p的2MHz正弦波),调节8W03,便可从幅度调制电路单元上输出在这里插入图片描述的AM波,其输出幅度(峰-峰值)至少应为0.8V。

    ② AM波的包络检波器解调

    先断开检波器交流负载(10K01=off),把上面得到的AM波加到包络检波器输入端(10P01),即可用示波器在10TP02观察到包络检波器的输出,并记录输出波形。为了更好地观察包络检波器的解调性能,可将示波器CH1接包络检波器的输入10TP01,而将示波器CH2接包络检波器的输出10TP02(下同)。调节直流负载的大小(调10W01),使输出得到一个不失真的解调信号,画出波形。

    ③ 观察对角切割失真

    保持以上输出,调节直流负载(调10W01),使输出产生对角失真,如果失真不明显可以加大调幅度(即调整8W03),画出其波形,并记算此时的值。

    ④观察底部切割失真

    当交流负载未接入前,先调节10W01使解调信号不失真。然后接通交流负载(10K01至“on”,10K02至左侧),示波器CH2接10TP03。调节交流负载的大小(调10W02),使解调信号出现割底失真,如果失真不明显,可加大调幅度(即增大音频调制信号幅度)画出其相应的波形,并计算此时的。当出现割底失真后,减小(减小音频调制信号幅度)使失真消失,并计算此时的。在解调信号不失真的情况下,将10K02拨至右侧,示波器CH2接10TP04,可观察到放大后音频信号,调节10W03音频幅度会发生变化。
    (2)在这里插入图片描述的AM波的解调
    调节8W03,使=100%,观察并记录检波器输出波形。
    (3)在这里插入图片描述的AM波的解调
    加大音频调制信号幅度,使>100%,观察并记录检波器输出波形。
    (4)调制信号为三角波和方波的解调
    在上述情况下,恢复在这里插入图片描述,调节10W01和10W02,使解调输出波形不失真。然后将低频信号源的调制信号改为三角波和方波,即可在检波器输出端(10TP02、10TP03、10TP04)观察到与调制信号相对应的波形,调节音频信号的频率,其波形也随之变化。
    实际观察到各种调制度的解调波形如下图:
    在这里插入图片描述

    2.DSB波的解调

    采用振幅调制实验步骤中二、3相同的方法得到DSB波形,并增大载波信号及调制信号幅度,使得在调制电路输出端产生较大幅度的DSB信号。然后把它加到二极管包络检波器的输入端,观察并记录检波器的输出波形,并与调制信号作比较。
    实际观察到DSB解调波形如下图:
    在这里插入图片描述

    (三)集成电路(乘法器)构成的同步检波

    1.AM波的解调

    将幅度调制电路的输出接到幅度解调电路的调幅输入端(9P02)。解调电路的恢复载波,可用铆孔线直接与调制电路中载波输入相连,即9P01与8P01相连。示波器CH1接调幅信号9TP02,CH2接同步检波器的输出9TP03。分别观察并记录当调制电路输出为在这里插入图片描述=30%、在这里插入图片描述=100%、在这里插入图片描述>100%时三种AM的解调输出波形,并与调制信号作比较。
    实际观察到各种调制度的解调波形如下图:
    在这里插入图片描述

    2.DSB波的解调

    采用振幅调制实验步骤中的二、3中相同的方法来获得DSB波,并加入到幅度解调电路的调幅输入端,而其它连线均保持不变,观察并记录解调输出波形,并与调制信号作比较。改变调制信号的频率及幅度,观察解调信号有何变化。将调制信号改成三角波和方波,再观察解调输出波形。
    DSB波解调波形如下图:

    在这里插入图片描述

    3.SSB波的解调

    采用振幅调制实验步骤中的二、4中相同的方法来获得SSB波,并将带通滤波器输出的SSB波形(15P06)连接到幅度解调电路的调幅输入端,载波输入与上述连接相同。观察并记录解调输出波形,并与调制信号作比较。改变调制信号的频率及幅度,观察解调信号有何变化。由于带通滤波器的原因,当调制信号的频率降低时,其解调后波形将产生失真,因为调制信号降低时,双边带(DSB)中的上边带与下边带靠得更近,带通滤波器不能有效地抑制下边带,这样就会使得解调后的波形产生失真。
    (四)调幅与检波系统实验
    按图6-10可构成调幅与检波的系统实验。
    在这里插入图片描述

    				图6-10 调幅与检波系统实验图
    

    将电路按图6-10连接好后,按照上述实验的方法,将幅度调制电路和检波电路调节好,使检波后的输出波形不失真。然后将检波后音频信号接入低频信号源中的功放输入(P104),即用铆孔线将二极管检波器输出10P02(注意10K01、10K02的位置)与低频信号源中的“功放输入”P104相连,或将同步检波器输出9TP03与“功入输入”(P104)相连,便可在扬声器中发出声音。改变调制信号的频率、声音也会发生变化。将低频信号源接“音乐输出”,扬声器中就有音乐声音。

    四.实验报告要求

    1.由本实验归纳出两种检波器的解调特性,以“能否正确解调”填入表中。
    在这里插入图片描述
    在这里插入图片描述

    2.观察对角切割失真和底部切割失真现象并分析产生的原因。
    对角线失真的主要原因是滤波电容放电慢。在正常的情况下,滤波电容对高频每一周充放电一次,每次充到接近包络线的电压,使检波输出基木能跟上包络线的变化。它的放电规律是按指数曲线进行的,时间常数为RC。假设RC很大,则放电很慢,可能在随后的若干高频周期内,包络线的电压虽然已经下降,但c上的电压还大于包络线的电压,这就使二极管反向截止,失去检波功能,直到包络线电压再次升到超过电容上的电压时,才恢复检波功能。在二极管反向截止期间,检波输出电压是C的放电波形,呈倾斜的对角线形状,故称其为对角线失真,也叫放电失真。
    割底失真的主要原因是输入调制信号的调制深度很深,幅值太小。一般在接收机中,检波器输出耦合到下级的电容很人(5-10uF)。对检波器输出的直流而言,c1上充有一个直流电压 U。如果输入信号u(t)的调制度很深,以致在一部分时间内其幅值比 c1 上电压E还小,则在此期
    间内,二极管将处于反向截止状态,产生失真。此时电容上电压等于E,故表现为输出波形中的底部被切去,称作割底失真或底部切割失真。

    3.对实验中的两种解调方式进行总结。
    在这里插入图片描述

    更多相关文章点这里哦

    高频电子线路实验手册(全套实验报告册)

    通信工程(信息类,电子类,电气工程,自动化,计算机,软件工程,机电,等相关专业)全套学习指导

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 为了解决滚动轴承的损伤类故障诊断问题,提出基于该滤波器的梳状滤波与包络解调方法。仿真实验表明:该方法可在故障调制频率及其谐波频率上进行窄带滤波、抑制带外噪声,轴承故障特征频率的包络谱谱峰清晰可见。
  • 摘 要:本设计利用超声波传感器,向被测物发出超声波,对接收到的回波进行带通滤波、自适应放大,并对其进行包络检波,得到包络的最高点,通过计算数个包络最高点的时间间隔从而计算出声波传输的总时间,最终计算出...
  • 包络检波的实验文件

    2016-05-20 11:24:04
    实验用
  • 普通调幅(AM)与包络检波 1.实验任务 2.实验原理(请读者参见matlab通信仿真文件夹) 3.matlab代码 time=.33;%采样时长 Ts=1/10000;%采样时间间隔 t=0:Ts:time;%采样时间序列 lent=length(t); Fs = 1/Ts;%采样频率 ...

    普通调幅(AM)与包络检波

    1.实验任务

    采用matlab实现普通调幅信号的包络检波,并绘制包络检波后的信号的波形与频谱。

    2.实验原理(请读者参见matlab通信仿真文件夹)

    3.matlab代码

    time=.33;%采样时长
    Ts=1/10000;%采样时间间隔
    t=0:Ts:time;%采样时间序列
    lent=length(t);
    Fs = 1/Ts;%采样频率
    Ds= Fs/lent;
    f = -Fs/2:Ds:Fs/2-Ds;
    fc=1000;%carrier frequency
    c=cos(2*pi*fc*t);
    fm=20;
    w=10/lent*(1:lent)+cos(2*pi*fm*t);%调制信号
    v=c.*w+c;%已调信号
    
    %包络检波
    fbe=[0 0.05 0.1 1];
    damps=[1 1 0 0];
    b = firpm(100,fbe,damps);
    [H_filter,W_filter]=freqz(b,1,512);
    envv=(pi/2)*filter(b,1,abs(v));
    
    figure(1);
    subplot(311);
    plot(t,w);
    title('w(t)');
    subplot(312);
    plot(t,c);
    title('c(t)');
    subplot(313);
    plot(t,v);
    title('v(t)');
    figure(2);
    subplot(311);
    plot(f,fftshift(abs(fft(w)/Fs)));
    title('w(t)频谱');
    subplot(312);
    plot(f,fftshift(abs(fft(c)/Fs)));
    title('c(t)频谱');
    subplot(313);
    plot(f,fftshift(abs(fft(v)/Fs)));
    title('v(t)频谱');
    figure(3);
    subplot(2,1,1);
    plot(t,envv);
    title("包络信号波形");
    subplot(2,1,2);
    plot(f,fftshift(abs(fft(envv)/Fs)));
    title("包络信号频谱");
    figure(4);
    plot(W_filter/pi,abs(H_filter));
    title("滤波器频谱");
    

    4.运行结果

    image-20210521154134600

    image-20210521154154709

    image-20210521154207249

    image-20210521154220109

    展开全文
  • 单边带信号的解调也不能采用包络检波。与双边带抑制载波信号相比,单边带信号的包络更不能反映调制信号的波形。例如,当调制信号为单频正弦时,单边带信号也是单频正弦,只是频率发生了变化,而包络毫无起伏。
  • FPGA数字信号处理(23)FSK解调技术(包络检波法)

    万次阅读 多人点赞 2018-07-23 17:04:56
    上一篇介绍了数字通信系统中FSK调制技术的FPGA实现。调制信号经过DAC、可选的带通滤波器、功率放大器、天线发送出去后,在接收端收到FSK信号后需要对其解调,提取出...对应的包络检波法(非相干解调)的系统框图如下...

    上一篇介绍了数字通信系统中FSK调制技术的FPGA实现。调制信号经过DAC、可选的带通滤波器、功率放大器、天线发送出去后,在接收端收到FSK信号后需要对其解调,提取出包含的信息(基带信号)。


    FSK解调

    由上一篇可知,FSK调制信号可以视作两路ASK调制信号的合成,因此可以得到与ASK解调原理相似的FSK解调方法(ASK解调在第11篇中有讨论)。对应的包络检波法(非相干解调)的系统框图如下:
    这里写图片描述
    带通滤波器用于分出两路ASK调制信号,使用ASK解调方法解调,得到两路ASK信号的包络,加法器将两路保罗信号相减,再进行判决。假设f1代表1,f2代表0,则减法结果大于0则表示对应的基带信息为1;减法结果小于0则表示对应的基带信息为0。

    包络检波法对FSK信号的相位特征没有要求,因此可用于FSK和CPFSK信号解调。但该方法只有在频移指数h>2时才有较好的性能,因为当h较小时,两个频率成分之间间隔较小,两路ASK信号之间频谱混叠和干扰严重,会影响到解调性能。
    实际应用中多采用非相干解调,因为:

    • 提取FSK信号中的相干载波比较困难;
    • 码率相同时,非相干解调所需的信噪比只比相干解调高1~2dB。

    除了本文将讨论的包络检波法外,非相干解调还有FFT分析法、自适应滤波解调法、差分检波算法、AFC环解调法、过零检测法等多种方法,会在以后的文章中详述。


    MATLAB设计

    MATLAB中可以设计程序仿真在使用包络检波法时,不同的h对检波效果的影响,验证上述结果。当h>2时,带通滤波才能得到区分度明显的ASK信号,解调得到的包络波也更规则,解调性能更好。解调关键代码如下:

    %对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);
    %对带通滤波后的数据进行全波整流
    abs1_fsk=abs(bs1_fsk);
    abs2_fsk=abs(bs2_fsk);
    %对整流后的数据进行低通滤波
    Lb=fir1(60,ps*2/Fs);
    Lpf1_fsk=filter(Lb,1,abs1_fsk);
    Lpf2_fsk=filter(Lb,1,abs2_fsk);
    %对低通滤波后的两路信号相减,形成基带信号波形
    Demod_fsk=Lpf1_fsk-Lpf2_fsk;

    带通滤波器分别筛选两路ASK信号。以上一篇中的系统参数为例:系统时钟32Mhz,码元速率1Mhz,载波频率6Mhz,频移指数h=3.5,f1=4.25Mhz,f2=7.75MHz。带通滤波器通带可分别选为(6Mhz-h*1Mhz)~6Mhz和6Mhz~(6MHz+h*1Mhz)。

    低通滤波器用于提取出基带信号包络,截止频率设置为码元速率即可。所有的滤波器系数经过量化后存储为txt(coe)文件,在FPGA设计中调用。


    FPGA设计

    采用包络检波法,在Vivado开发环境下完成2FSK解调技术的设计并进行仿真(调制信号参数与上节相同)。模块接口如下:

    `timescale 1ns / 1ps
    //--------------------------------------------------------
    //   包络检波法(非相干解调)实现FSK信号解调
    //--------------------------------------------------------
    module FSKdem_EnvelopeDet
    (
        input clk,          //32MHz系统时钟
        input rst,
        input din,          //基带信号输入,码元速率1MHz
        output [15:0] dout  //FSK解调数据输出
    );
    
    //-----------------------------------------------------
    //   CPFSK调制,连续相位,h=3.5
    //-----------------------------------------------------
    wire [15:0] fsk;
    
    CPFSK_liuqi fskmod
    (
        .clk  (clk),     
        .rst  (rst),  
        .din  (din),     
        .dout (fsk)
    );

    这里实例化一个上一篇设计的FSK调制模块,用来产生FSK调制信号,简化后面的仿真及testbench的编写。接下来实例化两个带通滤波器模块,提取出两路ASK信号:

    //--------------------------------------------------------
    //   带通滤波器分为两路ASK信号
    //--------------------------------------------------------
    wire signed [31:0] data1, data2;
    wire signed [15:0] bpf1 = data1[29:14]; 
    wire signed [15:0] bpf2 = data2[29:14]; 
    
    bpf1_fir fir1 (
      .aclk(clk),                           
      .s_axis_data_tvalid(1'b1), 
      .s_axis_data_tready(),
      .s_axis_data_tdata(fsk),  
      .m_axis_data_tvalid(),  
      .m_axis_data_tdata(data1)    
    );
    bpf2_fir fir2 (
      .aclk(clk),                           
      .s_axis_data_tvalid(1'b1), 
      .s_axis_data_tready(),
      .s_axis_data_tdata(fsk),  
      .m_axis_data_tvalid(),  
      .m_axis_data_tdata(data2)    
    );      

    带通滤波器及后面的低通滤波器都使用Vivado提供的FIR Compiler IP核,滤波器系数使用MATLAB生成的coe文件,具体使用方法可参考https://blog.csdn.net/fpgadesigner/article/details/80621411

    接下来便是分别对两路ASK信号进行解调(方法见第11篇)代码如下:

    //--------------------------------------------------------
    //    整流,即求绝对值
    //--------------------------------------------------------
    reg signed [15:0] bpf1_abs, bpf2_abs;
    
    always @ (posedge clk or posedge rst)
        if (rst) begin bpf1_abs <= 'd0; bpf2_abs <= 'd0; end
        else begin
            if (bpf1[15]) bpf1_abs <= -bpf1;
            else bpf1_abs <= bpf1;
    
            if (bpf2[15]) bpf2_abs <= -bpf2;
            else bpf2_abs <= bpf2;
        end
    
    //--------------------------------------------------------
    //    低通滤波得到基带信号包络
    //--------------------------------------------------------
    wire signed [31:0] lpf1, lpf2;
    
    lpf_fir fir3 (
      .aclk(clk),                           
      .s_axis_data_tvalid(1'b1), 
      .s_axis_data_tready(),
      .s_axis_data_tdata(bpf1_abs),  
      .m_axis_data_tvalid(),  
      .m_axis_data_tdata(lpf1)    
    );
    
    lpf_fir fir4 (
      .aclk(clk),                           
      .s_axis_data_tvalid(1'b1), 
      .s_axis_data_tready(),
      .s_axis_data_tdata(bpf2_abs),  
      .m_axis_data_tvalid(),  
      .m_axis_data_tdata(lpf2)    
    );

    滤波器的输出便是两路ASK信号的包络,将两路信号相减:

    //--------------------------------------------------------
    //    减法得到解调信号
    //--------------------------------------------------------
    reg signed [15:0] sub;
    
    always @ (posedge clk or posedge rst)
        if (rst) sub <= 'd0;
        else sub <= lpf1[29:14] - lpf2[29:14];
    
    assign dout = sub;

    减法器结果即为解调后信号,对此信号进行判决输出即可恢复出原始基带数据。需要注意,从下面的仿真中可以看出2FSK解调信号中不含直流分量,因此判决门限直接设置为0即可。判决门限及锁相环位同步技术在本系列12、13篇中有记录。


    仿真测试

    编写testbench,生成一个矩形脉冲周期信号,模拟二进制基带数据,设计中有模块调制产生FSK调制信号,再解调,仿真结果如下:
    这里写图片描述
    经过带通滤波后,bpf1和bpf2都只保留了一路ASK信号;整流及低通滤波后得到ASK的基带信号包络lpf1和lpf2。两者相减的结果dout即为解调信号。注意,虽然看起来dout与lpf1很像,但根据前面文章对ASK调制解调的讨论,基带包络lpf1是一个含直流分量的信号(所有值都大于0);而dout中有正有负,不含直流分量。

    展开全文
  • 包络调制仿真,实现AM效率变化曲线 和实现包络检波
  • 简单的包络检波

    万次阅读 2017-06-24 18:07:48
    当 Ui(t) > Uo(t-) 时 Uo(t) = Ui(t) 当 Ui(t) (t-) 时 RC dUo/dt = Uo 化成差分方程为: 把这个过程用程序来实现就有了下面的代码。clear all; x = 0:0.000001:0.005; y = sin(200000.*pi.*x) .* (sin(2000.*...

    当 Ui(t) > Uo(t-) 时 Uo(t) = Ui(t)
    当 Ui(t) < Uo(t-) 时
    RC dUo/dt = Uo
    化成差分方程为:
    这里写图片描述
    把这个过程用程序来实现就有了下面的代码。

    clear all;
    x = 0:0.000001:0.005;
    y = sin(200000.*pi.*x) .* (sin(2000.*pi.*x)*0.2 + 0.5);
    mold = 0.0;
    out = x;
    rc = 400;
    for i=1:5000
        if y(i) > mold
            mold = y(i);
        else
            mold = (mold * rc)/(rc + 1);
        end
        out(i) = mold; 
    end
    subplot(211);
    plot(y);
    subplot(212);
    plot(out);
    
    % 半波
    % void env_half(double in[], double out[], int N)  
    % {  
    %     for(int i = 0; i < N; i++)  
    %     {  
    %         if( in[i] > m_old)  
    %         {  
    %             m_old = in[i];  
    %             out[i] = m_old;  
    %         }  
    %         else  
    %         {  
    %             m_old *= m_rct / ( m_rct + 1 );  
    %             out[i] = m_old;  
    %         }  
    %     }  
    % } 
    % 全波
    % void env_full(double in[], double out[], int N)  
    % {  
    %     double abs_in;  
    %     for(int i = 0; i < N; i++)  
    %     {  
    %         abs_in = fabs(in[i]);  
    %         if( abs_in > m_old)  
    %         {  
    %             m_old = abs_in;  
    %             out[i] = m_old;  
    %         }  
    %         else  
    %         {  
    %             m_old *= m_rct / ( m_rct + 1 );  
    %             out[i] = m_old;  
    %         }  
    %     }  
    % }  

    这里写图片描述

    展开全文
  • 1、包络检波的工作原理 2、包络检波的质量指标
  • 包络检波概要

    万次阅读 多人点赞 2015-07-01 01:05:43
    普通条幅波AM可以用包络检波来得到中频信号 下面是包络检波电路: 注意:上图电路中经推算输入电阻约等于R/2 (左端电压除以流经二极管的电流) 基本原理:左端输入电压正向作用于二极管时,电流经过电阻R流入...
  • AM调制解调,am调制解调包络检波,Vivado源码.rar
  • AM调制解调,am调制解调包络检波,Vivado源码.zip
  • 射频模拟电路电子教案:4-13二极管包络检波.ppt
  • 电子信息工程通信课程设计汇本(2FSK包络检波).doc
  • 行业分类-设备装置-匹配相关积分降采样包络检波方法及系统

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 617
精华内容 246
关键字:

包络检波