这个例子展示了如何使用希尔伯特变换来实现信号的单边带(SSB)幅度调制(AM)。单边带调幅信号比普通调幅信号带宽小。
使用该模拟宽带信号产生512个样本sinc
函数。指定带宽为
rad /样品。
N = 512;n = 0: n - 1;bw = 1/4;x = sinc ((n n / 2) * bw);
加入高斯白噪声,使信噪比为20 dB。重置随机数生成器以获得可重复的结果。使用期刊
函数来估计信号的功率谱密度(PSD)。
rng.默认的SNR = 20;噪声= RANDN(大小(x))* std(x)/ db2mag(SNR);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]”)传说('调制','SSB')
向下转换信号并估计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]”)(“原始”,'恢复')
使用SNR.
函数比较两个信号的信噪比。在时域中画出这两个信号。
snrorig = snr(x,噪音)
snrOrig = 20.0259
snrRecv =信噪比(dm、噪音)
snrRecv = 20.1373
图(n,[x; dm]')传奇(“原始”,'恢复')轴紧的
参考
约翰·R·巴克,迈克尔·m·丹尼尔,安德鲁·c·辛格。使用MATLAB的信号与系统计算机探索.第二版。上部马鞍河,NJ:Prentice Hall,2002。