当前位置:
文档之家› 信号的Hilbert变换原理
信号的Hilbert变换原理
4)调制信号(s(t)+n(t))进行频谱分析
figure(3) xt=st+n_1; subplot(2,1,1); plot(t,xt); title('调制信号x(t)=s(t)+n(t)(初始信号+噪声)'); xlabel('t/s'); ylabel('幅度/v');grid on;
fc=4000;%载波频率
Lt=length(t);%时间序列长度 L=2*min(at); R=2*max(abs(at));
(2)产生高斯白噪声n(t)并进行频谱分析
nt = wgn(1,length(t),0.1); %wgn(m,n,p)产生一个m行n列强度为p的高斯白噪声的矩阵 n_1=nt/max(abs(nt)); %噪声 figure(1); subplot(2,1,1); plot(t,n_1); title('高斯白噪声n(t)信号'); xlabel('t/s'); ylabel('幅度/v');grid on; n=0:M-1; %t=n/fs; %时间序列 y0=fft(n_1,M); mag0=(abs(y0)); f=n*fs/(1000*M); subplot(2,1,2); plot(f,mag0); title('高斯白噪声频谱分析'); xlabel('f/KHz'); ylabel('幅度/v'); axis([0 10 0 20]);grid on;
信号的Hilbert变换原 理
组长:范荣贵
副组长:杨智东 组员:韦鹏、高世杰
一、Hilbert变换简介
希尔伯特变换(Hilbert transform)
一个连续时间信号x(t)的希尔伯特变换等于该信号通 过具有冲激响应h(t)=1/(π t)的线性系统以后的输出响应 xh(t)。信号经希尔伯特变换后,在频域各频率分量的幅度 保持不变,但相位将出现90°相移。即对正频率滞后π /2, 对负频率导前π /2,因此希尔伯特变换器又称为90°移相 器。
(5)调制信号通过滤波器后a点的信号分析
wp=2*2200/fs; %通带边界频率 ws=2*2800/fs; %阻带边界频率 Rp=1; %通带最大衰减度 As=30; %阻带最小衰减度 [V,wc]=buttord(wp,ws,Rp,As); %通带临界,阻带临界,通带内衰减小于,阻带内衰减小于 [B,A]=butter(V,wc); %阶数,截止频率 [H,W]=freqz(B,A); %滤波器频率响应函数 at=filter(B,A,xt); %经过低通滤波器的a点信号 figure(4) subplot(3,1,1); plot(W,abs(H)); title('低通滤波器信号'); xlabel('t/s'); ylabel('幅度/v');grid on;
y2=fft(u1,M); mag2=(abs(y2)); f=n*fs/(1000*M); subplot(3,2,4); plot(f,mag2); title('下边带频域信号'); xlabel('f/KHz'); ylabel('幅度/v');grid on; axis([0 8 0 100]); u2=at(1:Lt).*c1(1:Lt)-imag(hilbert(at(1:Lt))).*c2(1:Lt); subplot(3,2,5); plot(t,u2); title('上边带调制信号'); xlabel('t/s'); ylabel('幅度/v');grid on; %axis([0 0.01 -R R]); y3=fft(u2,M); mag3=(abs(y3)); f=n*fs/(1000*M); subplot(3,2,6); plot(f,mag3); title('上边带频域信号'); xlabel('f/KHz'); ylabel('幅度/v');grid on; axis([0 8 0 100]);
总结
希尔伯特变换在信号分析与处理中发挥着非常重要的作用,利用 它可以很简便的得到信号的幅值、相位、频率等信息,它也因此在通 信等很多场合得到了广泛的应用。单边带调制的传输带宽不会大于消 息带宽,为调幅的一半;载频被抑制;节省功率,大大减小了电台相 互间的干扰。此外,单边带传输受传播中频率选择性衰落的影响也较 调幅为小,而且没有门限效应等。这些优点就使单边带技术的应用远 远超出了短波通信的范围。所以,应用希尔伯特变换进行的单边带调 制也有着非常明显的优点,在通信技术飞速发展的今天,它是一个相 当重要的工具。 另外可以看出,加上噪声后的信号,在通过低通滤波器后,可以 大大减少噪声的干扰。通过Matlab的仿真可以得到,实际通信系统中 的信号传递,大体上是符合自己在书本上学到的理论分析,但还是存 在着一定的误差。所以我们不能光读死书,一定要灵活多变,用辩证 的思维去理解和掌握它们。 为了这次课程设计,自己自学了 matlab及通信系统及信号处理的 相关知识。实际中出现了许多问题,通过这次学习,我们不仅了解了 滤波器等相关知识,还提高了自己的编程和写报告的能力,收获颇多
(6)信号经过希尔伯特变换产生SSB调制
figure(5); subplot(3,2,1); plot(t,at); title('经过滤波器后的调制信号') xlabel('t/s'); ylabel('幅度/v');grid on; c1=cos(2*pi*fc*t); c2=sin(2*pi*fc*t); subplot(3,2,3); u1=at(1:Lt).*c1(1:Lt)+imag(hilbert(at(1:Lt))).*c2(1:Lt); plot(t,u1); title('下边带调制信号'); xlabel('t/s'); ylabel('幅度/v');grid on; %axis([0 0.01 -R R])
谢谢!
三、Hilbert变换用途
(1)希尔伯特变换在探地雷达数据处理应用 希尔伯特(Hilbert)变换在本质上是一种全通滤波器, Hilbert变换巧妙地应用解析表达式中的实部与虚部的正弦 和余弦关系,定义出任意时刻的瞬时频率、瞬时相位及瞬 时幅度, 使得对于短信号和复杂信号的瞬时参数的提取成 为可能,从而能更有效地、真实地获取信号中所含的信息, 有利于分析地下介质的分布情况。
综上所述:
(1)Hilbert变换揭示了由傅里叶变换联系的时域和频域 之间的一种等价互换关系,Hilbert变换作为一种信号处理 算法,能有效地提取出探地雷达复杂信号的“三瞬”信息, 从上面的分析和应用效果也可以看出,经过Hilbert变换后 的雷达剖面图较原始的雷达时距剖面图更为清晰,瞬时多 参数波形剖面相互参照综合分析,避免了由于单一使用时 距剖面分析所造成的解释偏差,提高了探地雷达的解释精 度。 (2)基于希尔伯特变换的数字I-Q下变频器的主要优点是 数字化程度高,数字I-Q下变频器将会得到越来越广泛的应 用。
(3)由于基带处理全部采用数字方式,其复杂性主要受器 件性能影响,因而不会改变整个体系结构。
四、Hilbert单边带调制实现
Hilbert单边带调制实现的程序框图
Hilbert单边带调制程序及各部分仿真图
(1)参数设定
fs=15000;%采样频率 t=0:1/fs:0.01;%时间序列 M=2048;%采样点数
y3=fft(at,M); mag3=(abs(y3)); f=n*fs/(1000*M); subplot(3,1,2); plot(t,at); title('经过滤波器后的调制信号') xlabel('t/s'); ylabel('幅度/v');grid on; subplot(3,1,3); plot(f,mag3); title('调制信号经过低通滤波器后频谱分析'); xlabel('f/KHz'); ylabel('幅度/v');grid on; axis([0 10 0 100]);
二、希尔伯特变换定义及频率响应
希尔伯特变换定义如下:
其中h(t)=1/(π t)
并考虑此积分为柯西主值,其避免掉在τ=t以及
τ=±∞等处的奇点。
频率响应
其中F是傅立叶变换,i(有时写作j)是虚数单位, ω是角频率,以及
常被称作signum函数. 希尔伯特实际上是一个使相位滞后pi/2的全通移相 网络.
(3)希尔伯特变换在解调中的应用
以采用专用的数字信号处理芯片实现希尔伯特滤波器和幅度相位 提取模块,而将基带信号的处理交给DSP等通用数字信号处理芯片。根 据不同的解调需要,系统在基带信号处A/D 延时器 希尔伯特滤波 器 幅度提取与相位提取 基带信号解调上可以极为方便的更新算法。 在这种方式下,基带的匹配滤波和判决都为线性运算,因此加性 噪声不会变为乘性噪声,不会产生门限效应,解调的性能不受信噪比 影响。值得注意的是,在希尔伯特变换解调中必须求得基带信号的幅 度和相位。幅度的计算为平方和开方运算,是非线性运算,因此在受 到噪声影响时,在不同的信噪比下,系统性能不同,存在门限效应。 从而影响了系统的实用性。
(3)产生基带信号s(t)并进行频谱分析
figure(2) st=sin(1000*2*pi*t); subplot(2,1,1); plot(t,st); title('初始信号st=sin(1000*2*pi*t)'); xlabel('t/s'); ylabel('幅度/v');grid on; y1=fft(st,M); mag1=(abs(y1)); f=n*fs/(1000*M); subplot(2,1,2); plot(f,mag1); title('初始信号频谱分析'); xlabel('f/KHz'); ylabel('幅度/v');grid on; axis([0 10 0 100])