MATLAB希尔伯特滤波器.doc

上传人:b****9 文档编号:155428 上传时间:2022-10-04 格式:DOC 页数:11 大小:773KB
下载 相关 举报
MATLAB希尔伯特滤波器.doc_第1页
第1页 / 共11页
MATLAB希尔伯特滤波器.doc_第2页
第2页 / 共11页
MATLAB希尔伯特滤波器.doc_第3页
第3页 / 共11页
MATLAB希尔伯特滤波器.doc_第4页
第4页 / 共11页
MATLAB希尔伯特滤波器.doc_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

MATLAB希尔伯特滤波器.doc

《MATLAB希尔伯特滤波器.doc》由会员分享,可在线阅读,更多相关《MATLAB希尔伯特滤波器.doc(11页珍藏版)》请在冰豆网上搜索。

MATLAB希尔伯特滤波器.doc

一、课程设计(综合实验)的目的与要求

1.熟练掌握matlab软件的用法,以及数字信号处理的常用函数。

2.运用两种方法实现对给定信号的单边带幅度调制,包括使用自带的命令函数以及运用希尔伯特变换来实现。

3.学会设计希尔伯特变换器,并运用变换器来进行滤波。

二、设计(实验)正文

1、实验原理

双边带调制的缺点是,已调信号的频带宽度是调制信号频带宽度的两倍,占用频带资源过宽。

由于实调制信号的频谱都对称地存在于正负频率上,因此只需在发送端发送单边带调制信号,这就是信号的单边带(Single-SideBand,SSB)幅度调制。

在单边带幅度调制中,可以保留上边带,也可以保留下边带。

1.单边带(Single-SideBand,SSB)幅度调制和希尔伯特变换器

信号单边带调制(SSB)有上边带(USB)和下边带(LSB)两种,一般利用Hilbert变换来实现。

利用希尔伯特变换实现单边带调制的原理框图如图3,其中为希尔伯特变换器,为信号的希尔伯特变换。

图3利用希尔伯特变换实现单边带调制原理框图

希尔伯特变换器的时域特性,频域特性,

希尔伯特变换器是一个全通系统,,,称为移相器。

希尔伯特变换器的输入和输出具有如下关系:

图3中的输出:

单边带已调信号为:

单边带已调信号的频谱为:

输入信号即调制信号和已调信号的频谱如图4所示。

(a)调制信号频谱

(b)双边带已调信号频谱

(c)上边带已调信号频谱

(d)下边带已调信号频谱

图4利用希尔伯特变换器实现信号单边带调制的频谱

2.用Matlab实现单边带幅度调制和解调

(1)Hilbert变换

利用hilbert函数可以计算实序列x(n)的Hilbert变换:

y=hilbert(x)

y的实部是原序列x,而虚部是x的Hilbert变换结果。

y称为解析信号。

(2)单边带幅度调制解调

信号单边带幅度调制的MATLAB计算表达式为

y=x.*cos(2*pi*Fc*t)+Im(Hilbert(x)).*sin(2*pi*Fc*t)

也可以使用modulate函数来实现单边带幅度调制:

y=modulate(x,Fc,Fs,'amssb')

其中,x为调制信号;Fc为载波信号的载频;Fs为信号的抽样频率;y为已调信号。

调用demod函数可实现已调信号的解调:

x=demod(y,Fc,Fs,'amssb')

2、实验内容

2.1实现信号单边带幅度调制。

调制信号为:

设,载波信号的角频率。

(1)分析调制信号的频谱,绘出其时域波形和频谱。

(2)利用命令y=modulate(x,Fc,Fs,'amssb')实现信号的单边带幅度调制;使用FFT分析已调信号频谱,绘出其时域波形和频谱。

(3)利用命令x=demod(y,Fc,Fs,'amssb')实现已调信号的解调;分析解调信号的频谱,绘出其时域波形和频谱。

(1)x1=-5:

0.01:

-2;

x2=-2:

0.01:

2;

x3=2:

0.01:

5;

y1=0*x1;

y2=sinc(x2);

y3=0*x3;

x=[x1,x2,x3];

y=[y1,y2,y3];

plot(x,y);

x1=-5:

0.01:

-2;

x2=-2:

0.01:

2;

x3=2:

0.01:

5;

y1=0*x1;

y2=sinc(x2);

y3=0*x3;

x=[x1,x2,x3];

y=[y1,y2,y3];

plot(x,y);

x4=length(x);

y1=fftshift(fft(y2,x4));

plot(x,abs(y1));

title('函数频域图像');

(2)x1=-5:

0.01:

-2;

x2=-2:

0.01:

2;

x3=2:

0.01:

5;

y1=0*x1;

y2=sinc(x2);

y3=0*x3;

x=[x1,x2,x3];

y=[y1,y2,y3];

plot(x,y);

x4=length(x);

y1=fftshift(fft(y2,x4));

plot(x,abs(y1));

y=modulate(y2,100,8000,'amssb');

plot(x2,y);

x2=-2:

0.01:

2;

y2=sinc(x2);

y=modulate(y2,100,500,'amssb');

m=fftshift(fft(y,512));

fw=[-255:

256]*500/512;

plot(fw,abs(m));

xlabel('频率:

hz');

ylabel('幅度');

title('调制后函数频域图像');

(3)x2=-2:

0.01:

2;

y2=sinc(x2);

y=modulate(y2,100,500,'amssb');

r=demod(y,100,500,'amssb');

plot(x2,r);

xlabel('时间');

ylabel('幅度');

title('解调后函数时域图像');

x2=-2:

0.01:

2;

y2=sinc(x2);

y=modulate(y2,100,500,'amssb');

r=demod(y,100,500,'amssb');

m=fftshift(fft(r,512));

fw=[-255:

256]*500/512;

plot(fw,abs(m));

xlabel('频率hz');

ylabel('·幅度');

title('解调后函数频域图像');

2.利用希尔伯特变换实现信号单边带幅度调制

(1)分析理想希尔伯特变换器的频率响应,绘出频谱。

(2)对1中的信号用命令xh=Im(Hilbert(x))求得其希尔伯特变换。

(3)利用命令y=x.*cos(2*pi*Fc*t)+xh(t).*sin(2*pi*Fc*t)实现信号的单边带幅度调制;分析已调信号频谱,绘出其时域波形和频谱。

(1):

t=-5:

0.01:

5;

h=1.\(pi*t);

y=fftshift(fft(h));

plot(t,y);

(2)、(3):

x2=-2:

0.01:

2;

y2=sinc(x2);

xh=hilbert(y2);

y=imag(xh);

y1=y2.*cos(2*pi*100*x2)+y.*sin(2*pi*100*x2);

plot(x2,y1);

holdon;

3设计希尔伯特变换器并实现信号的单边带幅度调制。

(1)利用fir1s函数或firpm函数设计一个22阶的希尔伯特变换器。

(2)画出该希尔伯特变换器的频谱特性和单位脉冲响应。

(3)利用该希尔伯特变换器实现信号的单边带幅度调制;分析已调信号频谱,绘出其时域波形和频谱。

(1)、

(2):

22阶希尔伯特滤波器设计:

n=22;

f=[0.050.95];m=[11];

fs=500;

b=firls(n,f,m,'h');

[h,w]=freqz(b,1,512,fs);

figure

(1);

plot(w,20*log10(abs(h)));grid;

axis([0250-4010]);

title('Hilbert变换器的幅频特性');

n=22;

f=[0.050.95];m=[11];

b=firls(n,f,m,'h');

[h,w]=freqz(b,1,512);%脉冲响应

plot(w,20*log10(abs(h)));grid;

title('Hilbert脉冲响应');

(3):

n=22;

f=[0.050.95];m=[11];

b=firls(n,f,m,'h');

x2=-2:

0.01:

2;

y2=sinc(x2);

y=filter(b,1,y2);

plot(x2,y2,'*');holdon;

plot(x2,y);grid;

title('输入输出信号对比');

三、课程设计(综合实验)总结或结论

1、熟练的掌握了matlab仿真软件的用法,学会运用常规函数对信号进行调制。

2、复习了数字信号处理的一些基本知识,对于单边带调制有了更深入的了解。

3、掌握了希尔伯特滤波器的设计。

四、参考文献

[1]matlab通信仿真教称

[2]matlab7.x数字信号处理人民邮电出版社

11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1