谢丫丫

如何使用Scilab分析调频RF信号

0
阅读(73) 评论(0)

计算离散傅里叶变换可以帮助您分析RF调制影响载波信号频谱的方式。


    幅度调制的频域效应相当简单:AM系统中的基本数学运算是乘法,并且乘法使频谱移位使得它以新频率为中心。形成频率调制基础的数学关系更复杂:


    image.png


    如您所见,通过将基带信号的积分与对应于载波的正弦函数的自变量相加来创建频率调制信号。换言之,所述载体是罪(ω Ç t)的,这意味着它是与角频率ω的正弦波Ç和没有相位项,和FM波形是通过添加一个随时间变化的相位项相等的载波集成基带信号。

    相位调制与频率调制密切相关:

    image.png


    因此,如果您想分析相位调制信号,本文中几乎所有内容都适用。您所要做的就是使用基带信号而不是基带信号的积分作为时变相位项。

     

    集成基带信号

    让我们从创建基带和载波阵列开始。请注意,与我们在前一篇文章中使用的相比,采样频率和缓冲区长度增加了十倍; 我这样做是因为我希望调制波形的高频部分每个周期有更多的采样。

     

    image.png

     

     

    现在我们需要集成基带信号。计算数字化波形的不定积分并不是特别简单。Scilab确实有一个名为integrate()的命令,它可以帮助我们完成这项任务,但integ()几乎是一个自己的主题,因此我将在本文中使用一个更简单的方法并讨论使用在下一篇文章中使用integrate()命令。

    我们暂时使用的更简单的方法基于以下观察:

    1. 基带信号是均匀的单频正弦波。

    2. 正弦波的不定积分是负余弦波(加上常数;在我们的例子中,常数将为零)。

    所以我们要做的就是将BasebandSignal = sin(...)命令更改为BasebandSignal_integral = -cos(...):

     

    image.png

     

    蓝色是正弦版本,红色是负余弦版本。

     

    时域中的频率调制

    现在我们准备生成FM信号了。我们所要做的就是获取用于创建载波波形的命令,并将数组BasebandSignal_integral添加到sin()函数的参数中。

     

    ModulatedSignal_FM = sin((2 *%pi * n /(SamplingFrequency / CarrierFrequency))+ BasebandSignal_integral);

     

    结果如下:

     

    plot(n,ModulatedSignal_FM)

     

     

    别担心,频率调制就在某处。问题是,您无法看到它,因为频率变化相对于载波频率而言太小。这是调制指数的来源。调制指数,用m表示,用于增加(或减少)由给定基带值引起的频率变化量:

     


    image.png


     

    如果我们将调制索引4合并到用于生成FM数据的命令中,则调制的效果更加明显:

     

    image.png

     

     

    我们可以将基带和集成基带添加到图中,以防您想要思考这两个信号与FM波形之间的关系。

     

    plot(n,BasebandSignal)plot(n,BasebandSignal_integral)

     

     

    频域中的FM

    以下命令将产生FM信号的频域表示。

     

    image.png

     

     

    这里有两个特征我想提一下:首先,边带幅度可以高于载波频率下元件的幅度。其次,调制带宽(相对于载波频率约±70kHz ICfans)远大于基带信号的带宽(即±10kHz)。

    然而,重要的是要理解,在所有频率调制的情况下,上面显示的特定特征不存在。各种因素影响FM光谱的特性; 例如,如果我们将调制索引降低到2,我们得到以下结果:

     

     

    如果我们将调制指数返回到4,然后将基带频率降低2倍,则频谱会变为:

     

     

    结论

    我没有从理论分析的角度对频率调制进行过广泛的研究,但据我所知,基于基带和载波之间的数学关系来预测调频频谱的特性是非常困难的。这是使用Scilab(或MATLAB,或Octave)进行FM系统频域分析的一个很好的理由。我希望本文提供了一个很好的介绍,我们将在下一篇文章中继续讨论。