这个例子展示了如何使用希尔伯特变换来实现信号的单边带(SSB)幅度调制(AM)。单边带调幅信号比普通调幅信号带宽小。
生成512个样本的模拟宽带信号使用sinc
函数。指定带宽为
rad /样品。
N = 512;n = 0: n - 1;bw = 1/4;x = sinc ((n n / 2) * bw);
加入高斯白噪声,使信噪比为20 dB。重置随机数生成器以获得可重复的结果。使用周期图
函数来估计信号的功率谱密度(PSD)。
rng默认的信噪比= 20;噪音= randn(大小(x)) *性病(x) / db2mag(信噪比);X = X +噪声;周期图(x)
振幅调制信号使用余弦载波频率 .乘以 所以被调制信号的功率等于原始信号的功率。估计PSD。
wc =π/ 2;x1 = x。* cos (wc * n) * 12 (2);周期图(x1)传说(“调制”)
单边带调幅使信号带宽减少一半。要进行单边带调幅,必须先计算信号的希尔伯特变换。然后,用载波频率相同的正弦信号对信号进行幅度调制, ,并将其加到前一个信号上。
设计了一个希尔伯特变压器designfilt
函数。指定过滤顺序为64,过渡宽度为0.1。过滤信号。
Hhilbert = designfilt (“hilbertfir”,“FilterOrder”, 64,...“TransitionWidth”, 0.1);xh =过滤器(Hhilbert x);
使用grpdelay
函数来确定延迟,gd
,由过滤器引入。通过丢弃第一个来补偿延迟gd
滤波信号的点和末尾用零填充的点。对结果进行振幅调制,并将其添加到原始图像中。比较PSDs。
gd =意味着(grpdelay (Hhilbert));xh = xh (gd + 1:结束);嗯= 0(大小(x));嗯(1:长度(xh)) = xh;x2 =呃。*罪(wc * n) * sqrt (2);y = x1 + x2;周期图([x1; y]”)传说(“调制”,单边带的)
向下转换信号并估计PSD。
ym = y。* cos (wc * n) * 12 (2);周期图(ym)传说(“降频转换器”)
对调制信号进行低通滤波,恢复原信号。指定一个截止频率为的64阶FIR低通滤波器 .补偿滤波器引入的延迟。
d = designfilt (“lowpassfir”,“FilterOrder”, 64,...“CutoffFrequency”, 0.5);民主党=过滤器(d, ym);gd =意味着(grpdelay (d));民主党=民主党(gd + 1:结束);dm = 0(大小(x));dm(1:长度(民主党))=民主党;
估计滤波信号的PSD,并将其与原始信号的PSD进行比较。
传说周期图([x, dm]”)(“原始”,“恢复”)
使用信噪比
函数比较两个信号的信噪比。在时域中画出这两个信号。
snrOrig =信噪比(x,噪音)
snrOrig = 20.0259
snrRecv =信噪比(dm、噪音)
snrRecv = 20.1373
情节(n, [x, dm]”)传说(“原始”,“恢复”)轴紧
参考文献
约翰·R·巴克,迈克尔·m·丹尼尔,安德鲁·c·辛格。使用MATLAB的信号与系统计算机探索.第二版。上鞍河,NJ: Prentice Hall, 2002。