主要内容

通过希尔伯特变换的单边带调制

这个例子展示了如何使用离散希尔伯特变换来实现单边带调制。

希尔伯特变换应用于调制器和解调器、语音处理、医学成像、到达方向(DOA)测量,基本上在任何复杂信号(正交)处理简化设计的地方。

简介

单边带(SSB)调制是一种有效的振幅调制(AM)形式,它使用了AM所使用的一半带宽。这种技术在电话、业余无线电和高频通信(即基于语音的通信)等应用中最为流行。这个例子展示了如何使用希尔伯特转换器实现SSB调制。

为了激发在SSB调制中使用希尔伯特转换器的需求,首先快速回顾一下双边带调制是有帮助的。

双边带调制

调幅的一种简单形式是双边带(DSB)调制,它通常由载波频率两侧的调制信号的两个频移副本组成。更准确地说,这被称为DSB抑制载波,并被定义为

f n n 因为 2 π f 0 n / f 年代

在哪里<年代pan class="inlineequation"> n 通常被称为消息信号和<年代pan class="inlineequation"> f 0 为载频。如上公式所示,DSB调制由消息信号相乘组成<年代pan class="inlineequation"> n 由承运人负责<年代pan class="inlineequation"> 因为 2 π f 0 n / f 年代 ,因此,我们可以利用傅里叶变换的调制定理来计算的变换<年代pan class="inlineequation"> f n

F f 1 2 f - f 0 + f + f 0

在哪里<年代pan class="inlineequation"> f 的离散时间傅里叶变换(DTFT)是多少<年代pan class="inlineequation"> n .如果消息信号是低通带宽<年代pan class="emphasis">W,然后<年代pan class="inlineequation"> F f 是具有两倍带宽的带通信号。让我们看一个例子DSB信号和它的频谱。

定义并绘制一个消息信号,其中包含在500,600,%和700hz,振幅变化。Fs = 10e3;t = 0:1/Fs:0.1-1/Fs;m =罪(2 *π* 500 * t) + 0.5 *罪(2 *π* 600 * t) + 2 *罪(2 *π* 700 * t);Plot (t,m) grid xlabel(<年代pan style="color:#A020F0">“时间”) ylabel (<年代pan style="color:#A020F0">“振幅”)标题(<年代pan style="color:#A020F0">'消息信号m(n)'

图中包含一个轴。标题为Message Signal m(n)的轴包含一个line类型的对象。

下面我们计算并绘制消息信号的功率谱。

周期图(m, [], 4096, Fs,<年代pan style="color:#A020F0">“权力”,<年代pan style="color:#A020F0">“中心”) ylim([-75 12])

图中包含一个轴。标题为Periodogram Power Spectrum Estimate的轴包含一个类型为line的对象。

双面功率谱清楚地显示了直流附近的三个音调。如果我们进一步放大,我们将能够读取每个组件的功率。

Xlim ([0.1 1]) ylim([-18 2])

图中包含一个轴。标题为Periodogram Power Spectrum Estimate的轴包含一个类型为line的对象。

500 Hz音调的功率大约为-6 dB, 600 Hz音调的功率为-12 dB, 700 Hz音调的功率为0 dB,分别对应消息信号的音调振幅为1、0.5和2。

使用此消息信号<年代pan class="inlineequation"> n ,让我们把它乘以一个载波来创建一个DSB信号,看看它的频谱。

Fo = 3.5e3;<年代pan style="color:#228B22">%载波频率,单位为HzF = m.*cos(2*pi*fo*t);Idx = 100;情节(t (1: idx), f (1: idx)、t (1: idx), m (1: idx),<年代pan style="color:#A020F0">“:”grid xlabel(<年代pan style="color:#A020F0">“时间”) ylabel (<年代pan style="color:#A020F0">“振幅”)标题(<年代pan style="color:#A020F0">“消息信号和消息信号调制”)传说(<年代pan style="color:#A020F0">“调制消息信号”,<年代pan style="color:#A020F0">'消息信号m(n)'

图中包含一个轴。标题为Message Signal和Message Signal modulation的轴包含2个类型为line的对象。这些对象表示调制消息信号,消息信号m(n)。

蓝色实线为调制消息信号,红色虚线为慢变消息信号。调制信号的功率谱为

4096年周期图(f, [], Fs,<年代pan style="color:#A020F0">“权力”,<年代pan style="color:#A020F0">“中心”) ylim([-75 0])

图中包含一个轴。标题为Periodogram Power Spectrum Estimate的轴包含一个类型为line的对象。

我们可以看到消息信号(三个音调),已经转移到中心频率<年代pan class="inlineequation"> f 0 .此外,每个组件的功率已降低到四分之一,由于振幅减半,如调制的DTFT所示<年代pan class="inlineequation"> n .让我们放大来读取新的功率值

-20 ylim ([0])

图中包含一个轴。标题为Periodogram Power Spectrum Estimate的轴包含一个类型为line的对象。

我们的正频率分量现在是-6 dB, -18 dB和-12 dB。

现在我们已经定义了DSB调制,让我们来看看单边带调制。

单边带调制

单边带(SSB)调制类似于DSB调制,但它不是使用整个频谱,而是使用一个滤波器来选择上或下边带。下边带或上边带的选择分别导致下边带(LSB)或上边带(USB)调制。消除边带的方法有两种,一种是滤波法,另一种是相位法。由于需要严格的滤波器,特别是当有接近直流的信号内容时,对上边带或下边带进行选择性滤波的过程是困难的。这个例子展示了如何使用相位方法,它使用希尔伯特变压器来实现SSB调制。

SSB调制要求在不创建频率分量对的情况下将消息信号转移到另一个中心频率<年代pan class="inlineequation"> X f - f 0 而且<年代pan class="inlineequation"> X f + f 0 与DSB调制的情况一样,即避免了对上边带或下边带进行滤波的需要。这可以通过使用希尔伯特转换器来实现。

在讨论理想希尔伯特变换在SSB调制中的应用之前,让我们先回顾一下理想希尔伯特变换的定义和性质。这将有助于促进其在SSB调制中的应用。

理想希尔伯特变换

离散希尔伯特变换是一个过程,信号的负频率相位提前90度,正频率相位延迟90度。移动希尔伯特变换的结果(+<年代pan class="emphasis">j),并将其添加到原始信号中创建一个复杂的信号,如下所示。

如果<年代pan class="inlineequation"> n 的希尔伯特变换是多少<年代pan class="inlineequation"> r n ,那么:

c n r n + j n

是一种复信号,称为解析信号。下图显示了通过理想希尔伯特变换产生解析信号的过程。

解析信号的一个重要特征是其谱含量位于正的奈奎斯特区间。这是因为如果我们将解析(复)信号的虚部平移90度(+<年代pan class="emphasis">j)并将其加到实部,负频率将抵消,而正频率将增加。这导致信号没有负频率。同样,复信号中频率分量的大小是实信号中频率分量大小的两倍。这类似于单侧频谱,其中包含了正频率中的总信号功率。

接下来我们介绍一个谱移者。谱移器通过调制由我们想要移动其频谱的信号形成的分析信号来移动(翻译)信号的频谱内容。这个概念可以用于SSB调制,如下所示。

光谱移动装置

使用消息信号<年代pan class="inlineequation"> n 如上所述,我们将使用希尔伯特变换来创建一个分析信号,然后将其调制到所需的中心频率。方案如下图所示。

使用这种谱移方法将确保信号的功率转移到感兴趣的频率,同时最终保持信号的实值。

如前所述,解析信号由原始实值信号加上该实信号的希尔伯特变换组成。通过信号处理工具箱™中的希尔伯特函数运行真实信号将产生分析信号。

注意:希尔伯特函数产生的是完整的解析(复)信号,而不仅仅是虚部。

MC = hilbert(m);

我们还可以计算和绘制由我们的消息信号构建的分析信号的频谱含量<年代pan class="inlineequation"> n

周期图(Fs mc,[], 4096年,<年代pan style="color:#A020F0">“权力”,<年代pan style="color:#A020F0">“中心”) ylim([-75 6])

图中包含一个轴。标题为Periodogram Power Spectrum Estimate的轴包含一个类型为line的对象。

如频谱图所示,我们的分析信号是复杂的,只包含正的频率成分。此外,如果我们测量功率,或者在正频率分量上进一步放大我们的图,我们会看到分析信号的频率分量的功率是实际信号的正(或负)频率分量的总功率的两倍,也就是说,它类似于包含信号总功率的单侧频谱。请看下面的放大图。

Xlim ([0.1 1]) ylim([-10 6])

图中包含一个轴。标题为Periodogram Power Spectrum Estimate的轴包含一个类型为line的对象。

我们看到,解析(复数)信号的频率分量500hz、600hz和700hz的功率分别大约为0、-6 dB和6db,这是原始信号的总功率。这些值对应于我们原始的实值信号,它有三个音调,振幅分别为1、0.5和2。

此时,我们可以调制分析信号,将频谱内容移到另一个中心频率,而不产生频率分量对,并保持一个实值信号。

把信号调制到载波频率<年代pan class="inlineequation"> f 0 ,我们将解析信号乘以一个指数。

MCM = Mc .*exp(1i*2*pi*fo*t);

如谱移图所示,在调制信号后,我们将计算实部。它的光谱是

周期图(真正的(mcm),[], 4096年,Fs,<年代pan style="color:#A020F0">“权力”,<年代pan style="color:#A020F0">“中心”) ylim([-75 0])

图中包含一个轴。标题为Periodogram Power Spectrum Estimate的轴包含一个类型为line的对象。

如上图所示,我们的信号已被调制到一个新的中心频率<年代pan class="inlineequation"> f 0 没有创建频率对,即,它导致了上边带。

如果我们将上面的谱图与DSB调制的谱图进行比较,我们可以看到谱移器完成了SSB调制。

SSB调制的高效实现

从前面的推导中,我们可以看到SSB调制信号,<年代pan class="inlineequation"> f n 可以写成

f n c n 经验值 j 2 π f 0 n / f 年代

在哪里<年代pan class="inlineequation"> c n 解析信号定义为

c n n + j n

展开方程,求实部

f n n 因为 2 π f 0 n / f 年代 - n 2 π f 0 n / f 年代

这导致了一个单一的边带,上边带(SSBU)。类似地,我们可以通过定义SSB下边带(SSBL)

f n c n 经验值 - j 2 π f 0 n / f 年代

f n n 因为 2 π f 0 n / f 年代 + n 2 π f 0 n / f 年代

上面的SSBU方程提出了一种更有效的实现SSB的方法。而不是执行复杂的乘法<年代pan class="inlineequation"> c n 与<年代pan class="inlineequation"> 经验值 j2 π f 0 n / f 年代 然后抛开虚数部分,我们可以通过如下所示实现SSBU只计算我们需要的数量。

为了实现上面所示的SSB调制,我们需要计算消息信号的希尔伯特变换<年代pan class="inlineequation"> n 并调制两个信号。但在此之前,我们需要指出一个事实,即理想的希尔伯特变压器是不可实现的。然而,近似希尔伯特变换的算法,如帕克斯-麦克莱伦FIR滤波器设计技术,已经被开发出来,可以使用。信号处理工具箱™提供firpm函数,它设计这样的过滤器。此外,由于过滤器引入了延迟,我们需要通过添加延迟(<年代pan class="emphasis">N/ 2,<年代pan class="emphasis">N是滤波器的顺序)的信号乘以余弦项,如下所示。

对于FIR希尔伯特变压器,我们将使用奇数长度滤波器,它在计算上比偶数长度滤波器更有效。尽管长度滤波器的通带误差也较小。奇长度滤波器的节省是由于这些滤波器有几个系数为零。此外,使用奇数长度过滤器将需要一个整数时间延迟的移位,而不是偶数长度过滤器所需要的分数时间延迟。对于奇长度滤波器,希尔伯特变压器的幅值响应为零<年代pan class="inlineequation"> w 0 而且<年代pan class="inlineequation"> w π .即使是长度文件,大小响应不一定是0在<年代pan class="inlineequation"> π ,因此它们增加了带宽。因此对于奇数长度的滤波器,有用的带宽是有限的

0 < w < π

让我们设计滤波器并绘制它的零相位响应。

Hd = designfilt(<年代pan style="color:#A020F0">“hilbertfir”,<年代pan style="color:#A020F0">“FilterOrder”现年60岁的<年代pan style="color:#0000FF">...“TransitionWidth”, 0.1,<年代pan style="color:#A020F0">“DesignMethod”,<年代pan style="color:#A020F0">“equiripple”);hfv = fvtool(Hd,<年代pan style="color:#A020F0">“MagnitudeDisplay”,<年代pan style="color:#A020F0">“零”,<年代pan style="color:#0000FF">...“FrequencyRange”,<年代pan style="color:#A020F0">“(π-π)”);hfv。颜色=<年代pan style="color:#A020F0">“白色”;

图过滤器可视化工具-零相位响应包含一个轴和uitoolbar, uimenu类型的其他对象。标题为Zero-phase Response的轴包含2个类型为line的对象。

为了近似希尔伯特变换,我们将用滤波器对消息信号进行滤波。

m_tilde = filter(Hd,m);

然后是上边带信号

G = filtord(Hd)/2;<年代pan style="color:#228B22">%滤波器延迟m_delayed = [0 (1,G),m(1:end-G)];f = m_delayed。* cos(2 *π* fo * t) - m_tilde。*罪(2 *π* fo * t);

光谱是

4096年周期图(f, [], Fs,<年代pan style="color:#A020F0">“权力”,<年代pan style="color:#A020F0">“中心”) ylim([-75 0])

图中包含一个轴。标题为Periodogram Power Spectrum Estimate的轴包含一个类型为line的对象。

如上图所示,我们成功地将消息信号(三个音调)调制到3.5 kHz的载波频率,并且只保留了上边带。

总结

正如我们所看到的,通过使用希尔伯特变换的近似,我们可以产生分析信号,这在许多需要频谱移动的信号应用中是有用的。具体来说,我们已经看到了近似希尔伯特变压器如何用于实现单边带调制。

另请参阅

|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">